些細なことから始めましょう。ディープニューラルネットワークは、多くの隠れ層を備えた単純なフィードフォワードネットワークです。
定義については、これでほぼすべてです。ニューラルネットワークはリカレントまたはフィードフォワードです。フィードフォワードはグラフ内にループを持たず、レイヤーに編成できます。「多くの」層がある場合、ネットワークは深いと言います。
どのように多くの層のネットワークは、深い資格を得るために持っていなければならないのですか?これに対する明確な答えはありませんが(何個の粒がヒープを作るかを尋ねるようなものです)、通常、2つ以上の隠されたレイヤーを持つことは、深いと見なされます。対照的に、単一の隠れ層のみを持つネットワークは、従来「浅い」と呼ばれます。私はここでいくらかのインフレが起こるのではないかと疑っています。10年後、人々は、例えば10層未満のものは浅く、幼稚園の運動にのみ適していると考えるかもしれません。非公式には、「深い」ということは、ネットワークの処理が難しいことを示しています。
以下は、ここから改作された図です。
しかし、あなたが尋ねている本当の質問は、もちろん、なぜ多くのレイヤーを持つことが有益なのでしょうか?
驚くべき答えは、誰も本当に知らないということだと思います。以下に簡単に説明する一般的な説明がいくつかありますが、それらのどれもが真実であると納得できるほど実証されていません。また、多くのレイヤーを持つことが本当に有益であることを確信することさえできません。
ディープラーニングは非常に人気があり、毎年すべての記録を破り(画像認識、囲Goの再生、自動翻訳など)、業界などで使用されているため、これは驚くべきことだと思います。なぜこれほどうまく機能するのか、まだよくわかりません。
私は上の私の議論をベースに深い学習 2017年に出て、広くなると考えられているグッドフェロー、Bengio、およびCourvilleの著書深い学習に関する本。(オンラインで無料で利用できます。)関連するセクションは6.4.1 Universal Approximation Properties and Depthです。
あなたはそれを書いた
10年前のクラスでは、複数のレイヤーまたは1つのレイヤー(入力レイヤーと出力レイヤーをカウントしない)を持つことは、ニューラルネットワークが表すことができる機能の点で同等であることを学びました[...]
1989年にサイベンコによって証明され、1990年代にさまざまな人々によって一般化された、いわゆる普遍近似定理を参照する必要があります。基本的に、浅いニューラルネットワーク(1つの隠れ層を持つ)は任意の関数を近似できる、つまり原則として何でも学習できると言っています。これは、ほとんどのニューラルネットワークが現在使用している修正線形ユニットを含む、さまざまな非線形活性化関数に当てはまります(この結果については、教科書ではLeshno et al。1993を参照しています)。
もしそうなら、なぜ誰もが深いネットを使用していますか?
まあ、素朴な答えは、彼らがより良く働くからです。ディープラーニングの本の図は、1つの特定のタスクにより多くのレイヤーを追加するのに役立つことを示していますが、さまざまなタスクとドメインで同じ現象がよく見られます。
浅いネットワークは、深いネットワークと同等のパフォーマンスを発揮できることがわかっています。しかし、そうではありません。そして、彼らは通常そうではありません。質問は---なぜですか?可能な答え:
- たぶん、浅いネットワークには深いニューロンよりも多くのニューロンが必要でしょうか?
- 浅いネットワークは、現在のアルゴリズムでトレーニングするのが難しいかもしれません(たとえば、より厄介なローカルミニマムを持っている、収束速度が遅い、など)。
- 浅いアーキテクチャは、私たちが通常解決しようとしている種類の問題に適合しないかもしれません(例えば、オブジェクト認識は典型的な「深い」階層プロセスです)。
- 他に何か?
ディープ学習本は、箇条書き#1と#3のために主張しています。まず、浅いネットワーク内のユニットの数は、タスクの複雑さとともに指数関数的に増加すると主張します。したがって、有用であるためには、浅いネットワークは非常に大きくする必要があります。おそらく深いネットワークよりもはるかに大きい。これは、浅いネットワークが指数関数的に多くのニューロンを必要とする場合があることを証明する多くの論文に基づいています。しかし、MNIST分類やGoプレイなどがそのような場合であるかどうかは、本当に明確ではありません。第二に、本はこう言っています:
深いモデルを選択すると、学習したい関数がいくつかのより単純な関数の合成を含むべきであるという非常に一般的な信念がエンコードされます。これは、表現の学習の観点から、学習問題は、他のより単純な基礎となる変動要因の観点から説明できる一連の変動要因を発見することからなると考えると考えることができます。
現在の「コンセンサス」は、箇条書き#1と#3の組み合わせだと思います。実際のタスクでは、深層アーキテクチャは多くの場合有益であり、浅層アーキテクチャは非効率であり、同じパフォーマンスのためにより多くのニューロンが必要になります。
しかし、証明されているとはほど遠い。たとえば、Zagoruyko and Komodakis、2016、Wide Residual Networksを検討してください。150以上のレイヤーを持つ残存ネットワークが2015年に登場し、さまざまな画像認識コンテストで優勝しました。これは大成功であり、深みを支持する説得力のある議論のように見えました。これは、最初の著者による残余ネットワークペーパーに関するプレゼンテーションの 1つの図です(時間は混乱して左に移動していることに注意してください)。
しかし、上記リンクの論文は、「16」層のみの「幅の広い」残余ネットワークは、150層以上の「深い」ものよりも性能が優れていることを示しています。これが当てはまる場合、上の図のポイント全体が壊れます。
または、Ba and Caruana、2014年、ディープネットは本当にディープである必要があるのでしょうか?:
この論文では、浅いネットが深いネットと同じ機能を学習でき、場合によっては深いネットと同じ数のパラメータを使用して学習できるという経験的証拠を提供します。これを行うには、まず最先端のディープモデルをトレーニングし、次に浅いモデルをトレーニングしてディープモデルを模倣します。模倣モデルは、次のセクションで説明するモデル圧縮スキームを使用してトレーニングされます。驚くべきことに、浅いネットを元のモデルで直接トレーニングする場合、これらの浅いネットを深いネットほど正確にトレーニングすることはできませんが、モデル圧縮を使用すると、浅いネットをいくつかの深いモデルと同じくらい正確にトレーニングすることができますラベル付きトレーニングデータ。深いネットと同じ数のパラメーターを持つ浅いネットが、高い忠実度で深いネットを模倣することを学習できる場合、
trueの場合、これは正しい説明が#1または#3ではなく、私の箇条書き#2であることを意味します。
私が言ったように---誰もまだ本当に確かに知りません。
おわりに
過去10年間のディープラーニングで達成された進歩の量は本当に驚くべきことですが、この進歩のほとんどは試行錯誤によって達成されたものであり、ディープネットが正確に機能するための正確な基礎知識はまだ非常に不足しています。効果的なディープネットワークを構築するために人々が重要と考えるもののリストでさえ、2年ごとに変わるようです。
深層学習のルネッサンスは、2006年に、誰からもあまり興味を持たずに20年以上ニューラルネットワークに取り組んでいたGeoffrey Hintonが、深層ネットワークをトレーニングする効果的な方法を提供するいくつかの画期的な論文を発表したときに始まりました(サイエンスペーパー、ニューラルコンピューティングペーパー) 。秘dは、勾配降下を開始する前に教師なしの事前トレーニングを使用することでした。これらの論文は分野に革命をもたらし、数年間、人々は教師なしの事前訓練が鍵であると考えていました。
その後、2010年にMartensは、ディープニューラルネットワークを2次法(いわゆるヘッシアンフリー法)でトレーニングでき、事前トレーニングで訓練されたネットワークを上回ることができることを示しました:ヘッシアンフリー最適化によるディープラーニング。その後、2013年にSutskeverら。いくつかの非常に巧妙なトリックを使用した確率的勾配降下は、ヘッセを含まない方法よりも優れている可能性があることを示しました。深層学習における初期化と運動量の重要性について。また、2010年頃、シグモイド単位の代わりに整流線形単位を使用すると、勾配降下に大きな違いが生じることに気付きました。ドロップアウトは2014年に登場しました。残留ネットワークは2015年に登場しました。人々は、より深いネットワークを訓練し、10年前に重要な洞察のように思われたものは、今日ではしばしば迷惑と見なされます。そのすべては主に試行錯誤によって推進されており、何がうまく機能するのか、そうでないのかについてはほとんど理解されていません。深いネットワークのトレーニングは、大きなトリックのようなものです。成功するトリックは通常、事後的に合理化されます。
深いネットワークがパフォーマンスのプラトーに達する理由はわかりません。わずか10年で人々は極小値を非難していましたが、現在の考え方ではこれはポイントではありません(パフォーマンスがプラトーになると、勾配は大きくなる傾向があります)。これは、ディープネットワークに関するこのような基本的な質問であり、私たちもこれを知りません。
更新:これは、錬金術としての機械学習に関するAli RahimiのNIPS 2017の話題の多かれ少なかれです:https : //www.youtube.com/watch?v= Qi1Yry33TQE
[この回答は2017年4月に完全に書き直されたため、以下のコメントの一部は適用されません。]