赞
踩
本博客系本人理解该论文之后所写,非逐句翻译,预知该论文详情,请参阅论文原文。
论文标题:Multimodal Fusion with Co-Attention Networks for Fake News Detection;
作者:Yang Wu, Pengwei Zhan, Yunjian Zhang, Liming Wang, Zhen Xu;
中国科学院大学;
发表会议或期刊:ACL 2021;
官方代码地址:GitHub - wuyang45/MCAN_code: Multimodal Fusion with Co-Attention Networks for Fake News Detection
一个复现MCAN的代码,给出了weibo和twitter数据集的下载地址:https://github.com/plw-study/Reproduction_of_MCAN
靠人工识别谣言是费时费力的,所以急需自动识别谣言的模型。但是现有谣言检测模型在融合多模态特征方面仍有不足,比如,只是简单concatenate单模态特征作为多模态特征,而没有考虑inter-modality的关系。因此,本文提出Multimodal Co-Attention Networks (MCAN)模型,能更好地融合视觉和文本信息进行谣言检测,学习多个模态间的inter-dependence关系。在两个数据集上的实验表明,本文的模型性能超过了SOTA模型。
只使用新闻的图像image和文本text内容用于谣言检测。从图像中提取空间域(spatial-domain )特征和频域(frequency-domain) 特征,从文本中提取文本特征(textual features)。然后设计多个co-attention模块用于fuse多模态特征,得到新闻的多模态表示用于谣言检测。
本文模型分为三个部分:特征提取,特征融合,谣言检测。如上图2所示。
1. 特征提取 feature extraction:
2. 特征融合 feature fusion:
本文的多模态特征融合是由一系列CA layers(co-attention layers)实现的,每个CA layer包含两个并行的CA blocks(co-attention blocks),其中CA blocks的结构如下图4所示:
与传统transformer相比(上图4左边图),CA block(上图4右边图)的特点在于多头attention的keys和values与querys来自不同的地方,残差连接的只有querys值。传统transformer里面的QKV均来自同一个输入,而本文模型中Q来自一个模态,KV来自另一个模态。
通过将两个上述CA blocks并行排列,如图2所示,组成一个CA layer,可以实现不同模态之间信息的交互学习。举个例子,模态A和B,以及CA blocks CA1 和 CA2,那么并行的CA1和CA2处理A和B两个模态数据的方式是:CA1以模态A的数据作为Q,模态B的数据作为K和V;CA2以模态B的数据作为Q,模态A的数据作为K和V。这样就实现了模态A和B的数据的co-attention的学习,两者都被充分学习了(相比于att-RNN的只用单模态text作为了attention)。两个CA blocks的输出拼接之后经过一个全连接层,得到维度为d的输出向量,以便继续进行后续的运算。
通过将多个CA layers堆叠使用,如上图2所示,可以实现对多个模态数据的融合。本文模型使用了4个CA layers对空间域特征、频域特征、文本特征进行多模态融合。由于页数限制,本文只给出了第一个CA layer的公式,如下面所示,其他几个layer的公式类似。其中MA代表多头attention,FFN代表前馈网络层。
注意,本文的第一个和第三个CA layers共享参数,第二个和第四个CA layers共享参数。
3. 谣言检测 fake news detection:
将最后一个CA layer的输出经过谣言检测模块,得到一条新闻是谣言的概率,如下面公式(9)。然后用cross-entropy计算loss,如下面公式(10)。y_hat是预测值,y是新闻的真实标签,1代表谣言,0代表非谣言。
任务:虚假新闻检测。
数据集:微博 Weibo [1] 和推特 Twitter [2],详情见下表1。本文将数据集划分为training set和test set,同原始的数据集划分一样。
实验设置:
对比方法 Baselines:
分为单模态方法(下列1-4)和多模态方法(下列5-9):
实验结果:
如下图2所示,从MCAN-A与单模态方法对比中可以看出,使用更多模态信息对于检测谣言确实是有帮助的。另外,Bert和VGG-19模型在微博上的性能比推特上好很多,可能的原因是,微博上的文本平均长度是推特的10倍,包含更多的信息。而且推特上的很多新闻都是同一个事件,因此在训练时容易过拟合,导致性能降低(这也是本文模型选择在推特数据集上frozen bert和vgg模型的参数的原因)。只使用fine-tune的bert和vgg,微博上的检测结果就能超过0.85,但是本文模型能接近0.9,说明本文还是强(但是其他模型连单模态都整不过了啊。。。。)。
消融实验 ablation study:
定量分析:消融实验结果如下图5所示,ALL代表本文完整的MCAN模型,其他各字母分别代表MCAN的各个部分,其中F代表空间域表示(spatial-domain representation), T代表文本表示(textual representation), F代表频域表示(frequency-domain representation), A代表CA层(coattention layers)。下图中-F-A代表同时去掉频域表示和CA层的模型。
从下图可以看出,本文模型的各部分都是有效的。对推特数据集而言,文本对分辨谣言带来的贡献没有图像模态多,而微博数据集则相反,可能的原因是推特数据集的不平衡问题以及推特中新闻本文长度较短。另外,微博数据集上去掉各个部分带来的性能减低没有推特明显,可能的原因是微博数据集比较均衡,且其上的MCAN模型使用了fine-tune的VGG和Bert模型,更加平稳。
定性分析:本文将MCAN-A模型的多模态表示(三种模态的拼接)和MCAN模型的多模态表示(经过CA层的结果)用t-SNE可视化了,如下图所示。其中节点的标签是是否为谣言,没有使用CA层得到的多模态表示能够学习到一些特征,但是在某些样本上无法分辨;而MCAN学习到的多模态表示更加可分辨,具有明显的分界线。
综上,可以说明本文的MCAN模型借助于CA层能够学到更具有区分性的特征表示,因此在判别谣言的性能上更好。
样例分析 case study:
本文展示了一些正确被MCAN识别出来的新闻样例,但是单模态方法(使用文本或者空间域特征)判断错误了的例子。这里不再展示图片,详情看论文原文。
本文针对多模态谣言检测问题,使用了三个子网络从文本、图像空间特征、图像频域特征三个方面提取新闻特征,并设计co-attention层对多个模态的特征进行融合。在实验中证明了本文模型有良好的分辨谣言的能力。未来,作者计划将MCAN中的CA思想应用于更多虚假新闻研究领域,比如虚假新闻传播(fake news diffusion)的分析。
鉴于本人能力有限,对本论文中有些地方仍然不太明白,在此记录下来,待日后与人讨论出结果后再修改博客。
[1] Zhiwei Jin, Juan Cao, Han Guo, Yongdong Zhang, and Jiebo Luo. 2017. Multimodal fusion with recurrent neural networks for rumor detection on microblogs. In Proceedings of the 25th ACM international conference on Multimedia, pages 795–816.
[2] C. Boididou, S. Papadopoulos, D. Dang-Nguyen, G. Boato, and Y. Kompatsiaris. 2016. Verifying multimedia use at mediaeval 2016. In MediaEval 2016 Workshop.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。