多層パーセプトロンとディープニューラルネットワーク


16

これは用語の問題です。時々、ディープニューラルネットワークを「多層パーセプトロン」と呼ぶ人がいますが、これはなぜですか?私が教えられたパーセプトロンは、重みをトレーニングする特定の方法を使用したバイナリしきい値出力を持つバックレイヤーではない単層分類器(またはリグレッサー)です。パーセプトロンの出力がターゲットの出力と一致しない場合、重みに入力ベクトルを加算または減算します(パーセプトロンが偽陽性または偽陰性を与えたかどうかに応じて)。これは非常に原始的な機械学習アルゴリズムです。トレーニング手順は、多層ケースに一般化されていないようです(少なくとも修正なしでは)。ディープニューラルネットワークはbackpropを介してトレーニングされます。backpropはチェーンルールを使用して、ネットワークのすべての重みを通してコスト関数の勾配を伝播します。

だから、問題は。「多層パーセプトロン」は「ディープニューラルネットワーク」と同じものですか?もしそうなら、なぜこの用語は使用されますか?不必要に混乱させるようです。さらに、用語がある程度互換性があると仮定すると、完全に接続された層(畳み込み層や繰り返し接続なし)で構成されるフィードフォワードネットワークを指すとき、用語「多層パーセプトロン」のみを見ました。この用語はどのくらい広範ですか?たとえば、インセプションネットを指す場合、「多層パーセプトロン」という用語を使用しますか?NLPで使用されるLSTMモジュールを使用するリカレントネットワークについてはどうですか?


1
ディープニューラルネットワーク= 1を超える隠れ層を持つニューラルネットワーク。MLPはこのカテゴリに分類されます。
ティム

そのちょうどブランド変更。MLPは90年代に誇大宣伝され、SVMに取って代わられたため、2000年代に何か別の名前を付ける必要があります。dnnはより多くの層を持っているが、それほど大きな違いはないという提案があります。例えば、Le Net [MLP / CNN](1998)2畳み込み2完全接続。alexnet = DNN(2012)5回の畳み込みと3回の完全接続。
seanv507

SVMは勾配上昇に基づいており、ANNは勾配降下に基づいているため、ANNに取って代わることはありませんでした。卒業生はANNについて何も知らなかったため、SVMは売られすぎで使い古されました。SVMを実行するために、生徒はRパッケージを取得して完了しました。しかし、ANNの場合、解釈言語の観点(つまり、コードを一緒に叩く)ではなく、数値メソッドの観点から学期全体を理解する必要があります。
JoleT

回答:


21

多層パーセプトロン(MLP)はディープニューラルネットワーク(DNN)のサブセットであると考えることができますが、多くの場合、文学で互換的に使用されます。

パーセプトロンが学習ルールに基づいて命名されているという仮定は正しくありません。古典的な「パーセプトロン更新ルール」は、トレーニングに使用できる方法の1つです。パーセプトロンの更新ルールが勾配を消したり爆発させたりする傾向があったため、ニューラルネットワークの早期拒否はまさにこの理由によるものでした。

トレーニングネットワークでの逆伝播の使用は、tanhsigmoidなどの代替のスカッシュアクティベーション関数の使用につながりました。

質問に答えるために、

質問は。「多層パーセプトロン」は「ディープニューラルネットワーク」と同じものですか?

MLPはDNNのサブセットです。DNNはループを持つことができますが、MLPは常にフィードフォワードです。つまり、

多層パーセプトロン(MLP)は有限の非循環グラフです

なぜこの用語が使用されるのですか?

科学の文献で使用されている用語の多くは、時代のトレンドと関係があり、定着しています。

この用語はどのくらい広範ですか?たとえば、インセプションネットを指す場合、「多層パーセプトロン」という用語を使用しますか?NLPで使用されるLSTMモジュールを使用するリカレントネットワークについてはどうですか?

そのため、接続の間にサイクルがないため、はい開始、畳み込みネットワーク、resnetなどはすべてMLPです。レイヤーをスキップするショートカット接続がある場合でも、順方向にある限り、マルチレイヤーパーセプトロンと呼ばれます。ただし、LSTM、またはバニラRNNなどには循環接続があるため、MLPと呼ぶことはできませんが、DNNのサブセットです。

これは私の物事の理解です。間違っている場合は修正してください。

参照リンク:

/cs/53521/what-is-difference-between-multilayer-perceptron-and-multilayer-neural-network

https://en.wikipedia.org/wiki/Multilayer_perceptron

https://en.wikipedia.org/wiki/Perceptron

http://ml.informatik.uni-freiburg.de/former/_media/teaching/ss10/05_mlps.printer.pdf


1
好奇心から:クラスメンバシップではなくクラス1メンバシップの確率を推定するため、ロジスティック回帰回帰手法あると考えました。そのため、私には分類手法とは思えません(研究者/分析者は、ロジスティック回帰に基づいて分類するために確率のカットオフを決定する必要があります)。
IWS

@IWSあなたは正しい。このサイトのさまざまなユーザーは、ロジスティック回帰は(条件付き)確率推定のモデルであり、分類子ではないという点を繰り返し指摘しています。例についてはこちらをご覧ください。
DeltaIV

1
修正するための応答の編集たとえば、「ロジスティック回帰」は分類手法であり、いわば「回帰」と呼ばれるべきではありません。@DeltaIVが共有するリンクにより、分類子ではなく回帰である理由が非常に明確になります。
m1cro1ce

8

良い質問:ディープラーニングの分野では、統計学習のように物事が必ずしもうまくカットされ、明確に定義されているわけではないことに注意してください(誇大宣伝も多いため)。数学のように厳密な定義を見つけることを期待しないでください。とにかく、多層パーセプトロンは特定のフィードフォワードニューラルネットワークアーキテクチャであり、複数の完全に接続された層を積み重ねる(つまり、畳み込み層はまったくない)場合、非表示ユニットの活性化関数は多くの場合シグモイドまたはタンです。出力層のノードには通常、ソフトマックスアクティベーション関数(分類用)または線形アクティベーション関数(回帰用)があります。典型的なMLPアーキテクチャは「深い」ものではありません。つまり、多くの隠れ層はありません。通常、1〜5個の隠しレイヤーがあります。これらのニューラルネットワークは80年代には一般的でしたが、

現在、ディープニューラルネットワークとは、多くのレイヤー(19、22、152、... > 1200でもあるが、確かに非常に極端ですが)を持つネットワークを意味します。ご了承ください

  • ネットワークのアーキテクチャを指定していないため、これはフィードフォワード、リカレントなどの可能性があります。
  • 接続の性質を指定していないため、完全に接続されたレイヤー、畳み込みレイヤー、繰り返しなどを作成できます。
  • 「多くの」層は確かに厳密な定義ではありません

32×32+32×10=134411584重み。これは、今日の基準では非常に小さなNNです。ただし、適切に大きなデータセットでトレーニングを続けると、収束速度が大幅に低下していることがわかります。これは、重みの数が多いためだけでなく、勾配消失する問題があるためです。逆伝播では、各層でエラーを乗算することにより損失関数の勾配が計算され、これらの小さな数値は追加する層が増えると指数関数的に小さくなります。したがって、エラーはネットワークに伝播しません(または非常にゆっくり伝播します)。トレーニングエポックでトレーニングセットのエラーが減少しなくなるようです。

これは小さなネットワークでした-AlexNetと呼ばれる深い畳み込みニューラルネットワークは5層でしたが、6,000万の重みがあり、今日の標準では小さいと考えられています!重みが非常に多い場合、データセットは「小さい」です。分類に使用される画像のデータセットであるImageNetでさえ、約100万の画像しか「ない」ため、オーバーフィットのリスクは浅いネットワークの場合よりもはるかに大きくなります。

したがって、ディープラーニングは、多数の層と重みを使用してニューラルネットワークをトレーニングし、低い一般化エラーを達成するために実際に使用されるツールのセットとして理解できます。このタスクは、小規模ネットワークよりも多くの課題をもたらします。Deep Multilayer Perceptronを間違いなく構築してトレーニングできますが、(現在Deep Learningが使用されている多くのタスクに最適なアーキテクチャではないという事実は別として)、ネットワークが使用されていたときに使用されるツールとは異なるツールを使用する可能性があります"浅い"。たとえば、ReLUアクティベーションユニットはシグモイドやタンよりも好まれる場合があります。これは消失勾配の問題を緩和するためです。


m1cro1ceによる以前の回答では、conv-net(inceptionなど)もMLPとして分類できますが、MLPに畳み込み層を含めることはできないと指定しています(そして、アクティベーション関数の選択も暗黙的に意味しているようです) MLPと呼べるかどうかに影響しますか?)MLPの正確な意味とそれが意味しないことについて、文献(またはMLコミュニティ内)で合意がありますか?誰かが「タスクXのMLPを構築してほしい」と言ったら、何をすることに制限されますか?
列挙

@enumarisあなたは法律で何かをすることを制限されていません。前回チェックしたとき、CNNを構築してMLPと呼ぶことは依然として合法でした。もちろん、このような紙/ポスターなどは拒否しますが、それは私であり、用語の厳密な使用で正確に有名ではないDLコミュニティ全体について話すことはできません。とにかく、私の定義:完全に接続されたレイヤーと少なくともいくつかの非線形活性化機能を備えたフィードフォワードニューラルネットワーク(そうでなければ、レイヤーの数に関係なく、常に単一レイヤーの線形ネットワークと同等です)は、あなたが見つけることができるものと同じです。 。
DeltaIV

... ウィキペディア。レイヤーセクションの行「MLPは完全に接続されているため[..]」に注意してください。これはCNNを除外します。本書には、同じ定義(フィードフォワード、完全に接続、少なくとも非表示のレイヤーには非線形のアクティベーション機能があります)を見つけることができます。アクティベーション機能に関して、私は間違いなく何も暗示していないようです。MLPには通常、タンまたはシグモイドのアクティベーション機能があると言ったが、それは必須ではない。
DeltaIV

これらの2つの回答の1つを承認済みの回答としてマークしたいのですが、矛盾する回答を与えるので、どの回答が文献またはMLコミュニティで一般的に見られる回答かを知りたいです。
-enumaris

@enumaris質問のタイトルは「多層パーセプトロンvsディープニューラルネットワーク」であり、次のように尋ねますa "multi-layer perceptron" the same thing as a "deep neural network"。この質問は、私の質問とm1cro1ceの回答の両方で詳細に回答されています。ここで、「CNNはMLPのサブセットですか?」という質問をしています。-Stack Exchangeサイトには、投稿用の質問1つあります。
-DeltaIV

0

私は多くの投稿から読んだものに応じてそれを追加したい:

DNNには、MLP(多層パーセプトロン)やCNN(畳み込みニューラルネットワーク)などのさまざまなアーキテクチャがあります。さまざまなタイプの問題を解決するために設計されたさまざまなタイプのDNN。

MLPは、以下に使用されるNNの古典的なタイプです。

  • 表形式のデータセット(データベーステーブルのように列形式のデータを含む)。
  • 分類/回帰、予測pbs。

MLPは非常に多く、入力から出力へのマッピングをリーンするために一般的に使用できます。

ただし、他のモデルがより適切であることを確認するために、比較の基準点として画像データなどの他の形式を試すことができます。

画像データを出力変数にマッピングするように設計されたCNN。以下に使用されます。

  • 画像データ、
  • 分類/回帰予測pbs、

Spacialリレーションシップを持つデータでうまく機能します。

CNNは従来2Dデータに使用されていましたが、1Dデータに使用することができ、CNNは一部の1D PBSで最新技術を実現しています。

どのタイプのアーキテクチャを使用するかを知るには、まず、問題として解決することを目的とするもの(使用するデータの種類、分類/回帰の問題など)を「明確」定義する必要があります。

これらの概念についてもっと理解するために、私にとって非常に役立つリンクを参照できます:)。

この追加が役立つことを願っています:p。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.