目的関数が非常に凸である場合でも、最急降下は非効率的です。
通常の勾配降下
関数が非常に凸または二次であっても、最急降下が最適から大きく揺れるステップをとることができるという意味で、「非効率」を意味します。
検討。これは、正の係数を持つ二次関数であるため、凸です。検査により、グローバルな最小値があることがわかります。勾配がある
f(x)=x21+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 ∇ 2x2x1∇2f(x)
最小値への直接的な経路は、この方法ではなく「斜めに」移動することです。ただし、勾配降下法は局所的な急峻性に関する情報しか持たないため、戦略がより効率的であることを「知らない」ため、異なるスケールの固有値を持つヘッセ行列の気まぐれに左右されます。
確率的勾配降下
SGDには同じ特性がありますが、更新がノイズを含んでいるという例外があります。これは、繰り返しごとに等高面が異なって見えるため、勾配も異なることを意味します。これは、勾配ステップの方向と最適な方向との間の角度にもノイズがあることを意味します。ジッターを含む同じプロットを想像してください。
詳しくは:
この回答は、この例と図を、Neural Networks Design(第2版)の第9章Martin T. Hagan、Howard B. Demuth、Mark Hudson Beale、Orlando DeJesúsから引用しています。