Multimodal Emergent Fake News Detection via Meta Neural Process Networks
Yaqing Wang, Fenglong Ma, Haoyu Wang, Kishlay Jha and Jing Gao
Purdue University, West Lafayette, Indiana, USA
Pennsylvania State University, Pennsylvania, USA
University of Virginia, Charlottesville, Virginia, USA
選んだ理由
Fake News検出の精度感
現実的な手法を提案してるらしい
イントロ
Fake Newsは瞬く間に拡散されてしまうので、できるだけ早く検出したい
ニュースイベントのドメインシフトにより、過去のイベントでトレーニングされたモデルは満足のいくパフォーマンスを達成できない可能性
新規のNewsの知識を取り込めばよいが、モデルを最初から学習or追加学習は現実的には厳しい
また新規のNewsにはラベル付きデータが少ない(下図だと3データ)
この小さなデータでTargetがFakeか判定できるようにしたい
https://gyazo.com/e034b5017b8b0b5446d6723d82c49663
小さいデータセットといえば、few-shot learning!!
そのひとつの、meta learning
Fake Newsでは、その仮定(適用するタスクが多様でないこと)が効かない
そのひとつの、neural processes
underfittingしやすい。精度低め
本論文では、meta learningとneural processesを融合
これにより、互いの弱点を補う
オフライン実験にて、4~5%の精度向上
用語
few-shot learning
あとから少量のデータでチューニングしやすい基礎パラメータを学習することが目標
イベント
Newsのイベント(〇〇動物園からエミュー脱走)
dataset分割
support data : イベントeごとの教師データ
$ \left\{\mathbf{X}_{e}^{s}, \mathbf{Y}_{e}^{s}\right\}=\left\{x_{e, i}^{s}, y_{e, i}^{s}\right\}_{i=1}^{K}
query data : イベントeごとのチューニング用教師データ
$ \left\{\mathbf{X}_{e}^{q}, \mathbf{Y}_{e}^{q}\right\}=\left\{x_{e, i}^{q}, y_{e, i}^{q}\right\}_{i=K+1}^{N}
関連研究
Fake News Detection
Social context情報を利用(2015,17)
フォロワー数、ハッシュタグ(#)、リツイートなど
-> 新たに発生したイベントについてはデータが少ない問題
テキスト情報を利用(2011,14,17)
ディープラーニングモデル(2013,17,18,19,20)
視覚情報も重要(2017)
投稿に添付された画像
本論文
マルチモーダル(多様な新規イベント)な特徴を考慮
(2017)では、multi-modal と social context features を attention で融合したディープ
(2018)では、新規イベントを検出するために、各イベント共通の特徴をキャプチャできるEANNを提案
-> 小さなデータセットでイベント固有の特徴を取得するのには不向き
Few-Shot Learning
Meta-learning(2002,20)
MAML(2017)
ラベル付けされた小さなデータセットを使用して、新しいタスクを迅速に学習するために使用されるモデル初期化パラメーターを学習する
Meta-SGD(2017)
step sizeも学習
HSML(2019)
階層的クラスタリング構造
Neural process approaches
CNP, NP (2018)
出力が確率分布
様々な環境を事前に経験しておけば、新しい環境について少数の学習データを与えられるだけで全体を高精度に推定することが可能
encoder, feature extractor, aggregator, decoderの4つで構成
-> サンプルデータ間の重要性を無視しがち(等しい重み)
ANP(2019)
データの重要性考慮のため、attention導入
-> underfittingしやすい問題
シンプルなカテゴリ情報の使い方
提案手法
meta-learningのパラメータの柔軟さ と Neural processからイベントの多様さを処理するフレームワーク
手法のキモはどこ?
MetaFEND (Meta-learning Neural Process Design) を提案
2 stageに分かれている
event adaptation
support dataを使って特定のイベントに特化したモデルパラメータ$ \theta_{e}を学習
support data $ \left\{x_{e, i}^{s}, y_{e, i}^{s}\right\}と残りのsupport set (context set)$ \left\{\mathbf{X}_{e}^{s}, \mathrm{Y}_{e}^{s}\right\} \backslash\left\{x_{e, i}^{s *}, y_{e, i}^{s}\right\}から、$ x_{e, i}^{s}のラベルを予測
ロスを計算して、$ \theta_{e}を取得
$ \mathcal{L}_{e}^{s}=\sum_{i} \log p_{\theta}\left(y_{e, i}^{s} \mid\left\{\mathbf{X}_{e}^{s}, \mathrm{Y}_{e}^{s}\right\} \backslash\left\{x_{e, i}^{s}, y_{e, i}^{s}\right\}, x_{e, i}^{s}\right)
$ \theta_{e}=\theta-\alpha \nabla_{\theta} \mathcal{L}_{e}^{s}
まだ$ \thetaは更新しない
detection
support setとモデルパラメータ$ \theta_{e}を使って、query data $ \mathbf{X}_{e}^{q}のラベルを予測
$ \mathcal{L}_{e}^{q}=\log p_{\theta_{e}}\left(Y_{e}^{q} \mid X_{e}^{s}, Y_{e}^{s}, X_{e}^{q}\right)
このロスを利用して、$ \thetaを更新している(はず)
実際には各イベントごとのロスの総和が最小=様々なイベントの予測がうまくいくような$ \thetaを学習していく
上記の meta neural processにより、新規イベントの学習を迅速に行えるようなモデルの初期パラメータを学習する
https://gyazo.com/b43a45c96b1b65341a5d3c8b57aa24be
Feature Extractor
特徴ベクトル変換
Label Embedding
ラベル(投稿に結びついたカテゴリ)の埋め込み
Aggregator
ベクトルを集約して、固定次元のcontext embeddingをつくる
流れ
event adaptation
データのベクトル化
Aggregatorの出力とtarget dataのベクトルをconcat -> 出力ベクトル
出力ベクトルとlabel vector{fake, real}との類似度をとって、ラベル予測。$ \theta_{e}を更新
detection
上に同じ
$ \theta_{e}を使ってラベル予測。$ \thetaを更新
https://gyazo.com/b43a45c96b1b65341a5d3c8b57aa24be
詳細
Feature Extractor
2種類
文のベクトル化
CNN (Fake News Detectionの関連研究で実績があったので)
画像のベクトル化
pretrained VGG19 (マルチモーダルFake News Detectionの関連研究で利用されていたので)
2つのoutputをconcat
Aggregator
attentionの採用
target dataのcontext vectorを構築するには、permutation invariant と target-dependent を満たす必要がある
集合データを入力とし、スカラーを出力する問題です。集合に対して1つの値を返すため、入力データの順序を変えても出力が同じになります。この性質をpermutation invariantと呼びます。
scaled dot-product attention を利用
✖ soft-attention: アテンション重みをsoftmaxで算出するタイプ $ \mathbf{a}_{i}=\operatorname{softmax}\left(\frac{\mathbf{Q}_{i} \mathbf{K}^{T}}{\sqrt{d}}\right)
無関係なデータを効果的にトリミングできない
特に、Fake Newsのcontext setの場合、クラス分布がアンバランスなため、よくない
(real 4 : fake 1 のcontext setとfake 1のtarget dataがあるとしたら、target dataのラベル予測にはreal 4の情報(無関係)よりfake 1の情報を利用したい?)
⚪Hard-Attention: 最も関連のあるcontext dataを際立たせる
テクニック
argmax を微分可能にしたいので、Straight-Through (ST) Gumbel SoftMax でサンプリングして 近似argmax
Gumbel-Max Trickを使うと、Deep Learningなどでよくあるように、logitからsoftmax関数を通して確率を計算することなくlogitから直接効率的にサンプリングすることが可能です。 Gumbel-Max Trickを使ってGumbel-Softmaxに繋がり、離散的な潜在表現を持つモデルのバック・プロパゲーションが可能になります。
$ p_{i, k}=\frac{\exp \left(\left(\log \left(a_{i, k}\right)+g\right) / \tau\right)}{\sum_{k, k \neq i}^{K} \exp \left(\left(\log \left(a_{i, k}\right)+g\right) / \tau\right)} 温度付きsoftmaxな形ではある
Detector based on Label Embedding
関連手法 CNP, ANPではデータのカテゴリ情報をその他の特徴ベクトルにシンプルにconcatして利用
特徴ベクトルに対して次元数が小さいので、影響がほぼない
次元数増やす意味でもLabel Embeddingを用いる (inspired by word embedding)
vec(fake) と vec(real) は(何かしらで)定義
Aggregatorの出力ベクトルoとの類似度を算出し、ラベル予測
$ \begin{aligned} &\operatorname{similarity}\left(\mathbf{o}_{e, i}, \operatorname{vec}(\text { fake })\right)=\| \mathbf{o}_{e, i} \circ \text { vec }(\text { fake }) \| \\&\operatorname{similarity}\left(\mathbf{o}_{e, i}, \mathbf{v e c}(\text { real })\right)=\| \mathbf{o}_{e, i} \circ \operatorname{vec}(\text { real }) \|\end{aligned}
実験
データセット
2種
Twitter dataset
Fake Content データセット
Weibo dataset
Fake News データセット
これらは、様々なニュースイベントを含んでおり、異質イベントなFake News検出の実験に適している
前処理
20以上の投稿と関連付けられているイベントに絞る
イベントの投稿をランダムにsupport dataとquery dataに分割
新規イベントの評価のため、学習とテストで共通のイベントが含まれないようにする
https://gyazo.com/138c8962444371c5150c1b86230f9265
Baseline
Fine-tune models
Visual Question Answering (VQA)
画像に基づいて質問に回答
att-RNN
state-of-the-art for fake news detection(マルチモーダル)
attentionを用いて、textual, visual and social context featuresを融合
EANN
state-of-the-art for fake news detection(マルチモーダルではない)
Few-shot learning models
neural process
CNP
state-of-the-art model for few-shot learning
ANP
meta learning
MAML
Meta-SGD
state-of-the-art meta learning method for few-shot learning
結果
5-shot : testデータの中から5つをtest時のsupport setとして利用
前提: testデータのイベントは特定できており、既に5つはラベル付けが終わっている状態
https://gyazo.com/125651b56a33761d31a5871e2b6acc35
比較
Twitter
ANP > CNP
ANPのほうがattentionにより、context情報を有益に扱えている
Meta-SGD < MAML
Meta-SGDはイベントの異質性の学習が難しい
MetaFEND 4~5%向上
イベントの異質性をより適切にキャプチャ
10-shot : support dataが増えると?
ANPの精度が低下
無関係なデータがsoft attentionに取り込まれてしまう
MetaFEND
hard attentionにより、無関係なデータをトリミングできる
Weibo
Twitterとのちがい
新イベントが多い(難しい)
Evan < VQA, attRNN
EVANはイベント固有の特徴を無視しがち
ANP, CNP > MAML, Meta-SGD
イベントの異質性がらみ
MetaFEND 4~5%向上
少量のsupport dataから迅速に学習するための基本パラメータの学習ができるため
Ablation Study
Hard-Attention と label embedding の役割について
https://gyazo.com/109b557fede600b5e98623c8665c6347
Soft-Attention v.s. Hard-Attention.
10 shot (support dataが増える)ほど、精度に差
Soft-Attentionでは関係のないデータポイントが不可避に組み込まれてしまうため
Hart-Attentionではsupport dataを効果的に利用することができる
w/o Label Embedding v.s. w/ Label Embedding
ラベル埋め込みが有効
Case Study
赤字がsoft-attensionのスコア
https://gyazo.com/2fe84c17393949e1bacd065e2a23d7f4
Soft-Attention
Support Set全体に引っ張られる
Hard-Attention
Support Setの中で最も類似したサンプルに焦点を当てる事ができる
Query SetをFakeと判定できた
(もっと似てないQuery Setの場合どうなのか見てみたい)
↑のように、同じイベントの投稿と画像は非常に似ており、区別するのが困難
event adaption stage がないと、モデルが有益な手がかりを取得するのがむずい
まとめ
MetaFENDを提案
meta-learningとNeural processを融合した、少ないデータに強いFake News検知モデル
従来の4~5%精度向上達成
所感
想像してたのと、問題設定が違う。もっと単発のFake News判定するものかと。test時のsupport setを無視すれば単発でもいけそう
meta-learningについて知れてよかった。
応用するなら、扇情記事判定が状況として近そう。教師データ少ないし。
イベント -> フィードと捉えれば成立するか
フィードに囚われにくくなるのは、個人的に好きかも