ディープラーニング最適化アルゴリズムがどのように機能するかを知りたいですか?クリックしてください!急いで

ディープラーニング最適化アルゴリズムがどのように機能するかを知りたいですか?クリックしてください!急いで

ディープラーニングは高度に反復的なプロセスです。最適な組み合わせを決定するには、ハイパーパラメータのさまざまな組み合わせを試す必要があります。したがって、コストを犠牲にすることなく、ディープラーニング モデルをより短時間でトレーニングする必要があります。この記事では、ディープラーニングで使用される一般的な最適化アルゴリズムの背後にある数学について説明します。

[[274188]]

最適化アルゴリズム

アルゴリズム f(x) では、最適化アルゴリズムによって f(x) の最大値または最小値を取得できます。ディープラーニングでは、コスト関数 J を最適化することでニューラル ネットワークをトレーニングできます。コスト関数は次のとおりです。

コスト関数 J の値は、予測値 y' と実際の値 y の間の損失 L の平均です。ネットワークの重み W とバイアス b を使用して、順方向伝播プロセス中に y’ 値が得られます。トレーニング可能なパラメータ W と b の値は、コスト関数 J の値を最小化するために最適化アルゴリズムを通じて更新されます。

勾配降下法

重み行列 W はランダムに初期化されます。勾配降下法を使用すると、コスト関数 J を最小化し、最適な重み行列 W とバイアス b を取得できます。勾配降下法は、関数の最小値を見つけるための一次反復最適化アルゴリズムです。勾配降下法を使用してコストを最小化するためにコスト関数 J を適用します。数学的には次のように定義できます。

最初の式は重み行列 W の変化を表し、2 番目の式はバイアス b の変化を表します。これら 2 つの値の変化は、重み行列 W とバイアス b に対する学習率とコスト J の導関数によって決まります。コスト関数 J が最小化されるまで、W と b を繰り返し更新します。次に、この記事では、次の図を通じて勾配降下法の原理を説明します。

  • ケース 1. W の初期値が、グローバル最小値に達したときの値よりも小さいと仮定します。この時点での傾き J の W に対する偏微分は負なので、最急降下法の式に従って重みが増加します。
  • ケース 2. W の初期値が、グローバル最小値に達したときの値よりも大きいと仮定します。この時点での傾き J の W に対する偏微分は正なので、重みは最急降下法の式に従って減少します。

したがって、W と b は両方とも最適値を達成し、コスト関数 J の値は最小化されます。

上記は、最適化アルゴリズムとして勾配降下法を使用する基本的な戦略を示しています。

ミニバッチ勾配降下法

勾配降下法の欠点の 1 つは、トレーニング データが完成した後でのみパラメータを更新できることです。トレーニング データが大きすぎてコンピューターのメモリに収まらない場合、これは課題となります。ミニバッチ勾配降下法は、上記の勾配降下問題を解決するための偶発的手法です。

ミニバッチ勾配降下法では、ユースケースに応じて、トレーニング データ全体を 16、32、64 などのサイズのミニバッチに分散できます。これらのミニバッチは、ネットワークを反復的にトレーニングするために使用されます。小バッチを使用すると、次の 2 つの利点があります。

  1. 最初のいくつかのトレーニングケースでは、最初のミニバッチを反復するだけでトレーニングを開始できます。
  2. メモリに収まらない大量のデータがある場合は、ニューラル ネットワークをトレーニングできます。

これで、batch_size が新しいモデルのハイパーパラメータになります。

  1. batch_size = トレーニング例の数の場合、バッチ勾配降下法と呼ばれます。この時点で、学習を開始する前にデータセット全体を走査する必要があるという問題があります。
  2. batch_size = 1 の場合、確率的勾配降下法と呼ばれます。ベクトル化が十分に活用されていないため、トレーニングは非常に遅くなります。
  3. したがって、通常は 64 または 128 または 256 または 512 が選択されます。ただし、これはユースケースとシステム メモリによって異なります。つまり、小さなバッチ サイズがシステム メモリに収まることを確認する必要があります。

上記は、最適化アルゴリズムとしてミニバッチ勾配降下法を使用する基本的な戦略を示しています。

勢い

運動量勾配降下法は、コスト関数 J の最適化を高速化できる高度な最適化アルゴリズムです。運動量勾配降下法では、移動平均を使用してニューラル ネットワークのトレーニング可能なパラメータを更新します。

移動平均は、値のセット全体ではなく、n 個の連続する値に対して計算された平均です。数学的には、次のようになります。

ここで、A[i]はi番目のデータポイントにおけるX[i]値の移動平均を表します。パラメーター β は、平均を計算する値 n を決定します。たとえば、β = 0.9 の場合、移動平均は 10 個の連続した値を使用して計算され、β = 0.99 の場合、移動平均は 100 個の連続した値を使用して計算されます。一般に、n の値は次のように近似できます。

下のグラフは移動平均がどのように機能するかを示しています。 β値が大きくなるとnも大きくなり、グラフは右にシフトします。これは初期段階ではこれらの値が大きくなるためです。ただし、β が減少すると n も減少し、X を正しくモデル化できるようになります。したがって、良好な移動平均を得るためには適切な β 値を見つける必要があります。ほとんどの場合、β = 0.9 が適切であることがわかります。

移動平均とは何かがわかったところで、モメンタム アルゴリズムにおけるその応用を理解してみましょう。ニューラル ネットワークをトレーニングする際の目標は、コスト関数 J を最適化してその値を最小化することです。従来の勾配降下法オプティマイザーは青いパスをたどりますが、モメンタムオプティマイザーは緑のパスをたどって最小値 (赤) に到達します。

勾配降下法のパスには、運動量に比べてステップ数が多すぎます。これは、勾配降下法では y 軸上では変動が大きいものの、x 軸上では変動がほとんどなく、最小値に近いためです。正しい解決策は、y 軸の動きを減衰させることで変動を減らすことです。ここで移動平均が役に立ちます。

青いパスを見ると、y 軸上の動きが一連の正と負の変化であることがわかります。ほぼゼロの動きに対して加重平均を適用すると、y 軸に変動が現れます。同様の直感は x 軸の動きにも当てはまります。これにより、パス上の変動が減少し、最終的にはトレーニングの反復回数が減少するにつれて、ニューラル ネットワークはより短い時間で最小値に到達します。この目的のために、重み dW とバイアス db の導関数の加重平均を追跡するための 2 つの新しい変数 VdW と Vdb が導入されました。

パラメータ更新方法のみが変更されたため、ミニバッチアプローチとモーメントオプティマイザーも使用できることに注意してください。

上記は、最適化アルゴリズムとしてモメンタムを使用する基本的な戦略を示しています。

RMSプロップ

RMS Prop は Root Mean Square Propagation の略で、y 軸の動きを減衰させる手法であるという点で Momentum に似ています。前の例は、これがどのように機能するかを理解するのに役立ちます。理解しやすいように、y 軸はバイアス b として表され、x 軸は重み W として表されます。

直感的に、大きな数を別の数で割ると、結果は小さくなります。この例では、最初の大きい数値は db で、2 番目に大きい数値は加重平均 db² です。 db² と dW² の加重平均を追跡するために、2 つの新しい変数 Sdb と SdW が導入されました。 db を Sdb で割ると値が小さくなり、y 軸上の動きが弱まります。 Ⲉ はゼロ除算エラーを回避するために導入されます。同様の直感は、x 軸上の W の値を更新する場合にも当てはまります。

パラメータの更新をよりよく理解し、視覚化するために、y 軸がバイアス b であり、x 軸が重み W であることに注目する価値があります。同様のアプローチを使用して、バイアス b (b1、b2、...、bn) または重み W (W1、W2、...、Wn)、あるいはその両方によって引き起こされる変動を排除することもできます。同様に、パラメータ更新方法のみが変更されたため、ミニバッチ アプローチと RMS オプティマイザーを使用できます。

上記は、RMS Prop を最適化アルゴリズムとして使用する場合の基本的な戦略を示しています。

アダム

Adam は Adaptive Momentum の略です。これは、単一の方法を使用して運動量と RMS プロップを組み合わせ、強力で高速な最適化ツールです。エラー訂正方法は、加重平均計算におけるコールドスタート問題(つまり、加重平均の最初のいくつかの値が実際の値から離れすぎている)を解決するためにも使用できます。 V 値には運動量ロジックが含まれ、S 値には RMS プロップ ロジックが含まれます。

計算では 2 つの異なる β 値が使用されていることに注意してください。 β1 は相対運動量の計算に使用され、β2 は相対 RMS プロップの計算に使用されます。同様に、パラメータ更新方法のみが変更されたため、ミニバッチ アプローチと AdaM オプティマイザーも使用できます。

上記は、AdaM を最適化アルゴリズムとして使用する場合の基本的な戦略を示しています。

パフォーマンス比較


図1


図2

さまざまな最適化アルゴリズムにおける損失面の等高線とその時間発展

<<:  MITの新しいAI研究:セーターが編めなくても問題ない、AIにやらせればいい

>>:  中国の人工知能は現在、世界の中でどの程度のレベルにあるのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

...

ファイアウォールではできないことを人工知能で実現できるでしょうか?

[[183545]]ハッカーが徐々に人工知能システムに適応するにつれて、プログラマーも積極的に新し...

...

ディープラーニングの成果は収穫されようとしているのでしょうか? 11人の専門家がAIの現在(2018年)と未来(2019年)について語る

KDnuggets は、学界と産業界のさまざまな分野の機械学習と AI の専門家 11 名に相談し、...

清華大学のAI学生が顔を見せて歌う、この応用は将来に期待される

最近、清華大学初のAI学生がついにその本性を現した。伝えられるところによると、彼の名前は華志兵。清華...

...

2020 年のデータサイエンスの 4 つの注目トレンド

データ サイエンスの新しい機能は進化を続け、あらゆる業界に浸透しています。世界中の組織がデジタル変革...

機械学習のヒント: モデルパラメータとハイパーパラメータの違いをご存知ですか?

[[199395]]導入機械学習におけるモデルパラメータとモデルハイパーパラメータは機能やソースが...

小売業における AI の ROI をマクロとミクロのレベルで測定

[[259079]] AI の応用により予測コストが大幅に削減され、企業はますます新しい、予想外の方...

AIは脳スキャンだけであなたの政治的思想を予測できる

人工知能は、脳内の機能的接続のスキャンを分析するだけで、人の政治的イデオロギーを予測することができま...

初心者からプロまでが使用する機械学習ソフトウェア トップ 10

この記事では、機械学習に最適なソフトウェアについて説明します。これらのソフトウェアは、ML コードを...

...

...

会話型AIとその技術コンポーネントの機能を探る

今日では、自動化、人工知能 (AI)、自然言語処理 (NLP) の進歩により、コスト効率の高いデジタ...

...