ニューラルネットワークとディープニューラルネットワークの違いは何ですか?また、なぜディープニューラルネットワークの方がうまく機能するのですか?
On 12月 22, 2020 by adminこれらの用語で正確に記述された質問を見たことがないので、新しい質問をします。
私が知りたいのは、ニューラルネットワークの定義ではなく、ディープニューラルネットワークとの実際の違いを理解することです。
詳細:ニューラルネットワークとは何か、バックプロパゲーションがどのように機能するかを知っています。DNNには複数の隠れ層が必要であることを知っています。しかし、10年前のクラスで、複数の層または1つの層(入力層と出力層を数える)は、ニューラルネットワークが表現できる関数(Cybenkoのユニバーサル近似定理を参照)と、レイヤーが増えると、パフォーマンスを向上させることなく分析が複雑になります。明らかに、もはやそうではありません。
おそらく間違っていると思いますが、違いは構造ではなくトレーニングアルゴリズムとプロパティにあるため、回答がDNNへの移行を可能にした理由を強調できれば本当にありがたいです(たとえば、数学的な証明またはランダムにネットワークで遊んでいますか?)そして望ましい(例:収束の速度?)
コメント
- FYI: ディープラーニングに関するこのスライドはどの程度真実ですか?
- 近似する関数が合成関数である場合(画像処理などで一般的)物理法則による自然領域)。深いネットワークはこの構成性を利用して、指数関数的に少ない数のニューロンで同じレベルの近似誤差を達成できることが証明できます(単一の隠れ層ネットワークと比較して)。参照:ポッジョ、トマソ、他。 “ネットワークが次元の呪いを回避できる理由と時期(浅いわけではない):レビュー。” International Journal of Automation and Computing (2017)
- この記事
- arxiv.org/pdf/2004.06093.pdf
回答
ささいなことから始めましょう:ディープニューラルネットワークは、多くの隠れ層を持つ単なるフィードフォワードネットワークです。
これは多かれ少なかれ定義について言うことのすべてです。ニューラルネットワークはリカレントまたはフィードフォワードにすることができます;フィードフォワードネットワークはグラフにループがなく、レイヤーに編成できます。「多くの」レイヤーがある場合、次に、ネットワークはディープであると言います。
ネットワークがディープとして認定されるために必要な多くのレイヤーはどれくらいですか?これに対する明確な答え(it “sa ヒープを作成するグレインの数)を尋ねるのと少し似ていますが、通常、2つ以上の非表示レイヤーがあると深いと見なされます。対照的に、隠れ層が1つしかないネットワークは、従来「浅い」と呼ばれていました。ここではインフレが起こっているのではないかと思います。10年後には、たとえば10層未満のものは浅く、幼稚園の運動にのみ適していると思われるかもしれません。非公式には、「ディープ」はネットワークの処理が難しいことを示しています。
これは、ここからに適合した図です。
しかし、あなたが尋ねている本当の質問は、もちろん、なぜ多くのレイヤーを持つことが有益なのかということです。
やや驚くべき答えは、誰も本当に知らないということです。以下で簡単に説明する一般的な説明がいくつかありますが、どれも説得力のある真実であることが実証されておらず、多くのレイヤーを持つことが本当に有益であるかどうかさえ確信できません。 p>ディープラーニングは非常に人気があり、毎年すべての記録(画像認識、Goの再生、自動翻訳など)を破り、業界などで使用されているため、これは驚くべきことだと思います。 。そして、なぜそれがうまく機能するのか、まだ完全にわかりません。
議論は ディープに基づいています。 2017年に出版され、ディープラーニングに関する 本と広く見なされているGoodfellow、Bengio、Courvilleによる学習 の本。 (オンラインで無料で入手できます。)関連するセクションは 6.4.1普遍近似のプロパティと深さです。
あなたはそれを書きました
10年前のクラスで、ニューラルネットワークが表現できる機能の観点から、複数のレイヤーまたは1つのレイヤー(入力レイヤーと出力レイヤーを除く)を持つことは同等であることを学びました[…]
いわゆる普遍近似定理を参照する必要があります。 1989年にチベンコ、1990年代にさまざまな人々によって一般化されました。基本的に、浅いニューラルネットワーク(1つの隠れ層を持つ)は任意の関数を近似できる、つまり、原則として何でも学習できると言っています。これは、ほとんどのニューラルネットワークが今日使用している正規化線形ユニットを含むさまざまな非線形活性化関数に当てはまります(この結果については、教科書で Leshnoetal。1993を参照しています)。
もしそうなら、なぜ誰もがディープネットを使用しているのですか?
まあ、素朴な答えは、それらがよりうまく機能するからです。これはディープラーニングの本の図で、1つの特定のタスクでより多くのレイヤーを使用すると役立つことを示していますが、同じ現象がさまざまなタスクやドメインでよく見られます。
浅いネットワークが可能であることがわかっていますより深いものと同じくらい良いパフォーマンスをします。しかし、そうではありません。そして彼らは通常そうしません。問題は—なぜですか?考えられる答え:
- 浅いネットワークでは、深いネットワークよりも多くのニューロンが必要になる可能性がありますか?
- 浅いネットワークでは、現在のアルゴリズムでトレーニングするのが難しいかもしれません(たとえば、より厄介な極小値、または収束速度が遅いなど)?
- 浅いアーキテクチャは、私たちが通常解決しようとしている種類の問題に適合しない可能性があります(たとえば、オブジェクト認識は典型的な「ディープ」です”、階層プロセス)?
- 他に何かありますか?
Deep Learning の本は、箇条書き#1と#3について論じています。まず、浅いネットワーク内のユニットの数は、タスクの複雑さとともに指数関数的に増加すると主張しています。したがって、有用であるためには、浅いネットワークは非常に大きくなければならない場合があります。おそらく深いネットワークよりもはるかに大きいでしょう。これは、浅いネットワークが場合によっては指数関数的に多くのニューロンを必要とすることを証明する多くの論文に基づいています。しかし、例えばMNISTの分類やGoplayingは、そのような場合はあまり明確ではありません。次に、この本には次のように書かれています。
深いモデルを選択すると、学習したい関数にはいくつかの単純な関数の合成が含まれるべきであるという非常に一般的な信念がエンコードされます。これは、表現学習の観点から、学習の問題は、他のより単純な根本的な変動要因の観点から説明できる一連の根本的な変動要因を発見することであると私たちが信じていると解釈できます。
現在の「コンセンサス」は、箇条書き#1と#3の組み合わせだと思います。実際のタスクでは、深いアーキテクチャが有益で浅いアーキテクチャであることがよくあります。非効率的であり、同じパフォーマンスのためにより多くのニューロンを必要とします。
しかし、それは証明されているとはほど遠いです。たとえば、 Zagoruyko and Komodakis、2016年、Wide Residual Networks 。 150以上のレイヤーを持つ残余ネットワークは2015年に登場し、さまざまな画像認識コンテストで優勝しました。これは大成功であり、深さを支持する説得力のある議論のように見えました。これは、残りのネットワークペーパーに関する最初の著者によるプレゼンテーションからの1つの図です(ここでは混乱して左に時間がかかることに注意してください):
しかし、上記のリンク先の論文は、「 「16層のみ」の「残余ネットワーク」は、150層以上の「深い」ネットワークよりもパフォーマンスが優れています。これが当てはまる場合は、上の図の全体的なポイントが崩れます。
または、 Ba and Caruana、2014、Do Deep Nets Really Need to be深い?:
この論文では、浅いネットが深いネットと同じ機能を学習できるという経験的証拠を提供します。ディープネットと同じ数のパラメーターを持つケース。これを行うには、最初に最先端のディープモデルをトレーニングし、次に浅いモデルをトレーニングしてディープモデルを模倣します。模倣モデルは、次のセクションで説明するモデル圧縮スキームを使用してトレーニングされます。驚くべきことに、モデル圧縮を使用すると、浅いネットを元のモデルで直接トレーニングした場合、これらの浅いネットを深いネットほど正確にトレーニングすることはできませんが、浅いネットをいくつかの深いモデルと同じくらい正確にトレーニングできます。ラベル付けされたトレーニングデータ。深層ネットと同じ数のパラメータを持つ浅いネットが忠実度の高い深層ネットを模倣することを学ぶことができれば、その深層ネットによって学習された関数は実際には深くなくてもよいことは明らかです。
trueの場合、これは正しい説明が私の箇条書き#2であり、#1または#3ではないことを意味します。
私が言ったように- -まだ誰も本当に確実に知りません。
おわりに
達成された進捗量過去10年間のディープラーニングは本当に驚くべきものですが、この進歩のほとんどは試行錯誤によって達成されたものであり、ディープネットがうまく機能する理由についての基本的な理解がまだ不足しています。 効果的なディープネットワークを構築するために人々が重要だと考えるもののリストでさえ、数年ごとに変わるようです。
ディープラーニングのルネッサンスは、2006年にジェフリーヒントン(ニューラルに取り組んでいた)が始まったときに始まりました。誰からもあまり関心のない20年以上のネットワーク)は、ディープネットワークをトレーニングする効果的な方法を提供する画期的な論文をいくつか公開しました(サイエンスペーパー、ニューラル計算ペーパー)。秘訣は、勾配降下を開始する前に、教師なし事前トレーニングを使用することでした。これらの論文はこの分野に革命をもたらし、数年間、教師なしの事前トレーニングが鍵であると人々は考えていました。
その後、2010年に、Martensは、ディープニューラルネットワークを2次法(いわゆるヘッセ行列法)でトレーニングでき、事前トレーニングでトレーニングしたネットワークよりも優れたパフォーマンスを発揮できることを示しました。ヘッセ行列のない最適化によるディープラーニング。その後、2013年にSutskever etal。いくつかの非常に巧妙なトリックを伴う確率的勾配降下法は、ヘシアンフリーの方法よりも優れている可能性があることを示しました。深層学習における初期化と勢いの重要性について。また、2010年頃、シグモイド単位の代わりに正規化線形単位を使用すると最急降下法に大きな違いが生じることに気づきました。ドロップアウトは2014年に登場しました。残余ネットワークは2015年に登場しました。人々は深いネットワークをトレーニングするためのより効果的な方法を考え続けており、 10年前の重要な洞察のように思われたことはよく考えられます今日の迷惑です。これらはすべて試行錯誤によって引き起こされており、何がうまく機能するのか、他のいくつかのことを理解しているのか ほとんどありません。そうではありません。深いネットワークのトレーニングは、大きなトリックのようなものです。成功するトリックは通常、事後に合理化されます。
なぜ深いネットワークがパフォーマンスのプラトーに達するのかさえわかりません。わずか10年の人々が極小値を非難していましたが、現在の考えでは、これは重要ではありません。 (パフォーマンスがプラトーになると、勾配が大きくなる傾向があります。)これはディープネットワークに関する基本的な質問であり、これもわかりません。
更新:これは、多かれ少なかれ、錬金術としての機械学習に関するAliRahimiのNIPS2017トークの主題です: https://www.youtube.com/watch?v=Qi1Yry33TQE 。
[この回答は2017年4月に完全に書き直されたため、一部の回答は以下のコメントのうち、もう適用されません。]
コメント
- いい回答です!1)@Nicolasでも言及されているように、フィードフォワードニューラルnを主張する定理( en.wikipedia.org/wiki/Universal_approximation_theorem )があることが判明しました単一の非表示層と有限数のニューロンを使用したネットワークは、単位超立方体上の任意の連続関数(DNNを含む)を近似できます。この結果は、活性化関数の選択とは無関係であると主張されています。 2)あなたの最後の発言(つまり、ヒントンがGoogleに参加したこと)が最近のDNNの成功に関連しているかどうかはわかりません。 DNNが流行してからずっと後にヒントンがGoogleに加わりました!
- 多分私たちは’用語を別の方法で使用しています。パーセプトロンには’隠しレイヤーがありません。入力はデータであり、出力は分類です。多層ネットワークは、レイヤー$ n-1 $からの出力がレイヤー$ n $への入力を形成するように、一緒に配線されたパーセプトロンの束で構成されます。したがって、単一の隠れ層を持つネットワークには、3つの層(入力、隠れ、出力)があります。この隠れ層は普遍近似の鍵です。それを欠くパーセプトロンは’ XORのようなものを計算できませんが、多層ネットワークは計算できます。
- 線形性物事は2つの問題の組み合わせのようです。パーセプトロンは線形決定境界のみを計算できます。2つのクラスを分割するために直線を描くことしかできません。多層ネットワークでは、”より複雑な境界を”描画できます。 しかし多層ネットワークの出力層を除いて、パーセプトロンも多層ネットワークも線形活性化関数を使用しません。パーセプトロンの活性化関数はヘヴィサイドです(x > 0の場合は1、それ以外の場合は0)。多層ネットワークはしばしばシグモイドを使用しますが、ユニバーサルの制約は約です。かなり穏やかです:一定ではなく、有界で、単調に増加します。
- @amoebaすばらしい答えです。最初の写真は、残りの部分を読むのを延期しましたが、最高でした。パーセプトロンは分類の線形回帰に対応するものです。そのため、オンライン(sgd)メソッドの代わりにクローズドフォームソリューション(疑似逆行列)を使用して問題を解決すると、’ sロジスティック(シグモイド関数)=パーセプトロンのため、ロジスティック回帰と呼ばれます。パーセプトロン/ロジスティック回帰は、’ ‘線形決定境界とその’のみを描画できます。 ‘が線形と呼ばれる理由
- ただし、多層パーセプトロン(左側の最初の図で描いたもの)は、このような複数の線形決定を組み合わせることができます。境界であるため、スペースを分割して、前述の@Mattのような(非線形)XOR問題を解決できます。そのため、たとえば目を細めた場合、多くの結合された線形決定境界が円を描く可能性があります。それはあなたがそれについてどう考えるかによります-決定はより高い空間でまだ直線的です、もしあなたがカーネルに精通しているなら、それは’同じようなものです。
回答
これまでのところ良い回答ですが、この辺りで誰も言及していないことがいくつかありますが、これが私の0.02 $です。
私はただ物語の形で答えます、物事をより楽しくそして明確にするべきです。ここにはtldrはありません。その過程で、違いが何であるかを理解できるはずです。
DNNが発生したときにスパークした理由は複数あります(スターは、すべての類似したものと同様に、整列する必要がありました。それは正しい問題です。場所、適切な時期など)。
1つの理由は、データの可用性、大量のデータ(ラベル付きデータ)です。「一般的な事前情報」や「普遍的な事前情報」などを一般化して学習できるようにしたい場合「(タスク/アプリケーション間で再利用できる基本的な構成要素とも呼ばれます)、大量のデータが必要です。また、照明などを制御してラボで注意深く記録された無菌データセットではなく、野生のデータを追加することもできます。機械的Turkはそれ(ラベリング)を可能にしました。
次に、GPUを使用してより大規模なネットワークをより高速にトレーニングできるため、実験がより高速になりました。ReLUユニットは、より多くのユニットを使用する必要があるため、計算も高速化し、正規化を提供しました。レイヤーがよりスパーになったため、同じ情報を圧縮できる1つのレイヤーe、それでそれはドロップアウトにもうまくいきました。また、複数のレイヤーをスタックするときに発生する重要な問題にも役立ちました。これについては後で詳しく説明します。パフォーマンスを向上させるさまざまな複数のトリック。ミニバッチ(実際には最終エラーに有害です)または畳み込み(実際には局所受容野ほど多くの分散をキャプチャしません)を使用するのと同じですが、計算は高速です。
その間、人々は議論していましたそばかすの有無にかかわらず、より細いまたはよりぽっちゃりした、小さいまたは高い、などが好きな場合。最適化は、それがフィズまたはバングするようなものだったので、研究は共役勾配法やニュートン法などのより複雑なトレーニング方法に向かって進んでいました。無料の昼食はありません。ネットワークがげっぷしていました。
速度低下の原因は、勾配消失問題でした。 人々は次のようになりました:おっ、それは「遠い、男!一言で言えば、入力に近いレイヤーのエラーを調整するのが難しいことを意味します。ケーキにレイヤーを追加すると、ぐらつきすぎます。できませんでした。」 t意味のあるエラーを最初のレイヤーに逆伝播します。レイヤーが多いほど、悪化します。バマー。
クロスエントロピーを損失関数として使用すると(分類と画像認識)、ある種の正則化が提供され、ネットワークが飽和状態になり、勾配が変化するのを防ぐことができると考える人もいます。
また、監視されていない方法を使用したレイヤーごとの事前トレーニングも可能になりました。基本的に、自動エンコーダーを多数使用して、抽象的表現がますます少なくなっていることを学習します。圧縮率を上げます。これらのネットワークからの重みを使用して、監視対象バージョンを初期化しました。これにより、勾配の消失の問題が別の方法で解決されました。つまり、監視対象のトレーニングをはるかに優れた開始位置から開始しています。そのため、他のすべてのネットワークが立ち上がって反乱を起こし始めました。しかし、とにかくネットワークは監視を必要としていました。さもなければ、ビッグデータを静止させることは不可能でした。
さて、最後の部分では、最終的には複雑すぎて一言で言えない答えにつながります。なぜですか。 1つだけではなく、より多くのレイヤー。できるから!コンテキストと不変の機能記述子があるためです。
ここに例があります。画像のデータセットがあります。そのデータを使用してプランNNをどのようにトレーニングしますか?まあ、素朴に、各行とあなたはそれを1つの長いベクトルに連結し、それがあなたの入力です。あなたは何を学びますか?画像内のオブジェクトには多くの種類の分散が含まれており、関連するものと関連しないものを区別できないため、何にも見えない可能性のあるいくつかのあいまいなナンセンス関数。そしてある時点で、ネットワークは新しいものを再学習できることを忘れる必要があります。したがって、容量の問題があります。これはより非線形のダイナミクスですが、直感的には、ネットワークにより多くの情報を含めることができるようにニューロンの数を増やす必要があります。
つまり、要点つまり、画像を1つのピースとして入力するだけの場合、レイヤーを追加してもあまり効果はありません。これは、非常に重要な「抽象化」を学ぶことができないためです。 したがって、特定のタイプのオブジェクトに焦点を当てるなど、ネットワークでより単純なことを行う場合を除いて、全体的に物事を行うことはうまく機能しません。そのため、1つのクラスに制限し、分類の目標としていくつかのグローバルプロパティを選択します。
では、何をする必要がありますか?画面の端を見て、このテキストを読んでみてください。問題?ばかげているように聞こえますが、あなたはあなたが読んでいるものを見る必要があります。そうでなければ、それはあまりにも曖昧です/十分な解像度/粒度がありません。フォーカスエリアを受容野と呼びましょう。ネットワークも集中できる必要があります。基本的に、画像全体を入力として使用する代わりに、画像に沿ってスライディングウィンドウを移動し、それをネットワークへの入力として使用します(人間よりも確率的ではありません)。これで、ピクセル間の相関関係、つまりオブジェクトをキャプチャする機会も得られます。また、ソファに座っている眠そうな猫と、逆さまの猫のバンジージャンプを区別することもできます。きちんとした、人類への信仰が回復しました。ネットワークは、複数のレベルで画像内のローカル抽象化を学習できます。ネットワークは、最初は単純なフィルターを学習し、次にそれらを積み上げて、より複雑なフィルターを学習します。
つまり、受容野/畳み込み、教師なし初期化、正規化線形単位、ドロップアウト、またはその他の正則化です。メソッド。 「これについて非常に真剣に考えている場合は、シュミットフーバーのニューラルネットワークのディープラーニング:概要をご覧になることをお勧めします。プレプリントのURL http://arxiv.org/abs/1404.7828
覚えておいてください:大きな学習、ディープデータ。Word。
コメント
- こんにちはフローリン、いい答えをありがとう!私はライティングスタイルが好きです。スライディングウィンドウについて話すとき、畳み込みNNの畳み込み層が画像とプロジェクトのさまざまな部分をどのように観察するかについて言及していますか低次元の空間でのアクティブ化?
- はい、畳み込みは必要ありませんが、重みが制約されているため、計算が高速になります。’チェックしてください。 ‘畳み込みを使用せず、ローカルの受容フィールドを使用しないこのペーパーを参照してください。重要なキーワードはローカル/階層です: arxiv.org /pdf/1112.6209.pdf
- 私も最も近いと思います体系的な答えはsobi ‘です。彼は’が私の賛成票を獲得しました。塩とコショウを少し加えて、あちこちにいくつか追加しました。
回答
In素人の用語ですが、従来のニューラルネットワークとの主な違いは、隠れ層がはるかに多いことです。
このアイデアは、層にラベルを追加して、いくつかの抽象化層を作成することです。
たとえば、オブジェクト認識用のディープニューラルネットワーク :
- レイヤー1:単一ピクセル
- レイヤー2:エッジ
- レイヤー3:フォーム(円、正方形)
- レイヤーn:オブジェクト全体
Quora のこの質問に対する適切な説明。
そして、このテーマに興味がある場合は、これを確認することをお勧めします。 本。
コメント
- Davidに感謝しますが、私はしません’ラベルを追加するだけで違いが出る方法はわかりません。また、ニューラルネットワークによって関数がどのようにエンコードされているかを理解して分解するのは難しい問題だったことも覚えています。レイヤーを増やすだけでなく、何か他のものが必要です。あなたが挙げた例については、個別に(古い学校の)ニューラルネットワークをトレーニングして各タスクを実行できると思います。
- パイプラインのように使用すると電力が供給されるため、入力と出力が異なります。すべてのレイヤーのレイヤースタックから。
- 私はあなたの最初のリンクを読んでいます。これは良いリソースであり、クォーラとそれ自体に関する他の関連する質問ですが、あなたが与えた例は私がしたものと正確ではないようです読んだ。 ‘私は自分の質問に答えようとし、これらの読みを要約します。
- 指摘されたリソースは興味深いものですが、現在の回答では質問に答えていません。
- レイヤーにラベルが付けられている例を指摘できますか(純粋に説明的な方法以外)?隠しレイヤーが各隠しレイヤーで連続してより複雑な機能に見えることは確かですが、”ラベルを追加する”は、それらが’そのための特別なトレーニングを受けています。
回答
NN:
- 1つの隠れ層で十分ですが、それでも複数の層を持つことができます。左から右への順序付け(モデル:フィードフォワードNN)
- 教師あり方法でのみトレーニングされます(バックプロパゲーション)。 )
- 複数のレイヤーを使用する場合は、すべてのレイヤーを同時にトレーニングします(同じアルゴリズム:バックプロパゲーション)。レイヤーが多いと、エラーが小さくなりすぎて使用が困難になります
- 各レイヤーで何を学習するかを理解する
DNN:
- 複数のレイヤーが必要で、無向エッジ(モデル:制限付きボルツマンマシン)
- 教師なしの方法で最初にトレーニングされ、ネットワークは入力の再現を学習することで関連する機能を学習します、次に、分類するために特徴を微調整する教師ありの方法でトレーニングされます
- 入力レイヤーから出力レイヤーにレイヤーを1つずつトレーニングします(アルゴリズム:対照的な発散)
- 各レイヤーを明確に抽象化を高める機能が含まれています
DNNへの移行は、2006年に発生した3つの独立したブレークスルーによるものです。
NNの定理に関して、質問がほのめかしているのは:
- 普遍近似定理またはサイベンコ定理:単一の隠れ層を持つフィードフォワードニューラルネットワークは、任意の連続関数を近似できます。ただし、実際には、単一の隠れ層を使用すると、はるかに多くのニューロンが必要になる場合があります。
コメント
- -1?本当に?私はこれらすべてを文献で読み、両方のアプローチを1つずつ比較しました。少なくとも正しくないことを述べてください…
- 私は反対票を投じませんでした(おそらく、反対票を投じた人はあなたが自分の質問に答えることを好まなかったのですか?しかし、もちろんここではまったく問題ありません)が、ここに1つあります完全に正しくないこと。 DNNのプロパティとしてリストするもの:エッジが無向であること、’が最初に監視されていない方法でトレーニングされていること、レイヤーが1つずつトレーニングされていること-これらはすべて参照するだけです2006年にヒントンによって提案されたディープビリーフネットワークへ。これは一般的なディープニューラルネットワークに必ずしも当てはまるわけではなく、実際、それなしでディープネットワークをトレーニングする方法はたくさんあります。私の答えを参照してください。
答え
最初は少し混乱していました。ニューラルネットワーク(NN)とディープニューラルネットワーク(DNN)ですが、「深さ」とは、残念ながら、&レイヤーのパラメーターの数のみを指します。 -いわゆる「カナダのマフィア」の下でのブランディング。
数年前、クラスの一部としてニューラルネットワークも使用し、NNを使用して数字認識、波近似などのアプリケーションを実行しました。複数の隠れたレイヤーと出力、そしてDNNが持つすべてのジャズがありました。しかし、当時私たちが持っていなかったのは計算能力でした。
DNNへの移行を可能にし、望ましいものにした理由は、ハードウェア開発の進歩です。簡単に言えば、今では、より多く、より速く、より多くの計算が可能になりました。並列化(GPU上のDNN)、以前はNNのボトルネックでした。
ウィキペディアのディープのページで参照されています。学習では、「深い」部分とは、主に、特徴が複数のレイヤーで非線形に相互作用し、特徴の抽出と変換を実行することを指します。これも標準のNNで行われましたが、規模は小さくなりました。
同じページで、ここに定義があります「ディープニューラルネットワーク(DNN)は、入力層と出力層の間にユニットの複数の隠れ層がある人工ニューラルネットワーク(ANN)です。」
コメント
- こんにちはMttk、あなたの答えに感謝します、それはこの質問にもっと光を当てます。あなたの最後の点に関しては、はい構造的に違いを説明するのは非常に簡単です(1対複数の層)が、これらの複数のレイヤーがどのように使用されるかが重要であるように思われ、あまり明確ではありません。そのため、構造ではなく質問に焦点を当てました。
- 正直なところ、私は’私が参照した最後の定義に同意しません-1つの隠れ層を持つANN / NNは実際には効率的ではなく、あらゆる種類のより複雑な予測には複数が必要でした(I ‘ m DNNは役に立たない流行語だったと思うのでこれを言うすでに良い言葉に、NN)。 NNとDNNは同じように使用できると思います(現在、誰も1つの非表示レイヤーNN ‘を使用していないため)が、レイヤーの使用法はDNNのタイプによって異なります’(CNN、RBM、RNN、LSTM、CW-RNN、…)であり、DNN自体の概念ではありません。
回答
私が知る限り、今日のディープニューラルネットワーク(DNN)と呼ばれるものには基本的に何もありません。または、古い標準のニューラルネットワーク(NN)とは哲学的に異なります。理論的には、隠しレイヤーが1つしかない浅いNNを使用して任意のNNを近似できますが、これはできませんつまり、同じアルゴリズムとトレーニングデータを使用してトレーニングすると、2つのネットワークは同様に機能します。実際、深いネットワークと同様に機能する浅いネットワークのトレーニングへの関心が高まっています。ただし、これを行う方法は、最初に深いネットワークをトレーニングし、次に浅いネットワークをトレーニングして、深いネットワークの最終出力(つまり、最後から2番目のレイヤーの出力)を模倣することです。ほら、ディープアーキテクチャを有利にするのは、ニューロンが階層構造に配置されていると、今日のトレーニング手法(バックプロパゲーション)がうまく機能することです。
もう1つの質問は、なぜニューラルなのかということです。ネットワーク(特にDNN)は突然人気を博しました。私の理解では、最近DNNを人気にした魔法の要素は、次のとおりです。
A。データセットとデータ処理機能の改善
1。数百万の多様な画像を含む大規模なデータセットが利用可能になりました
2。高速GPU実装が一般公開されました
B。トレーニングアルゴリズムとネットワークアーキテクチャの改善
1.sigmoidまたはtanhの代わりにRectifiedLinear Unit(ReLU)
2。ディープネットワークアーキテクチャは何年にもわたって進化しました
A-1)ごく最近まで、少なくともコンピュータビジョンでは、何百万ものラベル付き画像でモデルをトレーニングできませんでした。そのサイズのラベル付きデータセットが存在しなかったという理由だけで。画像の数に加えて、ラベルセットの粒度もDNNの成功にとって非常に重要な要素であることがわかりました(このペーパーの図8を参照、Azizpour et al。による)。
A-2)多くのエンジニアリング作業があります実際にうまく機能するDNNのトレーニングを可能にすることに取り組みました。特に、GPU実装の登場です。 DNNの最初の成功したGPU実装の1つは、2つの並列GPUで実行されます。それでも、ハイエンドGPUを使用して1000カテゴリの120万の画像でDNNをトレーニングするには約1週間かかります(Krizhevsky他によるこの論文を参照)。 。
B-1)シグモイドとの代わりに単純な正規化線形単位(ReLU)を使用tanh関数は、DNNのトレーニングを可能にする最大の構成要素です。シグモイド関数とtanh関数はどちらも、低い活性化レベルから高い活性化レベルへの移行速度に応じて、どこでもほぼゼロ勾配ほぼであることに注意してください。極端な場合、遷移が突然発生すると、遷移が発生する1つのポイントを除いて、どこでも勾配がゼロのステップ関数が得られます。
B-2)ニューラルネットワークアーキテクチャが何年にもわたってどのように発展したかという話は、進化が自然界の生物の構造をどのように変化させるかを思い出させます。パラメータ共有(たとえば、畳み込み層)、ドロップアウトの正規化、初期化、学習率スケジュール、空間プーリング、より深い層でのサブサンプリング、およびDNNのトレーニングで現在標準と見なされている他の多くのトリックが開発、進化、ディープネットワークのトレーニングを現在のように可能にするために、何年にもわたって調整された終了。
コメント
- +1。の最初の回答OP ‘の質問に適切に回答するこのスレッド。ここに多くの良い点があります。私の唯一の主要なコメントは、AとBに加えて、 C:利用可能なトレーニングデータセットのサイズが大幅に増加しました。これは少なくともAとBと同じくらい重要なようです。
- ‘ reluはそれほど重要だとは思いません:Alex krizhevskyの論文は、nnが学習したと主張しています6倍速くなります。あなたが言及する他のネットワーク構造の変更のほとんどは、畳み込みnnに関連しています。これは、標準の画像処理パイプラインをコピーするだけです(良いことですが、新しい洞察はありません)
- @amoeba:データセットのサイズはA未満です。Iテキストを更新して強調表示しました。
- @ seanv507:確かに、答えを書くときは畳み込みネットワーク(ConvNets)を念頭に置いていました。私が見逃した他の重要な要素(ConvNetsとは関係ありません)がある場合は、それらについて言及していただければ幸いです。それに応じて私の答えを更新させていただきます。ReLUに関しては、勾配消失の問題により、tanhとsigmoidを使用したnnのトレーニングはReLUを使用する場合よりもかなり困難です。ユニットは飽和しやすく、一度飽和すると、再び不飽和になるまでに時間がかかります(ユニットの場合、勾配は非常に小さい)飽和している)
回答
「深い」NNと標準のNNの違いは、純粋に定性的です。その「深い」が何を意味するかについての定義はありません。 「ディープ」とは、Google、Facebookなどで使用されている50〜80以上のレイヤーを持つ非常に洗練されたアーキテクチャから、2つの非表示レイヤー(合計4レイヤー)のアーキテクチャまで、あらゆるものを意味します。 「ディープ」はあまり意味がないので、単一の隠れ層でディープラーニングを行うと主張する記事を見つけても驚かないでしょう。
「ニューラルネットワーク」もそうではない単語です。 「非常に正確な意味はありません。ランダムなボルツマンマシン(無向グラフ)からさまざまな活性化関数を備えたフィードフォワードアーキテクチャまで、非常に大規模なモデルのアンサンブルをカバーしています。ほとんどのNNはbackpropを使用してトレーニングされますが、必ずしもそうする必要はありません。そのため、トレーニングアルゴリズムでさえあまり均質ではありません。
全体として、ディープラーニング、ディープNN、およびNNはすべて、多数のアプローチを捉えるキャッチオールワードになっています。
「何が変わったのか」についての優れた入門参照:表現のディープラーニング:今後の展望、Bengio、2013年は優れたレビュー+将来の展望です。 ディープネットは本当に深くする必要がありますか? Ba & Caruana、2013年。深くなることは、表現には役立たないかもしれませんが、学習には役立たないかもしれません。
コメント
- あなたが提供する参照は非常に役立ちます、ただし、現在の形式の残りの回答(” NNは何も意味しません、DNNは何も意味しません、NNとDNNは多くのことを実行できます”)あまりありませんが、修正を検討しますか?
回答
David Gasquezの答えを拡張するために、ディープニューラルネットワークと従来のニューラルネットワークの主な違いの1つは、ディープニューラルネットにバックプロパゲーションを使用するだけではないということです。
なぜですか?バックプロパゲーションは、前のレイヤーをトレーニングするよりも後のレイヤーをより効率的にトレーニングするため、ネットワークの早い段階で進むにつれて、エラーは小さくなり、拡散します。したがって、10層のネットワークは、基本的に7層のランダムな重みとそれに続く3層の近似された重みで構成され、3層のネットワークと同様に機能します。詳細については、こちらを参照してください。
したがって、概念的なブレークスルーは、個別の問題(ラベル付きレイヤー)を個別の問題として扱うことです。一般的に優れた第1層を構築する問題を解決してから、一般的に優れた第2層を構築する問題を解決しようとすると、最終的には、実際の問題にフィードできる深い特徴空間が得られます。
回答
NNとDNNの間に大きな哲学的な違いがあるとは言いません(実際、DNNは単なるマーケティングだと思います) 「失敗した」NNと区別するための用語)。変更されたのは、データセットのサイズです。本質的にニューラルネットワークは現在、最高の$ O(n)$統計推定量であり、高次元の大規模なデータセット(imagenetなど)でうまく機能します。
一歩下がって、これが復活をもたらしたことを確認する必要があると思います。浅いAI-例感情分析やその他の言語アプリケーション用の単語の袋と視覚的な単語の袋は、DNN以前の画像認識への主要なアプローチでした。言葉の袋が言語の真のモデルであるとは誰も言っていませんが、それは効果的なエンジニアリングソリューションです。したがって、DNNはより優れた「視覚的な言葉の袋」であると言えます。たとえば、 Szegedy etal。 2013 ニューラルネットワークの興味深い特性およびNguyenetal。 ディープニューラルネットワークは簡単にだまされます:認識できない画像の信頼性の高い予測ここでは、高次の構造などが学習されていないことが明らかです(または主張されているものは何でも) DNN)。
コメント
- @amoebaこの他の論文は、最初の論文とほぼコンパニオンペーパーです(これもたくさんの画像があります!)
回答
後者の質問に回答するには、 Telgarsky これは、特定の分類問題について、「指数関数的(k単位)未満のノードを持つすべての浅いネットワークは少なくとも1/6のエラーを示しますが、2k層のそれぞれに2つのノードを持つ深いネットワークはゼロエラーを達成します。”
問題の分類問題は、区間 $ [0,1-2 ^ {-k}]を考慮するn-交互点問題です。 $ で、入力 $ x_i $ が
引用の証明には、アフィン変換に適用される非線形アクティベーションの構成(つまり、レイヤーの数が多い)が、同じ関数を合計するよりもデータの変動性をキャプチャできることに気付くことが含まれます(レイヤーにノードを追加するとき)。
回答
ディープラーニングは、機械学習における一連のアルゴリズムです。 複数の非線形変換で構成されるアーキテクチャを使用して、データの高レベルの抽象化をモデル化しようとします。
出典:アルノキャンデル
コメントを残す