ニューラルネットワークアーキテクチャの決定方法


19

ニューラルネットワークアーキテクチャを構築するときに、非表示層にいくつのノードを配置し、どのように非表示層を配置するかをどのように決定する必要があるのか​​と思いました。

入力層と出力層はトレーニングセットに依存することを理解していますが、一般に隠れ層と全体的なアーキテクチャをどのように決定するのですか?


通常、直感を使用して実験します。それをハイパーパラメータと考えてください。アーキテクチャを学習する方法はありますが、どれほど実用的かはわかりません。blog.acolyer.org
Emre

2
私はこのサイトで以前に何度もクロップしていると確信しているため、これと重複するものを探しました。ただし、一部のデータセットまたは問題に関連付けられていない純粋なバージョンは見つかりませんでした。たぶん、これは私たちが他の人に指摘する一般的な質問かもしれませんか?悲しいことに、一般的に考えられる「ハウツー」な答えはありませんが、あまりにも多くの選択肢に直面したとき、それはよくある質問です。
ニールスレーター


これは非常に興味深い質問です(研究者はあなたの質問に取り組み始めました)。データセットAとデータセットBの最適なアーキテクチャは何でしょうか。質問への回答を試みた以下のペーパーをお読みください。Neural Architecture Search(NAS)の世界へようこそ。arxiv.org/abs/1611.01578
iDeepVision

回答:


16

悲しいことに、問題の説明だけを与えられた場合、ニューラルネットワークのニューロンの最適数と層の数をアプリオリに決定する一般的な方法はありません。出発点として試すのに適した値を決定するためのガイダンスはあまりありません。

最も一般的なアプローチは、同様の問題で使用されたネットワークに関する過去の経験に基づいた大まかな推測から始めることのようです。これは、あなた自身の経験かもしれませんし、トレーニングコース、ブログ、研究論文から学んだ中古/第三者の経験かもしれません。次に、いくつかのバリエーションを試し、最適なものを選ぶ前にパフォーマンスを注意深く確認します。

ニューラルネットワークのサイズと深さは、他のハイパーパラメーターとも相互作用するため、他の場所で何かを変更すると、最適な値の場所に影響を与える可能性があります。したがって、ネットワークの「最適な」サイズと深さを分離し、他のパラメータを分離して引き続き調整することはできません。たとえば、非常に深いネットワークがある場合、ReLUアクティベーション機能では効率的に機能する可能性がありますが、シグモイドではそれほどうまく機能しない可能性があります-ネットワークの最適なサイズ/形状を見つけてから、さまざまなアクティベーション機能を試してみると、何が最も効果的かについての間違った結論へ。

ニューラルネットワークの設計をゼロから開始するときに研究者が使用する「経験則」について読むことがあります。これらのことはあなたの問題のために働くかもしれないし、そうでないかもしれないが、少なくともそれらは問題から始めるという利点がある。私が見たバリエーションは:

  • サイズを変更する特別な理由がないという理由で、入力と同じサイズ順序で、すべて同じサイズの隠しレイヤーでネットワークを作成します(オートエンコーダーを作成する場合を除きます)。

  • シンプルに始めて複雑さを増やし、シンプルなネットワークの改善点を確認してください。

  • 出力が入力データによってうまく説明されると予想されるが、複雑な関係(本質的にノイズが多いのではなく)がある場合は、さまざまな深さのネットワークを試してください。

  • いくつかのドロップアウトを追加してみてください、それはニューラルネットワークが妖精の塵を魔法にかけるのに最も近いものです(注意:ドロップアウトを追加すると一般化が向上する可能性がありますが、必要なレイヤーサイズとトレーニング時間も増加する可能性があります)。

これらまたはこれらのようなものをテキストで読む場合は、ひとつまみでそれらを取ります。ただし、最悪の場合、空白ページの影響を乗り越え、何らかのネットワークを作成し、テストと改良プロセスを開始するのに役立ちます。


余談ですが、他のアプローチのほうが良い場合があり、時間を大幅に節約できる場合は、ニューラルネットワークの調整であまりにも迷子にならないようにしてください。他の機械学習とデータサイエンスのアプローチを検討し、使用してください。データを調べて、おそらくいくつかのプロットを作成します。最初にいくつかの単純な線形アプローチを試し、問題に応じてベンチマーク、線形回帰、ロジスティック回帰、またはソフトマックス回帰を達成します。NNに異なるMLアルゴリズムを使用することを検討してください-XGBoostなどの決定木ベースのアプローチは、多くの問題のディープラーニングよりも高速で効果的です。


それは素晴らしい説明です。ありがとう。また、どのMLアプローチを使用するかを決定する良い方法があるのだろうか?ニューラルネットワークよりも良い方法があるかもしれないとおっしゃいましたが、それをどうやって簡単に判断できますか?
user7677413

@ user7677413:同じことが当てはまります。経験から身近な問題に関するガイドが得られるかもしれませんが、試してみてください。
ニールスレーター

1
ニューラルネットワークはいつ必要ですか?
user7677413

1
神経回路網が必要になることはめったにありませ。ただし、いくつかの問題では優れています。彼らは音声や画像認識などの信号処理タスクに優れており、より単純なアルゴリズムが限界に達する可能性のある大量のデータから微妙な違いを学習する能力も備えています。ただし、NNがあなたにとって適切なツールであるかどうか、また特定の日に直面するどんな問題であっても、誰も予測できません。
ニールスレーター

1
@ user7677413あなたは、40年にわたる深く洞察に満ちた機械学習の研究はないという仮定を立てていると思います。表面をひっかいているだけのようですね。教科書を見つけて、それらすべてがどのように結び付いているかを確認することをお勧めします。これは、多くの機械学習アルゴリズムの直感を構築するのに役立ちます。
アレックスL
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.