ラインサーチを実行できない場合の適応勾配降下ステップサイズ


9

値に依存する目的関数があります。ここで、はPDEの解です。PDEの初期条件である勾配降下によってを最適化しています。つまり、を更新し、PDEを統合して残差を計算する必要があります。つまり、勾配降下ステップサイズ(と呼びます)のラインサーチを実行する場合、すべての潜在的な値について、PDEをもう一度統合する必要があります。Eϕ(x,t=1.0)ϕ(x,t)Eϕ(x,t=0.0)ϕ(x,t=0.0)αα

私の場合、それは法外に高価になるでしょう。適応型勾配降下ステップサイズの別のオプションはありますか?

私はここで数学的に原理的なスキームを探しているだけではありません(もちろん、何かが存在する場合はそれよりも優れています)が、一般に静的ステップサイズよりも優れているものであれば何でも満足します。

ありがとう!


現在のところ、PDEを統合する方法を変更したくないと思います。私にとっては、コードの大幅な書き換えになるからです。また、非常に高い数値精度を必要とするため、時空の非常に密なグリッドでPDEを解く必要があるため、PDEがトリッキーなものであることはそれほど多くありません。
NLi10Me 2016

一方、BB方式(私が慣れていないもの)はかなり良いようです。前の反復の状態と勾配を追跡するために必要なことはすべて、2次近似値を取得します...それは非常に良いようです。ただし、この導出では凸二次式を想定しており、私の問題はほぼ確実にそうではありません。ただし、グローバルミニマムではなくローカルミニマムを見つける(そして満足する)ことも確かです。非常に高い次元の問題でBBがどれだけうまく機能しているか知っていますか?
NLi10Me 2016

極小値について私が言ったのは、極小値の近傍では、関数はほぼ二次関数ではないということです。私の初期状態は最小値に十分近いと思います。多くの場合、静的なステップサイズでもスムーズな収束が得られるからです。それで、それが非常に高次元であり、一般に検索空間全体を考える場合、問題は非凸形/非二次式であるとしても、BBは依然としてライン検索なしの良い選択でしょうか?ϕ(0)(x,t=0.0)
NLi10Me 2016

の他の「成分」は実験的な画像データです。は、1つの画像をワープして他の画像と「一致」させようとします(ボクセルに統合されたL2ノルムなどの一致する関数によって測定されます)。一部の画像ペアでは、静的なステップサイズ(現在の選択)でスムーズな収束が得られます。他の画像ペアの場合、振動が多くなります。システムは完全に自動化されている必要があるため、問題のある画像ペアのステップサイズに戻って手動で編集することはできません。ϕ x t = 1.0 Eϕ(x,t=1.0)
NLi10Me 2016

そうです、勾配を得るために随伴システムを解く必要があります(これは厄介なシステムであり、時間がかかります)。さて、バックトラッキングラインサーチでBBを試してみようと思います。ありがとう非常にアドバイスをずっと。私のアドバイザーは多くの場合、理解するのが難しく、その多くはモデルだけではなく実装にあまり興味がありません。そもそも数値解法がモデルの良し悪しを実証する重要な要素であると感じているので、改めて感謝します。
NLi10Me 2016

回答:


15

一般的な注意から始めましょう:1次情報(つまり、勾配をエンコードする勾配のみを使用)は方向情報のみを提供できます:これは、関数の値が検索方向に減少することを通知できますが、時間の長さは通知できません。検索方向に沿ってどこまで行くかを決定するには、追加情報が必要です(一定のステップ長の勾配降下は、凸2次問題の場合でも失敗する可能性があります)。このため、基本的に2つの選択肢があります。

  1. たとえば、勾配降下の代わりにニュートン法を使用することで(曲率をエンコードする)2次情報を使用します(常に、最小化器に十分に近いステップ長使用できます)。1
  2. 試行錯誤(もちろん、Armijoなどの適切な行検索を使用することを意味します)。

あなたが書いているときに二次導関数にアクセスできず、関数obejctiveの評価に非常にコストがかかる場合、唯一の望みは妥協することです。十分な近似の二次情報を使用して、次のような適切な候補ステップ長を取得します。検索は評価のみを必要とします(つまり、勾配を評価するために必要な労力の最大で(小さい)定数倍)。O(1)

1つの可能性は、Barzilai--Borweinのステップ長を使用することです(例 :Fletcher:On the Barzilai-Borwein method。Optimization and control with applications、235–256、Appl。Optim。、96、Springer、New York、2005)。アイデアは、探索方向に沿った曲率の有限差分近似を使用して、ステップサイズの推定値を取得することです。具体的には、任意の選択し、を設定してから、:gで0=α0>0K = 0 g0:=f(x0)k=0,...

  1. 集合及びX K + 1 = X K + S Ksk=αk1gkxk+1=xk+sk
  2. 評価及びセットY 、K = G K + 1 - G Kgk+1=f(xk+1)yk=gk+1gk
  3. セットαk+1=(yk)Tyk(yk)Tsk

この選択は、2次関数に対して(実際には非常に迅速に)収束するように示されますが、収束は単調ではありません(つまり、関数値はより大きくなる可能性があります。しかし、たまにしかありません。フレッチャーの論文の10ページのプロットを参照してください)。非二次関数の場合は、これをラインサーチと組み合わせる必要があります。これは、非単調性を処理するように変更する必要があります。1つの可能性は、とように、(たとえば、バックトラックにより)。 ここでは典型的なArmijoパラメータとF X 、Kσ K0 α - 1、KF X 、K - σ K G 、Kmaxの最大値K - M 1 J K G 、Kγ 0f(xk+1)f(xk)σk(0,αk1)

f(xkσkgk)maxmax(kM,1)jkf(xj)γσk(gk)Tgk,
M M = 10γ(0,1)M単調性の程度を制御します(例:)。関数値の代わりに勾配値を使用するバリアントもありますが、あなたの場合、勾配は関数よりも評価するのにさらにコストがかかるため、ここでは意味がありません。(注:もちろん、BBのステップ長を盲目的に受け入れて運を信頼することもできますが、コメントに書いたように、何らかの堅牢性が必要な場合は、これは非常に悪い考えです)。M=10

別の(そして、私の意見では、はるかに良い)アプローチは、探索方向の計算で既にこの有限差分近似を使用することです。これは、準ニュートン法と呼ばれます。アイデアは、勾配の差を使用して、ヘッセ行列近似を段階的に構築することです。たとえば、(単位行列)を取り、 solve と を上記のおよび。(これはブロイデン更新と呼ばれますH 0 = 私はdは kは= 0 ... 、H 、K、S 、K = - G K HのK + 1 = HのK + Y K -2f(xk)H0=Idk=0,

(1)Hksk=gk,
ykxk+1
Hk+1=Hk+(ykHksk)T(sk)T(sk)Tsk
ykxk+1=xk+skそして実際にはめったに使用されません。より良いが少し複雑な更新はBFGS更新です。これについては-および詳細-NocedalおよびWrightの著書Numerical Optimizationを参照します。)欠点は、a)各ステップで線形システムを解く必要があります(しかしあなたの場合は初期条件である未知のサイズのみのため、勾配を取得するためにPDEを解決することによって努力が支配されるべきです;また、ヘッシアンの近似のための更新規則が存在し、単一の行列の計算のみが必要です-vector product)およびb)収束を保証するためにライン検索が必要です...

幸いなことに、このコンテキストでは、すべての関数評価を利用する代替アプローチが存在します。考え方は、対称で正定(BFGS更新で保証されます)の場合、解くことは、2次モデルを最小化することと同じ で信頼領域法、あなたは追加の制約とそうであろうと、ここでは適切に選択された信頼領域の半径(ステップ長)重要なアイデアは、計算されたステップに基づいて、この半径を適応的に選択することです。具体的には、比率を見て Hkq ks = 1(1)SΔKΔKσKρK=F

qk(s)=12sTHks+sTgk.
sΔkΔkσk ρK
ρk:=f(xk)f(xk+sk)f(xk)qk(sk)
関数の実際のおよび予測された減少。場合非常に小さく、あなたのモデルが悪かった、とあなたは捨てとして再度お試し。がに近い場合、モデルは良好であり、を設定してを増やします。それ以外の場合は、、をそのままにします。実際の最小化計算するためにのρkskΔk+1<Δkρk1xk+1=xk+skΔk+1>Δkxk+1=xk+skΔkskminsΔkqk(s)、完全に制約された最適化問題を解決する必要がないようにするいくつかの戦略があります。私のお気に入りは、シュタイハウグの切り捨てCGメソッドです。詳細については、NocedalとWrightを再度参照します。

私は今これをもう一度見ています。質問があることに気づきました。BBメソッドのステップ3では、次のようになります。 ; ここで、およびです。の式の分子と分母は内積のように見えます。私の場合、、ここでは自明でないリーマン計量のKです。つまり、。の定義に影響しますか? yk=gk+1gkαk+1=(yk)Tyk(yk)Tskyk=gk+1gksk=αk1gkαk+1gkVVgk,gkV=gk,KgkL2αk+1
NLi10Me 2016

はい、重要なベクトル空間構造がある場合は、アルゴリズムでそれを尊重する必要があります。特に、同じ空間内の2つの関数の内積(たとえば、と)と、空間内の関数と双対空間の関数の間の双対積(たとえば、と)を区別する必要があります。)-後者の場合、最初に内積に変換するために、リースマッピングを含める必要があります。(これは前提条件として解釈できます。)y k s k y kykykskyk
クリスチャンクラソン

Clason博士、私はISBI 2017に論文を提出し、微分同相の画像登録タスクのためにBB +ラインサーチ法を使用して行ったいくつかの実験について詳しく説明します。原稿に著者として含まれますか?まだ書いていませんが、ほとんどの実験は完了しているか、進行中です。私にお知らせください。
NLi10Me 2016年

@ NLi10Me親切な申し出をありがとうございましたが、共著に値するようなことは何もしていません-私が書いたものはすべて標準的な教科書資料です。それについて強く感じている場合は、「(役立つものは何でも)についての役立つコメント」に感謝しますが、それは必須ではありません。私が書いたことが役に立ったと知っていれば十分です!
クリスチャンクラソン16年

1
すみません、そうです、それはタイプミスです-修正されました!(Armijo条件はしばしばとして記述されます、ここでは検索方向です-必ずしも負ではありませんそして-グラデーション何が起こっているのか明確にすべきであるステップサイズ、)。S σf(x+σs)f(x)γf(x)T(σs)sσ
クリスチャンClason
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.