Encoder :
ニューラルネットワーク h を利用して観測データのペアを特徴ベクトル r_i に encode する。
Aggregator :
encode した各特徴ベクトル r_i (i=1,2,…) を1つの固定次元の特徴ベクトル r に集約する。(例:平均化)
Decoder :
推定対象の入力データ を入力、集約した特徴ベクトル r を条件として、ニューラルネットワーク g でパラメーター を推定し、 そのパラメーター で出力データ y を推定する。
特に回帰タスクでは、ガウス分布のパラメーター(平均値+分散値)を推定し、そのパラメーターで出力データを推定する。(平均値を回帰結果。分散値を回帰結果の信頼度とする)
※ ニューラルネットワーク g で出力データ y を直接推定するのではなくて、パラメーター を推定し、そのパラメーターで出力データを推定していることに注目。
このアーキテクチャにより、学習用データ数 n + テスト用データ数 m に対しての計算オーダーは、 の計算オーダーで計算することができる。
※ ガウス過程での計算オーダーは、
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
3. 技術や手法の"キモ"はどこにある?
確率過程による教師あり学習のプロセスのモデル化
Conditional Neural Processes は、観測データのペア O, Tが与えられたときの条件付き確率過程 Q_θ(θ : 確率過程を定義するパラメーター)をモデル化する。 確率過程の性質より、観測データのペア O, T の各要素の順列に対して不変である。 即ち、順列を変更した O', T' に対して以下のような関係が成り立つ。 更に、同時確率分布である確率過程を、この順列不変性の関係により分解すると、以下のように表現できる ※ このガウス過程を含めた確率過程がもつ観測データの順列不変性の性質より、Conditional Neural Processes における観測点追加の容易性が確保されていることに注目。
Conditional Neural Processes のアーキテクチャ
Conditional Neural Processes では、上図のようなアーキテクチャを採用している。 ポイントは、以下の3つの点である。
Encoder : ニューラルネットワーク h を利用して観測データのペアを特徴ベクトル r_i に encode する。
Aggregator : encode した各特徴ベクトル r_i (i=1,2,…) を1つの固定次元の特徴ベクトル r に集約する。(例:平均化)
Decoder : 推定対象の入力データ を入力、集約した特徴ベクトル r を条件として、ニューラルネットワーク g でパラメーター を推定し、 そのパラメーター で出力データ y を推定する。 特に回帰タスクでは、ガウス分布のパラメーター(平均値+分散値)を推定し、そのパラメーターで出力データを推定する。(平均値を回帰結果。分散値を回帰結果の信頼度とする) ※ ニューラルネットワーク g で出力データ y を直接推定するのではなくて、パラメーター を推定し、そのパラメーターで出力データを推定していることに注目。
このアーキテクチャにより、学習用データ数 n + テスト用データ数 m に対しての計算オーダーは、 の計算オーダーで計算することができる。 ※ ガウス過程での計算オーダーは、
Conditional Neural Processes の学習処理 Conditional Neural Processes の学習は、以下のように定義される負の対数尤度を最小化するように行われる。 ※ 実際の学習は、この損失関数 L の勾配をモンテカルロ推定し、勾配降下法で重み(パラメーターθ)を更新することで進めていく?
4. どうやって有効だと検証した?
ガウス過程と Conditional Neural Processes で1次元の関数回帰を比較し、Conditional Neural Processes の性能を検証している。
1行目の図は、固定されたカーネル関数の元でのチューニングされたハイパーパラメータをもつガウス過程での回帰結果。 2行目の図は、固定されたカーネル関数の元でのチューニングされたハイパーパラメータをもつ Conditional Neural Processes での回帰結果。 3行目の図は、複数のカーネル関数の元でカーネルパラメーターを切り替えた Conditional Neural Processes での回帰結果。 回帰対象のデータ点は、指数カーネル関数からランダムに生成。 Conditional Neural Processes のニューラルネットワークのアーキテクチャは、MLP(encoder 側3層MLP、decoder 側5層MLP) を使用。
上図より、ガウス過程での回帰結果のほうがより滑らかに回帰出来ているものの、Conditional Neural Processes も少ない学習用データ点で回帰が行えていることが見て取れる。
画像を回帰するタスクで、Conditional Neural Processes の性能を検証している。
上図は、MNIST データセットと CelebA データセットに対して、少数のデータ点から元の画像全体を回帰するタスクで Conditional Neural Processes の性能を検証した結果を示している。 少数のデータ点だけでも、うまく元の画像全体を回帰できていることが見て取れる。
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献