web-dev-qa-db-ja.com

バックプロパゲーションとフィードフォワードニューラルネットワークの違いは何ですか?

バックプロパゲーションとフィードフォワードニューラルネットワークの違いは何ですか?

グーグルとリーディングにより、フィードフォワードではフォワード方向しかありませんが、フォワードプロパゲーションとバックプロパゲーションを行う必要がある場合はバックプロパゲーションであることがわかりました。 このリンク を参照しました

  1. 流れの方向以外の違いはありますか?重量計算はどうですか?結果?
  2. バックプロパゲーションを実装している、つまり、フォワードフローとバックワードフローが含まれているとします。それでは、フィードフォワードを示すのに逆伝播は十分でしょうか?
32
  • Feed-Forward Neural Network は、ニューラルネットワークのタイプarchitectureであり、接続は「フィードフォワード」されます。フォームのサイクル(リカレントネットのように)。

  • 「フィードフォワード」という用語は、入力レイヤーで何かを入力し、入力レイヤーから非表示レイヤーへ、および非表示レイヤーから出力レイヤーへ移動するときにも使用されます。
    値は「fed forward」です。

「フィードフォワード」というフレーズのこれら両方の使用は、トレーニング自体とは関係のないコンテキストにあります。

  • バックプロパゲーションは、2つのステップで構成されるトレーニングアルゴリズムです。1)フィードフォワード値2)エラーを計算し、それを前の層に戻します。つまり、正確には、前方伝播は後方伝播アルゴリズムの一部ですが、後方伝播の前に来ます。
55
runDOSrun

純粋な逆伝播や純粋なフィードフォワードニューラルネットワークはありません。

バックプロパゲーションは、ニューラルネットワークのトレーニング(重みの調整)を行うアルゴリズムです。バックプロパゲーションの入力はoutput_vector、target_output_vector、出力はadjust_weight_vectorです。

フィードフォワードは、入力ベクトルから出力ベクトルを計算するアルゴリズムです。フィードフォワードの入力はinput_vector、出力はoutput_vectorです。

ニューラルネットワークをトレーニングするときは、両方のアルゴリズムを使用する必要があります。

学習済みのニューラルネットワークを使用している場合、フィードフォワードのみを使用しています。

ニューラルネットワークの基本的なタイプは、多層パーセプトロンです。これは、フィードフォワードバックプロパゲーションニューラルネットワークです。

変更されたアルゴリズムを使用した、より高度なタイプのニューラルネットワークもあります。

勉強するのにも良い情報源: ftp://ftp.sas.com/pub/neural/FAQ.html 理解するのに最も良い原則は、それをプログラムすることです(このビデオのチュートリアル) https: //www.youtube.com/watch?v=KkwX7FkLfug

11
user4545181

ニューラルネットワークにはさまざまなアーキテクチャがあります。ニューロン間の接続は、情報の流れの方向を決定します。ネットワーク接続に応じて、それらは-フィードフォワードとリカレント(逆伝播)に分類されます。

フィードフォワードニューラルネットワーク

これらのタイプのニューラルネットワークでは、情報は一方向、つまり入力層から出力層にのみ流れます。重みが一度決定されると、通常は変更されません。重みを明示的に決定するか、放射基底関数などの関数を使用して重みを決定します。ここでのノードは、生成された結果が正確かどうかを意識せずにジョブを実行します(つまり、生成された結果に応じて再調整しません)。先のレイヤーからの通信はありません。

リカレントニューラルネットワーク(逆伝播)

情報は入力層から出力層に渡され、結果が生成されます。結果のエラーは、以前のレイヤーに通知されるようになりました。ノードは、答えが間違っていることにどれだけ貢献したかを知ることができます。重量が再調整されます。ニューラルネットワークが改善されました。学ぶ。双方向の情報の流れがあります。これには基本的に、フィードフォワードとバックプロパゲーションの両方のアルゴリズムが実装されています。

1