凸問題の場合、確率的勾配降下(SGD)の勾配は常にグローバルな極値を指しますか?


25

最適化にSGDを使用する凸型コスト関数を考えると、最適化プロセス中の特定のポイントに勾配(ベクトル)があります。

私の質問は、凸面上の点を考えると、勾配は関数が最も速く増加/減少する方向だけを指すのですか、それとも勾配は常にコスト関数の最適/極値を指すのですか?

前者はローカルコンセプトであり、後者はグローバルコンセプトです。

SGDは、最終的にコスト関数の極値に収束できます。凸面上の任意の点に与えられた勾配の方向と、グローバルな極値を指す方向との違いについて疑問に思っています。

グラデーションの方向は、関数がそのポイントで最も速く増加/減少する方向である必要がありますよね?


6
山の尾根からまっすぐ下り坂を歩いたことがありますか? 課題は、凸状の地形でそのような状況を想像することです。隆起が最上部で最も急なナイフエッジを考えてください。
whuber

4
いいえ、勾配降下ではなく、確率的勾配降下です。SGDの重要なポイントは、計算の効率を上げるために、勾配情報の一部を捨てることですが、明らかに、勾配情報の一部を捨てると、元の勾配の方向がなくなります。これはすでに、通常の勾配が最適な降下の方向を指しているかどうかの問題を無視していますが、その点は、たとえ通常の勾配降下が行ったとしても、確率的勾配降下がそうすることを期待する理由はありません。
Chill2Macht

3
@タイラー、あなたはなぜ確率的勾配降下について具体的に質問するのですか?標準的な勾配降下法と比較して、何らかの形で何か違うことを想像していますか
セクストスエンピリカス

2
勾配は、勾配と最適なベクトルの間の角度がよりも小さいという意味で、常に最適な方向を指し、勾配の方向にわずかな量だけ歩く最適に近づけます。π2
モニカを

5
勾配がグローバルミニマイザーを直接ポイントしている場合、1次元のラインサーチを実行してグローバルミニマイザーを見つけることができるため、凸最適化が非常に簡単になります。これは望みすぎです。
littleO

回答:


36

彼らは、イメージは千語以上の価値があると言っています。次の例(MS Paintの提供、アマチュアとプロの両方の統計学者にとって便利なツール)では、凸関数の表面と、最も急な降下の方向が最適な方向と明らかに異なる点を見ることができます。

最急降下の方向がグローバル最適への方向と同じではないことを示す細長い凸関数と矢印の画像

深刻な注意事項:このスレッドには、優れた回答があり、これも賛成に値します。


27
そして今日の反例は...アボカドです!
JDL

11
アボカドをカットしている間、種と怪我を避けるために最も急な降下方向にカットする必要があることがわかります。
ヤンKukacka

28
  • 勾配降下法では、表面の勾配を使用します。
  • これは必ずしも極値を直接指すとは限りません(または、そうでないこともあります)。

直感的なビューは、カーブしたパスである降下のパスを想像することです。以下の例をご覧ください。

類推として:目隠しをして、山のどこかにあなたを置き、極端な(低い)ポイントに戻るタスクを想像してください。丘の上で、もしあなたが地元の情報しか持っていないなら、あなたは湖の底がどちらの方向になるのか分からない

凸性を仮定できる場合

  • 次に、極端な点が1つしかないことを知っています。
  • そうすれば、下に移動する限り、あなたは確かに極値に到達することを知っています。
  • そして、あなたはまた、Solomonoff's Secretがコメントで言及したように、最急降下方向と最適な方向の間の角度が常に最大π/2であることを知っています。

凸面

凸面なし

  • 角度は超える場合がありますπ/2。下の画像では、特定のポイントに対して下降方向の矢印を描画することでこれが強調されています。最終的なソリューションは、下降方向に垂直な線の後ろにあります。

    凸問題では、これは不可能です。問題が凸である場合、これをすべて同じ方向に曲率を持つコスト関数の等値線に関連付けることができます。

非凸

確率的勾配降下法

  • 1つのポイントに対して最も急な方向に従います(そして、別のポイントに対して繰り返しステップを実行します)。例での問題は凸であり、そこであってもよい複数数のソリューション。例では極端な値は、(代わりに単一の点の)ライン上にあり、そしてこの特定の観点から、あなたが言うことができる、「最適」を直接指し示すことができる最急降下方向それは機能のためにのみ最適であるが(その特定のトレーニングサンプルポイントの)

一点

以下は、4つのデータポイントの別のビューです。4つの画像のそれぞれは、異なる単一ポイントの表面を示しています。各ステップで異なるポイントが選択され、それに沿って勾配が計算されます。これにより、ステップが作成される方向は4つだけになりますが、ソリューションに近づくと、ステップサイズは減少します。

確率的勾配降下



上記の画像は、関数によって生成された4つのデータポイント用です。

yi=e0.4xie0.8xi+ϵi

x = 0      2      4      6           
y = 0.006  0.249  0.153  0.098

結果:

  • (非線形)コスト関数)を最小化するときの非凸最適化問題

    S(a,b)=i=1(yi(eaxiebxi))2
    S(a,b)=[i=12xieaxi(yieaxiebxi)i=12xiebxi(yieaxiebxi)]

  • を最小化するときの凸最適化問題(線形最小二乗など

    S(a,b)=i=1(yi(ae0.4xibe0.8xi))2
    S(a,b)=[i=12e0.4xi(yiae0.4xibe0.8xi)i=12e0.8xi(yiae0.4xibe0.8xi)]

  • 特定のに対して最小化するときの凸最適化問題(ただし、単一の最小値ではない 勾配があるこれには複数の最小値があります(複数およびに対して)i

    S(a,b)=(yi(ae0.4bxibe0.8xi))2
    S(a,b)=[2e0.4xi(yiae0.4xibe0.8xi)2e0.8xi(yiae0.4xibe0.8xi)]
    abS=0


StackExchangeStrikeによって書かれました。



17

目的関数が非常に凸である場合でも、最急降下は非効率的です。

通常の勾配降下

関数が非常に凸または二次であっても、最急降下が最適から大きく揺れるステップをとることができるという意味で、「非効率」を意味します。

検討。これは、正の係数を持つ二次関数であるため、凸です。検査により、グローバルな最小値があることがわかります。勾配がある f(x)=x12+25x22x=[0,0]

f(x)=[2x150x2]

学習率、および初期推定により、勾配が更新されます。α=0.035x(0)=[0.5,0.5],

x(1)=x(0)αf(x(0))

これは最小に向かってこの激しく振動する進歩を示しています。

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

実際、と間に形成される角度は、徐々に0に減衰します。これが意味することアルゴリズムの収束と正常な動作にもかかわらず、更新の方向が間違っている場合があります-せいぜい68度近く間違っているだけです。θ(x(i),x)(x(i),x(i+1))

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

関数は方向よりも方向で非常に急勾配であるため、各ステップは激しく振動しています。この事実から、勾配は常に最小値を指すわけではなく、通常はそうではないと推測できます。これは、ヘッセのの固有値が異なるスケールにある場合の勾配降下の一般的な特性です。進行は、対応する固有値が最小の固有ベクトルに対応する方向では遅く、固有値が最大の方向では最速です。勾配降下の進行速度を決定するのは、学習率の選択と組み合わせたこのプロパティです。X 1 2x2x12f(x)

最小値への直接的な経路は、この方法ではなく「斜めに」移動することです。ただし、勾配降下法は局所的な急峻性に関する情報しか持たないため、戦略がより効率的であることを「知らない」ため、異なるスケールの固有値を持つヘッセ行列の気まぐれに左右されます。

確率的勾配降下

SGDには同じ特性がありますが、更新がノイズを含んでいるという例外があります。これは、繰り返しごとに等高面が異なって見えるため、勾配も異なることを意味します。これは、勾配ステップの方向と最適な方向との間の角度にもノイズがあることを意味します。ジッターを含む同じプロットを想像してください。

詳しくは:


この回答は、この例と図を、Neural Networks Design(第2版)の第9章Martin T. Hagan、Howard B. Demuth、Mark Hudson Beale、Orlando DeJesúsから引用しています。


13

最急勾配のローカル方向は、グローバルな最適方向と同じではありません。もしそうなら、グラデーションの方向は変わりません。常に最適な方向に進むと、方向ベクトルは常に最適な方向を向くからです。しかし、そうではありません。その場合、繰り返しごとに勾配を計算するのはなぜですか?


3

他の答えは、GD / SGDのいくつかの迷惑な収束率の問題を強調していますが、「SGDは最終的に収束する可能性があります...」というコメントは必ずしも正しいとは限りません"意志")。

SGDで反例を見つけるための良い方法の1つは、すべてのデータポイントが同じ場合、コスト関数が決定的であることを認識することです。1つのデータポイントあり、単一のパラメーター基づいてシステムがどのように動作するかについてのモデルがある非常に病理学的な例を想像してください

(x0,y0)=(1,0)
α
f(x,α)=α2αx.

MSEをコスト関数として使用すると、これは凸関数ある簡略化されます。更新ルールが次のようになるように、学習率不十分に選択するとします。現在、コスト関数の最小値はですが、文字通り以外の場所から開始した場合、SGDは開始点と間のサイクル間で単にバウンドし、収束ません

(f(x0,α)y0)2=α2α,
β
αn+1=αnβ(2αn1)=αn(2αn1)=1αn.
α=12p=12p1p

コンベクシティが一般的なSGDに存在するいくつかのより悪い動作を破るのに十分かどうかはわかりませんが、コスト関数のキュービックと同じくらい複雑な関数を許可すると、SGD はドメインの密なサブセットで跳ね返り、どこにも収束しませんまたは任意のサイクルに近づきます。

SGDは、任意の有限長のサイクルにアプローチ/取得し、に向かって発散し、向かって振動し(表記法を許す)、他の多くの病理学的挙動を示すことができます。± ±

状況全体に関する興味深いことの1つは、任意の凸関数を入力として受け取り、グローバルミニマム(存在する場合)に常に迅速に収束する更新ルールを出力する無数の関数(SGDなど)が存在することです。概念的にはそれらの負荷が存在しますが、凸最適化の私たちの最善の試みにはすべて病理学的反例があります。どういうわけか、単純/直観的/パフォーマンスの更新ルールのアイデアは、証明可能な正しい更新ルールのアイデアに反します。


1
この観測に対して+1。しかし、このは少し悪い選択であり、通常の勾配降下の場合にも悪いでしょう。これは良いコメントですが、最急降下パスがソリューションを指しているかどうかに関係なく、実際には問題に関連していません。β=1
セクストスエンピリカス

1
SGD収束証明はステップサイズの減少を想定していることに注意してください...
Jan Kukacka

@MartijnWeterings良い観察。私の例は実際に正しい方向を指していると思います。正しい方向を向かず、発散することのない2Dの例で更新する必要がありますか?
ハンスマスグレイブ

@MartijnWeterings Agreeed、は悪い選択です。ただし、すべてのは、そのが失敗する病理学的コスト関数が存在します。最も簡単なものの1つは、由来しβ > 0 β F X α = β=1β>0βf(x,α)=α2αxβ.
ハンスマスグレイブ

@JanKukackaこれは、SGDの一般的な修正であり、同様の欠陥があります。コスト関数が放物線である代わりに、を選択して、コスト関数が冷却速度を打ち消すために最小値から両方向に十分に急速に上昇する対称凸関数になるようにします。私が見たSGD収束証明は、確率1のみであり、確率0で存在するそのような不適切に選択されたコスト関数に依存し、コスト関数のスペースに関する典型的な尺度です。βfβ
ハンスマスグレイブ

2

たぶん、この質問への答えは簡単な更新が必要です。SGDは、非凸の場合にもグローバルな最小値を生成するようです(凸はその特殊な例です):

SGDは、Star-Convex Pathを介してディープラーニングでグローバルミニマムに収束します。匿名の著者、ICLR 2019で二重盲検レビュー中の論文

https://openreview.net/pdf?id=BylIciRcYQ

著者は、SGDの収束を、ニューラルネットワークトレーニングで一般的に発生する非凸最適化問題のグローバルミニマムに確立します。引数は、次の2つの重要な特性を活用します。1)トレーニング損失はゼロ値(ほぼ)を達成できます。2)SGDは星と凸の経路をたどります。このような状況では、SGDは長い間ランダム化されたアルゴリズムと見なされてきましたが、この論文は本質的に決定論的な方法でグローバルミニマムに収束することを明らかにしています。

ただし、これは一粒の塩と一緒に摂取する必要があります。論文はまだ審査中です。

星と凸のパスの概念は、各反復で勾配がどこを指すかについてのヒントを与えます。

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