の勾配降下


7

新しい蒸留ジャーナルからの投稿、Why Momentum Really Worksを読んでいます。混乱を招く部分に至る主要な方程式を言い換えますが、この投稿では直感について詳しく説明しています。

勾配降下アルゴリズムは、次の反復プロセスによって与えられます

wk+1=wk−α∇f(wk)
どこ wk 反復の値です k、学習率は α そして ∇f(w) 関数の勾配です f で評価された w。関数f 最小化したい。

運動量を伴う勾配降下は、降下に「記憶」を追加することによって与えられます。これは、2つの方程式で表されます。

zk+1=βzk+∇f(wk)wk+1=wk−αzk+1

次のセクション「最初のステップ:勾配降下」では、著者は凸2次関数を検討します。

f(w)=12wTAw−bTw,w∈Rn,A∈Rn,n
勾配がある
∇f(w)=Aw−b
仮定すると A 対称で反転可能です f 最適なソリューションがあります w⋆=A−1b。

勾配降下法を使用する場合、次の方法でこの最適解に向かって反復します

wk+1=wk−α∇f(w)=wk−α(あwk−b)

次に、記事はさらに続けます。 あ「私はこれが理にかなっていると思いますが、私の直感はちょっとあいまいです。

すべての対称行列 あ 固有値分解があります

あ=Q診断(λ1、…、λん)QT。

どこ λ1>…>λん そして Q 対応する固有ベクトルを列として持つベクトルです(右?)。

この次の部分は私が何が起こっているのか理解できないところです:

根拠の変更を行うと、 バツk=QT(wk−w⋆)、反復はバラバラになり、次のようになります。

バツ私k+1=バツ私k−αλ私バツ私k=(1−αλ私)バツ私k=(1−αλ私)k+1バツ私0

元の空間に戻る w、私たちはそれを見ることができます

wk−w⋆=Qバツk=Σ私ん=バツ私0(1−αλ私)kq私

ここで何が起こっているのですか?撮る動機はどこですかwk−w⋆固有ドメインに?とはバツk?なぜベクターの個々の要素を見るのですか?私は計算を追跡しようとしましたが、バツk+1 に依存する wk+1 依存する zk、私たちはそれを排除しようとしていたと思いました。私の質問は、誰かがいくつかの直感と計算でこれらのいくつかのステップを拡張できるかどうかです。ありがとう。

回答:


5

多くの数学的アプリケーションでは、結果を導き出した後で動機がより明確になります。それでは、代数から始めましょう。

GDを実行するとします T反復。これは私たちにセットを与えるでしょう(wk)k=1T。

基本を変更しましょう:

wk=Qバツk+w∗ ⟺ バツk=QT(wk−w∗)

今私たちは持っています (バツk)k=1T。それらについて私たちは何を言うことができますか?それぞれの座標を個別に見てみましょう。上記を代入し、GDの更新ステップを使用することにより、

バツ私k+1=(QT(wk+1−w∗))私=(QT(wk−α(あwk−b)−w∗))私

並べ替え、

バツ私k+1=(QT(wk−w∗))私−α⋅(QT(あwk−b))私

最初の用語は正確です バツ私k。二期目は、あ=Qd私ag(λ1…λん)QT。これにより、

バツ私k+1=バツ私k−αλ私バツ私k=(1−αλ私)バツ私k

これは単一のステップでした。私たちがすべての方法に到達するまで繰り返すバツ0、 我々が得る

バツ私k+1=(1−αλ私)k+1バツ私0

この時点では、これらすべては本当に役に立たないようです。最初の懸念に戻りましょう。ws。元々の根拠の変化から、wk−w∗=Qバツk。行列の乗算を記述する別の方法Q ベクトルによる バツk のとおりです Σ私バツ私kq私。しかし、その上に示しましたバツ私k=(1−αλ私)kバツ私0。すべてを組み合わせると、GD更新ステップに必要な「閉じたフォーム」の式が得られます。

wk−w∗=Σ私バツ私0(1−αλ私)kq私

これは基本的に、反復時の「エラー」の表現です k GDの(最適解からどれだけ離れているか、 w∗)。我々はGDの性能を評価することに興味があるので、これは我々が分析したい式。2つの即時観察があります。1つ目は、この項が0になることです。k無限に行きますが、これはもちろん朗報です。2つ目は、エラーが次の要素に非常にうまく分解されることです。バツ0、これは私たちの分析のためにさらに良いです。ここでは、元の投稿から引用しています。

の各要素 バツ0 の初期推定におけるエラーのコンポーネントです Q-基礎。があるん そのようなエラー、およびこれらのエラーのそれぞれは、最小値への独自の孤立したパスに従い、次の複合率で指数関数的に減少します。 1−αλ私。その数が1に近いほど、収束が遅くなります。

これで問題が解決し、投稿を読み続けることができます。本当においしい!


本当にありがとうございます。これはすばらしい回答です。多分私はこれすべての要点が何であったかについてもう少し読んでおくべきでした。明確な説明に専念しているジャーナルの数学の最初のビットで失われると落胆するのは簡単です:P
— HBeel

1

私は同じ論文を読み、まったく同じ場所で行き詰まり、galoosh33の答えを参考にして取り組みました。

私は明確なステップを見つけられませんでした:

バツ私k+1=(QT(wk−w∗))私−α(QT(あwk−b))私=バツ私−αλ私バツ私k

代数学を使いたくなくてすぐには見たくない人のために、 b、代用から wk=Qバツk+w∗ そして w∗=あ−1b 固有ベクトルが直交しているという事実 Q−1=QT。

(QTあwk−QTb)私=(QTあQバツk+QTあw∗⏞あ−1b−QTb)私=(QTQ⏟私診断(λ1、…、λん)QTQ⏟私バツk+QTああ−1⏟私b−QTb⏟0)私=λ私バツ私k


0

機械学習の言語でいくつかのコメントを提供します。これにより、役立つ論理的な結論に導くことができます。

まず、その二次目標を最小化することは、最小二乗問題を解くようなものです(これが明らかでない場合は、演習として証明してみてください)。第2に、最小二乗問題の場合、特徴が直交している場合、係数を個別にまたは順番に推定する(座標降下を1ラウンドだけ行うなど)ことは、係数を一緒に推定することと同じです。(これが明らかでない場合は、特徴が直交していると仮定します。これは、あ対角線でなければなりませんか?つまり、ソリューションの各エントリは他のエントリに依存しません)。

だから今問題は:どのように同じ問題を解決できますか? あ?第三に、ℓ2ノルムは直交不変なので、ノルム内にあるものを直交行列(回転として解釈される)で左または右に乗算すると、その問題を解決して、最後にその直交変換を取り消すことができます。以来あ は対称正の半定値です。これらの直交行列は、次の固有値分解から取得できます。 あ (別名 "対角化" あ)。

統計に戻る:このプロセスは、ホワイトニングまたはプレホワイトニングと呼ばれることもありますが、この用語の用法に関してはコンセンサスが欠けていると思います。

単純かつ大まかに言えば、 あ、の列/行 あ 完全に別個で無関係な情報と見なすことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.