e4exp / paper_manager_abstract

0 stars 0 forks source link

An Overview of the Simultaneous Perturbation Method for Efficient Optimization #701

Open e4exp opened 2 years ago

e4exp commented 2 years ago

多変量解析による確率的最適化は,多くの工学システムの解析と制御において重要な役割を果たしています. 実際の最適化問題では、解析的(閉形式)解が得られることはほとんどないため、解を反復的に求める数学的アルゴリズムを使用する必要があります。 このような観点から、多変量最適化問題に対する「同時摂動確率近似法(SPSA)」が開発されました。 SPSAは近年、統計的パラメータ推定、フィードバック制御、シミュレーションベースの最適化、信号・画像処理、実験計画などの分野で国際的に注目を集めています。 SPSAの特徴は、最適化問題の次元に関係なく、目的関数の2つの測定値のみを必要とする基本的な勾配近似にあります。 この特徴により、特に最適化されるべき変数の数が多い問題において、最適化のコストを大幅に削減することができます。

(キーワード 勾配近似, 多変量最適化, シミュレーションに基づく最適化, 同時摂動確率的近似, SPSA, 確率的最適化.)

e4exp commented 2 years ago

はじめに

本稿では,多変数システムの確率的最適化のための simultaneous perturbation stochastic approximation (SPSA) アルゴリズムについて紹介します. 最適化アルゴリズムは,ほとんどの工学システムの設計,解析,制御において重要な役割を果たしており,APLやその他の組織の業務においても広く利用されています. 実際、将来は(最適化)アルゴリズムだらけになるでしょう。 最適化アルゴリズムは、ほとんどすべてのものに組み込まれるようになります。 最適化アルゴリズムは、企業全体の効率を上げるために、複雑さの連鎖を上っていきます。 また、コンピュータの普及に伴い、複雑性の連鎖を下降させています。(USA Today, 31 Dec 1997)

SPSAアルゴリズムを紹介する前に、ここでは確率的最適化に関する一般的な背景を説明します。 ほとんどの最適化問題の数学的表現は、調整可能なパラメータのベクトルに関して、あるスカラー値の目的関数を最小化(または最大化)することです。 最適化アルゴリズムは,調整可能なパラメータを,ある初期推測(または推測のセット)から目的関数を改善する値に変更するための,段階的な手順です.

image

図1は,u1とu2という2つの変数だけの非常に単純なケースで,目的関数が最小化される損失関数である場合のプロセスを示しています (一般性を損なわない範囲で,最大化問題は目的関数の符号を変えることで最小化問題に自明に変換できるため,ここでは最適化を最小化の文脈で説明します). しかし、現実の問題では、もっと多くの変数が必要です。 また,図1の例では,繰り返し処理を行っても損失関数の値が一様に減少しないことから,入力情報にノイズがある確率的最適化の典型的な例となっています(アルゴリズムの3段階目で損失値が一時的に増加していることに注意してください). 多くの最適化アルゴリズムは、決定論的な設定を前提とし、損失関数に関連する勾配ベクトル(すなわち、最適化されるパラメータに対する損失関数の勾配)に関する情報が利用可能であることを前提として開発されています。 しかし、直接的な勾配情報や測定値に依存しない再帰的最適化アルゴリズムへの関心が高まっています。 むしろ、これらのアルゴリズムは、損失関数の(一般的にノイズの多い)測定値から形成される勾配の近似値に基づいています。 このような関心は、例えば、複雑なシステムの適応制御や統計的同定、大規模なモンテカルロ・シミュレーションによるプロセスの最適化、リカレント・ニューラル・ネットワークの学習、ノイズの多いセンサーデータからの画像の復元、複雑な待ち行列や離散イベントシステムの設計などの問題に端を発している。

本稿では、直接的な勾配情報が得られないために、このような近似を使用する場合に焦点を当てています。 勾配なしの確率的アルゴリズムは、損失関数の測定のみを必要としながらも、勾配ベースの確率的アルゴリズム[例えば、Robbins-Monro1確率的近似(R-M SA)]と同様の収束特性を示します。 このようなアルゴリズムの主な利点は、勾配ベースのアルゴリズムで必要とされる、調整(最適化)されるパラメータと最小化される損失関数の間の関数関係に関する詳細な知識を必要としないことです。 一方、モンテカルロ最適化や再帰的統計的パラメータ推定などの分野では、損失関数を計算する方が、勾配を計算するよりも大幅に計算量を削減できる場合があります。

直接的な勾配測定に基づくアルゴリズムと、損失関数の測定値からの勾配近似に基づくアルゴリズムの違いについて詳しく説明します。 勾配ベースのアルゴリズムの原型はR-M SAであり、これは決定論的最急降下法やニュートン・ラフトン法、ニューラルネットワークのバックプロパゲーション法、離散事象システムのための無限小摂動解析ベースの最適化法などの技術の一般化と考えられる。 勾配ベースのアルゴリズムでは、最適化されるパラメータに対する損失関数の勾配を直接測定します。 一般的に、基礎となるデータにはノイズが含まれているため、これらの測定は通常、勾配の推定値をもたらします。 通常、システムの運用やシミュレーションの過程で、(ノイズが加わっていてもいなくても)勾配の直接的な測定値を自然に得ることはできないため、基本的なシステム出力の測定値からR-M勾配の推定値を計算するには、基本的なシステムの入出力関係に関する詳細な知識が必要となります。 一方、勾配近似に基づくアプローチでは、基本的な出力測定値を損失関数のサンプル値に変換するだけなので、システムの入出力関係を完全に知る必要はありません。 勾配のない確率的最適化の古典的な手法は,Kiefer-Wolfowitz有限差分SA(FDSA)アルゴリズムである2.

勾配ベース(R-M)と勾配なしのアルゴリズムの実装に必要な情報が根本的に異なるため、意味のある比較方法を構築することは困難です。 しかし、一般的には、反復回数で評価した場合、勾配ベースのアルゴリズムの方が、損失関数ベースの勾配近似を用いたアルゴリズムよりも収束が速いと言えます。 直感的には、勾配ベースのアルゴリズムに必要な追加情報を考えれば、この結果は驚くべきことではない。 特に、漸近理論に基づいて、真の最適パラメータベクトルからのパラメータ推定値の偏差で測定した最適収束率は、勾配ベースのアルゴリズムではk^{-1/2}オーダー、勾配近似に基づくアルゴリズムではk^{-1/3}オーダーとなる(kは反復回数を表す)。 (非勾配アルゴリズムの収束率の最大値がk^{-1/2}に任意に近いか等しいという特殊なケースも存在する)。 もちろん、実際には、以下の3つの理由から、どのアルゴリズムが最適かを決定するためには、他の多くの要素を考慮する必要があります。

(1)システムの入出力関係に関する信頼性の高い知識を得ることができない場合があります。つまり、勾配ベースのアルゴリズムは、(システムモデルが利用できない場合には)実現不可能であるか、(劣悪なシステムモデルを使用した場合には)信頼性に欠けるということになります。 (2) 効果的な収束を実現するための総コストは、必要な反復回数だけでなく、反復ごとに必要なコストにも依存し、勾配ベースのアルゴリズムでは一般的にこのコストが大きくなります。(このコストには、計算負荷の増加、勾配の決定とコーディングに必要な追加の人間の労力、モデル構築のための実験的なコスト(労働力、材料、燃料など)が含まれます)。 (3) 収束率は漸近理論に基づいており、有限のサンプルにおける実用的な収束率を代表していない可能性がある。

これらの理由から、勾配ベースのアルゴリズムが勾配近似ベースのアルゴリズムよりも優れているとは、勾配ベースのアルゴリズムの方が漸近的な収束速度が速いとしても、一概には言えません(また、無限小摂動解析などのシミュレーションベースの最適化では、1回の反復につき1回のシステム実行で済むのに対し、近似ベースのアルゴリズムでは、1回の反復につき複数回のシステム実行が必要となる場合があります)。

しかし、一般的には、直接的な勾配情報が便利で確実に得られる場合は、最適化プロセスにおいてこの情報を使用することが有利になります。 この記事では、そのような情報が容易に得られない場合に焦点を当てています。 次のセクションでは、SPSAと関連するFDSAアルゴリズムについて説明します。 次に、SPSAの収束と効率性に関連する理論の一部を要約します。 次のセクションでは、ニューラルネットワークに関連する例で、理論の意味を説明します。 次に、実装のための実用的なガイドラインが示され、その後、いくつかの補助的な結果とアルゴリズムのいくつかの拡張がまとめられています。 ここでは、遺伝的アルゴリズムやシミュレーテッドアニーリングなどの大域的な最適化手法については触れていませんが、Spall3では、確率的近似の文脈におけるこれらの手法についていくつかの議論を行っています。

e4exp commented 2 years ago

FDSA AND SPSA ALGORITHMS

この記事では,(スカラー)微分可能な損失関数L(u)を最小化する問題を考えます。 thetaはp次元のベクトルで,最適化問題は∂L/∂ theta = 0となる最小化theta*を見つけることに変換できます。 L(theta)の測定値は、様々なthetaの値で得られることを前提としている。 R-Mフレームワークとは対照的に、∂L/∂ thetaの直接的な測定値は得られないものとする。 ここでは、FDSAとSPSAのアルゴリズムについて説明する。 この記事ではSPSAに重点を置いていますが、FDSAは確率的最適化の古典的手法であるため、比較のためにFDSAについても説明します。 SPSAとFDSAの手順は、一般的な再帰的SA形式である

image

ここで、ˆg_k (ˆtheta_k )は、先に述べた損失関数の測定値に基づいた、イテレートˆtheta_kにおける勾配g(theta) = ∂L/∂ thetaの推定値である。 適切な条件の下では、式1の反復は、ある確率的な意味で(通常は「ほぼ確実に」)theta*に収束する(例えば、Fabian4やKushner and Yin5を参照)。 式1の重要な部分は勾配近似であるˆg_k (^theta_k )である。 ここでは、興味のある2つの形式について説明する。 y(-)をドットで表される設計レベルでのL(-)の測定値(すなわち、y(-)=L(-)+ノイズ)とし、c_kをある(通常は小さい)正の数とする。 片側勾配近似ではy (ˆtheta_k)とy( ˆtheta_k + perturbation)の測定値を使用し、両側勾配近似ではy(^theta_k ± perturbation)の測定値を使用します。 FDSAおよびSPSAで使用される一般的な勾配近似の2つの形式は、それぞれ有限差分と同時摂動であり、これらについては次の段落で説明します。 有限差分近似では、ˆtheta_kの各成分が一度に1つずつ摂動され、対応する測定値y(-)が得られる。 勾配推定値の各成分は、対応するy(-)の値を差分し、差分間隔で割ることで形成される。 これは、勾配ベクトルを近似するための標準的なアプローチであり、p個の偏微分のベクトルとしての勾配の定義から直接動機付けられている。 それぞれは、関数値の変化の、引数ベクトルの1つのコンポーネントにおける対応する変化に対する比の限界として構築される。 典型的には、両面有限差分近似のˆg_k (ˆtheta_k) (i = 1, 2,..., p)のi番目の成分は次のように与えられる。

image

ここで、e_iはi番目の場所に1を、他の場所に0を持つベクトルを表し(片側バージョンでは明らかな類似性が成り立つ;以下の同時摂動形式でも同様)、ckは小さな正の数を表し、通常はkが大きくなるほど小さくなる。 同時摂動近似では、2つの測定値y(-)を得るために、ˆtheta_kのすべての要素がランダムに摂動されるが、各成分ˆg_ki (ˆtheta_k)は、摂動ベクトルの各成分と対応する2つの測定値の差を含む比から形成される。 2面同時摂動の場合、次のようになる。

image

ここで,ユーザが指定したp次元のランダム摂動ベクトルDelta_k = (Delta_k 1, Delta_k 2,..., Delta_k p) ^Tの分布は,後述する条件を満たしている(上付きのTはベクトルの転置を表す). FDSAの各反復において必要な損失関数の測定値y(-)の数はpに応じて増加するが、SPSAでは分子がp個のすべての成分で同じであるため、pに依存せず2つの測定値のみが必要であることに注意されたい。 このような状況から、SPSAは、pが大きい場合、uの推定に必要な測定の総数を(FDSAよりも)大幅に削減できる可能性があります。 この可能性は、theta*への効果的な収束に必要な反復回数が、各反復における勾配近似ごとの測定数の節約をキャンセルするように増加しない場合にのみ実現されます。 この効率性の問題については、後のセクションでさらに検討し、以下のことを確立することで、この可能性が実現できることを示します。

一般的な条件下では,SPSAとFDSAは,SPSAの方がFDSAよりもp倍少ない関数評価しか行わないにもかかわらず(各勾配近似は1/pの関数評価しか行わないため),与えられた反復回数で同じレベルの統計的精度を達成します.

e4exp commented 2 years ago

SPSAの応用例

前節で述べた効率性の問題(次節で詳しく説明)は,実用的な多変量最適化に大きな影響を与えます. 従来の手法(例えばFDSA)では難しいとされていた多くの問題が解決可能になるかもしれません。 このセクションでは、APLでの研究を基に、他の方法では困難と思われた問題をSPSAで解決した3つの例を紹介します。 さらに、他のアプリケーションの可能性を示すために、他の機関で開発されたSPSAに基づくいくつかのプロジェクトの簡単な要約を最後に紹介します。

車両交通制御のための信号タイミング

交通工学における長年の課題は、与えられた道路ネットワークにおける車両の流れを最適化することです(図2)。 ネットワーク内の交差点における交通信号のタイミングを改善することは,一般に,この目標を達成するための最も強力で費用対効果の高い手段である. しかし、交通システムには、人間の行動、ネットワーク内の車両の流れの相互作用、天候の影響、交通事故、長期的(季節的)変動など、多くの複雑な側面があるため、特にシステム全体(複数の交差点)で最適な信号のタイミングを決定することは難しいとされてきた。 この問題の多くは、制御戦略の構成要素として非常に複雑な交通力学モデルを構築する必要があることに起因しています。 ここでいう「戦略」とは、交通状況の刻々の変化に応じてリアルタイムに信号タイミングを提供する一連のルールのことである。 APLのアプローチは、このような複雑なモデルを必要としないという点で、既存のアプローチとは根本的に異なります。 SPSAは、ネットワーク内のすべての信号のタイミングを同時に少しずつ変更し、その結果得られた情報をもとにシステム全体のタイミング戦略を更新する手段を提供することで、APLアプローチの中心となっている。 従来の「1つの信号ごとの」信号タイミング戦略の変更を避けることで、システム全体の最適な戦略を生み出すのにかかる時間を、数年から数十年(明らかに非現実的!)から数ヶ月(極めて合理的)に短縮します。 なお、後述の2つの例とは異なり、ここでの節約はそれ自体が計算上のものではなく、日常的にデータを必要とすることに起因するものです (したがって、労働力や時間などの物理的な実験コストの削減にもつながります)。 この手法については,Spall and Chin6およびChin et al.7に詳細が記載されており,ニューヨーク州マンハッタンの中心業務地区にある9交差点のネットワークと,メリーランド州モンゴメリー郡にある12交差点のネットワークの現実的なシミュレーションが行われています.

兵器システムの最適化

これは,プロセスを最適化するためにシミュレーションを使用した例であり,米国国防総省および米国国防総省以外の幅広い分野で行われています. 具体的には、ターゲットに向けて発射される多数の弾丸が与えられた場合、いわゆる巻き添え被害(学校や病院など、軍事任務とは直接関係のない敏感な場所への被害)を最小限に抑えながらターゲットへのダメージを最大化する目的で、照準点のセットを最適に選択するという問題です。 発射物には固有のランダムな変動があり、統計的な依存性がある場合がある。 そのため、ターゲッターは照準点を決定する戦略を立てる際に、照準点と実際の着弾点の間の統計的なばらつきを考慮しなければならない。 このような場合には、複数の発射体をパターニングして使用することが望ましい。 ここでいう "パターニング "とは、互いに重ならない、あるいは標的の境界内にない点の集合に投射物を向けることを意味する。 図3は、1つのターゲットと5つの発射体の場合のコンセプトを示している。

このケースでは、「ステイアウト・ゾーン」(民間施設など)から離れていることが明らかであり、ステイアウト・ゾーンにダメージを与える可能性を最小限に抑えながらターゲットを破壊することが望まれる。 多数の弾丸が独立して狙われるシナリオでは、最適な照準パターンを見つけるために評価しなければならないダメージ関数は、解析的には得られない可能性が高く、モンテカルロ・シミュレーションによる推定が必要となる。 特に、ある照準点の有効性を評価するためには、1回以上のシミュレーションを行う必要がある(1回のシミュレーションに対応する1回の投射の結果には、ランダムな変動があることを忘れないでほしい)。 シミュレーションによって最適化問題を解決する一般的な手法は,多くの異なる照準点セットに対するダメージ関数を評価しなければならない(すなわち,多くのシミュレーションを実行しなければならない)ため,計算量が多く,時間がかかりすぎる. SPSA法は,この多変量問題を効率的に解決する手段となる. この問題は,平面ターゲットの場合,p = 2 3 [発射体数]の次元を持つ(図3の小規模な例ではp = 10). SPSAは、すべての照準点座標を同時に変化させ、最適化プロセスのための勾配近似値を生成する過程でシミュレーションを実行します。 この方法は、シミュレーションを実行する前に、1つの狙い目の座標だけを変化させ、指定された名目の狙い目で各狙い目の座標を変化させて、指定された名目での勾配近似値を構築するというプロセスを繰り返す従来の方法とは大きく異なります。 同時に目的点を変更することで、必要なシミュレーションの数をp倍に減らすことができ、実行時間を数日から数分または数時間に短縮することができます。 この目標点の決定方法については,Heydon et al.8およびHill and Heydon.9に詳しい説明があります.

image image

Locating Buried Objects via Electrical Conductivity

ECOL(electrical conductivity object locator)とは、埋設物候補の周辺地域の地中に電流を流し、埋設物の位置を特定する手法である。 地表付近の電位を測定し、それをもとに地下の導電率を算出する。 探索する対象物は、周囲の土壌とは異なる導電性を持っている必要があり、鉱山の清掃や埋設物の探知などで注目されている金属やプラスチックの対象物などが挙げられる。 現在の技術では、10~30m2の範囲で、地表から5~500cmの物体を探索するのが限界である。 APLの敷地内ではいくつかの実証実験が行われており、そのうちの1つの設定を図4に示す。 ECOLの基本は、埋設物と周囲の土壌との導電性の違いを利用して、地下の有限要素モデルを構築することです。 これは、地下の性質や、導電性に影響を与える可能性のある多くの不純物(石、棒、木の根など)に関する不確実性と、有限要素モデルの高次元性に起因する、厳しい最適化問題である。 地下の本質的な不確実性のために、勾配ベースの手法は実行不可能であり、高次元であるために、「1変数ずつ」の手法は非常に時間がかかります。 SPSAは、この問題を比較的簡単かつ迅速に解決するために使用されました。 例えば、あるフィールド実験の表面データを用いた場合、180MHzのPentium PCで約4分後にアルゴリズムの効果的な収束が達成されましたが、従来の有限差分法では同じPCで約6〜7時間かかっていました。10

その他の応用例

APL内外で始まったSPSAの最近の応用例としては、Hill and Fu11およびFu and Hill12(待ち行列システム)、Hopkins13(重イオンビームの制御)、Rezayat14(産業の品質向上)、Maeda et al.15(パターン認識)、Kleinman et al.16(シミュレーションに基づく最適化と航空宇宙への応用)などが挙げられる。 (Cauwenberghs17(ニューラルネットワークトレーニング)、Spall and Cristion18,19 and Maeda and De Figueiredo20(ダイナミックシステムの適応制御のためのニューラルネットワークトレーニング)、Gerencsér21(心臓監視のためのECG信号の分類)。 Luman22(シミュレーションによる意思決定支援)、Alessandri and Parisini23(統計的モデルのパラメータ推定/故障検出)、Nechyba and Xu24(ヒューマンマシンインタラクション)、Sadegh and Spall25(センサの配置と設定)、Chin26(複雑な物理モデルの信号反転)などがあります。

image

e4exp commented 2 years ago

基本的な仮定とサポートする理論

thetaの実行可能な値にわたって損失関数L(theta)を最小化するという目的で、SPSAアルゴリズムは最適なthetaの初期推測から反復して動作し、反復プロセスは前述の勾配g(theta)の同時摂動近似に依存する。 Spall27,28は、一般的なSA理論でよく知られている微分方程式のアプローチを用いて、SPSAのイテレートの収束(確率的に「ほぼ確実」な意味でのˆ theta_k→ theta)のための十分条件を提示している(例えば、Kushner and Yin5 )。 収束を確立するために、両方のゲイン・シーケンス(akとck)、ユーザーが指定したDelta_kの分布、およびDelta_kと測定値y(-)との統計的関係に条件が課せられる。 これらの条件はSpallに掲載されているので、ここでは繰り返しません。 主な条件の本質は、akとckがともに速すぎず遅すぎずの速度で0になること、L(theta)がtheta付近で十分に滑らか(数回微分可能)であること、{Delta_ki}が独立しており、すべてのk, iに対して有限の逆モーメントE(|Delta_ki|-1)で0について対称に分布していることである。 これらの条件を満たすDelta_kiの分布としては、対称ベルヌーイ±1分布があり、条件(特に臨界有限逆モーメント条件)を満たさない一般的な分布としては、一様分布と正規分布があります。 Spall (Ref. 28, Sect. 4)は、SPSAの形式的な収束性の確立に加えて、適切にスケーリングされたˆtheta_kの確率分布が、大きなkに対して(指定された平均と共分散行列を持つ)近似的に正規であることを示しています。 この効率性は、SPSAの使用を正当化する主要な理論的結果です。 この効率は、L(theta)の形状、{ak}と{ck}の値、{Delta_ki}と測定ノイズ項の分布に依存します。 しかし、Spall (Ref. 28, Sect. 4)やChin,29で議論されているように、ほとんどの実用的な問題では、SPSAはFDSAよりも漸近的に効率的です。 例えば、akとckをSpallのガイドラインのように選択した場合30、SPSAとFDSAの漸近的な平均二乗誤差E(|| ˆ theta_k-theta* ||^2 )を等しくすると、次のようになる。

image

は、両方の手順における損失測定の数が大きくなるにつれて減少します。 したがって、式4は、一連の勾配近似が最終的な解ˆtheta_kに現れる複雑な非線形の方法にもかかわらず、反復(勾配近似)ごとのp倍の節約は、全体の最適化プロセスにおけるp倍の節約に直接変換されることを意味する。 実際の問題への実装に関連して、式4を別の方法で見ると、次のようになる。

問題のすべての変数に適切に選ばれた1つのランダムな同時変化を与えると、各変数を1回ずつ完全に変化させた場合と同等の最適化のための情報が得られる

この驚くべき重要な結果は、工学や科学の訓練で学んだことすべてに反しているように思えます。 最適化のために」という修飾語が、この言葉の有効性を決定的にしているのです。 この概念のオンラインアニメーションを見るには、青いボックスを選択してください。http://www.jhuapl.edu/digest/td1904/concept.htm

この重要な結果について、非公式な数学的根拠を説明しましょう。 図5は、2変数の問題の例で、レベルカーブは損失関数の中で等しい値のポイントを示しています。 ノイズの少ない環境では、FDSAアルゴリズムは、従来の勾配降下法と同様に、損失関数を局所的に最大に減少させるステップを踏むことになります。 微積分の標準的な結果は、図5のFDSAアルゴリズムのステップに示されているように、この「最も急な降下」の方向は、その点でのレベル曲線に垂直であることを示しています(各直線セグメントは、セグメントの原点でレベル曲線に垂直です)。 したがって、FDSAアルゴリズムは、積極的なスキーヤーが坂道を下るときに、各セグメントの開始点から最も急な下り坂になるように小さなセグメントに分けて進むのと同じような動作をしています。 一方、SPSAは、ランダムな探索方向を持つため、局所的に最も急な下り坂を辿ることはありません。 しかし、平均的には、勾配近似が勾配のほぼ不偏の推定値であるため、ほぼ最急降下の経路をたどります(すなわち、E[ gˆ_k (theta)] = g(theta) + small bias、ここでsmall biasはck^2に比例し、ckは前述の小数です)。 何度も繰り返しているうちに、SPSAの「方向違い」に関連する誤差は、ほぼすべてのランダムプロセスの標本平均を形成する際にランダムな誤差が相殺されるのと同様の方法で平均化されます(式1のak列がこの平均化を支配します)。 図5は、この効果を、SPSAの探索方向がFDSAの探索方向の周りを「跳ね回る」傾向にあるが、最終的には同じステップ数で解の近くに落ち着く様子を示している。 この議論は、ノイズのない、または低ノイズの損失関数の測定値を持つ2変数(p = 2)の問題が動機となっていますが(そのため、FDSAアルゴリズムは真の勾配降下アルゴリズムとほぼ同様に動作します)、同じ本質的な直観が高次元の設定とノイズの多い損失測定に適用されます。 ノイズの多い損失測定では、FDSAアルゴリズムも図5のように勾配降下法に近い動作をしないことを意味します。 しかし、SPSAとFDSAの関係(式4が関係している)は、多数の反復の中で方向の誤差を平均化するという考えに支配されることになります。

image

e4exp commented 2 years ago

実験結果

図6は、先ほどの理論的な結果の意味を実用的な場面で示したものです。 このグラフは、ニューラルネットワークを用いて、廃水処理プロセスの水の純度と副生成物であるメタンガスを調整するシミュレーションの結果を示しています(SpallとCristion19がこの問題について詳しく述べています)。 縦軸は損失関数L(theta)(水の清浄度と副産物のメタンガスにおける特定の目標値からの逸脱を測定)の正規化(単位用)バージョンを表し、横軸はアルゴリズムの反復回数を測定しています。 ここでのthetaベクトルの次元は412で、ニューラルネットワークの「接続重み」の数に相当します。 このグラフで注目すべき点は、FDSAとSPSAのアプローチは、最初の数回の反復後、与えられた反復回数で非常に似たレベルの精度を達成しているが、SPSAは反復ごとに2回の実験(損失評価)しか行わないのに対し、FDSAは824回の実験を行っていることである。 この違いは,ニューラルネットワークの重みを推定するという問題全体において,シミュレーションにおける計算量の削減や,実際の廃棄物処理施設における時間と費用の削減に相当する,非常に大きな節約につながることが明らかになりました. (図6のFDSAの最初の急激な低下は,重みがまだ安定していないことと,測定回数がまだ多いことから,若干の誤解を招く可能性があります(FDSAの最初の2回の反復では1600回以上であるのに対し,SPSAの全反復では160回です).) 図6の数値解析は、このような多くの例の一つに過ぎません。 また、他の種類の確率的最適化アルゴリズムとの比較も行われています。 例えば、Chin26は、磁気圏モデルのモデル推定の文脈で、一般的なシミュレーテッドアニーリングアルゴリズムとの比較を行い、SPSAがシミュレーテッドアニーリングを大幅に上回ることを発見しています。 また、筆者は、シミュレーテッド・アニーリングと数種類の有向ランダム探索との比較を行い、同様に優れた相対性能を見出している。 今後の課題は、一般的な遺伝的アルゴリズムや関連する進化的手法との比較を注意深く行うことである。

image

e4exp commented 2 years ago

SPSAの実装

以下のステップでは,SPSAが反復的に一連の推定値を生成する方法を示しています. 枠内のインサートは、MATLABコードによる以下のステップの実装を示しています。

ステップ1:初期化と係数選択

カウンターインデックスk = 1を設定します。初期推測と、SPSAのゲインシーケンスak = a/(A + k) aおよびck = c/kgにおける非負の係数a、c、A、a、およびgを選ぶ。 ゲインシークエンス(akとck)の選択は、SPSAの性能にとって非常に重要である(すべての確率的最適化アルゴリズムと、それぞれのアルゴリズム係数の選択と同様)。 Spall30では、実用的に効果的な方法でこれらの係数を選ぶためのガイダンスを提供しています。(thetaの要素が非常に異なる大きさを持っている場合、相対的な大きさに関する事前情報が利用可能であれば、ゲインakの行列スケーリングを使用することが望ましいかもしれません。次節では、異なる大きさに対して自動的にスケーリングするSPSAの2次バージョンについて説明する)。

ステップ2:同時摂動ベクトルの生成。

モンテカルロ法により、p次元のランダム摂動ベクトルDelta_kを生成する。 ここで、Delta_kのp個の成分はそれぞれ、前述の条件を満たすゼロmean確率分布から独立に生成される。 Delta_kの各成分の簡単な(そして理論的にも有効な)選択は、±1の各結果に対して1/2の確率を持つベルヌーイ±1分布を使用することである。 なお、一様乱数および正規乱数は、SPSAの正則性条件により、Delta_kの要素には認められていません(逆モーメントが無限にあるため)。

ステップ3:損失関数の評価

損失関数L(-)の2つの測定値を、ステップ1および2からのckおよびDelta_kを用いて、現在のˆ theta_k :y( ˆtheta_k+ ck Delta_k)およびy( ˆ theta k- ck Delta_k)の周りの同時摂動に基づいて取得する。

ステップ4:勾配近似

未知の勾配g(ˆtheta)kに対する同時摂動近似を生成する。

image

ここで、Delta_kiはDelta_kベクトルのi番目の成分である(ステップ2で述べたように、±1の確率変数であってもよい)。 ˆg_k(^theta_k)のp個の成分すべてに共通する分子は、標準的な有限差分近似における成分ごとの摂動とは対照的に、ˆtheta_kのすべての成分の同時摂動を反映していることに注意してほしい。

ステップ5:theta推定値の更新

標準的なSA形式を使用します。

image

を更新して、ˆtheta_kを新しい値ˆtheta_k+1にする。 収束性を高めたり、制約を課したりするために、式6の基本的な更新ステップを修正することが望ましい場合がある。 これらの修正は、式6からの「基本」値が望ましくないと思われる場合、thetaの新しい値への更新をブロックまたは変更する。 参考文献31(Section.2)では、いくつかの可能性について述べられている。 thetaの構成要素に最大値と最小値の許容値を指定できる場合の簡単な可能性の1つが、箱入りの挿入物の下部に示されている。

ステップ6: 反復または終了。

kの代わりにk+1を用いてステップ2に戻ります。 いくつかの連続した反復でほとんど変化がない場合、または最大許容反復数に達した場合、アルゴリズムを終了します (より正式な終了ガイダンスについては、Pflug, Ref. 32, pp.297-300)。)

image

e4exp commented 2 years ago

基本的なSPSAアルゴリズムの拡張とさらなる結果

Sadegh and Spall33は、Delta_kベクトルの最適な分布を選択する問題を検討しています。 漸近分布の結果に基づいて、Delta_kの成分に対する最適な分布は対称ベルヌーイ分布であることが示されています。 この単純な分布は、多くの有限サンプルの実用例やシミュレーション例においても有効であることが証明されている。 アルゴリズムの説明のステップ2の推奨事項は、これらの結果に基づいています。 (ただし、他の分布が望ましい場合もあることに注意が必要です。ユーザーはこの選択を完全に制御することができ、Delta_kの生成は最適化のための些細なコストであるため、アプリケーションによっては他の可能性を評価する価値があるかもしれません。 例えば,Maeda and De Figueiredo20は,ロボット制御のアプリケーションにおいて,対称的な2部一様分布,すなわち,[逆モーメントの有限性を保持するために]0付近でセクションを削除した一様分布を使用した).

基本的なSPSAアルゴリズムには、いくつかの拡張機能が報告されています。例えば、損失関数が時間とともに変化するフィードバック制御問題での使用については、Spall and Cristionに記載されています18,19,34文献34が最も完全な方法論と理論的な取り扱いです。 文献18では、ノイズ効果を減らし収束性を高めるための勾配平滑化のアイデア(ニューラルネットワークの文献における「モメンタム」に類似)についても報告されています(また、収束性を確保するために時間経過とともに平滑化をどのように減らすべきかのガイドラインも示されています)。 また、ノイズの影響を減らすために、各反復において複数の同時摂動勾配近似を平均化することも可能です(ただし、関数の追加測定が必要になります)。 これについては、Spallで議論されています28。 大域的最小化のためのSPSAの実装については、Chin35で議論されています(すなわち、g(theta)=0となる最小値が複数存在する場合)。 Sadegh36やFu and Hill12では、SPSAを用いた制約条件付き(等式・不等式)最適化の問題が、投影法を用いて検討されています。 Spall37では、同時摂動勾配近似の一回測定法が検討されていますが、Ref. 37では、標準的な2回測定形式の方が通常は効率的であることが示されていますが(theta反復において所定の精度を得るための損失関数測定の総数の観点から)、基本的なシステムダイナミクスが急速に変化して2回の連続測定では信頼できる勾配推定値を得られない可能性がある実時間オペレーションにおいては、1回測定形式には利点があります。 このアプローチでは、SPSAアルゴリズムに2次(Hessian)効果を加え、決定論的なNewton-Raphsonアルゴリズムの確率論的な類似性において収束を加速することを目的としています。 標準的な(1次)SPSAアルゴリズムと同様に、この2次アルゴリズムは実装が簡単で、反復ごとに損失関数のpに依存しない少数の測定しか必要としません(標準的なSPSAのような勾配測定はありません)。 特に、各反復において損失関数の勾配と逆ヘシアンを推定するために必要な測定値は4つだけです(アルゴリズムの動作を確認するために、追加で1つの測定値を推奨する場合もあります)。 このアルゴリズムは、2つの単純な並列再帰を用いて実装されています。 1つはthetaに対するもの、もう1つはL(theta)のヘシアン行列に対するものです。 uに関する再帰は、決定論的最適化の有名なNewton-Raphsonアルゴリズムの確率的アナログです。 ヘシアン行列の再帰は、SP型のアイデアを用いて形成された反復ごとのヘシアン推定値のサンプル平均を再帰的に計算するだけです。

e4exp commented 2 years ago

結論

確率的最適化は,標準的な決定論的手法と比較して,厳密な最適解を求めることができる実用的な問題の範囲を大幅に拡大する。 確率的最適化のアルゴリズムは,ネットワーク解析,シミュレーションベースの最適化,パターン認識・分類,ニューラルネットワークの学習,画像処理,非線形制御などの分野で,効果的な処理を可能にする。現代のシステムが複雑化し、人口の増加や天然資源の減少により、これまで不要だったトレードオフが求められる中、確率的最適化の役割は今後も拡大していくと予想されます。 SPSAアルゴリズムは、効果的な確率的最適化手法であることが実証されています。 SPSAの主な長所は、実装が簡単で損失関数の勾配を必要としないこと、相対的な効率性の理論的・実験的裏付け、損失測定値のノイズに対するロバスト性、複数の(ローカルおよびグローバル)最小値が存在する場合にグローバル最小値を見つける能力の経験的証拠です。 SPSAは主に連続変数の問題に限定されており、他の手法と比較して、損失関数の測定値にノイズが加わった場合に最も効果的である。 有限差分法、シミュレーテッドアニーリング、遺伝的アルゴリズム、ランダムサーチなどの手法との数値比較により、幅広い実用的な問題においてSPSAの有効性が主張されています。 世界中で急速に増加しているアプリケーションの数が、このアルゴリズムの有効性をさらに証明しています。 さらに、高速な決定論的Newton-Raphson(2次)アルゴリズムの確率論的アナログ、リアルタイム(制御)実装への適応、いくつかのタイプの制約付き最適化問題および大域的最適化問題のためのバージョンなど、基本的なアイデアのいくつかの拡張が行われてきました。 SPSAは、基本的なアルゴリズムをより広範な実世界の設定に拡張するために多くの作業が続けられていますが、広範な難問に対応しており、実際に遭遇する確率的最適化の課題の多くに考慮されるべきでしょう。