Skip to content

loss設計

Averak edited this page Dec 22, 2022 · 7 revisions

損失関数の定義

不整地走行は出力値がX、Y方向の移動量であるため、2次元ガウス分布を考える。

$f_{\mathbf {X} } = {\frac {\exp \left(-{\frac {1}{2}}({\mathbf {x} }-{\boldsymbol {\mu }})^{\mathrm {T} }{\boldsymbol {\Sigma }}^{-1}({\mathbf {x} }-{\boldsymbol {\mu }})\right)}{\sqrt {(2\pi )^{2}|{\boldsymbol {\Sigma }}|}}}$

これの負の対数尤度を取ると、以下のようになる。

$-log(f_{\mathbf {X} }) = log({\sqrt {(2\pi )^{2}|{\boldsymbol {\Sigma }}|}}) + {\frac {1}{2}}({\mathbf {x} }-{\boldsymbol {\mu }})^{\mathrm {T} }{\boldsymbol {\Sigma }}^{-1}({\mathbf {x} }-{\boldsymbol {\mu }})$

実際の移動量を ${\mathbf y} = (y_x, y_y)^{\mathrm {T} }$ 、推定した移動量を ${\boldsymbol {\theta }} = (\theta_x, \theta_y)^{\mathrm {T} }$ とすると、損失関数は以下のようになる。

$log({(2\pi )^{2}|{\boldsymbol {\Sigma }}|}) + ({\mathbf {y} }-{\boldsymbol {\theta }})^{\mathrm {T} }{\boldsymbol {\Sigma }}^{-1}({\mathbf {y} }-{\boldsymbol {\theta }})$

モデルの出力値

モデルは下記2つのパラメータを出力する

  • $\theta_x$
  • $\theta_y$
  • $\xi_1$
    • $\xi_1 = \frac{1}{\lambda_1} >= 0$
  • $\xi_2$
    • $\xi_2 = \frac{1}{\lambda_2} >= 0$
  • $u_1$
    • $\sqrt{u_1^{2} + u_2^{2}} = 1$となるよう正規化される
  • $u_2$
    • $\sqrt{u_1^{2} + u_2^{2}} = 1$となるよう正規化される

共分散行列 $\Sigma$ は回転行列 $U$ 、対角行列 $\Lambda$ を使って $\Sigma = U \Lambda (U^{\mathrm {T} })$ と分解できる。

回転行列 $U$ の1列目と2列目はどちらも単位ベクトルで、両者は直交することから、 $u_1$$u_2$ で導出可能。

また、 $\lambda_1$ 及び $\lambda_2$$\Lambda$ の対角成分である。

Clone this wiki locally