サドルポイントにどうやって閉じ込められますか?


14

私は現在、ミニバッチ勾配降下がescent点にどのように閉じ込められるかに戸惑っています。

解決策はあまりにも取るに足りないかもしれません。

あなたはすべてのエポック新しいサンプルを取得し、コスト関数は各バッチに対してのみ静的であるので、それは、新しいバッチに基づいて新しいエラーを計算した勾配は、各ミニバッチの変更..しかしに応じなければならないことを意味し、これはすべきバニラの実装にはサドルポイントに問題がありますか?

ニューラルネットワークに共通する高度に非凸の誤差関数を最小化するもう1つの重要な課題は、多数の準最適な局所最小値にとらわれないようにすることです。ドーフィン等。[19]困難は実際には極小値ではなく点、つまり、ある次元が上に傾斜し、別の次元が下に傾斜する点から生じると主張しています。これらのaddle点は通常、同じ誤差のプラトーに囲まれ、勾配がすべての次元でゼロに近いため、SGDが逃げにくいことで有名です。

収束に向かって変動するため、特にSGDは点に対して明確な利点があることを意味します...変動とランダムサンプリング、およびエポックごとに異なるコスト関数は、1つに閉じ込められないための十分な理由になります。

完全なバッチ勾配の場合、誤差関数は一定であるため、gradient点にトラップされる可能性があります。

私は他の2つの部分について少し混乱しています。


1
モティはそれを取得します。勾配が非常に高く、ゼロ勾配に囲まれた点は、勾配階段を開始し、そこから回復できない「荒れ地」に進みます。基本的に平らな平野で井戸を探すことを考えてください。さて、井戸を乾燥した状態で、中央にアリの丘があると考えてください。アリの丘に着地するが、正確な頂上ではない勾配降下は、検索を放射状に発射します。ここで、検索のステップサイズがウェルの直径の1000倍であることを想像してください。検索は、今までにモンタナにも、蟻塚の芽を見つけた場合
EngrStudent -復活モニカ

私はあなたの質問を混乱させています。SGDが継承するノイズのために、SGDがサドルポイントに閉じ込められない理由を混乱させていますか?(フルバッチGDの場合とは異なり、勾配がゼロでノイズがない場合、それは逃げられません。それはあなたの質問ですか?)
ピノキオ

回答:


16

Off Convexから下の画像を見てください。凸関数(左端の画像)には、ローカルミニマムが1つだけあり、これもグローバルミニマムです。しかし、非凸関数(右端の画像)では、複数の局所最小値が存在する場合があり、2つの局所最小値を結合することはしばしばoften点です。より高いポイントから接近している場合、勾配は比較的平坦であり、特に一方向にのみ移動している場合、そこに立ち往生する危険があります。

addle点の図式表現

ここで重要なのは、ミニバッチを使用して最適化するかどうかですまたは確率的勾配降下、基礎となる非凸関数は同じであり、勾配はこの関数のプロパティです。ミニバッチを行うときは、一度に多くのサンプルを考慮し、それらすべてのサンプルで平均化された勾配ステップを実行します。これにより、分散が減少します。ただし、平均勾配方向がまだサドルポイントと同じ方向を指している場合は、そこにスタックする危険があります。類推は、あなたが2歩前進して1歩後退し、それらを平均すると、最終的に1歩前進することになります。代わりにSGDを実行する場合、すべてのステップを次々に実行しますが、まだ単一方向に移動している場合、サドルポイントに到達すると、すべての側面の勾配がかなり平坦であり、ステップサイズがこの平らな部分を通過するには小さすぎます。これは

ここで視覚化を見てください。SGDを使用しても、変動が1次元に沿ってのみ発生し、ステップが次第に小さくなると、点で収束します。この場合、ミニバッチ法は変動の量を減らすだけですが、勾配の方向を変更することはできません。

SGD 、変動が他の方向に沿っている場合、およびステップサイズが平坦度を超えるのに十分な大きさである場合、単純なs点から抜け出すことがあります。ただし、下の画像のように、サドル領域がかなり複雑になる場合があります。

複雑なサドル領域

モーメンタム、ADAGRAD、Adamなどのメソッドがこれから抜け出す方法は、過去の勾配を考慮することです。勢いを考慮して、

vt=γvt1+ηthetaJ(θ)

vt1


まあ、正確ではありません!実際の回答については、stats.stackexchange.com
a

@AliAbbasinasabアンチモンはよく説明すると思います。もちろん、あなたがあなたの答えで言及したように、普通のサドルポイントで立ち往生することはほとんどありませんが、彼はSGDがキャッチされる可能性を示しました。そして私に、彼はSGDが逃げられないいくつかの異常なサドルポイントを示しました。
富田和也

2

すべきではありません。

[ 1 ]は、ランダムな初期化適切な一定のステップサイズを使用した勾配降下がaddle点に収束しないことを示しています。これは長い議論ですが、次の例を参照してください。

f(x,y)=12x2+14y412y2

ここに画像の説明を入力してください

z1=[00],z2=[01],z3=[01]

z2z3z1

z0=[x0]z1z1xR2

2f(x,y)=[1003y21]

私たちはそれを見つけます 2f(z1)xxz1


あなたは同じように簡単に...あなたが鞍点にするたびにはまります反例機能を選ぶことができ
ヤンKukacka

1
リンクにアクセスできません[1]-完全な引用を提供できますか?それまでの間、あなたの主張に対する反例を構築することは可能です。これは、それが追加の無言の仮定に基づいている必要があることを示しています。
whuber

@whuber反例を簡単に作成できます。たとえば、スペースとしてラインのみがある場合。私は、多くの人には自明ではないかもしれない点を追加しようとしました(最初は、なぜ私にはあまり明白ではありませんでした)。参照については、なぜ到達できないのかわかりません。再確認しましたが、リンクは有効であり、更新されます。「グラディエントディセントコンバージズトゥミニマイザーズ」、ジェイソンD.リー、マックスシンコヴィッツ、マイケルI.ジョーダン†、およびベンジャミンレクト†♯ 」
フロリダ州

参考にしていただきありがとうございます。簡単に見ると(リンクが機能している)、分析が「厳密なサドル」(ヘッシアンの正と負の両方の固有値がある)に限定されていることがわかり、多くの可能性が排除されています。論文の最後の声明には、「厳密なサドル条件が失敗する非常に困難な制約のない最適化問題があることに注意してください」が含まれており、例として四次最小化を提供しています。
whuber

0

参照された論文にアクセスすると(ミニバッチSGDでサドルのないアプローチが実際にどのように改善されるかを実証的に示しています)、彼らは述べています:

勾配降下法のステップは、常にright点に近い右方向を指します。したがって、小さな絶対値の固有値に対応する方向に小さなステップが取られます。

彼らはまた、サドルポイントの近くに「プラトー」が存在することにも注目しています(言い換えれば、サドルは急ではありません)-これらの場合、非常に小さなステップを踏むと、実際にサドル領域から脱出する前に収束が早まります。これは非凸最適化であるため、学習率が収束するとこれが悪化します。

ミニバッチSGDが完了したら(学習率をリセットするなど)ミニバッチSGDを再起動して、問題のある地域から脱出できるかどうかを確認する反復アプローチを試すことができるようです。


0

問題は、点に近づいている間、プラトー、つまり低い(絶対値で)勾配のある領域に入ることだと思います。特に尾根から近づいているとき。したがって、アルゴリズムはステップサイズを小さくします。ステップサイズを小さくすると、すべての勾配(すべての方向)の絶対値が小さくなります。そのため、アルゴリズムは最小であると考えて停止します。

ステップを減らさないと、最小値を飛び越えて、多くのステップを逃してしまいます。どういうわけか、ステップサイズを小さくする必要があります。

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