勾配降下法から準ニュートン法まで: ニューラル ネットワークをトレーニングするための 5 つの学習アルゴリズム

勾配降下法から準ニュートン法まで: ニューラル ネットワークをトレーニングするための 5 つの学習アルゴリズム

ニューラル ネットワークでは、システムの学習プロセスは一般にトレーニング アルゴリズムによって支配されます。現在、さまざまな学習アルゴリズムが存在し、それぞれ特性とパフォーマンスが異なります。したがって、この記事では、5 つの主要な学習アルゴリズムの基本的な概念、利点、および欠点を明確に説明し、ニューラル ネットワークにおける最適化の応用について読者に説明します。

問題の定式化

ニューラル ネットワークの学習プロセスは、損失関数を最小化する問題として形式化できます。損失関数は通常、トレーニング エラーと正規化項で構成されます。誤差項は、ニューラル ネットワークがデータセットにどの程度適合しているか、つまり、データの適合時に発生した誤差を測定します。正則化項は主に、特徴の重みにペナルティ項を追加することでニューラル ネットワークの有効な複雑さを制御し、モデルの過剰適合の問題を効果的に制御できます。

[[185190]]

トレーニング損失関数は、ニューラル ネットワーク内の適応パラメータ (バイアス項とシナプス重み) に依存します。ニューラル ネットワークの重みを n 次元の重みベクトル w に簡単に結合することができ、トレーニング損失はこれらの重みの関数になります。下の図は損失関数f(w)を示しています。

上の図に示すように、点 w* はトレーニング損失関数の最小点です。任意の点 A において、損失関数は重みの 1 次偏微分と 2 次偏微分をそれぞれ計算できます。損失関数の 1 次偏微分は勾配演算子を使用して表現できます。ここで、各重みに対する損失関数の勾配は次のように表現されます。

同様に、損失関数の 2 次偏微分はヘッセ行列を使用して表すことができます。以下は、重みベクトルの各要素に対する損失関数の 2 次偏微分です。

多変数連続微分可能関数を最小化する手法は学習プロセスで広く使用されており、従来の多くの手法では、この最適化手法をニューラル ネットワークのトレーニングに直接適用しています。

1次元最適化

損失関数は複数の変数によって決定されますが (重みの数は通常非常に多くなります)、まず単変量関数を最適化する方法を理解することが重要です。実際、ニューラル ネットワークのトレーニング プロセスでは単変量最適化手法がよく使用され、単変量最適化手法を使用してハイパーパラメータを調整することもできます。

実際のモデルでは、多くのトレーニングアルゴリズムは最初にトレーニング方向 d を計算し、次にこのトレーニング方向でのトレーニング損失 f(η) を最小化する学習率 η を決定します。下の図は、***学習率η*を得ることができる単変量関数f(η)の最適化プロセスを示しています。

点η1とη2は、一変量関数f(η)***点η*を含む部分区間を定義する。

この場合、単変量最適化法は、単変量関数が与えられた場合に関数の最小値を検索します。その中でも広く使われている検索アルゴリズムとしては、黄金分割法やブレント法などがあります。どちらの方法でも、最小値が配置されているサブ区間を、サブ区間内の 2 つの端点間の距離が定義された許容誤差未満になるまで縮小します。

多次元最適化

ニューラル ネットワークの学習プロセスは、トレーニング損失関数 f を最小化するパラメーター ベクトル w* を見つけることとして形式化できます。数学と実践により、ニューラル ネットワークの損失関数が最小値に達すると、勾配も 0 ベクトルになる必要があることが証明されています。

通常、損失関数はそのパラメータの非線形関数であるため、最適なソリューションを見つけるための閉じたトレーニング アルゴリズムを見つけることは不可能です。代わりに、一連の反復ステップを通じてパラメータ空間内で最適なソリューションを検索することを検討します。各反復で、ニューラル ネットワークのパラメータを調整することで損失関数の値を減らすことができます。

このようにして、通常は初期パラメータ ベクトル (通常はランダムに初期化) からニューラル ネットワークをトレーニングします。次に、アルゴリズムは新しいパラメータ セットを更新して生成し、トレーニング損失関数は更新されたパラメータを使用して、各アルゴリズム反復における関数値を減らします。 2 回の反復間のトレーニング損失の減少は、トレーニング損失減衰率とも呼ばれます。 ***、トレーニング プロセスが特定の条件または停止基準を満たすと、トレーニング アルゴリズムは反復を停止します。このときのパラメーターも最適なパラメーター (ニューラル ネットワーク内のローカル最適ソリューションである可能性があります) であり、ニューラル ネットワークのパフォーマンスもそれらによって決まります。

以下では、ニューラル ネットワークにおける最も重要な学習アルゴリズムについて説明します。

勾配降下法

最急降下法とも呼ばれる勾配降下法は、非常にシンプルで直感的なトレーニング アルゴリズムです。このアルゴリズムは、勾配ベクトルから最適化情報を取得するため、1 次アルゴリズムです (最適な重みは 1 次偏微分を通じて取得されます)。

f(wi) = fi、ᐁf(wi) = giと指定すると、最適化方法はポイントw0から反復を開始し、終了条件が満たされる前に、トレーニング方向di=-giでwiをwi+1に移動します。したがって、勾配降下法は次の式を反復します。

ここで、パラメータηは学習率です。学習率の値は定数として設定することも、トレーニング方向に沿って単一変数最適化方法を使用して取得することもできます。通常、最適な学習率は、連続するステップで直線を最小化することによって得られます。ただし、固定の学習率のみを使用する機械学習モデルはまだ多く存在します。

以下は、勾配降下アルゴリズムを使用した学習のフローチャートです。パラメータ ベクトルは 2 つのステップで最適化されることがわかります。まず、勾配降下法のトレーニング方向が計算されます。次に、適切な学習率を見つけます。

勾配降下法アルゴリズムにも欠点がいくつかあります。まず、反復方向が鋸歯状現象を示すことです。最小点に向かって直接最適化することができないため、反復回数が多くなり、収束速度が遅くなります。関数の勾配グラフが狭く長い場合(変数が正規化されておらず、値の大きさが異なる場合)、反復にはより多くのステップが必要になります。最急降下法は最も急な勾配に沿って降下し、損失関数は最も急速に減少しますが、これは勾配降下法または最急降下法が最も速く収束することを意味するものではありません (のこぎり波現象のため)。次の図は、非線形関数の局所的な勾配方向が必ずしも天頂に向かっているわけではないため、こののこぎり歯現象を直感的に理解できます。また、図は、横軸の大きさが縦軸の大きさと異なる場合、損失関数の勾配グラフが楕円として表示され、楕円の長半軸の終点から下降し始めると、反復回数が多くなることを示しています。

大規模なニューラルネットワークをトレーニングする場合、パラメータが数万個あるため、勾配降下法の方が効果的です。なぜなら、勾配降下アルゴリズムで保存される勾配演算子ベクトルのスケールは n であり、ヘッセ行列の保存スケールは n^2 であり、勾配とヘッセ行列の計算量も大きく異なるからです。

ニュートン法

ニュートン法は、ヘッセ行列を使用して重みの 2 次偏微分を求めるため、2 次アルゴリズムです。ニュートン法の目的は、損失関数の 2 次偏微分を使用して、より適切なトレーニング方向を見つけることです。ここでは、f(wi) = fi、ᐁf(wi) = gi、Hf(wi) = Hiという表現を採用します。テイラー級数展開を使用して、点 w0 における関数 f を二次近似します。

H0は点w0における関数fのヘッセ行列です。 gを0に設定すると、f(w)の最小値を見つけることができ、次の式が得られます。

したがって、パラメータベクトル w0 から始めて、ニュートン法は次のように反復されます。

ベクトルHi-1·gi(上記の式を参照)はニュートンステップとも呼ばれます。パラメータのこれらの変化は最小値ではなく最大値に近づくことに注意してください。これは、ヘッセ行列が正定値ではないために発生します。したがって、行列が正であることを保証できない場合、損失関数が反復ごとに減少することを保証することはできません。上記の問題を防ぐために、ニュートン法の方程式は通常次のように修正できます。

学習率 η は固定定数として設定することも、単変量最適化を通じて取得することもできます。ベクトル d = Hi-1·gi (上記の式を参照) は、ニュートンのトレーニング方向と呼ばれます。

ニュートン法を使用したトレーニング プロセスの状態図を以下に示します。この図から、システムはまずニュートントレーニング方向を取得し、次に適切な学習率を取得してパラメータを更新および最適化していることがわかります。

以下の勾配プロットは、ニュートン法のパフォーマンスを示しています。ニュートン法は損失関数の 2 次偏微分を使用して、より適切なトレーニング降下方向を見つけるため、勾配降下法よりも少ない反復で損失関数の最小値まで降下することができ、関数の収束速度も大幅に加速されます。

しかし、ニュートン法の難しさは、ヘッセ行列とその逆行列の正確な評価が計算集約的であるため、計算が複雑になることにあります。

共役勾配

共役勾配法は、勾配降下法とニュートン法の中間法と考えることができます。このアルゴリズムは、必要な最適化情報を取得するための評価、保存、反転にヘッセ行列を使用することを避けながら、勾配降下法の収束速度を加速することを目的としています。

共役勾配トレーニング アルゴリズムでは、共役方向に沿って検索が実行されるため、通常、アルゴリズムは勾配降下方向に沿って最適化するよりも速く収束します。共役勾配法のトレーニング方向はヘッセ行列と共役です。

トレーニング方向ベクトルを表すために d を使用し、初期パラメータ ベクトル w0 と初期トレーニング方向ベクトル d0=-g0 から始めて、共役勾配法によって構築されるトレーニング方向シーケンスは次のようになります。

上記の式で、γ は共役パラメータと呼ばれ、このパラメータを計算する方法はいくつかあります。最も一般的に使用される 2 つの方法は、Fletcher と Reeves の方法と Polak と Ribiere の方法です。すべての共役勾配アルゴリズムでは、トレーニング方向は定期的に負の勾配方向にリセットされます。

パラメータは次の式を使用して更新および最適化されます。通常、学習率 η は単一変数関数最適化法を使用して取得できます。

共役勾配法のトレーニングプロセスのフローチャートを以下に示します。図から、モデルが最初に共役勾配トレーニング方向を計算することによってパラメータを最適化し、次に適切な学習率を見つけることがわかります。

共役勾配法は、ニューラル ネットワークにおける勾配降下法よりもはるかに効果的であることが示されています。また、共役勾配法ではヘッセ行列を使用する必要がないため、大規模なニューラル ネットワークでも優れたパフォーマンスを実現できます。

準ニュートン法

ヘッセ行列の値を解き、その逆行列を計算するには多くの演算が必要となるため、ニュートン法を適用することで生成される計算量は非常に大きくなります。そこで、この欠点を解決するために準ニュートン法や可変行列法と呼ばれる方法があります。これらの方法では、ヘッセ行列を直接計算してその逆行列を求めることはありません。準ニュートン法では、ヘッセ行列の逆行列を近似する行列を各反復で計算します。重要なのは、この近似値は損失関数の 1 次偏微分のみを使用して計算されることです。

ヘッセ行列は、損失関数の 2 次偏微分から構成されます。準ニュートン法の考え方は、損失関数の 1 次偏微分のみを使用し、別の行列 G を通じてヘッセ行列の逆行列を近似することです。準ニュートン法の式は次のように表すことができます。

学習率 η は固定定数として設定することも、単一変数関数を最適化することによって取得することもできます。行列 G はヘッセ行列の逆行列を近似しますが、これを実行するにはさまざまな方法があります。一般的に、最もよく使用される 2 つの方法は、Davidon–Fletcher–Powell 式 (DFP) と Broyden–Fletcher–Goldfarb–Shanno 式 (BFGS) です。

準ニュートン法のトレーニングプロセスのフローチャートを以下に示します。図から、モデルが最初に準ニュートントレーニング方向を計算することによってパラメータを最適化し、次に適切な学習率を見つけることがわかります。

準ニュートン法はほとんどの場合に適しています。勾配降下法や共役勾配法よりも収束が速く、ヘッセ行列とその逆行列の正確な計算を必要としません。

レーベンバーグ・マルカートアルゴリズム

減衰最小二乗法としても知られる Levenberg-Marquardt アルゴリズムは、二乗誤差の合計を損失関数として使用します。このアルゴリズムの実行には、特定のヘッセ行列の計算は必要ありません。勾配ベクトルとヤコビ行列のみが使用されます。

このアルゴリズムの損失関数は、二乗誤差の合計の形式で次の式に示されます。

上記の式で、m はデータセット内のサンプル数です。

次の式に示すように、パラメータに関する誤差の偏微分を要素として損失関数のヤコビ行列を定義できます。

ここで、m はデータセット内のサンプル数、n はニューラル ネットワークのパラメータ数です。するとヤコビ行列はm×n行列になります。

損失関数の勾配ベクトルは次のように計算できます。

ここでのeはすべての誤差項のベクトルです。

最後に、ヘッセ行列を次の式で近似できます。

ここで、λ はヘッセ行列の正値を保証する減衰係数であり、I は単位行列です。

次の式は、Levenberg-Marquardt アルゴリズムにおけるパラメータ更新および最適化プロセスを定義します。

減衰パラメータ λ が 0 の場合、Levenberg-Marquardt アルゴリズムはヘッセ行列近似を使用するニュートン法です。 λ が大きい場合、アルゴリズムは学習率が非常に小さい勾配降下法に似ています。反復によって損失関数が増加する場合、減衰係数 λ が増加します。損失関数が減少すると、λ も減少し、Levenberg-Marquardt アルゴリズムはニュートン法に近づきます。このプロセスは、最小点への収束を加速するためによく使用されます。

Levenberg-Marquardt 法を使用したニューラル ネットワーク トレーニング プロセスの状態図を以下に示します。最初のステップは、損失関数、勾配、ヘッセ行列近似を計算し、次に減衰パラメータを調整して各反復における損失を減らすことです。

これまで学んだように、Levenberg-Marquardt アルゴリズムは二乗誤差の合計関数に合わせて調整されています。これにより、このエラー メトリックを使用するニューラル ネットワークを非常に迅速にトレーニングできるようになります。ただし、Levenberg-Marquardt アルゴリズムにはいくつかの欠点があり、最も顕著な欠点は、平方根誤差やクロスエントロピー誤差などの関数には使用できないことです。さらに、このアルゴリズムは正規化項と互換性がありません。 ***、大規模なデータセットやニューラル ネットワークの場合、ヤコビ行列が非常に大きくなり、大量のメモリが必要になることがあります。したがって、大規模なデータ セットやニューラル ネットワークでは Levenberg-Marquardt アルゴリズムを使用することはお勧めしません。

メモリと収束速度の比較

下の図は、上で説明したすべてのアルゴリズムと、その収束速度およびメモリ要件を示しています。勾配降下アルゴリズムは収束速度が最も遅いですが、必要なメモリも最も少なくなります。対照的に、Levenberg-Marquardt アルゴリズムは最も速く収束する可能性がありますが、最も多くのメモリも必要とします。より妥協的な方法は準ニュートン法です。

要約すると、ニューラル ネットワークに数万のパラメーターがある場合、メモリを節約するために、勾配降下法または共役勾配法を使用できます。複数のニューラル ネットワークをトレーニングする必要があり、各ニューラル ネットワークに数百のパラメーターと数千のサンプルしかない場合は、Levenberg-Marquardt アルゴリズムを検討できます。その他の状況では、準ニュートン法でうまく対処できます。

元記事: https://www.neuraldesigner.com/blog/5_algorithms_to_train_a_neural_network

[この記事は、51CTOコラムニストのMachine Heart、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  Agora.io がモバイルゲーム向けリアルタイム音声サービス「AMG Voice」を開始

>>:  人工知能はチェスをプレイする以外に何をすべきでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

...

...

エンドゲームゲームを使用して人工ニューラルネットワークアルゴリズムを理解する

[[431963]]この記事はWeChatの公開アカウント「Zhibin's Python ...

鵬城クラウドブレインは鵬城シリーズの大型モデルの基礎研究をサポート

[[401368]]専門家の皆さん、ゲストの皆さん、こんにちは。今日は主に、Pengcheng Bi...

...

ニューラルネットワークのトレーニングでは、エポック、バッチサイズ、反復の違いがわかりません

[[204925]]きっと、コンピューターの画面を見て頭を悩ませ、「なぜコードでこの 3 つの用語を...

...

人工知能がメディア業界に破壊的変化をもたらし、10の新たな雇用を生み出す

九寨溝マグニチュード7.0の地震、ロボット記者が25秒間で540語と写真4枚を執筆!人間記者、揺れて...

...

汎用人工知能までどれくらい遠いのでしょうか?

汎用人工知能はどのくらい遠いのでしょうか? どのくらいの速さで進歩しているのでしょうか? 現在、人間...

自動運転タクシーが登場!

[[383103]]武漢晩報(王超然記者)自動運転タクシーに乗ってみての感想は?車の中に運転手はい...

2019年中国インテリジェント製造業のトップ10の発展トレンド!

2018年、中国政府による関連支援政策の導入とインテリジェント製造プロセスの推進により、わが国のイ...

今後のマシンビジョンのトレンド

統計によると、人間が得る情報の 83% は目から得られます。目が「心の窓」と考えられているのも不思議...

機械学習における数学的意義

機械学習におけるパフォーマンスを主張するために使用される指標については、ほとんど議論されていません。...

いいえ!機械学習は単なる美化された統計ではありません。

ビッグデータダイジェスト制作編集者: JIN、Hope、Jiang Baoshangタイトル画像のパ...