この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。 バックプロパゲーションと勾配ベースの最適化は、近年の機械学習 (ML) における大きな進歩を可能にした中核技術です。 機械学習の急速な発展は、ML コードを解釈するためにサードパーティのフレームワーク (PyTorch や TensorFlow など) が使用されたためであると一般に考えられています。これらのフレームワークは、自動微分化 (AD) 機能を備えているだけでなく、ネイティブ コードの基本的な計算機能も提供します。 ML が依存するソフトウェア フレームワークはすべて、AD の逆モデルを中心に構築されています。これは主に、ML では入力勾配が大量である場合に、逆モードでの単一の評価を通じて正確かつ効率的に評価できるためです。 自動微分アルゴリズムは、順方向モードと逆方向モードに分かれています。ただし、フォワード モードの特徴は、関数のフォワード評価が 1 回だけ必要となる (つまり、バックプロパゲーションが使用されない) ため、計算コストが大幅に削減されることです。この目的のために、ケンブリッジ、マイクロソフト、その他の機関の研究者がこのモデルを調査し、順方向自動微分のみを使用してさまざまな機械学習フレームワークで安定した勾配降下法を実現できることを実証しました。 論文アドレス: https://arxiv.org/pdf/2202.08587v1.pdf 彼らは、順方向勾配が従来の機械学習トレーニング パイプラインの計算の複雑さを変え、トレーニングの時間とエネルギーのコストを削減し、機械学習のハードウェア設計に影響を与え、さらには脳内のバックプロパゲーションの生物学的合理性に影響を与えると考えています。 1 自動微分化の2つのモードまず、自動微分化の 2 つの基本モードを簡単に確認してみましょう。 フォワードモード関数 f: θ∈Rn、v∈Rn が与えられた場合、フォワード モード AD は f(θ) とヤコビ ベクトル積 Jf(θ)v を計算します。ここで、Jf(θ)∈Rm×n は θ で評価された f のすべての偏微分のヤコビ行列であり、v は摂動ベクトルです。 f : R n → R の場合、ヤコビアンベクトル積に対応する方向微分は∇f(θ)- v、つまりθにおける勾配∇fを方向ベクトルvにマッピングしたもので、その方向に沿った変化率を表します。フォワードモードでは、関数 f とそのヤコビアンベクトル積 Jf v の両方が 1 回のフォワード実行で評価されることに注意してください。さらに、Jf v を取得するにはヤコビアン ベクトル Jf を計算する必要がありません。これは、行列フリー計算と呼ばれる機能です。 リバースモード関数 f : R n → R m、数値 θ∈R n、v∈R m が与えられた場合、AD 逆モードは f(θ) とヤコビベクトル積 v |Jf (θ) を計算します。ここで、Jf∈R m×n は θ で評価された f のすべての偏微分のヤコビ行列であり、v∈R m は隣接ベクトルです。 f : R n → R かつ v = 1 の場合、逆モードでは勾配、つまりすべての n 入力に対する f の偏微分 ∇f(θ)=h ∂f ∂θ1,. . . , ∂f ∂θn i| が計算されます。 v |Jf はヤコビアン Jf を計算せずに、1回の順方向-逆方向評価で計算されることに注意してください。 実行時間コスト両方の AD モードの実行時間は、微分される関数 f を実行するために必要な時間の定数倍によって制限されます。リバース モードは、データ フローを逆にする必要があり、フォワード プロセスのすべての操作の結果の記録を保持する必要があるため、フォワード モードよりもコストがかかります。これらの記録は、後続のリバース プロセスで導関数を評価するために必要になります。メモリと計算コストの特性は、最終的には、スパース性の活用など、AD システムによって実装される機能によって決まります。コストは、保存、加算、乗算、非線形演算などの基本演算の計算の複雑さを想定することで分析できます。元の関数 f を評価するのに必要な時間をruntime(f) と表すと、順方向モードと逆方向モードに必要な時間はそれぞれRf×runtime(f) とRb×runtime(f) と表すことができます。実際には、Rf は通常 1 ~ 3、Rb は通常 5 ~ 10 ですが、これらの結果はプログラムに大きく依存します。 2つの方法順方向勾配定義1 関数 f : R n → R が与えられた場合、彼らは「順方向勾配」 g : R n → R n を次のように定義します。 ここで、θ∈Rnは勾配が評価されるキーポイント、v∈Rnは多変量ランダム変数v∼p(v)として扱われる摂動ベクトルであり、vのスカラー成分viは独立しており、すべてのiに対して平均がゼロで分散が単位であり、∇f(θ)-v∈Rは点θにおけるvの方向のfの方向微分です。 この定義の起源について簡単にお話ししましょう。 前述したように、順方向モードでは、∇f を計算しなくても、方向微分 ∇f(θ) - v = P i ∂f ∂θi vi が直接得られます。方向ベクトルが標準基底(ワンホット)ベクトル ei∈Rn, i=1 ... n である状態で、f を n 回順方向に評価します。ここで、ei は i 番目の座標で 1、それ以外の場所で 0 であるベクトルを表します。この場合、∇f は順方向モードのみを使用して計算できます。 このようにして、各入力∂f ∂θiに対するfの感度を個別に評価し、すべての結果を組み合わせて勾配∇fを得ることができます。バックプロパゲーションよりも実行時間の利点を得るには、最適化の反復ごとにフォワード モデルを 1 回実行する必要があります。順方向実行では、方向 v を感度の加重合計の重みベクトル、つまり Pi∂f∂θivi と考えることができますが、これは各 θi の最終合計への寄与を区別しません。したがって、各パラメータ θi の重み vi に比例する重みベクトル v を使用して、全体的な感度を各個別のパラメータ θi に割り当てます (たとえば、重みが小さいパラメータは全体的な感度にあまり寄与せず、重みが大きいパラメータは大きく寄与します)。 要約すると、順方向勾配を評価するたびに、次の操作を実行するだけで済みます。
図 1 は、Beale 関数の順方向勾配のいくつかの評価結果を示しています。摂動vk(オレンジ)がk∈[1,5]に対して正の勾配(∇f-vk)vk(青)に変換され、方向が制限されているときに正しい勾配(赤)を指すことがあることがわかります。緑の矢印は、順方向勾配を平均化することによるモンテカルロ勾配の評価、つまり1 K PK k=1(∇f - vk)vk≈E[(∇f - v)v]を示しています。 前方勾配降下法彼らは、標準的な勾配降下法の勾配∇fを順方向勾配gに置き換える順方向勾配降下法(FGD)アルゴリズムを構築しました(アルゴリズム1)。 実際には、トレーニングで使用されるデータの各ミニバッチの影響を受けるため、各反復で ft が変化する小さなランダム バージョンが使用されます。研究者たちは、アルゴリズム 1 の方向微分 dt が正または負になる可能性があることに気付きました。負の場合、正の勾配 gt の方向が反転され、予想される真の勾配を指します。図 1 は、この動作を示す 2 つの vk サンプルを示しています。 この論文では、研究対象を FGD に限定し、この基本的なアルゴリズムのみを研究し、運動量や適応学習率などのさまざまな交絡因子を考慮せずに標準的なバックプロパゲーションと比較しています。著者は、順方向勾配アルゴリズムは勾配アルゴリズムに基づく他の最適化アルゴリズムにも適用できると考えています。 3つの実験研究者らは実験を行うために PyTorch に forward AD を実装しました。彼らは、順方向勾配法と逆伝播法の間でメモリ使用量に実質的な違いはない (各実験で 0.1% 未満) ことを発見しました。 ロジスティック回帰図 3 は、MNIST 数字分類に対するマルチブランチ ロジスティック回帰の複数回の実行結果を示しています。基本実行時間と比較すると、順方向勾配法と逆伝播法の実行時間コストはそれぞれ Rf=2.435 と Rb=4.389 であり、これは一般的な AD システムに対する期待と一致していることがわかります。 Rf/Rb = 0.555 および Tf/Tb = 0.553 の比率は、実行時間と損失パフォーマンスの点で、順方向勾配法がバックプロパゲーション法よりも約 2 倍高速であることを示しています。 単純なモデルでは、両方の手法の空間動作に対する反復損失がほぼ同じであるため、これらの比率は一貫しています。つまり、実行時間の増加は、各時間空間の損失にほぼ直接反映されます。 多層ニューラルネットワーク図 4 は、学習率の異なる多層ニューラル ネットワークを使用した MNIST 分類に関する 2 つの実験を示しています。アーキテクチャ サイズが 1024、1024、10 の 3 つの完全接続レイヤーを使用しました。このモデル アーキテクチャでは、ベース実行時間と比較した順方向勾配法と逆伝播法の実行コストは Rf=2.468、Rb=4.165 であり、相対的な測定値 Rf/Rb は平均 0.592 であり、これはロジスティック回帰の場合とほぼ同じであることが観察されました。 興味深いことに、2 番目の実験 (学習率 2×10-4) では、順方向勾配によって各反復で損失グラフが急速に減少していることがわかります。著者らは、この動作は通常の SGD (バックプロパゲーション) アルゴリズムとフォワード SGD アルゴリズムの確率性の違いによるものだと考えており、フォワード勾配によって導入される摂動が損失平面の探索に有益である可能性があると推測しています。 時間プロットから、フォワード モードでは実行時間が短縮されることがわかります。損失パフォーマンスメトリック Tf/Tb の値は 0.211 であり、検証実験の損失中に順方向勾配がバックプロパゲーションよりも 4 倍以上高速であることを示しています。 畳み込みニューラルネットワーク図 5 は、同じ MNIST 分類タスクにおける畳み込みニューラル ネットワークの順方向勾配と逆伝播の比較を示しています。このアーキテクチャでは、フォワード AD がベース ランタイムに比べて最高のパフォーマンスを発揮し、フォワード モードでは Rf = 1.434 となり、ベース ランタイムに対してわずか 43% のオーバーヘッドしか生じないことが観察されました。 Rb=2.211 のバックプロパゲーションは、逆 AD システムで予想される理想的な状況に非常に近いです。 Rf/Rb=0.649 は、バックプロパゲーションに比べてフォワード AD 実行時間が大幅に優れていることを示しています。損失空間では、Tf /Tb = 0.514 という比率が得られ、これは、検証損失の実験において、順方向勾配がバックプロパゲーションの 2 倍の速さであることを示しています。 スケーラビリティこれまでの結果は次のことを示しています:
基本実行時間のコストと比較すると、ほとんどの実験では、バックプロパゲーションはRb∈[4,5]の範囲内にあり、順方向勾配はRf∈[3,4]の範囲内にあることがわかります。また、順方向勾配アルゴリズムは、範囲全体にわたる操作に有益であることもわかります。 Rf/Rb 比は 10 層以内では 0.6 未満に留まり、100 層では 0.8 をわずかに上回ります。重要なのは、2 つのアプローチ間でメモリ消費量にほとんど違いがないことです。 4 結論一般的に、この研究の貢献は次のとおりです。
|
<<: サイバー犯罪者はAIを利用してマルウェア攻撃ソフトウェアにサンドボックスを作成
>>: 8,000 語の作文を書いている途中で間違いに気付いた場合はどうすればよいでしょうか? GPT-3の新バージョン: 恐れることはありません、変更できます
翻訳者 |ブガッティレビュー | Chonglou 1.基本モデルの定義ベースモデルは、大量のデータ...
自然言語処理 (NLP) 機能の向上により、認知機能と人間同士のやり取りが向上し、それが AI の将...
[[286589]]概要いわゆる LRU (Least Recently Used) アルゴリズムの...
2019年の人工知能の給与水準、まずは全体の給与水準の2つの分析グラフを見てみましょう! ***は、...
2021 年は自然言語処理 (NLP) と機械学習 (ML) にとって非常に生産的な年でした。さて、...
2019年、国内外の業界関係者が共同でAIチップの開発を推進しました。 7nmチップはまだ完全に展...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
私たちが通常、論文や科学文献を読むときに目にするファイル形式は、基本的に PDF (Portable...
9月17日から19日まで、上海で「人工知能が新時代を力づける」をテーマにした2018年世界人工知能大...
人工知能の分野で画期的な進歩が起こったばかりであり、サイバーセキュリティに携わっている人であれば、そ...
2050年には人類は「不死」になる!このトピックを見て驚きましたか?驚きましたか?不死は、すべての...
Github リンク: https://github.com/opengvlabご家族の皆さん、こ...