\begin{equation*} \newcommand\innerp[2]{\langle #1, #2 \rangle} \newcommand\ve[1]{\boldsymbol{#1}} \newcommand\parfrac[2]{\frac{\partial #1}{\partial #2}} \newcommand\mean[2]{\mathrm{E}_{#1} \left[ #2 \right]} \newcommand\KL[2]{\mathrm{KL} \left[ #1 \ \middle| \middle| \ #2 \right]} \end{equation*}

まだ悩んでいる。今は \(\ve{R}^{-1}\) を直接計算してるので、正則化込みの結果( \((\ve{R} + \lambda\ve{I})^{-1}\) )になっていない。この式を近似でもいいから計算できないか?

なんかうまくいきそうなんだけど、定式化にあたって一つ疑問が: 自然勾配って一般の損失関数にも使えるのか? 対数尤度を損失関数に使った場合は、無論自然勾配になるけど、一般の損失関数の場合、フィッシャー情報行列と損失関数の勾配が噛み合わない気がする。

  • Fisher Information and Natural Gradient Learning of Random Deep Networks 甘利先生の論文だけど一般の損失に適用しているように見える
  • Why Natural Gradient? →大丈夫っぽい。ちゃんと読もう。 簡単な例(極座標系)で示している。普通の勾配はユークリッド空間上になるけど、極座標の逆行列を乗じて自然勾配を得ている。
    • とは言っても目的関数の構造を適切に表していないと、性能が悪そうに見える。対数尤度以外でどういうときに有効なんだ?
    • 試してみるしかない?つまり、勾配分散を毎回求める必要があるのか、それとも、一つの計量を複数の損失関数で使い回せるかやってみる。
    • もう少し考えた。やっぱり正則化項を入れると損失関数の勾配は歪んでくると思う。だから、正則化項も含めてフィッシャー情報行列を計算しなければいかんと思う。ていうか、もはやフィッシャー情報行列は勾配の分散でしか無いように見えてきた。やり方としては、パラメータの事前分布にガウスorラプラス分布を入れて、そいつの対数尤度をとって最適化問題を考える。フィッシャー情報行列の式変形が難しくなるけど、そんなことは無視して(考察の余地はあるけど)逆行列補題でストレートにフィッシャー情報行列の逆行列を計算できる。
      • ようはMAP推定。 \(\max p(\ve{x} | \ve{\theta}) p(\ve{\theta})\) で、 \(p(\ve{x} | \ve{\theta})\) は誤差分布、 \(p(\ve{\theta})\) はパラメータ事前分布。\(p(\ve{\theta}) = \exp(-\beta ||\ve{\theta}||_{2}), \exp(-\beta ||\ve{\theta}||_{1})\) なり何でもあり。対数とって勾配の分散をとればフィッシャー情報行列が求まる。
      • 試すこともできると思うのでやってみたい。