見出し画像

memo4




https://www.sciencedirect.com/science/article/pii/S0952197623017025




1.introduction

  三連倒立振子の制御は難しく、シミュレーションのみを用いて検証されることが多く、実際の実験はほとんど報告されていない。
モデルフリーRLは二重倒立振子より複雑なTIPに対して多くのメモリとデータを必要とする。長時間の学習はシステムにダメージを与える。物理的に対象な構造を利用したVERを提案している。

2.Preliminaries

  TIPはラグランジュ形式の運動方程式により

$$
\mathbb{D}(\mathbb{q})\ddot{\mathbb{q}} + \mathbb{C}(\mathbb{q}, \dot{\mathbb{q}})\dot{\mathbb{q}} + \mathbb{G}\dot{\mathbb{q}} + \mathbb{g}(\mathbb{q}) = \tau
$$

と表される。
ここでDはシステムの運動方程式において、質量行列は加速度にかかる力の分布を示す。Cはコリオリ行列といい速度変化によリ発生する力を表す。Gは減衰行列といい摩擦や抵抗を表す。gは重力効果ベクトルといい重力による影響を表す。τは制御力=外部から加えられる力を表す。
ここで一般化座標$${q =[x,\theta_1,\theta_2,\theta_3]}$$

2.2  


 標準的なRLフレームワークにおいて、制御問題は5つの要素(S,A,P,R,γ)によって表記されるマルコフ決定過程として形式化される。

ここで
S:状態空間 
A:行動空間 
P:状態遷移確率密度関数 
 次の状態が現在の状態と行動に依存して遷移する確率
R:報酬関数
 特定の状態で特定の行動を取ったときに得られる報酬
γ:割引率 将来の報酬を現在の価値に割引くための係数0~1

RLの行動規範は確率政策πとして表され各状態s∈Sに対して各行動a∈Aの条件付き確率密度を表す。各タイムステップについてstよりπに従ってatを実行する。ここから報酬を生成して確立モデルに従って新しい状態$${s_{t+1}}$$に遷移する。

制御ではエージェントが取る行動が連続値で表されることが多い。連続行動空間での政策はパラメータにより定義される。これは政策がパラメータに依存することを意味する。
現代のRLにおいて政策はDNNとして実装される。
エンコーダのcprとは分解能のことcounter per revolution
一回転する間に生成するパルスの数。
下は高い精度を必要とする。高精度だと高価なので全て同じではなく下に行くにつれて高精度のものにしていると考えられる。4000cprも比較的高精度。

3.データ駆動型振り上げ制御

 TIP制御問題をMDPとして形式化する。4つの要素として形式化される。
3.1.1 S,A
  TIPにおいて各タイムステップにおける状態は$${s_t = [{q_t}^T,\dot{{q_t}^T}]}$$
として表され初期状態$${S_0}$$は
$${s_0 = [0,\pi,0,0,0,0,0,0]}$$ (8自由度)
q自体は4つの要素。
$${S_0}$$は下に下がった状態で$${S^*}$$は上に倒立した状態。

行動aはカートに加えられる力もしくは電圧として定義される。物理的制約によりaは制限される。

3.1.2 


 TIPの動力学は理想的には式(1)によって支配されるが外乱等により確立的な分布を取る。

3.1.3

報酬関数R
   報酬関数の目標はs→s* であり密な報酬関数が使用される。
密な報酬関数とは各タイムステップでも中間報酬を受け取ることができる関数。 
・振子アームの持ち上げを優先 スイングアップの動機づけ
・過度な角速度に対しペナルティ
・カートの位置を中心に保つことでスムーズな動き
報酬関数は次のように定義される。

$$
R(s, a) = f(a)g(x)h(\theta_1)h(\theta_2)h(\theta_3) \min(e(\dot{\theta}_1), e(\dot{\theta}_2), e(\dot{\theta}_3))
$$

f(a)について考える。$${max[1-(a/a_{max})^2,1]}$$ について
2乗しているのは符号を正にするのと外れ値の影響を大きくするため。 ここでaの絶対値がamaxより大きくなると$${1-(a/a_{max})^2<0}$$となるのでmaxの関数は=0となる。
すると(1-af)の係数が0となるのでf(a)=αfとなる。
このαfはスケーリング係数という重み付けの係数である。

g(x)について考える。 $${-c_gx^2}$$について
$${c_g}$$を大きくするとxの変動に対してexpの中身の負の値が大きくなりexp→0に近づく。
全体としての影響はαgにより決定する。

$${h(\theta_{1,2,3})}$$についてこの値はそれぞれの角度に対し個別に計算されるため3つある。要するに個別の角度に対し

$${h(\theta)=\alpha_h +(1-\alpha_h)\frac{1+cos(\theta)}{2}}$$

という計算を行う。2で割るのは0~1の値にスケーリングするため
角度が0の場合が最も報酬が高い。

(6)でもそれぞれの各速度に対し値があるので3つ定義される。
2乗があるのは正負の影響をなくすため。expの中身が大きくなると0に近づくので影響が小さくなる。

$${e(\dot\theta1,2,3) = \alpha_e + (1 - \alpha_e)exp(-c_e\dot\theta1,2,3^2)}$$

αの値およびcの値は[0 1]の範囲を取りそれぞれの 要素の重要性を制御するために使用される。報酬の要素であるf(α)~e(θdot)などは0~1の範囲で変動する。そのためR(s,a)も0~1の範囲になる。TIPが目標値に近づくとR(s,a)は1に近づく

3.2 台車上の三重倒立振子の対称性の特性

 三重倒立振子は反射対称の特性を持つ。st=[q,qdot]の状態を考える。行動αtによりs(t+1)が得られるとする。これから反対の行動についても同じように$${(\~{s_t},\~{at},\~{st}+1 )}$$  と定義される。
遷移確率密度関数は特定の状態sでαを取った時に次の状態がs'になる確率を表す。
(7)は対称性より反対でも遷移確率密度関数が同じであるということ。

3.3  VER 仮想経験再生

オフポリシーRLアルゴリズムを使用する。
保存された経験サンプルをランダムに選択し経験リプレイを行う。対応する仮想経験を経験サンプルと共に利用しVERを使用する。
古いポリシーによって取得された経験サンプルを廃棄する代わりに古いサンプルを保持し複数回再利用してポリシーを更新する。

循環バッファーが利用される。

流れとしてはtにおいてポリシーによって生成されたN状態遷移タプルをDに保持する。DからM状態遷移タプルをサンプリングしてミニバッチMを構築して更新するために利用する。

学習プロセスは、標準的な再生バッファからデータを保持する。
仮想ミニバッチを生成する。仮想ミニバッチとは仮想経験再生の一部として使用されるデータセット。VERは対称性を元に新しい経験サンプルを生成し学習効率を高める手法。

ミニバッチサイズ ( M ) は通常、バッファサイズ N よりもはるかに小さい(例えば、[64, 128, 256])ため、仮想経験サンプルを生成するために毎回メモリストレージを取得する必要がない。次に、よりデータ効率の高いRLアルゴリズムを実現するために、仮想ミニバッチ が価値およびポリシーネットワークのトレーニング目的に反映される。

VERの利点は データ効率とメモリ効率、汎用性

VERとSACの統合は学習プロセスを高めるように設計されている。
この加速はTIPの固有の反射対称性特性を利用することで達成される。これにより実世界のデータを減らすことができるが、学習の計算強度は増加する。しかし長期的には計算資源と時間の節約につながる可能性がある。


3.4 


VERはさまざまなオフポリシー強化学習に適用できる。本研究はVERの有効性を実証するためにTIPをスイングアップさせるためのSACを使用する。 SACではクリティックが各ステップで、Mに関してそれぞれのソフトベルマン斬差を最小化することによりΨパラメータ化されたソフトQ関数を推定する。

クリティック:価値関数を学習し行動を評価するネットワーク
ベルマン残差:Q関数のターゲットと予測値の差を測定する指標
$${\hat{Q}(s_t, a_t)}$$はターゲットQ値

Ψパラメータ化:
あるモデルや関数がパラメータセットΨによって定義されていること。

(10)について


$$
\mathcal{J}Q^{\mathcal{M}}(\psi) = \frac{1}{|\mathcal{M}|} \sum{\mathcal{M}} \left[ \frac{1}{2} \left( Q_{\psi}(s_t, a_t) - \hat{Q}(s_t, a_t) \right)^2 \right]
$$

この式はSACにおけるクリティックネットワークの損失関数を示している。Q関数の予測値とターゲット関数の誤差を最小化することを目的としている。

$${\mathcal{J}_Q^{\mathcal{M}}(\psi)}$$


• これは、ミニバッチ (\mathcal{M}) に対して計算されたQ関数の損失(またはコスト)です。$$(\psi)$$ はQ関数のパラメータを示します。
パラメータ:モデルや関数の挙動を示すための内部変数のこと。重みやバイアスなど多数の変数の集合。

$${ \frac{1}{|\mathcal{M}|} \sum_{\mathcal{M} } }$$


• これは、ミニバッチ (\mathcal{M}) 内の全てのサンプルに対する平均を取ることを示します。
$${ |\mathcal{M}| }$$ はミニバッチ内のサンプル数です。


$${ (Q_{\fai}(s_t, a_t) - \hat{Q}(s_t, a_t ) )^2 }$$

• これは、Q関数 ( Q_{\ψ} ) の予測値 ( Q_{\ψ}(s_t, a_t) ) とターゲット値 ( \hat{Q}(s_t, a_t) ) との二乗誤差を示します。
• この二乗誤差を最小化することで、Q関数の予測がターゲット値に近づくようにします。

$${ \frac{1}{2} }$$

• 二乗誤差の前に掛けられているスケーリング係数です。二乗誤差の標準的な定義で用いられますが、特に重要な意味は持ちません。勾配計算の際に対称性を保つために使われることがあります。

Ψの値は学習プロセスを通じて更新される。

(11)について


$${\hat{Q}(s_t, a_t) = r_t + \gamma (Q_{\psi}(s_{t+1}, \hat{a}{t+1}) - \alpha \log \pi{\psi}(\hat{a}{t+1} | s{t+1}))}$$

この式はターゲットQ値を計算するもの。このターゲットQ値は式(10)に組み込まれる。

サンプリングとはある確立分布からランダムに値を選び出すこと。
$${\pi_{\phi}( \cdot |s_{t+1})}$$ は確率分布を表している。$${\cdot}$$は全ての可能な行動
ある行動の確立分布から次に取るべき行動を確立的に決定する。
αは温度パラメータを示す。

温度パラメータ:エントロピー正則化の重みを調整するために使用されるハイパーパラメータ

エントロピー正則化:ポリシーが多様な行動を取るように奨励する技術

エントロピー:ある確率分布の不確実性を測る指標、ポリシーのランダム性を示す。エントロピーが高いほどポリシーは多くの行動を試みる。

$${\hat{Q}}$$ はターゲットQ値といって目標値のようなもの。スカラー値

$${r_t}$$ : エージェントが状態$${s_t}$$で$${a_t}$$を取った時に得られる即時の報酬

$${ \gamma }$$ : 未来の報酬を現在の価値に割引するための係数
0~1の範囲。 未来の報酬の影響をどれだけ重視するかを決定する。

$${ Q_{\psi}(s_{t+1},\hat{a}_{t+1}) }$$ :  将来のQ値 
次の状態で次の行動をとった時のQ値 

$${\alpha \log \pi_{\psi}(\hat{a}{t+1} | s{t+1}) }$$ : エントロピー項

ポリシーが次の状態で行動をとる確率の対数を取ったもの
確率は0~1の値を取る。ここで対数を取ると-∞~0の範囲でスケーリングされる。確率が低いほど負の方向に大きくなる。
確率が1に近いと0に近づく。そこで確率が低いほどエントロピーの値は大きくなるので多様な行動を奨励する程度を調整する。
マイナスの係数が最後につくので値は正の値になる。

式(12)について



$$
\mathcal{J}{\pi}^{\mathcal{M}}(\phi) = \frac{1}{|\mathcal{M}|} \sum{\mathcal{M}} \left[ \alpha \log \pi_{\phi}(\hat{a}t | s_t) - Q{\psi}(s_t, \hat{a}_t) \right]
$$

式(12)はSACにおけるアクターネットワーク(ポリシー$${\pi_{\phi}}$$)の損失関数を表す。これはエージェントのポリシーを更新するために使用される。

各項の詳細

$${\mathcal{J}_{\pi}^{\mathcal{M}}(\phi)}$$ : 
 ミニバッチに対して計算されたポリシーの損失

$${\frac{1}{|\mathcal{M}|} \sum_{\mathcal{M}}}$$
ミニバッチの全てのサンプルに対する平均を取る

$${\alpha \log \pi_{\φ}(\hat{a}_t | s_t)}$$
エントロピー項

$${Q_{\psi}(s_t, \hat{a}_t)}$$
Q関数の予測値。 状態$${S_t}$$とポリシーによって選択された行動$${\hat{a}_t}$$に対する価値を示す。

アクターネットワーク:

 アクターネットワークは、強化学習においてエージェントの行動方針(ポリシー)を学習するためのモデルです。アクターネットワークは、特定の状態に対して最適な行動を選択するための確率分布を出力します。このネットワークは、行動を決定する「アクター(行動者)」として機能し、エージェントがどの行動を取るべきかを指示します。

式(13)について


$$
\mathcal{J}{Q}^{\tilde{\mathcal{M}}}(\psi) = \frac{1}{|\tilde{\mathcal{M}}|} \sum{\tilde{\mathcal{M}}} \left[ \frac{1}{2} \left( Q_{\psi}(\tilde{s}_t, \tilde{a}_t) - \hat{Q}(s_t, a_t) \right)^2 \right]
$$

式(13)はSACにおける仮想ミニバッチのQ関数の損失関数を表す。
Q関数の予測値とターゲットQ値との誤差を最小化することを目的とする。これにより仮想ミニバッチに対してもQ関数の学習が行われる。

$${\mathcal{J}_{Q}^{\tilde{\mathcal{M}}}(\psi)}$$
仮想ミニバッチに対して計算されたQ関数の損失

$${\frac{1}{|\tilde{\mathcal{M}}|} \sum_{\tilde{\mathcal{M}}}}$$
仮想ミニバッチ内の全てのサンプルに対する平均

$${\left( Q_{\psi}(\tilde{s}_t, \tilde{a}_t) - \hat{Q}(s_t, a_t) \right)^2}$$
Q関数の予測値とターゲットQ値との二乗誤差を示す。これを最小化することでQ関数の予測がターゲット値に近づくようにする。

$${\frac{1}{2}}$$
スケーリング係数、特に重要な意味は持たない。購買計算の際に対称性を保つために使われることがある。

仮想ミニバッチの目的は、エージェントがより多様な経験を得ることでより堅牢で一般化能力の高いポリシーを学習すること。

式(14)について


$$\mathcal{J}Q(\psi) = \mathcal{J}{Q}^{\mathcal{M}}(\psi) + \mathcal{J}_{Q}^{\tilde{\mathcal{M}}}(\psi)$$

式(14)はQ関数の最終的な損失関数を示している。この損失関数は実際のミニバッチに対する損失関数と仮想ミニバッチに対する損失関数を組み合わせたもの。これによりQ関数のパラメータが更新される。

式(15)について

$$
\mathcal{J}{\mathcal{M}}^{\pi}(\phi) = \frac{1}{|\mathcal{M}|} \sum{\mathcal{M}} \left[ \alpha \log \pi_{\phi}(\hat{a}_t | \tilde{s}t) - Q{\psi}(\tilde{s}_t, \hat{a}_t) \right]
$$

損失関数を示している。
パラメータ化された方策πが仮想ミニバッチMを用いてトレーニングされる方法を示している。

式(16)について

これは方策関数の更新を目的とする損失関数。方策関数はエージェントがどの行動を取るべきか決定する関数。

式(16)を最小化することを目標とする。

4


デジタルツイン:データを元にデジタルモデルを作成する。


方策関数と価値関数はReLU活性化関数を備えた300と400のユニットの2つの隠れ層を持つ別々のフィードフォワードNNを用いて近似された。

4.2

TIPモデルは2.1で説明されたものを数値シミュレーションに使った。関連する物理パラメータはTIPを使用して推定された。推定方法は掲載されていない。
全ての推定パラメータ表はEq(1)におけるそれぞれを決定する。

行動値はFとして[-10,10]Nで20msごとに更新された。各エピソードは1000タイムステップ=20sの時間で設定された。カートは左右に50cm移動できる。カートが範囲外に出るとエピソードは終了。最大タイムステップは1000、各エピソードの最大報酬は1000


4.4


シミュレーションでは

  5000タイムステップごとに評価。 わずかに異なる状態で10回行い平均化した。 総報酬>800でバランスを保つ。 
VERは0.8Mで達成 VER無しは1.2Mで達成
トレーニングステップは66.68%に減らすことができた。これは5時間分の削減に相当。
シミュレーションでは3秒でスイングアップしその後保持した。

実機では
 200万ステップで学習を行い 25時間かかった。方策は10000ステップごとに評価された。 時間を節約するために方策評価は10回ではなく1回実行。同じパラメータで10回行なって平均を出していたのを1回ということ

学習中ギアベルトの破損が頻繁に発生し学習プロセスが一時停止し交換後に再開。


VERでは100万回で>800に達した。830に収束した。
3秒以内で安定し保持した。
総報酬は890と830でわずかに異なったがこれは実機による誤差などが考えられる。

5.

 制御システムの領域において、TIP(倒立振り子)は長い間、制御戦略の有効性とロバスト性を示すためのベンチマークとして広く認識されています。データ駆動型の方法で実際のTIPを制御するための実践的なアプローチには、現実的な状況を考慮した既存の方法を補完する必要があります。これが、この研究で構造認識仮想経験リプレイ(VER)法を提案する理由です。VERは、TIPの本質的な反射対称性の特性を利用して、強化学習(RL)アルゴリズムのデータ効率を高める新しい方法を提供します。

提案された戦略は、構造的対称性を持つシステムに特に有益です。TIPのようなシステムでは、提案された戦略を他のシステムや環境に適応させるには、異なる構造的および動的特性に合わせて修正が必要になるかもしれません。提案されたVER戦略と従来のモデルベースの制御設計が根本的に異なるパラダイムで動作していることを認識することが重要です。前者は機械学習と人工知能の力を活用して制御を最適化するデータ駆動型アプローチに基づいており、後者は数理モデルと分析的方法に依存しています。

この研究では、VERは確立されたSAC(Soft Actor-Critic)アルゴリズムに適用され、その優れた学習性能を引き出すために使用されました。VERは、現実世界でもモダンなRL技術と構造的に対称な複雑なシステムに統合でき、わずかな修正で効果的に機能することが強く信じられています。結果として、VERを統合したSACアルゴリズムは、学習プロセスを加速するだけでなく、TIPのスイングアップとバランス調整のためのより安定した信頼性のある制御戦略を提供することが判明しました。この効率性の向上に寄与する主な要因には、仮想体験のリアルタイム生成、追加の実験データ収集なしでのトレーニングデータの増強、および仮想体験のための別個のストレージの必要性の減少に起因するメモリ効率の向上が含まれます。

本実験中の大きな課題は、モーターの回転をカートの動きに変換するギアベルトの破損が頻繁に発生したことです。破損が発生するたびに、学習プロセスは一時的に中断され、ベルトが交換された後にのみ再開されました。使用されていたゴム製のギアベルトをより強固なものに置き換えるか、あるいは代替の機械設計を検討することで、この問題の解決が期待されます。

他の先駆的な研究と同様に、実用的なVERベースのRLにはさらなる探求の余地がたくさんあります。特に、過去のデータを記憶する機能を持つニューラルネットワークは、シミュレーションと現実のギャップを縮めるのに非常に有効です。この文脈では、LSTM、BiLSTM、GRUなどの再帰型ニューラルネットワーク(RNN)の能力に注目する価値があります。最近の研究では、RNNが物理的ダイナミクスのモデル化を含む逐次データ処理に有望であることが示されています。このような過去の情報を記憶する能力は、不要な試行を避けることで学習時間を短縮し、提案されたアプローチの適用範囲を広げることができます。最近の研究(Skrobek et al., 2022; Pirani et al., 2022)は、類似の応用においてRNNの優位性を実証しています。これらの研究結果に基づいて、提案された手法の性能と適用性が実際に向上することが期待されます。このようにして、提案された手法はより複雑なシステムや高次元の環境でもうまく機能する可能性があります。

本論文は、特に大きな遅延や外受容センサを有する複雑な環境での制御の可能性を見据えています。これらの課題は非常に解決が難しいものの、提案された手法を改善し、拡張するための機会を提供します。TIPの成功は有望な前例となっており、提案された手法がより複雑なシステムや環境にどのように適応するかを探ることが興味深いです。提案されたアプローチを異なるシステムに適応させるためには、特定の構造的および動的特性に対応するためのカスタマイズされた戦略の開発が含まれるかもしれません。また、異なる種類の環境ノイズ、障害、および多様な実世界の応用に固有の不確実性に対処するための修正も必要になる可能性があります。

6. conclusion

  何十年にもわたり、モデルベースの制御理論は様々な明確に定義された制御問題に対する明示的かつ厳密な解決策を提供するために発展してきました。しかし、多くの場合、正確なモデルを得ることは非常に難しいです。この問題を克服するために、データ駆動型の制御方法が代替手段として提案されています。この点で、実際のTIPに対してこれまでに達成された最初の実験的なデモンストレーションは、TIPが高度なリアルタイム制御を必要とするベンチマーク制御システムとして広く認識されていることから、大きな意義を持ちます。

TIPの成功した制御には大量のデータが必要です。この欠点を軽減するために、学習のデータ効率を向上させるためのVERも提案しました。提案されたVERはシンプルですが、学習のために与えられた構造を最大限に活用する方法を示しています。よく知られたSACは、他の条件が同一でVERを欠くSACと比較することで、VERがあるときにうまく機能することが証明されました。

提案されたSACベースのアプローチは、TIPにのみ特化されています。将来の研究として、他のRLアルゴリズムやシステムにも適用できるより一般的な方法を開発することがタイムリーです。さらに、将来の研究テーマには、最適化された学習のためのVERの改良、他のRLアルゴリズムとの互換性の評価、TIP以外のアプリケーションへの拡張、および時間遅延や外受容センサーを持つより過酷な環境のための戦略の策定が含まれるかもしれません。TIPの成功は有望な前例を設定しており、提案された方法がより複雑なシステムや環境にどのように適応するかを探ることは興味深いです。











 


よろしければサポートお願いします!