Feedback Linearization using Gaussian Process¶
Author: | Jonas Umlauft, Thomas Beckers, Melanie Kimmel, Sandra Hirche |
---|---|
Year: | 2017 |
Link: | link |
Accepted: | 2017 IEEE 56th Anual Conference on Decision and Control (CDC) |
目次
Abstract¶
モデルの構造についての情報が限られているシステムの同定において,機械学習のデータ駆動アプローチは大変有用である.この論文ではノンパラメトリックベイズの手法であるガウス過程を,フィードバック線形化のためのモデル学習に用いる.適切なカーネル関数を用いることで,既存のコントローラーを用いながらシステム同定のためのデータを収集できる.同定されたモデルを用いて,フィードバック線形化に基づいた制御器を提案する.それによる(閉ループの)システムは大域的に有界である(globally uniformly ultimately bounded)ことが示される.また訓練集合と,システムが収束するboundの大きさとの関係を導く.
Introduction¶
非線形系に対してフィードバック線形化を用いることで,線形制御におけるよく知られている手法を適用することが可能になる.しかしフィードバック線形化により非線形システムの非線形性を完全にキャンセルするためには,詳細なモデルが必要である.そのためフィードバック線形化を適用するためには非線形システムの詳細なシステム同定が不可欠である.しかし第一原理だけでは導出できないような複雑なダイナミクスに従うシステムに対しても制御を行うようになるにつれ,このアプローチは困難を伴う.古典的なシステム同定は観測値を用いることで,システムのパラメトリックモデルを選択しさらにチューニングを行う.そのためそもそもシステムの構造に関する情報が手に入らない場合,失敗する運命にある.データ駆動のアプローチは,少数の事前情報を用いて訓練集合以外に対しても汎化性能を示すため,gain popularityしてきた.数学的には難関であるがノンパラメトリックベイズを用いることで,ベイズの枠組みで事前知識をデータと融合し,ノンパラメトリックな柔軟性を両立することができる.
この論文では著者らはガウス過程(GP)に焦点を当てている.GPはすでにシステム同定にはsuccessfulに用いられている.しかし制御の観点からのformal analysisは欠落している.ガウス過程システムモデルの収束性の解析は[6][7]を参照.GPは各状態空間の領域において,推定された関数とそのモデルの信頼性を評価できるという性質があるため,安定性の解析に有用である.[9]に示されているように,GPは訓練データへの距離を測ることで真の関数値と関数の推定値の誤差の上界を与える.The knowledge of its own ignorance represents a benefit over many other representation approaches.
フィードバック線形化を適用するにあたって,モデルに関する情報が欠けていることに対処するため,[10]では入力が状態に与える影響は既知であるという仮定のもとでロバストな設計に着目している.[11]ではオリジナルのモデルが与えられたうえでその不確かさを考慮しているが,そもそもオリジナルのモデルをどのように得るのか言及していない.
main contributionは,GPを用いたシステム同定と提案するフィードバック線形化を用いる手法がglobally uniformly ultimately boundedであることを示すことにある.システム同定にはシステムのcontrol-affineな性質をカーネル関数に変換する.これによりシステムを閉ループで同定することができる.更なる解析を行うことで,情報(訓練データ)が増えるについてultimate boundがどのように減少するかが示され,訓練データ集合のサイズとシステムが収束するサイズとの間の関係を導出する.
Probem Formlation¶
以下に示される可制御標準形の,状態フィードバックにより線形化可能なシステムを考える.
ここで状態ベクトル \(\boldsymbol{x} = [x_1 \cdots x_n]^{\text{T}} \in \mathcal{X} \subset \mathbb{R}^n\) のすべての値が測定可能であるとする.下のようにいくつかの仮定をおく.
- 仮定1
- 未知関数 \(f: \mathcal{X} \rightarrow \mathbb{R}\) , \(g: \mathcal{X} \rightarrow \mathbb{R}\) は有界かつ無限回微分可能とする
- 仮定2
- システムの相対次数は \(\boldsymbol{x} \in \mathcal{X}\) においてシステムの次元nに等しい
- 仮定3
- 少なくとも一つの \(\boldsymbol{x} \in \mathcal{X}\) において \(g(\boldsymbol{x})\) の符号が既知である
3つ目の仮定は相対次数が不良設定とならないためのものである( \(g(\boldsymbol{x}) == 0\) だと相対次数が定義されない).そのためgの符号は一定である.
第一には未知関数 \(f, g\) をデータから \(\hat{f}, \hat{g}\) で近似し,次に以下のようにフィードバック線形化
を行う.また \(y = \dot{x}_n + \epsilon\) が観測として得られるとする( \(\epsilon \sim \mathcal{N}(0, \sigma_{n}^2)\) ).そして訓練集合を
とする.
Identification of Control Affine Systems Using Gaussian Processes¶
Gaussian Process Basics¶
ガウス過程では関数が平均関数の周辺に関数が分布するイメージである.
このパラメーター \(\boldsymbol{\phi} = \{m, k\}\) は推定されるべき変数であり,以下のような最適化により求められる.
\(\boldsymbol{\phi^{*}} = \mathrm{argmax} \log p(\boldsymbol{y}_f \mid \boldsymbol{X}, \boldsymbol{\phi})\)
ここで
where
である.また行列Kはデータの各組み合わせについてカーネル値を求めた
なる行列である. \(\phi\) に関する最適化は非凸ではあるが,勾配法などで解ける.ガウス過程による回帰では以下の結合分布を用いる.
ここで \(\boldsymbol{m}_{\boldsymbol{X}} = [m(\boldsymbol{x}^{(1)}) \cdots m(\boldsymbol{x}^{(N)})]^{\text{T}}\) である.条件付き分布を求めることで
が得られる.ただし
である.
Expressing Structure in Kernels¶
ここで述べられているのはGPを用いてどのようにfとgを分離して推定するかについてである.
となっている場合,推定したい関数それぞれのカーネル \(k_a, k_b\) を適当に初期化して以下の結合分布を利用する.
ここで \(k_{a}^{*}, k_{b}^{*}, \boldsymbol{k}_{a}, \boldsymbol{k}_{b}, \boldsymbol{K}_{a}, \boldsymbol{K}_{b}\) は \(k^{*}, \boldsymbol{k}\) と同様に定めるとする.すると観測値 \(\boldsymbol{y}_{\mathrm{sum}}\) で条件付けして以下の推定式を得ることができる.
よって新しい観測値が得られるたびにこのアップデートを行うことができる.
Product with known functions¶
未知の関数 \(f_h(\boldsymbol{x})\) が既知の関数 \(h(\boldsymbol{x})\) だけかけられて以下のように観測されるとする.
すると以下のような結合分布が得られる.
すると \(\boldsymbol{K}_{\mathrm{prod}} = \boldsymbol{H}^{\top}\boldsymbol{K}_h \boldsymbol{H}\) として,観測値で条件付けして以下のような推定式が得られる.
GP Identification for Control Affine Systems¶
ここで実際に題意のシステムにおいて関数fgの推定を行う.それぞれの初期値(初期関数)の平均を
カーネルを
とする.そして(オフラインで?)
を最適化しておく. \(\boldsymbol{U}_{0}=\operatorname{diag}\left(u_{0}\left(\boldsymbol{x}^{(1)}\right), \ldots, u_{0}\left(\boldsymbol{x}^{(N)}\right)\right)\) , \(u_{0}^{*} = u_{0}(\boldsymbol{x}^{*})\) , \(\boldsymbol{b}_{\mu} = [b_{\mu} \cdots b_{\mu}]^{\top} \in \mathbb{R}^N\) として以下の結合分布
を用いると,以下のように観測データで条件付けして推定を行えば良い.
Convergence Analysis for Feedback Linearizing Control¶
ここでは制御器の収束性について議論している.
Control Law¶
天下り的ではあるが,
なるスカラーを考える.ここで \(s^{n-1} + \lambda_{n-1}s^{n-2} + \cdots + \lambda_1\) は実部が負の根しか持たない(Hurwitz).すると
であるから,この式において入力 \(u_f\) を別の変数 \(\nu = -k_c r - \boldsymbol{\lambda}^{\top}\boldsymbol{x}_{2:n}\) を用いて
と表すと \(\dot{r} = -k_c r\) より \(r \to 0\) となる.
Convergence Analysis¶
Lyapnov関数として以下の関数を用いる.
まず \(\dot{V} = r \dot{r}\) と
となっている. \(\bar{g} = g / \hat{g}\) とすると \(u = \bar{g}(-\hat{f}(\boldsymbol{x}) + \nu)\) であるから,
と表せる.関数 \(f, \hat{f}, g\) は有界であるから,
なる行列とベクトル \(\boldsymbol{b}, \boldsymbol{A}, \boldsymbol{B}\) が存在する.これらを用いると
のようにして上から抑えることができて,
が成立するように \(k_c > k_{c}^{*}\) をとれれば
以外の領域においてVは減少してくれる.
Tighter Bound with Training Data¶
ここでは推定した関数の分散(カーネル関数)が訓練集合が増えるにつれて徐々に減少することを示す. 証明を簡単にするため,以下の仮定を追加する.
- 仮定4
関数 \(g\) は既知であり,以下の \(f\) の観測値が得られるとする.
\begin{align*} y_{f}^{(i)}=f\left(\boldsymbol{x}^{(i)}\right)+\epsilon^{(i)}=\dot{x}_{n}^{(i)}-g\left(\boldsymbol{x}^{(i)}\right) u_{0}\left(\boldsymbol{x}^{(i)}\right)+\epsilon^{(i)} \end{align*}
すると (1) より未知関数 \(\hat{f}\) は以下のように推定される.
- 系1
- 仮定1 仮定2 仮定3 仮定4 の下で (2) (5) を用いると,任意の \(k_c > 0\) について系は大域的一様終局的有界(globally uniformly ultimately bounded)である.
これは (4) において,さらに \(1 - \bar{g} = 0\) が成立することから示される.
以降では (1) における分散の上界を与える.これはモデルの信頼性(fidelity)や訓練集合への距離を表している.
- 定理2
- (1) で定義されるガウス過程の推定値の分散は以下のようにある定数により上から抑えられる. \(0 < \sigma( \boldsymbol{x}) < \sigma_{f}^2\)
これは著者らの先行研究を参照していた.GPにおいては真の関数値 \(f(\boldsymbol{x})\) と推定における平均 \(\mu (\boldsymbol{x})\) との距離を以下の仮定の下で評価することができる.
- 仮定5
- 有界な連続微分可能なカーネル関数 \(k\) を用いた場合の, \(f(\boldsymbol{x})\) の再生核ヒルベルト空間におけるノルムが, \(\|f(\boldsymbol{x}) \|_{k}^2 < B_f\) より抑えられている.
- 定理3
仮定5 の下で
\begin{align*} \operatorname{Pr}\left\{\forall \boldsymbol{x} \in \tilde{\mathcal{X}},\left|\mu_{N}(\boldsymbol{x})-f(\boldsymbol{x})\right| \leq \beta_{N+1} \sigma_{N}(\boldsymbol{x})\right\} \geq 1-\delta \end{align*}がコンパクト集合 \(\bar{\mathcal{X}} \in \mathbb{R}^n\) 上で成立する.ここで \(\delta \in [0, 1]\)
\begin{align*} \beta_{N+1}=\sqrt{2 B_{f}+300 \gamma_{N+1} \log ^{3}((N+1) / \delta)} \end{align*}である.また \(\gamma_{N+1}\) は \(\boldsymbol{x}_1, \ldots \boldsymbol{x}_N\) の相互情報量である.
- 命題2
仮定1 仮定2 仮定3 仮定4 仮定5 と式 (5) による \(f(\boldsymbol{x})\) の推定値,式 (2) による制御入力を用いると,任意の \(k_c > 0\) について閉ループシステム系は確率 \(1 - \delta\) で以下の集合において大域的に一様に終局的に有界である.
\begin{align*} \mathcal{B}_{2}=\left\{\boldsymbol{x} \in \mathcal{X} \mid\|\boldsymbol{x}\| \leq \frac{\beta_{N+1} \bar{\sigma}}{k_{c}\left\|\left[\boldsymbol{\lambda}^{\top} 1\right]\right\|}\right\} \end{align*}ここで \(\bar{\sigma} > \sigma(\boldsymbol{x})\) が \(\forall \boldsymbol{x} \in \mathcal{B}_1\) において成立するような上界が \(\bar{\sigma}\) である.
- 証明2
Convergence Analysis により \(\mathcal{B}_1 = \bar{\mathcal{X}}\) への収束は保証されている.よって 定理3 が適用できて, \(\mathcal{B}_1\) 上での議論に限ればよい. (3) のリャプノフ関数を用いてみると \(g - \hat{g} = 0\) である( 仮定4 )よりその時間変化は
\begin{align*} \dot{V}(\boldsymbol{x}) = r(f - \hat{f}) - k_c r^2 \end{align*}で与えられる. 定理3 より
\begin{align*} |f-\hat{f}| \leq \beta_{N+1} \bar{\sigma} \quad \Rightarrow \quad \dot{V}(\boldsymbol{x})<0 \quad \forall \boldsymbol{x} \in \mathcal{X} \backslash \mathcal{B}_{2} \end{align*}が確率 \(1 - \delta\) で成立する.よって半径 \(\beta_{N+1} \bar{\sigma} / k_c\) 以内への収束,すなわち \(\mathcal{B}_2\) への収束が示される.
最後に訓練集合にデータが追加されるほど分散が減少することを示す.
- 定理4
- (1)
- 訓練集合のサイズが \(N, N+1\) のときの分散を \(\sigma_{N}(\boldsymbol{x}), \sigma_{N+1}(\boldsymbol{x})\) とすると, \(\sigma_{N}(\boldsymbol{x})>\sigma_{N+1}(\boldsymbol{x}), \quad \forall \boldsymbol{x} \in \mathcal{X}\) が成立する.
- (2)
既存の訓練集合 \(\boldsymbol{x}^{(i)} (i = 1,,,N_0)\) に対してテスト集合 \(\boldsymbol{x}^{*} = \boldsymbol{x}^{(i)} (i = N_0,,,N)\) が加えられると
\begin{align*} \lim _{N \rightarrow \infty} \sigma_{N}\left(\boldsymbol{x}^{*}\right)=0 \quad \text { with } \quad \sigma_{N}=\mathcal{O}(1 / N) \end{align*}が成立する.
- 証明(1)
- 式 (1) において \(\boldsymbol{k}^{\top}\left(\boldsymbol{K}+\sigma_{n}^{2} \boldsymbol{I}_{N}\right)^{-1} \boldsymbol{k}\) はデータが追加されるについて単調に増加するので証明完了.
- 証明(2)
詳細は省くが以下の式
\begin{align*} \lim _{N \rightarrow \infty} \sigma_{N}\left(\boldsymbol{x}^{*}\right) \leq \lim _{N \rightarrow \infty} \sigma_{f}^{2}\left(1-\frac{k_{0}+N}{N+\sigma_{n}^{2} / \sigma_{f}^{2}}\right)=0 \end{align*}が成立するので証明完了.