Towards neural network-based reasoning 文献講読
- 2. TOWARDS NEURAL NETWORK-BASED REASONING [Peng+, 2015]
Encoding Layer
• 単語列(事実と質問)を固定長ベクトルに変換
• GRUを使用 単語ベクトル列Xを入力とする
• 前向き計算
• は単語埋め込み, は重み行列
• 最終隠れ状態 を単語列の表現として扱う
- 3. TOWARDS NEURAL NETWORK-BASED REASONING [Peng+, 2015]
Reasoning Layers
Question-Fact Interaction
• 一般的に、 𝑞 𝑘
(𝑙)
と𝑓𝑘
(𝑙)
は前の層とは次元が異なり得る
• 𝐷𝑁𝑁𝑙を単層とすると
• 𝑞 𝑘
(𝑙)
は事実Kとのインタラクション後のシステムの質問の答え
に対する理解の更新
• 𝑓𝑘
(𝑙)
はK番目の事実の変化を記録
• 𝑞 𝑘
(𝑙)
, 𝑓𝑘
(𝑙)
は推論過程の‘状態’を保持
非線形活性化関数
- 4. TOWARDS NEURAL NETWORK-BASED REASONING [Peng+, 2015]
Reasoning Layers
Pooling Average/Max Pooling:
𝑞(𝑙)のn番目の要素を得るために から同じ位置の要素の平均/最大
をとる
Gating:
𝑞 𝑘
(𝑙)
の特徴量の確からしさを によって決定するgating network
𝑔 𝑙 (. )を追加
出力 は𝑞 𝑘
(𝑙)
と同じ次元でそのn番目の要素は正規化の後𝑞(𝑙)
を求める上で𝑞 𝑘
(𝑙)
の対応する要素に対する重みとして使われる
Model-based:
事実の時系列構造を考慮するために の情報を結合するのにCNN
やRNNを使う
プーリングの目的は、すべての
事実とのインタラクション直後
の質問の理解を融合することで、
質問の現在の状態を作り異なる
事実との比較を可能にする
- 5. TOWARDS NEURAL NETWORK-BASED REASONING [Peng+, 2015]
Answering Layer
• 推論タスクを分類問題として定式化する
Type I: Yes-Noで答える質問
Type II: 答えの候補の集合が小さい特殊な質問
• 効果的なクラスが事例ごとに動的に変化する分類はNEURAL
REASONERでは直接解けないので以下のスコア関数を定義
• 𝑔 𝑚𝑎𝑡𝑐ℎは関数(e.g. DNN)
• 𝑤𝑧はクラスzの埋め込み(zはタスクごとに動的に決定)