You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Encoder :
ニューラルネットワーク h を利用して観測データのペアを特徴ベクトル r_i に encode する。
Aggregator :
encode した各特徴ベクトル r_i (i=1,2,…) を1つの固定次元の特徴ベクトル r に集約する。(例:平均化)
この集約された特徴ベクトル r は、global latent variable z が従うガウス分布の平均値 μ と分散値 σ を計算するためのパラメーターとして使用される。
Decoder :
ガウス分布からサンプリングされた global latent variable z を入力として、ニューラルネットワーク g でパラメーター を推定し、 そのパラメーター で出力データ y を推定する。
特に回帰タスクでは、ガウス分布のパラメーター(平均値+分散値)を推定し、そのパラメーターで出力データを推定する。(平均値を回帰結果。分散値を回帰結果の信頼度とする)
※ ニューラルネットワーク g で出力データ y を直接推定するのではなくて、パラメーター を推定し、そのパラメーターで出力データを推定していることに注目。
このアーキテクチャにより、学習用データ数 n + テスト用データ数 m に対しての計算オーダーは、 の計算オーダーで計算することができる。
※ ガウス過程での計算オーダーは、
入力データの各特徴量を1つの特徴量にまとめた特徴量からガウス分布の平均値と分散値を計算し、その平均値と分散値を持つガウス分布から潜在変数(global latent variable)を得るが、このガウス分布からサンプリングされた潜在変数というのは、今考えている教師あり学習タスクの目的である推定問題 f : X → Y におけるグローバルな情報を含んでおり、またランダム性を含んでいるので、この潜在変数を組み込むことでモデルにグローバルな不確実性をもたせ、同じ入力データに対しても様々な近似関数を出力することを可能にしているという点がポイント。
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
Conditional Neural Processes (CNP) は、これらニューラルネットワークとガウス過程の双方の利点を組み合わせることで、対象の関数を比較的少ない学習用データセットで学習可能かつ観測点追加の容易性の面で計算効率もよいモデルとなっている。
しかしながら、CNP では、不確実性の高い状況下でも同じ入力データに対して様々な異なる近似関数を生成できないという問題が存在する。
本手法では、この CNP に、全入力データを集約させたガウス分布からのランダムサンプリングで得られる潜在変数(global latent variable)を追加することで、モデルにグローバルな不確実性をもたせ、このような不確実性に応じた出力の一貫性や多様性の問題を解決している。
3. 技術や手法の"キモ"はどこにある?
Global latent variable の追加(Conditional Neural Processes からの変更点)
![](https://user-images.githubusercontent.com/25688193/68538928-86988200-03bf-11ea-9458-df847d612606.png)
Neural Processes は、Conditional Neural Processes (CNP) をベースとしたモデルとなっている。
但し、CNP では、同じ入力データに対して異なる近似関数を生成できないという、出力の一貫性や多様性の問題が存在するので、上図のアーキテクチャの概要図のように、この CNP に、全入力データを集約させたガウス分布からのランダムサンプリングで得られる潜在変数(global latent variable)を追加することで、モデルにグローバルな不確実性をもたせ、このような不確実性に応じた出力の一貫性や多様性の問題を解決している。
潜在変数 z はこのガウス分布からサンプリングされる変数なのでランダム性をもち、又、このガウス分布の平均値と分散値は全ての入力データを集約から計算されているので、グローバルな不確実性を表現していることになる。
その結果として、モデルに観測データのグローバルな不確実性を組み込むことが出来る。
アーキテクチャの主要コンポーネント(Conditional Neural Processes と同様)
Neural Processes のアーキテクチャは、CNP と同様にして、以下の3つの主要コンポーネントから構成される。
Encoder :
ニューラルネットワーク h を利用して観測データのペアを特徴ベクトル r_i に encode する。
Aggregator :
![](https://user-images.githubusercontent.com/25688193/68538949-dd9e5700-03bf-11ea-81bc-4a581629a732.png)
encode した各特徴ベクトル r_i (i=1,2,…) を1つの固定次元の特徴ベクトル r に集約する。(例:平均化)
この集約された特徴ベクトル r は、global latent variable z が従うガウス分布の平均値 μ と分散値 σ を計算するためのパラメーターとして使用される。
Decoder :
を推定し、 そのパラメーター
で出力データ y を推定する。
を推定し、そのパラメーターで出力データを推定していることに注目。
ガウス分布からサンプリングされた global latent variable z を入力として、ニューラルネットワーク g でパラメーター
特に回帰タスクでは、ガウス分布のパラメーター(平均値+分散値)を推定し、そのパラメーターで出力データを推定する。(平均値を回帰結果。分散値を回帰結果の信頼度とする)
※ ニューラルネットワーク g で出力データ y を直接推定するのではなくて、パラメーター
このアーキテクチャにより、学習用データ数 n + テスト用データ数 m に対しての計算オーダーは、
の計算オーダーで計算することができる。![](https://user-images.githubusercontent.com/25688193/67619483-3d7cf580-f837-11e9-9e3c-ed4010ed7dc2.png)
※ ガウス過程での計算オーダーは、
4. どうやって有効だと検証した?
1次元の関数回帰タスクで、Neural Processes の性能を検証している。
![](https://user-images.githubusercontent.com/25688193/68539028-d75caa80-03c0-11ea-9707-92481c538aa0.png)
Conditional Neural Processes と同様にして、も少ない学習用データ点で回帰が行えていることが見て取れる。
又、データ数が少なく、不確実性が高い状況下では関数近似のばらつきが大きくなっており、逆にデータ数が多く、不確実性が低い状況下では関数近似のばらつきが小さくなっており、不確実性に応じた出力の一貫性や多様性が組み込まれていることが見て取れる。
画像を回帰するタスクで、Neural Processes の性能を検証している。
![](https://user-images.githubusercontent.com/25688193/68539024-c3b14400-03c0-11ea-8390-031e6953d9bb.png)
Conditional Neural Processes と同様にして、も少ない学習用データ点で回帰が行えていることが見て取れる。
又、データ数が少なく、不確実性が高い状況下では多様な画像が生成されており、逆にデータ数が多く、不確実性が低い状況下ではある決まりきった画像が生成されており、不確実性に応じた出力の一貫性や多様性が組み込まれていることが見て取れる。
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献
The text was updated successfully, but these errors were encountered: