MPC/LQRと強化学習の方策勾配定理の比較

Posted on 4/08/2021
このエントリーをはてなブックマークに追加

強化学習のPolicy Gradient法では、制御則をパラメータ\(\theta\)で表現される方策関数\(u = \pi_{\theta}(x) \)を最適化するコスト関数\(J\)のヤコビアンを使って最急降下法にて

\[ \theta \leftarrow \theta - \alpha \nabla_{\theta} J \]
を繰り返すことにより、最適な(非線形)状態フィードバック制御のパラメータを求める。

(上記は、1.コスト関数の最小化を行う 2. 方策関数はDeterministicとした前提を置いている)

OpenAI Spinning UpのPart 3やLil'LogのPolicy Gradient AlgorithmsにてPolicy Gradientの導出方法が紹介されているが、陽に制御対象のシステムがマルコフ決定過程に従うとしており状態遷移は確率的であるため、制御則\(\pi\)のもと状態\(s_0\)から状態\(s\)まで kステップで変化する遷移確率 \(\rho(s_0 \to s, k) \)をもちいて

\[ \nabla_\theta J = \sum_{s}\sum_{k=0}^\infty \rho^\pi(s_0 \to s, k) \sum_{a \in \mathcal{A}} \nabla_\theta \pi_\theta(a \vert s)Q^\pi(s, a) \]
Deterministic Policy Gradientのケースで、
\[ \nabla_\theta J(\pi_\theta) = \int_{\mathcal{S}} \rho^\pi (s) \nabla_\theta \pi_\theta (s) \nabla_a Q^\pi (s,a) \vert_{a=\pi_\theta (s)} \text{d}s \]
と整理される。以上の特殊な状態として、システムが \(x^+ = f(x, u) \)に従う場合について考えたい。 この場合、ナイーブに遷移確率として\(\delta(x^+ − f(x, a))\)を採用し、計算すればよいのだが、 よくわからなかったので元の定義に立ち返った。

問題設定

システムの違い

制御対象がMDPで遷移が確率的なStochastic Transition Dynamic Systemと、いわゆるシステム方程式で表されるDeterministic Dynamic Systemでの違い

Deterministic Stohacstic
\( x^+ = f(x, u) \) \( x^+ \sim p(x^+ \mid x, u) \)
\( V^\pi(f(x, \pi(x))) \) \(\displaystyle \int_{\mathcal{X}} p(x^+ \mid x, \pi(x)) V^\pi (x^+) \text{d} x^+\)

コスト関数等の定義

名前 数式 説明
初期コスト関数 \(C_{init}(x)\) RLとMPC/LQRのコスト関数を一致させるために定義. 初期値のみにより最適化の文脈では定数.
ステージ・コスト関数 \(C(u, x^+)\) 強化学習では\(R=-C\)として報酬で定義されることが一般的
終端コスト関数 \(C_f(x^+)\) 強化学習では\(R=-C\)として報酬で定義されることが一般的
制御入力列 \(\mathcal{U}_N = \{u_{0}, u_{1}, \cdots, u_{N-1} \} \) Time horizonをNとした
コスト関数 \( J_N(\mathcal{U}_N ) = \mathbb{E}_{x \sim \mathcal{D}} [C_{init}(x) + V_N^{\mathcal{U}_N}(x)] \) Time horizonをNとした
状態価値関数 \( V^{\mathcal{U}}_N(x) = \displaystyle \sum_{i=0}^{N-1} C(u_{i}, x_{i+1}) \\ \quad + C_f(x_{N}) - C(u_{N-1}, x_{N}) \) ただし、\(x_0=x\). \(x_{k+1} = f(x_k, u_k) \)または\(x_{k+1} \sim p(\cdot \mid x_k, u_k) \)に従う。
行動価値関数 \( Q^{\mathcal{U}}_N(x, u) = C(u, x^+) + V^{\mathcal{U}}_{N-1}(x^+) \)

補足: LQRの場合

LQRの場合、\(N \rightarrow \infty \)であって\(\pi_\theta(x)=\theta \cdot x\)の制御則に対して、正定行列 \(Q, R\)を用いたコスト関数を用いて (行動価値関数の\(Q\)と記号が被ってしまってごめんなさい)

\[ \begin{array}{ll} \displaystyle \min_{\theta} & J(\pi_\theta) = \mathbb{E}_{x_0 \sim \mathcal{D}} [C_{init}(x_0) + \displaystyle \sum_{i=0}^{\infty} C( \pi_{\theta}(x_i), x_{i+1})] \\ {\rm s.t.} & C(u, x) = \displaystyle \frac{1}{2} x^{\intercal} Q x + \displaystyle \frac{1}{2} u^{\intercal} R u \\ & x_{t+1} = A x_t + B u_t \\ \end{array} \]
を求める。こちらの方面の話では方策勾配法でLQRを解くを参照のこと。

補足: MPCの場合

MPCの場合、初期値が与えられ、オンラインで最適化問題を解く。終端コストの定数\(P\)について、LQRのリッカチ代数方程式のリッカチ行列と一致させると制約条件がない下記の問題設定ではLQRと同じ制御入力列が求まる[Mayne et al., 2000]。

\[ \begin{array}{ll} \displaystyle \min_{\mathcal{U}} & V^{\mathcal{U}}(x_0) + C_{init}(x_0) \\ {\rm s.t.} & C(u, x) = \displaystyle \frac{1}{2} x^{\intercal} Q x + \displaystyle \frac{1}{2} u^{\intercal} R u \\ & C_{init}(x) = \displaystyle \frac{1}{2} x^{\intercal} Q x \\ & C_f(x) = \displaystyle \frac{1}{2} x^{\intercal} P x \\ & x_{t+1} = A x_t + B u_t \\ \end{array} \]

方策勾配定理の導出

Step 1

以下はDeterministic Policy Gradient AlgorithmsのAppendix Bからの転記である。記号を先までのシステム方程式と揃えた。 \(\mathcal{U}^{\pi_\theta} = \{\pi_\theta(x_0), \pi_\theta(x_1), \cdots, \pi_\theta(x_{N-1})\}\)とし、 これを適用した状態価値関数を\(V^\pi \)と簡略表記して

\[ \begin{aligned} \nabla_\theta V^\pi &= \nabla_\theta Q^\pi(x, \pi(x)) \\ &= \nabla_\theta \left( \int_{\mathcal{X}} p(x^+ | x, \pi(x)) \left[C(\pi(x), x^+) +V^\pi (x^+) \right] \text{d} x^+ \right) \\ &= \int_{\mathcal{X}} \nabla_{u} p \nabla_{\theta} \pi \left[C(\cdot) + V^\pi(\cdot) \right] \text{d} x^+ + \int_{\mathcal{X}} p(\cdot) \nabla_{u} C(\cdot) \nabla_{\theta} \pi \, \text{d} x^+ + \int_{\mathcal{X}} p(\cdot) \nabla_{\theta} V^\pi \text{d} x^+ \\ &= \nabla_u \left( \int_{\mathcal{X}} p(\cdot) \left[C(\cdot) +V^\pi (\cdot) \right] \text{d} x^+ \right) \nabla_\theta \pi + \int_{\mathcal{X}} p(\cdot) \nabla_{\theta} V^\pi \text{d} x^+ \\ &= \nabla_u Q \cdot \nabla_{\theta} \pi + \int_{\mathcal{X}} p(x^+ | x, \pi(x)) \nabla_{\theta} V^\pi (x^+) \text{d} x^+ \\ \end{aligned} \]

同じことがシステムがDeterministicの場合については\(\nabla_u Q = \nabla_u C + \nabla_x C \cdot \nabla_u f + \nabla_x V \cdot \nabla_u f \)であって、

\[ \begin{aligned} \nabla_\theta V^\pi &= \nabla_\theta \left( C(\pi(x), f(x, \pi(x))) + V^\pi \left(f(x, \pi(x))\right) \right) \\ &= \nabla_u C \cdot \nabla_{\theta} \pi + \nabla_x C \cdot \nabla_{u} f \cdot \nabla_{\theta} \pi + \nabla_x V \cdot \nabla_u f \cdot \nabla_\theta \pi + \nabla_{\theta} V^\pi \left(f(x, \pi(x))\right) \\ &= \nabla_u Q \cdot \nabla_{\theta} \pi + \nabla_{\theta} V^\pi \left(f(x, \pi(x))\right) \\ \end{aligned} \]

ここまでについて一般にディラックのデルタ関数について

\[ \int_{-\infty}^\infty f(t) \delta(t-T) dt = f(T) \]
であるので[Wiki:EN]、\(p(x^+ \mid x, u) = \delta(x^+ − f(x, u)) \)とすると
\[ \int_{\mathcal{X}} p(\cdot) \nabla_{\theta} V^\pi (x^+) \text{d} x^+ = \nabla_{\theta} V^\pi \left(f(x, \pi(x))\right) \]
であって、両者は一致している。

Step 2

さて、この式を繰り返し適用して展開する。Stochasticモデルの場合は状態 \(x\)から\(x^+\)までtステップで遷移する遷移確率\(p(x \rightarrow x^+, t, \pi)\)を用いて

\[ \begin{array}{rcl} \nabla_\theta V^\pi &=& \nabla_u Q \cdot \nabla_{\theta} \pi \\ && + \displaystyle \int_{\mathcal{X}} p(x^+ \mid x, \pi(x)) \nabla_{\theta} V^\pi (x^+) \, \text{d} x^+ \\ &=& \nabla_u Q \cdot \nabla_{\theta} \pi \\ && + \displaystyle \int_{\mathcal{X}} p(x^+ \mid x, \pi(x)) \nabla_u Q \cdot \nabla_{\theta} \pi \, \text{d} x^+ \\ && + \displaystyle \int_{\mathcal{X}} p(x^+ \mid x, \pi(x)) \displaystyle \int_{\mathcal{X}} p(x^{++} \mid x^+, \pi(x^+)) \nabla_{\theta} V^\pi (x^{++}) \text{d} x^{++} \text{d} x^+ \\ &\vdots&\\ &=& \displaystyle \int_{\mathcal{X}} \displaystyle \sum_{t=0}^{N-1} p(x \rightarrow x^+, t, \pi) \nabla_u Q \cdot \nabla_{\theta} \pi \, \text{d} x^+ \\ \end{array} \]
この式の遷移確率をDeterministicなモデルに置き換えると、遷移が確定的に定まるので
\[ \begin{array}{rcl} \nabla_\theta V^\pi &=& \displaystyle \sum_{t=0}^{N-1} \nabla_u Q \vert_{x_k, u_k} \cdot \nabla_{\theta} \pi \vert_{x_k} \\ &=& \displaystyle \sum_{t=0}^{N-1} \left(\nabla_u C \vert_{u_k, x_{k+1}} + \nabla_x C \vert_{u_k, x_{k+1}} \cdot \nabla_u f \vert_{x_k, u_k} + \nabla_x V \vert_{x_{k+1}} \cdot \nabla_u f \vert_{x_k, u_k} \right) \nabla_{\theta} \pi \vert_{x_k} \\ s.t. && x_{k+1} = f(x_k, u_k) \\ && u_{k} = \pi_\theta(x_k) \\ \end{array} \]
となる。

参考

日本入国時の陰性証明について

Posted on 3/09/2021
このエントリーをはてなブックマークに追加

2021/3/8現在 日本入国にはCOVID-19の陰性証明証持参(出国前検査証明)が義務付けられている。情報が錯綜しているのでまとめる。 ページ変更履歴なく、ころころページが書き換わるので印刷してリンク先のページは書面添付したほうが良いと思う。

概要

日本に入国する全員が対象 (国籍・年齢問わず)
  • 乳幼児も陰性証明が必要
検体採取時刻が、搭乗予定航空便出発時刻の72時間前
搭乗予定便とは…
  • 旅程1 スイスを出国し、ドイツでトランジット、日本へ入国: 搭乗予定便 = スイス→ドイツ便
  • 旅程2 アメリカ国内でシカゴ発サンフランシスコでトランジットし日本という旅程: 搭乗予定便 = サンフランシスコ→日本便
政府フォーマットには必ずしも従う必要はない
  • 機関発行の検査結果に対してパスポート番号などは入国者本人が自筆で追記可
  • 入国審査官の裁量で検査証明書が無効とされた場合も3日間待機後の再検査で代用
  • 検査結果は電子版の提示も可能だが紙での持参が望ましいとされる
  • 検査結果を日本政府フォーマットに有料で書き直してくれるサービスも存在する
陰性証明書に医師の直筆サインやハンコは必須ではない?
陰性証明の他に健康状態などに関する質問票をWebでやっておくと良い

根拠等

対象者

検査時刻

  • どの便にの出発時刻を起点に検査を予定すればよいか

    ⇒ 情報源:出国前検疫証明に関するQ&A | 在ルクセンブルク日本国大使館

    出国前72時間以内の新型コロナウイルス検査証明の取得に関して,検疫強化措置の対象となるA 国のB 州に滞在している邦人が、同じ国内のC空港で乗り継いで、帰国するような 場合、基準点はいつと考えれば良いでしょうか。
    答 基本的には日本への出発便の国際便出発時間を起算としてその72時間前としています。上記のように国内移動フライトがある例では、最終的に日本に向けて出発するC空港発便の フライト出発時間から起算して72時間前以内に取得した検査結果が有効となります。

検査証明書フォーマット

  • 検査証明書フォーマットは政府指定のものでなくてもよい

    ⇒ 情報源:検査証明書の提示について

    所定のフォーマットによる検査証明発行に対応する医療機関がない場合には、任意のフォーマットの提出も可としますが、上記の「検査証明書へ記載すべき内容」が満たされている必要があります。

    ⇒ 情報源:有効な「出国前検査証明」フォーマット|外務省

    (2)の任意のフォーマットの提出も可とします

  • 検査証明書にパスポート番号・国籍・生年月日・性別記載がなければ自分で書き足せる

    ⇒ 情報源:出国前検疫証明に関するQ&A | 在ルクセンブルク日本国大使館

    ● 検査証明のフォーマット(書式)について教えてください。
    医療機関等が独自に発行する検査証明に「パスポート番号、国籍、生年月日、性別」の全て又は一部の記載がない場合には、当該医療機関又は検査証明の対象者の方が、手書きで検 査証明の余白にこの情報を記載することが可能です。
  • 検査証明原本が別途提示できれば、政府フォーマットには自身で書き込む事ができる(医師が書く必要はない)

    ⇒ 情報源:日本に本帰国しました! - 動物学特論

    医師に直接政府フォーマット書いてもらう必要は(僕の場合は)なかったです。

  • 検査結果から政府フォーマットの陰性証明を作成してくれる日系医療機関がある

    ⇒ 情報源:検疫強化に伴うアメリカ⇄日本入国体験談 - Amnet

    サンノゼ空港駐車場に設置された施設にてPCR検査 ($170)
      ▼ 
    24時間以内に検査結果受取(Eメール) 
      ▼
    別の日系医療機関へ陰性証明の作成依頼 (Eメール・有料)
    ※他の医療機関の検査結果をもって、日本政府所定の書式へサインしてくれる旨医療機関のWEBページへ記載あり
  • 陰性証明が規定に沿っていなかった場合は入国の上、再検査。フローはイタリアなど変異種が発見された国からの入国者と同等。

    ⇒ 情報源:新型コロナウイルス変異株流行国・地域

    検疫官により、陰性証明が無効と判断された方につきましては、検疫所が確保する宿泊施設等で待機いただきます。

  • 新型コロナウイルス変異株流行国・地域からの入国者は陰性証明を所持して入国しても、陰性証明無効者と同等の扱い。

    ⇒ 情報源:新型コロナウイルス変異株流行国・地域

    検疫所の確保する宿泊施設等で入国後3日間の待機をしていただき、3日目(場合によっては6日目)に検査を実施します

  • 陰性証明書に医師の直筆サインやハンコは必須ではない?

    ⇒ 情報源:検査証明書の提示について

    医療機関・医師名、印影については、必ずしも各国で取得できない事情があることから、検疫官の判断により、有効な証明とみなすことがあります。

    ⇒ 情報源:出国前検疫証明に関するQ&A | 在ルクセンブルク日本国大使館

    ●医療機関ではなく、検査機関名が記載された陰性証明書は有効ですか。また、医療機関の印影とは、検査機関のレターヘッドでも可能ですか。
    答 やむを得ず医療機関にて検査証明が発行できない場合以外は、原則として、医療機関からの検査証明書を提出してください。

    ⇒ 情報源:新型コロナウイルス関連情報 | 在ルクセンブルク日本国大使館

    (3) 検査証明書の要件緩和
    2021年3月19日より、検査証明書の要件が各国で発行される検査証明書に応じて緩和され、当地については、医師の署名、医療機関の印影をレターヘッドで代替することが可能となります。検査証明書の記載内容が、上記記載要件を満たさない場合は、有料とはなりますが、検査結果をお近くのかかりつけ医等に持参し、厚生労働省が定める所定のフォーマットへ内容を転記の上、医師の署名、医療機関の印影を得ることで、2枚の証明を併せて有効な検査証明書として利用することも可能です。

提示方法

  • 検査証明を印刷できなければ電子版で提示可能

    ⇒ 情報源:出国前検疫証明に関するQ&A | 在ルクセンブルク日本国大使館

    やむを得ず検査証明を印刷することが不可能であった場合、お持ちの電子端末に検査証明を表示して検疫官に提示することでも構いません。 ただし、その場合は、検査証明書を写真で撮影したものではなく、 医療機関等から電子メール等で送付された正式な証明書の添付ファイルである必要があります。

誰の情報が正しいか?

本件の管轄は厚労省であり大使館・総領事館が情報を提示するものの、最も有効な情報は厚生労働省によるものと思われる。

ルクセンブルクの日本大使館の掲示情報にも

(本邦問い合わせ窓口)

○厚生労働省新型コロナウイルス感染症相談窓口(検疫の強化)

とあり、大使館には権限がないことがうかがえる。

有効な検査証を発行できる機関

病院・薬局等

情報集める

検査結果の書き換えサービス

情報集める