いきなりまとめ
Relation Netowrksとは関係性の推論を行えるニューラルネット。
画像や音声の単純な認識ではなく、複雑な思考が可能。
例えば、
- グレーの物体から最も離れている物体の形は何か?
- ボールは今何処にあるか?
- ランダムに動くボール群のどれがペアになっているか?
Today I Learned
A simple neural network module for relational reasoning
を参考に。
Relation Netowrksとは
関係性の推論を行うことのできるニューラルネット。
特徴は
・関係性の推論に特化
・ plug-and-play
・入力データ形式が比較的自由
Relation Netowrksの威力
関係性の推論タスクで他のモデルや人間をアウトパフォーム。
・画像認識QAタスク(CLEVRデータセット、Sort-of-CLEVRデータセット)
- 95.5%の最先端のパフォーマンス
- それまでのベストモデルを27%上回った
- 人間に対してもアウトパフォーム
属性についての質問(球は何色か?)、属性の比較についての質問(立方体と直方体が同じ素材か?)など。
・テキストQAタスク(bAbIデータセット)
- 18/20のタスクに成功
- 基本タスクでは2.1%のトータルエラー
20のタスクからなり個々のタスクは特定の推論、演繹、帰納、数え上げなどに対応。
個々の質問はsupporting factsと関連付け。
例:ボールはどこだという質問に対するfactsはサンドラはボールを拾った、サンドラはオフィスへ行ったなど。
パフォーマンスが95%以上ならばタスクを解いたと判定。
・動的システムにおけるタスク(物理シュミレーションデータセット)
- 93%のデータに対してすべての接続性を認識
- カウントタスクでは95%のパフォーマンス
ランダムに選ばれたボールペアは不可視のスプリングによって接続。
入力データは状態マトリックス。
それぞれの行がボールに対応し、列はRBGカラー値、16ステップにおける空間的座標を表現。
タスクは2種。
1:ボール間の接続性の有無の判定
2:テーブル上のシステムの数のカウント
Relation Netowrksの中身
・入力データ
幅広い入力形式に対応 。
CNNまたはLSTMから出力されたembedding、
状態を描写したベクトルなど。
QAタスクでは画像に関するパッチ、質問をLSTMで処理したembeddingを入力。
テキストQAタスクではサポートセットから20個のセンテンスを選択。
サポートセンテンスおよび質問をLSTMで処理し、embeddingをペアにして入力。
・モデル構造
Relation Netowrksの基本構造。
すべてのオブジェクトペアをMLP のgに入力し関係性を得る。
オブジェクトはCNN、RNNで処理したembeddingや状態描写ベクトル。
それらを要素ごとに足し合わせMLPのfに入力し回答を出力。
画像認識QAタスクでは、4層のConvNetでembeddingを得る。
質問の処理には128ユニットのLSTM。
gには4層のMLP。
fには3層のMLP。
回答ボキャブラリーをsoftmaxにより出力。
ロス関数にはcross-entropyを使用。
トレーニングにはAdam。