正規化された勾配と勾配の使用の違い


15

勾配降下アルゴリズムの一般的な設定では、我々はここで、X nは現在の点では、ηはステップサイズであり、G 、R 、D 、I 、E N T X Nで評価勾配であるX nがxn+1=xnηgradientxnxnηgradientxnxn

私はいくつかのアルゴリズムで見てきた、人々が使用して正規化された勾配の代わりに、勾配を正規化された勾配と単純な勾配を使用した場合の違いを知りたいと思いました。


1
質問してもいいですか?勾配ベクトルをすでに取得している場合、どのように正規化勾配を計算できますか?勾配ベクトルが数値的に大きい場合、勾配を正規化する必要があります。勾配の正規化に関する直感的な例を教えてください。ありがとうございました!

回答:


10

勾配降下アルゴリズムでは、アルゴリズムは、最適な解を見つけることができる方向を見つけることによって進みます。最適な方向は勾配です。ただし、方向にのみ関心があり、必ずしもその方向に沿ってどれだけ移動するかではないため、通常、勾配の大きさには関心がありません。それにより、正規化された勾配は目的に十分であり、η計算された方向にどれだけ移動したいかを指定します。ただし、非正規化勾配降下法を使用する場合、任意のポイントで、最適な方向に移動する距離は、勾配の大きさによって決まります(本質的には、目的関数の表面によって決まります。つまり、急勾配の表面上の点は強度が高いのに対し、かなり平坦な表面上のポイントは強度が低くなります)。

上記から、あなたは勾配の正規化があなたが得る追加の制御力であることに気付いたかもしれません(それが有用であるかどうかはあなたの特定のアプリケーション次第です)。上記の意味は次のとおりです
。1]すべての反復でアルゴリズムが固定ステップサイズで移動するようにしたい場合は、固定正規化された勾配降下を使用することができます。 2]アルゴリズムが正確に指定されたステップサイズで移動するようにする場合は、ηにエンコードされたステップサイズの特定の関数で正規化された勾配降下を使用することもできます。η
η
3]勾配の大きさでステップサイズを決定する場合、非正規化勾配降下法を使用します。勾配の大きさでステップサイズを決定できるように、他にもいくつかのバリエーションがありますが、それに上限を設定するなどです。

現在、ステップサイズは明らかに収束速度と安定性に影響を与えます。上記のステップサイズのどれが最適に機能するかは、純粋にアプリケーション(目的関数)に依存します。場合によっては、収束速度、安定性、ステップサイズの関係を分析できます。この関係は、正規化勾配降下法と非正規化勾配降下法のどちらを使用するかについてのヒントを提供する場合があります。

要約すると、正規化された勾配降下法と正規化されていない勾配降下法との間に違いはありません(アルゴリズムの背後にある理論に関する限り)。ただし、収束速度と安定性には実際的な影響があります。どちらを選択するかは、純粋に手元のアプリケーション/目的に基づいています。


たとえば、最初の勾配に基づいて正規化する中間的なアプローチをとることができます。これにより、ステップサイズに関して相対的な勾配サイズが問題になります。
ダシュニック


2

f(x)=xTxy(t)=x0/||x0||et。そのため、臨界点に近づくと、勾配のノルムは指数関数的に速く減少します。そのような場合、非常にゆっくりとアプローチするよりも、数分間前後に数回バウンスする方が良い場合がよくあります。ただし、一般的に、一次法は臨界点の周りで収束が非常に遅いことが知られているため、正確性を本当に重視する場合は、それらを実際に使用しないでください。目的のヘッセ行列を分析的に計算できない場合でも、近似することができます(BFGS)。

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