バックプロパゲーションは良くないですか?ヒントンの順方向アルゴリズムの解釈

今日、私はヒントンが最近共有した論文を解釈します。

最近の NeurIPS2022 カンファレンスで、チューリング賞受賞者の Hinton は、ゲスト スピーカーとして「The Forward-Forward Algoritm: Some Preliminary Investigations」というタイトルの論文を共有しました。

この論文では、多くの議論を引き起こしたバックプロパゲーションに代わる順方向トレーニング方法を提案します。

この論文にはおそらく2つのハイライトがあります—

  • Forward-Backward アルゴリズムの代わりに Forward-Forward アルゴリズムを使用し、逆伝播アルゴリズムを放棄します。

  • ニューラル ネットワーク ソフトウェアは「不滅」ではないかもしれません。

私はこの論文を読み、自分の理解でこの論文を解釈しようとしました。間違いがある場合は、ご連絡ください。論文リンク: https://www.cs.toronto.edu/~hinton/FFA13.pdf


ニューラル ネットワークのトレーニングは、順伝播と逆伝播の 2 つのステップに分かれていることは誰もが知っています。

順伝播のプロセスは、推論と計算のプロセスです。入力データが与えられると、ニューラル ネットワークの最初の層から最後の層まで逆方向に計算し、結果を出力したり、画像分類を完了したり、音声翻訳を完了したりします。

バックプロパゲーションのプロセスは、ニューラル ネットワークのトレーニング中に各フォワード プロパゲーションの結果と実際の結果との間の誤差を計算し、次のフォワード プロパゲーションを比較できるように、いくつかの層の重み (パラメーター) の更新を逆に完了することです。一度良い結果が出て、ネットワーク全体が収束し、ニューラル ネットワークがトレーニングを完了するまで、それを繰り返します。

過去 10 年間のディープ ラーニングの驚くべき成果は、主に大規模なデータ セットのトレーニングと、連鎖則に基づく逆伝播と勾配更新の使用に基づいています。

少なくとも多くの既存の深層学習タスクでは、このアプローチは効果的です。

効果的ではあるが、神経科学者は長い間懐疑的であり、反対さえしてきた.

現在の科学的研究により、人間の大脳皮質にはニューロンがほとんど存在せず、記憶の検索または記憶の保存を行う際に、バックプロパゲーションに似たプロセスの証拠があります。

つまり――

バックプロパゲーションは効果的ですが、人間の脳の記憶とは異なる経路をたどる可能性があります。

人工知能が真の知性を実現したいのであれば、少なくともトップレベルの設計は人間の脳のメカニズムとほぼ一致している必要があります。

人工知能の学習方法としてのバックプロパゲーション アルゴリズムは信じられないほどです。

さらに、バックプロパゲーション アルゴリズムにはもう 1 つの重大な制限があります。つまり、バックワード パスで導関数を計算するには、フォワード パスのアルゴリズムを完全に理解する必要があります。

これには、フォワード パスのアルゴリズムが微分可能である必要があります。ニューラル ネットワークのトレーニングに微分が必要な理由は何ですか?自動微分とは を参照してください 

また、順伝播にブラックボックスを挿入しても、ブラックボックスの具体的なアルゴリズムの実装がわからない場合、ブラックボックスの微分モデルを学習できなければ、ブラックボックスの微分を完了することはできません。

上記の背景に基づいて、Hinton の記事では、Forward-Backward アルゴリズムの代わりに Forward-Forward アルゴリズムを使用することを提案しています。

明らかに、上記のバックプロパゲーションの制限を回避するため、またはバックプロパゲーション アルゴリズムを創造的に覆すためです。

前方前方アルゴリズム

このアルゴリズムが解決する主な問題は、アルゴリズムが順伝播で微分可能でなければならないという制限を解除することです。

前方後方伝搬の代わりに前方前方伝搬を使用します。これら 2 つの順伝播計算は同じですが、使用されるデータセットと最終的な目標は異なります。

フォワード パスは、ポジティブ パスと呼ばれます。このプロセスは、重みを調整して各レイヤーの良さを高めながら、実際のデータ (正のサンプル) を処理します。

もう 1 つのフォワード パスは、ネガティブ パスと呼ばれます。このプロセスは、重みを調整して各層の良さを減少させながら、負のデータに作用します。

この 2 回の順伝播により、各層の重み調整が完了します。

これは、最後のレイヤーから前方に誤差を渡す前の逆伝播とは異なります。各レイヤーの重みを更新するために最後のレイヤーから誤差を渡す必要はありませんが、各レイヤーは正と負のサンプルの計算を使用して調整します。自体の重量。

この記事では、著者は forward-forward アルゴリズムを使用していくつかの一般的なディープ ラーニング タスクを実験し、結果を比較しました。結果は良好です。詳細は原文で確認できます。

この論文では、実際には最後の章にもっと興味があります - Mortal Computationと呼ばれる計算方法です 。

コンピューティングはもはや「不滅」ではありません

これがこの記事の興味深い部分だと思います。これは、Forward-Forward アルゴリズムによってもたらされるもう 1 つの潜在的な利点でもあります—

バックプロパゲーションアルゴリズムを使用しないため、本来デジタル回路に頼らざるを得なかった計算をアナログ回路で実現できます。

この変換は、より高いエネルギー効率比の改善につながる可能性があります。

なぜ?

バックプロパゲーションの過程で、最後のレイヤーからバックプロパゲーションを行うと、誤差が非常に小さい場合があるため、純粋なフォワード プロパゲーションよりも高い値の精度が要求されます。

アナログ計算でこのような高精度を達成することは一般に困難です。

そのため、バックプロパゲーションによるニューラル ネットワークのトレーニングでは、使用するハードウェアに AD 変換 (アナログからデジタルへの変換) 回路を追加して、アナログ信号をデジタル信号に変換し、計算を完了する必要があります。

Forward-Forward アルゴリズムはバックプロパゲーションを放棄するため、必然的に AD 変換を必要としないため、シミュレーション操作のみを使用して必要なトレーニング タスクを完了することができます。

デジタル回路操作では、2 つの n ビット数の乗算を計算する場合、トランジスタは電圧を有効にして n ビットを表す必要があるため、n ビット数を表します. トランジスタの高レベルと低レベルを使用してn ビット数を別の n ビット数で乗算する操作を完了すると、消費量は約 O(N^2) の複雑さになります。

アナログ計算はそれを必要としません.ベクトルを行列で乗算するなどのニューラルネットワークの一般的な操作では、アナログ計算では、おそらく電圧を使用して活性化されたベクトルを表し、コンダクタンスを使用して重み行列(ニューラルネットワークパラメータ)を表すことができます.単位動作時間、それらの製品の結果は、自分の電圧に直接反映されます(自分自身を追加します)。

デジタル回路への依存を取り除いた後、ニューラル ネットワークのトレーニング プロセスは、より効率的なエネルギー効率比を達成できます。

不適切な類推を行うと、ニューラル ネットワークのトレーニングには 1kw の電力を消費する必要があるかもしれませんが、計算にアナログ回路を使用した後は、1w の電力しか消費しない場合があります。

これらの利点はすべて、Forward-Forward アルゴリズムが逆伝播を放棄するためです。

記事の最後で、ヒントンはより前向きな視点を提唱しました—

将来のニューラル ネットワーク コンピューティングは、ソフトウェアとハ​​ードウェアを分離する現在のアーキテクチャから脱却して、「不滅の」コンピューティング モデルを実現する可能性があります。

不滅じゃない?まず「永遠の命」計算とは何かを理解する――

今日のソフトウェアとハ​​ードウェアの設計は通常分離されています。

たとえば、WeChat プログラムを作成した後、Xiaomi 電話で実行できます. 基盤となるハードウェアは、Soc (システム オン チップ、システム オン ア チップ) と Xiaomi 電話のチップです。

ある日突然Xiaomiの携帯電話が壊れてしまい、私が書いたWeChatプログラムが使えなくなったのでしょうか?

もちろん、Huaweiの電話に変更することもできます—

ソフトウェアとハ​​ードウェアは分離されており、ソフトウェアはハードウェアに依存せず、ハードウェアが壊れてもソフトウェアには生命力があります。

これはソフトウェアの不滅であり、ソフトウェアとハ​​ードウェアの主流の設計思想でもあり、現代のコンピューター サイエンスの基礎でもあります。

ディープ ラーニング タスクに対応して、ニューラル ネットワークによって学習された重みは不滅です。ハードウェアがこの計算をサポートしている限り、さまざまなハードウェアに重みを展開できます。対応する推論タスクを完了することができます。

ハードウェアが死んでも重量は死なない!

そしてヒントン氏は、エネルギー効率とトレーニング性能を向上させるために、おそらく特定のハードウェア向けにニューラルネットワークをトレーニングし、そのハードウェアが特定の深層学習タスクを優れた方法で実行できるようにすることができると述べました.いくつかのパラメーターを自分で学習し、これらのパラメータは、このハードウェアにバインドされています。

このように、ハードウェアが損傷すると、パラメーターは使用できなくなり、ソフトウェアは停止し、「不滅」ではなくなります。

数千億のパラメーターを持つニューラル ネットワークをわずか数ワットのエネルギー消費で動作させたい場合は、ソフトウェアとハ​​ードウェアのバインディングを使用したアルゴリズム コンピューティングが唯一の選択肢かもしれません。

兆パラメータのニューラル ネットワークが数ワットしか消費しないようにしたい場合は、モータル コンピューティングが唯一の選択肢かもしれません。

記事の最後で、Hinton はもちろん、Forward-Forward アルゴリズムはまだ始まったばかりで予備的な試みであり、今後も多くの作業が必要であると述べました。詳細は原文で確認できます。

最後に書く

この論文では、順伝播と逆伝播のトレーニング モードを置き換えるために 2 つの順伝播を使用することに加えて、個人的には、記事の最後で提案されている Mortal Computation がハイライトであると感じています。

技術的な実装の難しさに関係なく、人間の脳の記憶は実際には人によって異なり、独自に訓練されています。人間の脳は膨大な量のデータをリアルタイムで処理し、数ワットのエネルギーしか消費しません。これは、現在のニューラル ネットワーク モデルの実行に必要なエネルギー消費よりもはるかに少ないものです。

人間の脳は確かに高度な組織であり、人間の脳に関する科学者の研究はまだまだ未熟で謎が多いですが、人工知能と神経科学者の共同研究により、今後さらに多くのことが解明されると信じています。謎が解けます。

事前印刷版の紙面については、以下の WX 公式アカウントをスキャンし、FFに返信してダウンロードして読むことができます。

おすすめ

転載: blog.csdn.net/dongtuoc/article/details/128183697