『日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
線形ダイナミクスを持ったシステムに対する制御問題は古典的な問題であり広い分野でみられる。
この制御問題に対し、近年オンライン学習を適用することでノイズやコストに対する仮定を大幅に緩和し、かつコスト関数が動的に変わる場合も対応できる方法が提案されている。これについて紹介しよう。

本稿では離散時間の線形システムの最適制御問題を扱う。
時刻$t$におけるシステムの状態を$x_t$、行動を$u_t$、遷移ノイズ(または外乱)を$w_t$とした時、次の時刻の状態が次のように決まるとする。
\[x_{t+1} = A x_{t} + B u_t + w_t\]
今回の問題設定では遷移ダイナミクスを表す行列$A$、行動の状態への影響を表す行列$B$は既知であるとする。各時刻でコスト$c(x_t,u_t)$ が定義され、時刻$t=1$から$t=T$までのコスト合計$\sum_{t=1}^T c_t(x_t,u_t)$を最小化するような行動列$\{u_t\}_{t=1}^T$を求めることが目標である。これまでの情報から行動を決定する関数を方策と呼ぶことにする。例えば、現在の状態に線形に依存して行動を決める線形方策はよく使われる。
\[u_t = -K x_t \]
従来、このような制御問題ではノイズ$w_t$がガウシアンであると仮定される場合が多い。しかし現実の問題でこの仮定が成り立たない場合も多い。これに対しノイズが最悪の場合を考慮し、その場合の最適制御を目指す$H_{\infty}$制御が提案されている。これはノイズが最悪だと想定した場合の各時刻の最適な線形制御を求める問題であり、次のような問題を解いて制御を得る。
\[ \min_{K_1} \max_{w_{1:T}}, \min_{K_2}, \ldots, \min_{K_t} \max_{w_T} \sum_{t}c_t(x_t, u_t) \]
$H_{\infty}$制御は頑健な制御を達成できるが、最悪のノイズの場合を考えた悲観的な制御であり、より現実的なノイズの場合に達成可能な最適性が損なわれる可能性がある。また、コスト$c(x_t, u_t)$が$x_t,u_t$の二次関数で表されると仮定する場合も多い。この場合の最適制御は線形二次レギュレータ(LQR:Linear Quadratic Regulator)として知られ、Riccati方程式を解くことで最適制御を得ることができる。
この最適制御問題に対してオンライン学習を適用することで、任意のノイズを対象とし、またコスト関数も二次関数より広い凸関数を対象にした場合でも最適性を達成することができる。はじめにオンライン学習を説明しよう。
オンライン学習
オンライン学習とは次々と観測されるデータ$x_t$に対し、行動$u_t$を決定し、その結果に応じてフィードバック$c_t(x_t,u_t)$を受け取り、パラメータを即時更新して適応していくような手法である。現在のニューラルネットワークの学習では同じ訓練データを何回も走査し、パラメータをゆっくり更新していくのに対し、オンライン学習では基本的にデータは一度しか観測しない。
オンライン学習で特徴的なのは、そのアルゴリズムの性能をRegret(後悔)とよばれる指標を使って厳密に評価できる点である。Regretは方策による行動決定が最適な方策による行動決定に対してどれだけ悪いのかを評価する。“自分が最適な方策を使っていたらこれだけ達成できたのに”という後悔を測ることになる。
それでは今回の問題設定におけるRegretを定義する1)。はじめに任意の方策$\mathcal{A}$の性能を
\[ J_T(\mathcal{A}) = \sum_{t=1}^T c_t(x_t, u_t) \]
と定義する。次に比較対象として、先程あげた線形制御を使い、(一般に未知である)最適な線形方策に対して方策$\mathcal{A}$がどれだけ悪かったかとしてRegretを定義する。$J_T(K)$は線形方策を使った場合の性能とする。
\[ \mathtt{Regret} = J_T(\mathcal{A}) - \min_K J_T(K) \]
Regretは時間$T$に対し、どのようなオーダーを持つのかが重要である。もし、オーダーが$\mathcal{O}(T)$より小さければ、時刻当たりのRegretは時刻$T$が大きくなるに従い$0$に収束する。つまり$\mathcal{A}$と最適な線形制御$K^*$の時間当たりのコストはほぼ一致することを意味する。
Regretが$\mathcal{O}(\sqrt{T})$であれば、一回当たりの誤差は$1/\sqrt{T}$に比例して減っていき、$\mathcal{O}(\log T)$であれば、$1/T$($\log T$はほとんど定数とみなせるため)に比例して減っていく。これは非常に速い収束であり、この条件下ではこれより速い収束は達成できないことが知られている。
オンライン学習を使った制御はコスト関数が凸関数であればRegretは$\mathcal{O}(\sqrt{T})$、さらに強凸関数であれば$\mathcal{O}(\log T)$を達成できる2)。なお、凸関数は1入力関数であれば二次微分が非負、強凸は2次微分が正であるような関数である。
オンライン学習による最適制御
それではオンライン学習を使ってどのように制御するのかについて説明しよう。オンライン学習は手法自体は単純であるが、その背後にある理論や証明は紙面の都合上紹介できない。ここでは代わりに基本的な考え方のみ説明する。最初にいくつか概念を紹介する。これらは全てオンライン学習による制御に必要な概念である。
はじめにノイズが無い場合の線形制御の安定性について考えよう。この場合、次の時刻の状態は$\tilde{A} = A - BK$と定義した行列で支配され、非零の状態がどのように時間発展するかを表す。
\[ x_{t+1} = Ax_t + Bu_t \]
\[ = Ax_t - BKx_t \]
\[ = (A - BK)x_t \]
\[ = \tilde{A}^t x_1 \]
線形フィードバックゲイン制御$K$により整形された行列$\tilde{A}$が$\tilde{A}=QLQ^{-1}$と分解され、$L$は対角行列であり $||L|| \leq 1-\gamma$, $||K|| \leq \kappa$, $||Q||, ||Q^{-1}|| \leq \kappa$を満たす時、この$K$は強$(\kappa, \gamma)$安定であると呼ぶ。
次に外乱がある場合を考えよう。方策の中でもこれまでの外乱$(w_{t-1}, w_{t-2}, \ldots)$に線形に依存して次の制御が決まる方策を外乱行動方策と呼ぶことにする。
\[ u_t = -Kx_t + \sum_{i=1}^H M_t^{(i)}w_{t-i} \]
ただし、$K$は固定とする。なお、ノイズ$w_{t-1}$は直接観測できないが、次の状態$x_{t}$が求まれば$w_{t-1} = x_t - Ax_{t-1} - B u_{t-1}$と計算できることに注意してほしい。
この外乱行動方策は$M_t = (M_t^{(1)}, M_t^{(2)}, \ldots,M_t^{(H)})$というパラメータで特徴づけられる。外乱行動方策は表現できる関数の自由度よりパラメータ数の方が多い過剰パラメータモデルである。一見すると外乱に依存した形で方策を定義することは自然ではないように感じられるが、このような定式化によってコスト関数が最適化対象パラメータを線形変換した結果に対して凸であり、コスト関数の凸や強凸といった性質を保てることが分かっている。
また、時刻$t-H$の状態を$x_{t-H} = 0$と仮定し、それから各時刻において$M_{t-H}, \ldots,M_{t}$のパラメータを持った方策で制御$u_t$を選択していった結果、時刻$t$に到達した状態を理想状態$y_{t+1}$、またその時に時刻$t$で取る行動を理想行動$v_t$と定義する。この理想状態、理想行動から決まるコストを理想コストと呼ぶ。
\[ f_t(M_{t-H}, \ldots, M_t) = c_t(y_t(M_{t-H}, \ldots, M_{t-1}), v_t(M_{t-H}, \ldots, M_t)) \]
この理想コストは$M_{t-H}, \ldots,M_t$に対して線形であることに注意されたい。この理想コストは、実際に観測するコスト$c_t(x_t,u_t)$とは異なるが、強$(\kappa, \gamma)$安定である方策間ではこれらのコスト差が$\kappa,\gamma$を使った関数で抑えられ、理想コストに対して最適化をしても実際のコストを抑えられることが分かっている。
また、$f_t(M) = f_t(M, \ldots,M)$とおく。つまり過去の時刻全てで$M$というパラメータで決まった方策に従って行動を選択した場合の理想コストを表す。これは記憶を備えたオンライン学習で使われる手法である。
それではオンライン学習を使った制御を説明しよう。$||B|| \leq \kappa_B$と仮定する。はじめに強$(\kappa,\gamma)$安定である線形制御$K$を1つ求める。これは線形ダイナミクスが分かっていれば、求められることが知られている。この$K$は以降固定とする。次に重み$M_0 = \{M_0^{[1]}, M_0^{[2]}, \ldots \}$を適当に初期化する。このアルゴリズムは各時刻$t$において外乱行動方策
\[ u_t =-Kx_t + \sum_{i=1}^H M_t^{[i]}w_{t-i} \]
で行動を選択し、次時刻の方策のパラメータを以下の射影付勾配降下法で更新する。
\[ M_{t+1} = \Pi_{\mathcal{M}}(M_t - \eta \nabla f_t(M_t)) \]
ただし$\Pi_{\mathcal{M}}$は凸領域$\mathcal{M}$への射影であり、
\[ \mathcal{M} =\{M = \{M^{[1]}, \ldots, M^{[H]}\} : ||M^{[i]}|| \leq \kappa^3 \kappa_B(1 - \gamma)^i \} \]である。
このアルゴリズムによるRegretはコスト関数が凸関数であれば$\mathcal{O}(\sqrt{T})$、強凸関数であれば$\mathcal{O}(\log T)$を達成することが示せる。
その他の問題
この問題では線形ダイナミクスのパラメータは既知であるとしたが、未知の場合も勾配降下法を使ってこれらのパラメータを推定できることが分かっている3)。これらの手法を組み合わせることで、未知のダイナミクスを持ったシステム上でオンライン学習で制御することが考えられる。
また、今回の問題では状態変数が直接観測できる場合を扱った。実際には状態変数には直接観測できるものとできないものがあるのが一般的である。この場合は観測から状態変数をオンライン推定する必要があり、カルマンフィルタやパーティクルフィルタなどが知られている。近年ではカルマンフィルタとDNNを組み合わせて推定する手法も登場している4)。これらの手法では状態を分布として持つことで不確実性に対応している。オンライン学習を使った手法でも不確実性を考慮した最適制御が今後考えられるだろう。
オンライン学習は統計的学習理論とは違って、性能保証が確率的ではなく、常に成り立つ形で与えられるという特徴がある。Regretは未知の最適方策に対する相対的な性能評価であり、絶対的な性能保証ではないが、何らかの形で最適方策(最適パラメータ)の存在やその性能が分かる場合には、強い理論的な性能保証が与えられることになる。
またオンライン適応というのも大きな魅力である。今回の制御問題においても、コストが動的に次々変わっていく場合でも、どの時間を切り出しても性能保証が達成できる、つまりそれぞれの最適な方策にすぐに切り替えられることが言える。
2)N. Agarwal et al., “Logarithmic Regret for Online Control,” NeurIPS 2019, https://arxiv.org/abs/1909.05062
3)M. Hardt et al., “Gradient Descent Learns Linear Dynamical Systems,” JMLR 2018, http://www.jmlr.org/papers/volume19/16-465/16-465.pdf
4)P. Becker et al., “Recurrent Kalman Networks: Factorized Inference in High-Dimensional Deep Feature Spaces,” ICML 2019, https://arxiv.org/abs/1905.07357
Preferred Networks 代表取締役副社長
