見出し画像

論文の易しい数学解説 - オンラインメタ強化学習によって~の論文について

前回下記の論文について翻訳記事を書きましたが、僕自身まったく数式を理解できなかったので、その後、ChatGPTに一つ一つ丁寧に教えてもらいました。その内容をまとめました。
数式アレルギーの方を一人でも減らせたら幸いです。


■ メタ強化学習

$${\max_\theta J_z(\theta) := \mathbb{E}{P\left(s_{t+1} \mid s_t, a_t ; z\right), \pi\left(s_t, a_t ; \theta\right)}\left[\sum_{t=1}^H \gamma^t r\left(s_t, a_t\right)\right]}$$

この数式は、強化学習のフレームワークを説明し、特定の目標関数を最大化することに焦点を当てています。以下、数式の各部分を説明します:

1. 変数の説明

1.1 $${( z_t )}$$ : 環境モードやエージェントから隠された潜在変数を示します。これは、環境がどのような「状態」にあるかを示すパラメータとして考えられます。

1.2 $${( s_t )}$$ : 時間 $${( t )}$$ におけるエージェントの状態を示します。これはエージェントが環境から受け取る観測を示します。

1.3 $${( a_t )}$$ : 時間 $${( t )}$$ におけるエージェントのアクションを示します。エージェントはこのアクションを取り、環境に影響を与えます。

1.4 $${( H )}$$ : 「決定期間 $${(H)}$$」は、強化学習タスク内でエージェントが行動を選択し、相互作用を行う時間のフレームやステップの総数を指します。言い換えれば、「ホライズン」とも呼ばれるこの期間は、エージェントが一連の行動を通じて目標(この場合は報酬の最大化)を達成しようと試みる「タスクの持続時間」や「シミュレーションの長さ」を示します。

1.5 $${( \pi(s, a ; \theta) )}$$ : ニューラルネットワークに基づいたポリシー関数を示します。これは、現在の状態とアクションのペアが与えられたときのアクションの確率分布を提供します。$${( \theta )}$$ はニューラルネットワークのパラメータを示します。

1.6 $${( r_t )}$$ : 報酬関数を示します。これは、エージェントがどれだけ「良くやっている」かを測定するための関数です。

2. 数式の詳細

2.1 目標

  • この数式の目的は、期待累積報酬の最大化を目指すポリシーのパラメータ $${( \theta )}$$ を見つけることです。

2.2 累積報酬

  • 累積報酬 $${( \sum_{t=1}^H \gamma^t r\left(s_t, a_t\right) )}$$ は、時間 $${( t = 1 )}$$ から $${( H )}$$ までの割引報酬の合計を示します。割引因子 $${( \gamma )}$$ (0 より大きく、1 以下)は未来の報酬を現在の報酬よりも少し低く評価するための係数です。

  • 割引因子は通常0と1の間の値を取り、将来の報酬をどの程度現在の報酬として評価するかを示す因子です。例えば、$${(\gamma = 0.9)}$$の場合、1ターン先の報酬は現在の報酬の90%として評価されます。タイムステップが進むにつれてこの「割引」は累積され、非常に遠い未来の報酬はほとんど無視されることになります。

  • 報酬関数は、特定の状態$${((s_t))}$$で特定のアクション$$((a_t))$$を取ったときにエージェントが受け取る報酬を示します。この関数の目的は、エージェントが目標を達成する助けとなる行動を奨励することです。

2.3 遷移確率

  • 遷移確率 $${( P\left(s_{t+1} \mid s_t, a_t ; z\right) )}$$ は、現在の状態 $${( s_t )}$$ とアクション $${( a_t )}$$ が与えられたとき、次の状態 $${( s_{t+1} )}$$ になる確率を示します。この確率は潜在変数 $${( z )}$$ に依存しています。これは環境の動きや変化をモデル化します。

2.4 ポリシー

  • ポリシー $${( \pi\left(s_t, a_t ; \theta\right) )}$$ は、与えられた状態 $${( s_t )}$$ とアクション $${( a_t )}$$ で、ニューラルネットワークに基づくポリシーのアクションの確率を示します。パラメータ $${( \theta )}$$ はこのポリシーの性質を決定します。

3. 数式全体の解釈

全体として、数式

$${\max_\theta J_z(\theta) := \mathbb{E}{P\left(s_{t+1} \mid s_t, a_t ; z\right), \pi\left(s_t, a_t ; \theta\right)}\left[\sum_{t=1}^H \gamma^t r\left(s_t, a_t\right)\right]}$$

は、状態遷移確率とポリシーのもとでの期待累積報酬を最大化する $${( \theta )}$$ を見つける問題を定式化しています。ここで $${( J_z(\theta) )}$$ は、特定の $${( z )}$$ の下での累積報酬の期待値を示します。

  • 期待値$${((\mathbb{E}))}$$は、確率変数の平均値または期待値を示す数学的な記号です。この数式では、特定のポリシー$${(\pi)}$$と遷移確率$${(P)}$$の下での累積報酬の期待値を計算します。

1. $${( \max_{\theta} )}$$

この部分は、数式全体が「$${(\theta)}$$ の関数としての最大値を見つける」という目的を示しています。ここでの「最大化」は、様々な可能な $${(\theta)}$$ の値(ニューラルネットワークのパラメータ)を通じて期待累積報酬 $${( J_z(\theta) )}$$ を最大化しようという意味です。

2. $${( J_z(\theta) )}$$

これは、特定の $${( \theta )}$$ の値での「期待累積報酬」を表す関数です。基本的に、これは強化学習エージェントが取りうる様々な行動を通じて得られる報酬の合計値を示します。目的は、この合計報酬を最大化する $${( \theta )}$$ を見つけることです。

3. $${( := )}$$

この記号は「定義される」と解釈されます。つまり、左側の変数(この場合は $${( J_z(\theta) ))}$$は、右側の式によって定義されます。

4. $${( \mathbb{E} )}$$

この記号は「期待値」を示します。期待値は、ある確率分布に従ってランダムに選ばれた変数の平均値を示します。このケースでは、期待値は遷移確率 $${( P(s_{t+1} | s_t, a_t ; z) )}$$ とポリシー $${( \pi(s_t, a_t ; \theta) )}$$ に関連した確率分布に基づいて計算されます。

5. $${( \left[ \sum_{t=1}^H \gamma^t r(s_t, a_t) \right] )}$$

この部分は、時間 $${( t = 1 )}$$ から $${( H )}$$ までの期間にわたる割引報酬の合計を示します。$${( \gamma )}$$ は割引因子で、$${( r(s_t, a_t) )}$$ は時間 $${( t )}$$ での報酬を示します。

数式全体を見ると、これは期待累積報酬 $${( J_z(\theta) )}$$ を最大化するパラメータ $${( \theta )}$$ を見つけるという目的を示しています。この目的達成のために、エージェントはポリシー $${( \pi(s, a ; \theta) )}$$ を用いて環境と相互作用し、各ステップでの報酬 $${( r(s_t, a_t) )}$$ を最大化しようとします。


Q, 全体の数式の流れや処理を、文章として一つにまとめた場合はどういう文になりますか?

A, この数式は、メタ強化学習のコンテキストにおいて、エージェントが環境と相互作用しながら得られる累積報酬を最大化するのに最適なポリシー(行動選択の戦略)を見つけることを目指しています。

具体的には、エージェントは時間ステップ1からHまでの期間で、各ステップで選択される行動 $${( a_t )}$$(由来するポリシー $${( \pi(s_t, a_t ; \theta) )}$$ に基づく)とその行動に対する報酬 $${( r(s_t, a_t) )}$$ を考慮します。

割引因子 $${( \gamma )}$$ は、将来の報酬が現在の報酬よりも少し価値が低い(割引される)ことを示しています。これを通じて、エージェントは特定のパラメータ $${( \theta )}$$ のもとで期待される累積報酬を最大化しようとします。

また、この最適化は特定の環境モード $${( z )}$$(これが影響を与える遷移確率 $${( P(s_{t+1} | s_t, a_t ; z) )}$$ に表れる)に関連して行われます。したがって、目標は、環境モード $${( z )}$$ と関連した遷移動力学を考慮しながら、期待される累積報酬を最大化するニューラルネットワークのパラメータ $${( \theta )}$$ を見つけることです。

この過程は、エージェントが環境との相互作用を通じて学び、時間の経過とともにその行動戦略(ポリシー)を改善していく、強化学習の基本的なフレームワークに従っています。


■ オンラインメタ適応学習

1, 用語と変数の説明

オンラインメタ適応学習 (Online Meta-Adaptation Learning, OMAL): これは、エージェントがリアルタイムでその適応戦略を調整できるような方法を提案する研究分野です。従来のメタRLは事前学習とオフライン学習を中心にしていましたが、OMALはオンライン、つまりリアルタイムでの適応を目指します。

メタポリシー $${( \theta )}$$: メタポリシーは、いくつかの基本ポリシーから選出される最良のポリシーを示すパラメータセットです。これは異なるタスクや環境での学習を助けるものです。

適応マッピング $${( \Phi )}$$: これは、エージェントが現在の観測に基づいて、元のメタポリシー $${( \theta )}$$ を新しい状況に適応させるための関数やルールです。

モード $${( z )}$$: エージェントが存在する特定の環境や状態を示します。

適応マッピング $${( \Phi_t(\theta) )}$$: これは、エージェントが収集した観測を利用して、元のメタポリシー $${( \theta )}$$ を新しいポリシーに適応させるためのマッピングです。

「マッピング」とは、一般的には、ある集合の各要素を別の集合の要素に関連付ける関数や規則のことを指します。このコンテキストでは、適応マッピング(Adaptive Mapping)は、メタ強化学習の中で特定のパラメータや戦略の調整を行うための規則やアルゴリズムを指します。

数式の中で表されている適応マッピング $${(\Phi_t(\theta))}$$ は、時刻 $${t}$$ までの観測に基づいてポリシーパラメータ $${\theta}$$ を調整する関数です。ここでの「適応」とは、エージェントが異なる環境や状況に「適応」できるように、その行動方針(ポリシー)を調整することを意味します。

言い換えると、エージェントは時刻 $${t}$$ までの観測を利用して、元のメタポリシー$${\theta}$$を新しいポリシーに「適応」させるためのマッピング関数$${\Phi_t}$$を利用しています。これにより、エージェントは環境からのフィードバックを利用して、その行動を連続的に改善し、最終的な目標(この場合、累積報酬の最大化)に近づけることができます。

2. 数式の詳細

1.

この部分は、時刻 $${(1)}$$ から $${(H)}$$ までの期間にわたって、適応マッピング $${( \Phi_t )}$$ に関して最大化操作を行うことを示しています。ここで $${( \Phi_t )}$$ は時刻 $${( t )}$$ での適応マッピングを表します。

2. $${( \mathbb{E}_{z_1, z_2, \cdots, z_H} )}$$

この記号 $${( \mathbb{E} )}$$ は期待値を表します。期待値は、確率変数の各値とその確率の積の合計として定義されます。ここでは、$${( z_1, z_2, \ldots, z_H )}$$ という変数に関する期待値を計算しています。

3. $${( \sum_{t=1}^H r^\pi\left(s_t ; \Phi_t(\theta)\right) )}$$

  1. $${( \sum_{t=1}^H )}$$ : この記号は、「$${( t = 1 )}$$ から $${( t = H )}$$ までの合計」を意味します。言い換えれば、各時点$${( t )}$$での何らかの量(この場合は報酬)を合計します。

  2. $${( r^\pi\left(s_t ; \Phi_t(\theta)\right) )}$$ : これは一時点$${( t )}$$での報酬関数を表しています。この関数は、状態$${( s_t )}$$と適応策略$${( \Phi_t(\theta) )}$$を入力として受け取り、その時点での報酬を返します。

    1. $${( r^\pi )}$$ : 報酬関数。これはポリシー$${( \pi )}$$(エージェントの行動戦略)に基づいた報酬を表します。

    2. $${( s_t )}$$ : 時点$${( t )}$$での状態。これはエージェントがその時点で知覚している環境の特定の状態を表します。

    3. $${( \Phi_t(\theta) )}$$ : 時点$${( t )}$$での適応策略。これは基本的なポリシー$${( \theta )}$$を適応させるためのマッピング(変換)を示します。この適応策略は、エージェントが時間経過とともに新しい情報を取り入れてポリシーを調整する方法を提供します。

合わせると、この部分の数式は「時間$${( t = 1 )}$$から$${( t = H )}$$までの期間で、適応策略$${( \Phi_t(\theta) )}$$に基づき状態$${( s_t )}$$で得られる報酬$${( r^\pi )}$$の合計」を表しています。

次に、この式の残りの部分を見ていきます:

  1. s.t. : これは「subject to」の略で、次に来る条件下で最適化を行うことを意味します。

  2. $${( z_{t+1} \sim p_z(\cdot \mid z_t), t=1, \ldots, H-1 )}$$

この式は、時刻$${( t )}$$での状態$${( z_t )}$$から時刻$${( t+1 )}$$での状態$${( z_{t+1} )}$$への遷移を表しています。ここでの「状態」とは、エージェントが現在存在する環境や条件を指します。

  • $${( z_{t+1} )}$$ : 時刻$${( t+1 )}$$での状態を示しています。

  • $${( p_z(\cdot \mid z_t) )}$$ : これは条件付き確率分布を示しており、現在の状態$${( z_t )}$$が与えられたときの次の状態$${( z_{t+1} )}$$の確率分布を表します。つまり、$${( z_t )}$$がわかれば、$${( z_{t+1} )}$$の分布を知ることができます。

3. $${( \theta = \arg \max \mathbb{E}_{z \sim \rho_z}[J_z(\theta)] )}$$

この式は、最適なポリシーのパラメータ$${( \theta )}$$を求めるための条件を表しています。

  • $${( \theta )}$$ : ポリシーのパラメータを表しています。これは、エージェントがどのような行動をとるかを決定するルールを決める変数です。

  • $${( \arg \max )}$$ : この部分は、関数を最大化する変数(ここでは$${( \theta )}$$を求めることを示しています。

  • $${( \mathbb{E}_{z \sim \rho_z}[J_z(\theta)] )}$$ : これは、異なる環境状態$${( z )}$$(分布$${( \rho_z )}$$からサンプリングされる)にわたる累積報酬の期待値を表します。ここで、$${( J_z(\theta) )}$$はある環境状態$${( z )}$$における累積報酬を表します。

3. 数式全体の解釈

つまり、全体としてこの式は「異なる状態$${( z )}$$における累積報酬の期待値を最大化するようなポリシーのパラメータ$${( \theta )}$$を見つけ出せ」という命令になります。


■ NUMERLA

まず、目標関数について見てみましょう:

ここで、目的は時間 $${( t = 1 )}$$ から $${( H )}$$ までの期間にわたる期待累積報酬を最大化する適応マッピング $${( \Phi_t )}$$ を見つけることです。$${( r^\pi(s_t ; \Phi_t(\theta)) )}$$ は、時間 $${( t )}$$ における報酬関数で、$${( s_t )}$$ は状態、$${( \Phi_t(\theta) )}$$ は適応マッピング関数を示しています。

次に制約条件を見てみましょう:

ここで、$${( z_{t+1} \sim p_z\left(\cdot \mid z_t\right) )}$$ は、時間 $${( t )}$$ から $${( t+1 )}$$ への状態遷移を示しています。この遷移は、現在の状態 $${( z_t )}$$ に依存する確率分布 $${( p_z )}$$ を用いてモデル化されます。

次に、$${( \theta=\arg \max \mathbb{E}_{z \sim \rho_z}\left[J_z(\theta)\right] )}$$ は、期待累積報酬 $${( J_z(\theta) )}$$ を最大化するポリシーパラメータ $${( \theta )}$$ の最適な値を見つけるための条件です。

そして、$${( \Phi_t(\theta) \in f_t\left(z_t\right) )}$$ は、各時点 $${( t )}$$ における適応マッピング $${( \Phi_t(\theta) )}$$ が、関数 $${( f_t(z_t) )}$$ に属する必要があることを示します。

最後に、$${( f_t(z_t) )}$$ の定義は、いくつかの条件 $${( \chi_i(z_t) )}$$ に基づき、どの適応ポリシー $${( \varphi_i )}$$ が適用されるかを示します。これは、「SSC」または「Sequential Safety Criteria」であり、システムが異なる状態を経るときのポリシーの安全性を保証する目的で設計されています。

モード空間とポリシー空間の関連:

モード空間$${((\mathcal{Z}_t))}$$とポリシー空間$${((\Theta_t))}$$のマッピング

$${f_t: \mathcal{Z}_t \Rightarrow \Theta_t}$$

この数式は、時刻 $${(t)}$$ における「モード空間」から「ポリシー空間」への関数マッピングを示しています。ここで、モード空間は環境の特定の状態(モード)を表し、ポリシー空間はその状態で可能なアクション(ポリシー)の集合を示します。関数 $${(f_t)}$$ は、時刻$${(t)}$$での特定のモード $${(z_t)}$$ に対する最適なポリシーを示すマッピングを提供します。

シンボリックロジック判断の集合$${((\mathcal{X}))}$$

$${(\mathcal{X})}$$ は一連のシンボリックロジック判断(または条件)を表します。これらの条件は、モード空間をさまざまな領域に分割し、特定の条件が満たされるときにどのポリシーが適用されるかを定義します。

物理的行動空間とそのサブセットの関係$${((\Theta))}$$

$${(\Theta)}$$ は物理的な行動空間を示し、これはエージェントが取りうるすべての行動の集合を表します。この空間には、「安全な」行動のサブセットも含まれます。これは、特定のモード $${(z_t)}$$ での最も安全な行動の選択肢を含むセットとして定義されます。

理解の深化:

このセクションは、どのような条件下でエージェントが安全かつ効果的な行動を選択できるかを説明するための枠組みを提供します。時刻 (t) における環境の「モード」(または状態)とエージェントがそのモードで選ぶべき「ポリシー」(または行動)の関連を示すマッピングが提供されます。また、シンボリックロジック判断を用いて、さまざまな条件下での最適なポリシー選択を導出する方法も示されます。

このフレームワークは、エージェントが特定の環境状態で最適かつ安全なポリシーを選択できるようにするための数学的枠組みを提供します。このような枠組みは、例えば自動運転車やロボティクスのような分野での安全なエージェントの動作を保証するために非常に重要です。


■ 予測オンライン先読み適応

エージェントの動作と計算フロー

  1. 初期設定:

    • 時刻 $${t}$$:エージェントは時刻 $${t}$$ で動作を開始します。

    • 信念 $${(b_t)}$$:エージェントはこの時点で環境に関するある種の信念や予測を持っています。これは、環境の状態や動作に関する初期知識や仮説を表します。

  2. ポリシーの適用:

    • ポリシー $${(\theta)}$$:エージェントはポリシー $${(\theta)}$$ に従って行動を選択します。ポリシーは、エージェントがどのように行動を選択するかを定義する一連のルールや指針です。

  3. 未来トラジェクトリの計算:

    • エージェントは未来のKステップにわたるトラジェクトリを計算します。このトラジェクトリは以下の要素から構成されます:

      1. 行動選択確率:$${(\pi(a_{t+k} | s_{t+k} ; \theta))}$$ は、時刻 $${(t+k)}$$ で状態 $${(s_{t+k})}$$ が与えられたときに行動 $${(a_{t+k})}$$ を選択する確率を表します。

      2. 状態遷移確率:$${(\sum_{z \in \mathcal{Z}} b_t(z) P(s_{t+k+1} | s_{t+k}, a_{t+k} ; z))}$$ は、状態 $${(s_{t+k})}$$ と行動 $${(a_{t+k})}$$ が与えられたときの次の状態 $${(s_{t+k+1})}$$ への遷移確率を表します。この確率は、環境の遷移が未知 $${((P))}$$ であることを考慮して計算されます。

      3. トラジェクトリ確率:これらの確率を合成してトラジェクトリの全体的な確率 $${(q(\tau_t^K ; b_t, \theta))}$$ を計算します。これは、時刻 $${(t)}$$ から $${(t+K)}$$ までの行動と状態の系列(トラジェクトリ)の確率を示します。

  4. 目標の最大化:

エージェントの目的は、新しいポリシー $${(\theta')}$$ を見つけることで、未来のKステップにわたる報酬の期待値を最大化することです。これは数式で表されます:

この目的は以下の要素を含みます:

$${(\theta')}$$:新しいポリシーの候補。
$${(\mathbb{E})}$$:期待値(平均)を表す数学的記号。
$${(r(s_{t+k}, a_{t+k}))}$$:時刻 $${(t+k)}$$ での報酬関数,これは取った行動の「良さ」を評価します。

処理の流れ

  1. 時刻 $${t}$$ での信念の確立:エージェントは時刻 $${t}$$ で環境に関する初期信念を形成します。

  2. 行動の選択と評価:エージェントはポリシー $${(\theta)}$$ に従って行動を選択し、その行動と結果として得られる状態を評価します。

  3. 未来トラジェクトリの予測:エージェントは未来のKステップにわたる状態と行動のトラジェクトリを予測し、それに関連する確率を計算します。

  4. 報酬の最大化:エージェントは未来のKステップにわたる報酬の期待値を最大化する新しいポリシー $${(\theta')}$$ を見つけようとします。

この流れを通じて、エージェントは未知の環境で最適な行動を探求し、その行動の結果として得られる報酬を最大化しようと試みます。

補足 : 
1, $${( b_t(z) )}$$
- $${( b_t )}$$: これは時刻 $${(t)}$$ におけるエージェントの「信念」を示しています。信念とは、エージェントがその時点で持っている、環境の状態や遷移に関する情報や知識のことを言います。環境がどのような状態にあるかや、どのように変化するかに関するエージェントの予測や推測が含まれます。

- $${(z)}$$: この変数は、環境の特定の状態や属性を表しています。たとえば、エージェントがどのような状況下にいるか、どのような選択肢があるかなどの具体的な情報が $${( z )}$$ によって表現される場合があります。

- $${( b_t(z) )}$$: この式全体は、時刻 $${( t )}$$ でエージェントが $${( z )}$$ という特定の状態や状況に対して持っている信念(または確信度)を表しています。実際には、この信念はエージェントが環境を観察し、学習していく過程で更新され、改善されていきます。

2. トラジェクトリ
トラジェクトリは、一連の状態と行動の系列を指します。具体的には、ある時点から始まり、一定の時間枠内でエージェントが取る行動と、それによって引き起こされる状態の変化を記録したものです。

トラジェクトリの概念は特に、時系列に依存する問題やダイナミックな環境での解析に非常に役立ちます。エージェントは、トラジェクトリを通じて過去の行動と結果を分析し、未来の行動を最適化することができます。

数式で表したトラジェクトリ $${( \tau_t^K )}$$ は、時刻 $${( t )}$$ から $${( t+K )}$$ までのエージェントの行動と状態の系列を示します。このトラジェクトリは、エージェントがその期間に経験する一連の状態と行動を詳細に追跡し、表現するものです。


■ オンライン適応の制約

了解しました。それでは、まずキーワードの説明を行い、その後に数式の詳細な説明を行います。

キーワードの説明

  1. オンライン適応: エージェントが新しいデータを収集しながらリアルタイムで学習し、そのデータを利用して行動方針を逐次更新していくプロセスのことです。

  2. トラジェクトリ (Trajectory): エージェントが環境内で取る一連の状態と行動の系列のことです。

  3. 重要度サンプリング (Importance Sampling): 一つの確率分布に関する期待値を、別の確率分布から得られるサンプルを利用して推定するテクニックです。

  4. Kullback-Leibler (KL) ダイバージェンス: 二つの確率分布間の相違度を計測するための指標。新しいポリシーと元のポリシーの間の類似性を保持しつつ、最適化を進めるために用いられます。

  5. Conjectural Lookahead Optimization (CLO): 未来のトラジェクトリの報酬を最大化するための新しいポリシーのパラメータを見つける再定式化された最適化問題です。

数式の分解と説明

まず、以下の数式を分析します。

第1ステップ: 最適化変数の選定
$${\max _{\theta^{\prime} \in \Theta}}$$
ここでは、新しいポリシーのパラメーター $${(\theta')}$$ を選定し、そのパラメーター空間 $${(\Theta)}$$ 内で目的関数を最大化する $${(\theta')}$$ を見つけることが目標です。
第2ステップ: 期待値の計算
$${\mathbb{E}_{q\left(\cdot ; b_t, \theta\right)}[\cdot]}$$
この段階では、ある分布 $${(q)}$$ ($${(b_t)}$$ と$${ (\theta)}$$ に依存)に関する期待値を計算しています。期待値は、全ての可能な事象の平均を意味します。
第3ステップ: 重要度サンプリングと報酬の計算

この部分では、新旧のポリシー間での行動の確率比(重要度サンプリング)を計算し、その後で、各ステップ (k) での報酬を合計します。

処理の流れ

  1. 新しいポリシーパラメータの選定

    • 最初に、新しいポリシーパラメータ $${(\theta')}$$ を選択します。

  2. トラジェクトリの生成と報酬の計算

    • 次に、現在のポリシー $${(\theta)}$$ と信念 $${(b_t)}$$ に基づきトラジェクトリを生成します。

    • 各ステップ $${(k)}$$ での報酬 $${(r(s_{t+k}, a_{t+k}))}$$ を計算します。

  3. 期待報酬の計算

    • 生成されたトラジェクトリを利用して、新旧のポリシー間での行動の確率比を利用した期待報酬を計算します。

  4. 最適化

    • 最後に、計算された期待報酬を最大化するような $${(\theta')}$$ を見つけるために最適化を行います。

この流れは、未知の環境遷移と報酬関数を扱う際の困難を克服するための方法を提供しています。また、最適化問題に対する制約は、新旧のポリシー間のKLダイバージェンスがある閾値 $${(\delta)}$$ 以下であることを保証します。

これにより、新しいポリシーは旧ポリシーからあまり離れすぎず、学習が安定して行われることが保証されます。

制約条件は以下の式で表されます:

$${\text { s.t. } \quad \mathbb{E}{s \sim q} D{K L}\left(\pi(\cdot \mid s ; \theta), \pi\left(\cdot \mid s ; \theta^{\prime}\right)\right) \leq \delta,}$$

ここで "s.t." は "subject to" の略で、これは最適化問題における制約条件を表します。この制約条件の詳細を分析しましょう:

数式の分解と説明

Kullback-Leibler (KL) ダイバージェンス:

$${D_{K L}\left(\pi(\cdot \mid s ; \theta), \pi\left(\cdot \mid s ; \theta^{\prime}\right)\right)}$$

この部分はKLダイバージェンスを示し、2つの確率分布間の差異を計算します。この場合、$${( \pi(\cdot \mid s ; \theta) )}$$ と $${( \pi\left(\cdot \mid s ; \theta^{\prime}\right) )}$$ という2つの確率分布の間のKLダイバージェンスを計算します。

期待値 : $${\mathbb{E}_{s \sim q}[\cdot]}$$
これは状態 $${( s )}$$ が分布 $${( q )}$$ からサンプリングされるときの期待値を表します。

制約 : $${\leq \delta}$$
ここで $${( \delta )}$$ は、新しいポリシー $${( \theta' )}$$ と元のポリシー $${( \theta )}$$ の間のKLダイバージェンスの最大許容値を表します。この制約により、新しいポリシーが旧ポリシーからあまり逸脱しないようになります。

処理の流れ

この制約条件は最適化の過程で以下のステップを行います:

  1. 新旧ポリシーのKLダイバージェンスの計算:

    • 各状態$${( s )}$$において、新しいポリシー $${( \pi(\cdot \mid s ; \theta^{\prime}) )}$$ と現在のポリシー $${( \pi(\cdot \mid s ; \theta) )}$$ の間のKLダイバージェンスを計算します。

  2. 期待KLダイバージェンスの計算:

    • 状態$${( s )}$$が分布$${( q )}$$からサンプリングされる場合のKLダイバージェンスの期待値を計算します。

  3. 制約条件の適用:

    • 計算された期待KLダイバージェンスが $${( \delta )}$$ 以下であることを確認します。これにより、新しいポリシーが旧ポリシーから大きく逸脱しないように制限します。

解説

この制約条件は、新しいポリシーが旧ポリシーからあまり逸脱しないようにするために設けられています。KLダイバージェンスは、二つの分布間の“距離”を測る尺度として用いられるので、この制約は新しいポリシーが旧ポリシーとある程度類似していることを保証します。これは、学習の安定性を保つために重要です。

アルゴリズムのフロー

1, Input

  • メタポリシー $${(\theta)}$$: 現在のエージェントのポリシー。これは、エージェントが状態$${(s)}$$から行動$${(a)}$$を選択する方法を示します。

  • 信念 $${(b)}$$: エージェントの現在の信念状態。これはエージェントが環境に関して持っている現在の情報や予測を表します。

  • トレーニングサンプル $${({\mathcal{D}_z})}$$: エージェントが学習のために利用するデータの集合。

  • サンプルバッチサイズ $${(M)}$$: それぞれのバッチにおけるトラジェクトリのサンプル数。

  • ルックアヘッドホライゾン $${(K)}$$: エージェントが未来の状態をどれだけ先まで考えるかの時間ステップ数。

2, For Loop (for $${(t \in{1,2, \ldots,})}$$)

このループは各時間ステップ$${(t)}$$で実行されます。ここでは各時間ステップでのエージェントのアクションとポリシーの更新を説明します。

a. センサー入力の取得
- $${(s_t)}$$: タイムステップ$${(t)}$$での環境からのセンサー入力。

b. アクションの実行
- $${(\pi(\cdot \mid s_t ; \theta_t))}$$: センサー入力$${(s_t)}$$に基づいて、現在のポリシー$${(\theta_t)}$$を使用してアクションを選択および実行します。

c. 信念の更新
- $${(b(z ; s_t))}$$: センサー入力$${(s_t)}$$に基づいて信念$${(b)}$$を更新します。

d. トラジェクトリのサンプリング
- $${(M) trajectories ((K) steps from (t)) (\hat{\tau}_t^K) under (z) from ({\mathcal{D}_z})}$$: トレーニングデータ$${(\mathcal{D}_z)}$$から$${(M)}$$個のトラジェクトリをサンプリングし、それぞれ$${(K)}$$ステップ先までの予測を行います。

e. Conjecture Lookahead Optimization (CLO)の解決
- $${(\theta^{\prime})}$$: 以前に説明した最適化問題を解決して新しいポリシーを取得します。

f. ポリシーの更新
- $${(\theta_{t+1} = \theta^{\prime})}$$: 新しいポリシー$${(\theta')}$$を次の時間ステップでのポリシー$${(\theta_{t+1})}$$として設定します。

解説

このアルゴリズムは、各時間ステップでエージェントの行動を決定し、その後にポリシーを更新するというプロセスを繰り返します。これにより、エージェントは時間が経つにつれて最適な行動を学習し、それに従って行動します。また、"Conjecture Lookahead Optimization (CLO)"というフェーズでは、エージェントは未来のいくつかの時間ステップにわたって最適な行動を推測し、それに基づいてポリシーを更新します。

最適化の際には、制約条件が適用され、新しいポリシーが旧ポリシーから大きく逸脱しないように保証されます。これは学

習の安定性を確保し、エージェントが最適な方策に収束するのを助けます。

このフローを通じて、エージェントは動的な環境で効果的に行動する能力を進化させます。また、サンプル効率も向上し、学習の高速化が期待できます。


■ シンボリック安全制約適応 (SSCA)

ステップ 1: シンボリック安全制約適応 (SSCA) の理解

まず初めに、SSCAの基本的な概念を理解しましょう。SSCAは、ある条件下でのシステムの安全性を評価し、最適化するフレームワークです。ここでは数学的な表現を使って、安全性を評価する関数と、それを基にした最適化目的関数を定義します。

ステップ 2: 安全性評価関数の理解

この関数は、特定の状態-行動対 $${((s_t, a_t))}$$ を入力として受け取り、そのペアが安全か危険かを評価します。安全な場合は出力0を、危険な場合は出力1を返します。この関数は、システムがどの程度安全かを数値的に評価するための基本的なツールです。

ステップ 3: 目的関数の理解

次に、目的関数の詳細を見ていきましょう。

目的関数
$${\min f \sum_{z \in \mathcal{Z}} \sum_{\theta^{\prime} \in f_t\left(b_t(z)\right)} \mathbb{E}{q\left(\tau_t^K ; b, \theta^{\prime}\right)}\left[\sum_{k=0}^{K-1} \operatorname{Safe}\left(s_{t+k}, a_{t+k}\right)\right]}$$

この目的関数はいくつかの部分から構成されます:

$${(\min f)}$$: これは目的関数を最小化することを示します。つまり、我々は関数 $${(f)}$$ を最小化するようなパラメータを見つけることが目標です。

$${(\sum_{z \in \mathcal{Z}})}$$: この記号は、モードの集合 $${(\mathcal{Z})}$$ のすべての要素 $${(z)}$$ についての総和を計算することを示します。

$${(\sum_{\theta^{\prime} \in f_t\left(b_t(z)\right)})}$$: この部分は、各 $${(z)}$$ での信念状態 $${(b_t(z))}$$ に関連したポリシー $${(\theta^{\prime})}$$ についての総和を計算します。

$${(\mathbb{E}{q\left(\tau_t^K ; b, \theta^{\prime}\right)}\left[\sum_{k=0}^{K-1} \operatorname{Safe}\left(s_{t+k}, a_{t+k}\right)\right])}$$: この部分は期待値を計算します。ここで、$${(q)}$$ はトラジェクトリ $${(\tau_t^K)}$$ の確率分布であり、$${(\operatorname{Safe}\left(s_{t+k}, a_{t+k}\right))}$$ は安全性評価関数です。


■ シンボリック安全制約適応のパーティション(SSCAP)

SSCAPの主要要素:

・モードのパーティション $${((g_i))}$$

概念の理解:

  1. モード:
    ここでの「モード」とは、全体の問題空間の一部分を指します。これは、特定の特性や属性に焦点を当てた状態や状況を示すものと言えます。例えば、車の運転を考えるとき、異なる「モード」は市街地運転、高速道路運転などに分けられます。

  2. パーティション:
    「パーティション」とは、大きな問題を小さな部分に分割するプロセスを指します。この方法で、個々の小さな部分(または「パーティション」)を個別に解析し、最適化することができます。

日常的な例での説明:

考え方としては、大きな箱にいくつかの小さな区分があるようなものと思えば良いです。全体を一度に理解するのは困難なので、1つ1つの区分(パーティション)を個別に調べ、それぞれがどのような特性を持つかを理解するのです。

・数式によるモードのパーティション表現

数式の解説:

モードのパーティションに関連する数式は次のように表されます:

$${\begin{aligned}& \hat{q}\left(\tau_t^K ; b_t, g_i, \theta\right):= & \prod_{k=0}^{K-1} \pi\left(a_{t+k} \mid s_{t+k} ; \theta\right) \prod_{k=0}^{K-1}\left[\sum_{z \in g_i} b_t(z) P\left(s_{t+k+1} \mid s_{t+k}, a_{t+k} ; z\right)\right]\end{aligned}}$$

要素別の説明:

$${( \hat{q}\left(\tau_t^K ; b_t, g_i, \theta\right) )}$$:
これは、特定のパーティション $${( g_i )}$$ におけるトラジェクトリの確率分布を表します。トラジェクトリは、一連の状態と行動の系列を意味します(時刻 $${( t )}$$ から $${( t+K )}$$ までの系列)。

$${( \prod_{k=0}^{K-1} )}$$:
この記号は、時刻 $${( t )}$$ から $${( t+K-1 )}$$ までの連続した時間ステップにわたる「積」を表します。ここで、「積」は数学的な演算で、一連の項を乗算することを意味します。

$${( \pi\left(a_{t+k} \mid s_{t+k} ; \theta\right) )}$$:
これは、時刻 $${( t+k )}$$ での状態 $${( s_{t+k} )}$$ が与えられたときの行動 $${( a_{t+k} )}$$ の確率分布を表します。

$${( \sum_{z \in g_i} )}$$:
これは、特定のパーティション $${( g_i )}$$ に含まれるすべての状態 $${( z )}$$ にわたる合計を示します。「合計」とは、一連の項を加算する数学的な演算です。

$${( b_t(z) )}$$:
これは、時刻 $${( t )}$$ での状態 $${( z )}$$ の確率を表します。

$${( P\left(s_{t+k+1} \mid s_{t+k}, a_{t+k} ; z\right) )}$$:
これは、時刻 $${( t+k )}$$ の状態と行動が与えられたときの次の状態 $${( s_{t+k+1} )}$$ の確率分布を表します。

この数式全体は、特定のモードのパーティション$${(( g_i ))}$$におけるトラジェクトリの確率分布を定義しています。


■ 基礎となるSSC関数

  1. 基礎SSC関数 $${(f_0)}$$: これは基本的なSSC関数です。この関数は人間の洞察(経験や専門知識など)に基づいて構築されます。また、これはモードの範囲 $${( \mathcal{Z} )}$$ を網羅していると言われており、これは関数が現在知られているすべてのモード(状態や条件など)をカバーしていることを意味します。

  2. 知識拡張: これは新しいモード空間 $${( \mathcal{Z}^{\prime} )}$$ の登場を表し、この空間は元のモード空間 $${( \mathcal{Z} )}$$ よりも広範囲です。新しい空間でより効果的なSSC関数を構築するために、この拡張知識が求められます。これは通常、新しいデータや洞察が得られたときに行われます。

オンラインアップデートとアルゴリズム2

アルゴリズム2はオンラインアップデートプロセスを説明しています。これは一連のステップを含むもので、新しいデータを利用してシステムを更新します。アルゴリズムは以下のステップで構成されます:

  1. 入力: 新しいモード空間 $${( \mathcal{Z}^{\prime} )}$$ とパーティション生成関数 $${( {\chi_1, \ldots, \chi_n} )}$$ と最適化関数 $${( {\varphi_1, \ldots, \varphi_n} )}$$ を入力として受け取ります。

  2. パーティションの作成: 既存の関数 $${( {\chi_1, \ldots, \chi_n} )}$$ を使用して新しいパーティション $${( {g_1, \ldots, g_n} )}$$ を作成します。

  3. 新しいパーティションの初期化: 新しいパーティション $${( g_{n+1} )}$$ を初期化します。

  4. 新しいモードの走査: $${( \mathcal{Z}^{\prime} )}$$ に含まれる各新しいモード $${( z^{\prime} )}$$ を調査し、それが既存のパーティションに含まれない場合、新しいパーティション $${( g_{n+1} )}$$ に追加します。

  5. 新しいパーティションの定義: 新しいパーティション $${( g_{n+1} )}$$ を定義し、それが他のパーティションと重複しないことを確認します。

  6. 最適化: 新しい入力 $${( p_{n+1} )}$$ を用いて新しいパーティション $${( g_{n+1} )}$$ に対する最適な関数 $${( \varphi_{n+1} )}$$ を得ます。

  7. 判断の更新: 新しいパーティションに基づいて判断 $${( {\chi_1, \ldots, \chi_{n+1}} )}$$ を更新します。

  8. 結果の返却: 更新された判断と最適化関数を返します。

このアルゴリズムは、新しいデータや知識が得られたときにSSCAPを適応させるための一連のステップを提供しています。それによって、システムは新しい情報を効果的に統合し、安全な制約を維持しながら最適化を行うことができます。


■ SSC関数の進化

このセクションでは、シンボリック安全制約適応(SSC)関数がどのように進化し、新しい情報を取り入れる際にどのようなアプローチが取れるかについて説明しています。まずは基本のポイントから順に見ていきましょう。

1. SSC関数の進化と初期状態

- SSC関数の進化: ここで説明されるのは、SSC関数が新しい情報を取り込むプロセスです。
- 初期のSSC関数 $${(f_0)}$$: 最初に設定されたSSC関数で、時間ステップ1からkまで全てを支配できると仮定されています。

2. 時間ステップ $${t=1}$$

この段階では、2つの主なプロセスがあります。

- 制約の使用: 最初の時間ステップでは、SSCは制約として$${(\varphi_n)}$$を用いることが指摘されています。これは、初期モード$${(z_1)}$$がパーティション$${(g_n)}$$内にあるためです。
- 先読み手続き: SSCは次の時間ステップでモード$${(z_2)}$$がパーティション$${(g_1)}$$に入ると予想しており、そのために次の制約$${(\varphi_1)}$$の使用を準備しています。

3. 時間ステップ $${t=k}$$

この時間ステップでは、新しいモードの識別と知識更新が行われる場合があります。このプロセスは以下の2つの方法で実行することができます。

- 新しいモードの識別: $${(z_{k+1})}$$という新しいモードが識別された場合、これが既存のモード$${(g_i)}$$のいずれにも属さない(つまり$${(f_0)}
$$の定義域外である)場合、知識更新が発生します。
- アプローチ1 - 統合: 新しいモードを既存のパーティション$${(g_i)}$$と統合する方法があります。これはSSCAP方程式を用いて$${(g_i)}$$と共に解くことで実行できます。
- アプローチ2 - 新しいパーティションの確立: あるいは、新しいモード専用の新しいパーティション$${(g_{n+1})}$$を確立することができます。これもSSCAP方程式を用いて$${(g_{n+1})}$$と共に解くことで行います。

この説明は、新しい情報が得られた際にSSC関数がどのように進化するかを理解する上で役立ちます。また、新しいモードが識別された場合の異なるアプローチについても提供しています。

この記事が気に入ったらサポートをしてみませんか?