论文笔记:假新闻检测的分层多模态上下文注意网络

embedded/2024/10/19 9:40:04/

整理了SIGIR2021 Hierarchical Multi-modal Contextual Attention Network for Fake News Detection)论文的阅读笔记

  • 背景
  • 模型
    • 特征提取
    • 跨模态融合
    • 分层编码网络
  • 实验

背景

  以往的假新闻检测方法存在以下不足:未能利用多模态上下文信息,提取每条新闻的高阶互补信息来增强对假新闻的检测;在很大程度上忽略了文本内容的完整层次语义,以帮助学习更好的新闻表示。
  基于这些观察,本文提出了一种新的分层多模态上下文注意网络(HMCAN),该网络对多模态上下文信息和文本的分层语义进行联合建模,用于假新闻检测。具体来说,分别使用BERT和ResNet提取文本和图片的特征,这些特征是token级别的,然后将获得的图像和文本表示输入到多模态上下文注意网络中,以融合模态间和模态内的关系。最后设计了一个分层编码网络来捕获丰富的分层语义,用于假新闻检测。
  文中所使用的文本的分层语义,实际上指的就是bert的多隐藏层输出。通过本文提出的分层多模态上下文注意网络,可以模态内、模态间的关系和文本的分层语义。图一是来自Twitter的多模态帖子的示例。
在这里插入图片描述

模型

特征提取

  为了精确地建模词的语义和语言上下文,本文使用BERT来生成词的嵌入向量。对于每张图像,我们使用预训练模型ResNet50提取区域特征。这些模型都是预训练的,在网络训练的过程中固定参数。将提取到的特征表示为: S = { s 1 , . . . , s m } = B E R T ( W ) S=\{s_1,...,s_m\}=BERT(W) S={s1,...,sm}=BERT(W) O = { o 1 , . . . , o n } = R e s N e t 50 ( R ) O=\{o_1,...,o_n\}=ResNet50(R) O={o1,...,on}=ResNet50(R)  其中, s i ∈ R d w s_i\in R^{d_w} siRdw是BERT输出层单词的隐藏状态, d w d_w dw是词嵌入向量的维度。 o i ∈ R d r o_i\in R^{d_r} oiRdr是图片的token嵌入的维度。

跨模态融合

  为了有效地融合帖子的文本特征和视觉特征,本文设计了一个多模态上下文关注网络来构建多模态上下文信息,并从中提取高阶互补信息。如图2所示
在这里插入图片描述
  每个多模态上下文注意网络由两个上下文转换单元(contextual Transformer1和contextual Transformer2)组成,将图片和文本的token级特征分别交叉送入,以此进行模态间交互和互相加权。
  其中每个上下文转换单元则又由两个基于Transformer的架构组成。这两个模块分别负责模态内自注意和模态间注意,将来自不同模式的数据作为输入(input1和input2),首先将input1送入第一个transformer进行模态内自注意,然后将经过自注意的结果作为Q送入第二个transformer进行模态间注意交互。transformer的过程不再赘述,公式推导如下:
  模态内自注意transformer过
A s = s o f t m a x ( F C s Q ( i n p u t 1 ) ⋅ F C s K ( i n p u t 1 ) T d ) A_s=softmax(\frac{FC_s^Q(input1)\cdot FC_s^K(input1)^T}{\sqrt{d}}) As=softmax(d FCsQ(input1)FCsK(input1)T) H s ′ = l a y e r _ n o r m ( i n p u t 1 + A s ⋅ F C s V ( i n p u t 1 ) ) H_s'=layer\_norm(input1+A_s\cdot FC_s^V(input1)) Hs=layer_norm(input1+AsFCsV(input1)) H s = l a y e r _ n o r m ( H s ′ + F C s f f ( H s ′ ) ) H_s=layer\_norm(H_s'+FC_s^{ff}(H_s')) Hs=layer_norm(Hs+FCsff(Hs))  其中, A s A_s As是自注意亲和度矩阵, F C s f f FC_s^{ff} FCsff是一个两层的全连接网络,即transformer架构中的FFN层。
  模态间交互transformer过程:
A c o = s o f t m a x ( F C c o Q ( i n p u t 2 ) ⋅ F C c o K ( H s ) T d ) A_{co}=softmax(\frac{FC_{co}^Q(input2)\cdot FC_{co}^K(H_s)^T}{\sqrt{d}}) Aco=softmax(d FCcoQ(input2)FCcoK(Hs)T) H c o ′ = l a y e r _ n o r m ( i n p u t 2 + A c o ⋅ F C c o V ( H s ) ) H_{co}'=layer\_norm(input2+A_{co}\cdot FC_{co}^V(H_s)) Hco=layer_norm(input2+AcoFCcoV(Hs)) H c o = l a y e r _ n o r m ( H c o ′ + F C c o f f ( H c o ′ ) ) H_{co}=layer\_norm(H_{co}'+FC_{co}^{ff}(H_{co}')) Hco=layer_norm(Hco+FCcoff(Hco))  经过这个网络后,将 H s H_s Hs H c o H_{co} Hco合并成两个特征向量(池化),然后将它们concat到一起,作为多模态上下文表示,记为 C T I C_{TI} CTI C I T C_{IT} CIT
  图中的Contextual Transformer1和Contextual Transformer2之间不共享权重。对于多模态上下文注意网络,令两个模块的输出分别为 C T I C_{TI} CTI C I T C_{IT} CIT。整个多模态上下文关注网络的输出结果为 C = α C T I + β C I T C=\alpha C_{TI}+\beta C_{IT} C=αCTI+βCIT

分层编码网络

  文章提出,BERT具有11个中间层,这些中间层可以为文本提供丰富的分层语义信息,为了利用这一点,我们可以对12层输出中的每一层应用上下文转换器,但是这样太复杂了。为了解决这个问题,本文首先通过对BERT的每12/𝑔相邻层进行积分,将12层输出减少为𝑔组输出。具体来说,我们让𝑔= 3,并将BERT的每4个相邻层的输出加起来。
  也就是说,当𝑔= 3时,我们得到了三个BERT的特征向量,这些向量的维度相同,由BERT的不同隐藏层嵌入组合而成。将这三组特征分别与视觉特征送入multi-modal contextual attention network中,我们就得到了三个跨模态输出,分别记为 C 0 C^0 C0 C 1 C^1 C1 C 2 C^2 C2,最终送入分类头的特征为: C = c o n c a t ( C 0 , C 1 , C 2 ) C=concat(C^0,C^1,C^2) C=concat(C0,C1,C2)

实验

  本文在微博、推特和PHEME进行了实验:
在这里插入图片描述
  本文提出的HMCAN在TWITTER和PHEME数据集上优于所有base。
  消融实验设置:

  • HMCA-V:HMCAN的一种变体,去掉了视觉信息,只使用文本信息。
  • HMCAN-C:HMCAN的一种变体,移除多模态上下文注意网络。
  • HMCAN-𝐻:HMCAN的变体,删除层次信息,只使用BERT模型输出的最后状态。
    在这里插入图片描述
    实验中的一些可视化:
    在这里插入图片描述

http://www.ppmy.cn/embedded/34834.html

相关文章

.排序总讲.

在这里赘叙一下我对y总前四节所讲排序的分治思想以及递归的深度理解。 就以788.逆序对 这一题来讲(我认为这一题对于分治和递归的思想体现的淋淋尽致)。 题目: 给定一个长度为 n𝑛 的整数数列,请你计算数列中的逆序对…

MLP实现fashion_mnist数据集分类(1)-模型构建、训练、保存与加载(tensorflow)

1、查看tensorflow版本 import tensorflow as tfprint(Tensorflow Version:{}.format(tf.__version__)) print(tf.config.list_physical_devices())2、fashion_mnist数据集下载与展示 (train_image,train_label),(test_image,test_label) tf.keras.datasets.fashion_mnist.l…

【软件测试理论002】认识软件缺陷、缺陷生命周期、缺陷分类

目录 1 认识软件缺陷 1.1 什么是软件缺陷 1.2 缺陷存在哪些方面 1.3 软件缺陷示例 1.4 软件缺陷的表现形式 1.5 软件缺陷产生的原因 1.6 软件缺陷的根源 1.7 软件缺陷修复的费用 2 软件缺陷的信息分类 2.1 软件缺陷的生命周期 2.2 软件缺陷的信息 2.3 软件缺陷分类…

【Linux】进程相关

文章目录 一、fork函数二、进程地址空间 一、fork函数 fork 函数从其执行位置分化为两个进程来执行剩下的代码, 调用 fork 的函数称为父函数, 分化出来的函数称为子函数. 头文件: #include <unistd.h> 声明: pid_t fork(void); 关于返回值, 函数调用成功后就分化为两个…

Mysql - 聚合函数和分组查询

当涉及处理数据库中的大量数据时&#xff0c;聚合函数和分组查询是非常重要的。通过聚合函数&#xff0c;可以对数据进行统计和汇总&#xff0c;而分组查询则允许我们根据特定的条件对数据进行分组分析。在这篇文章中&#xff0c;我们将深入探讨MySQL中的聚合函数和分组查询&am…

龙迅LT9211D MIPI桥接到2 PORT LVDS,分辨率支持高达3840*2160*30HZ

龙迅LT9211D描述&#xff1a; Lontium LT9211D是一款高性能的MIPI DSI/CSI- 2到双端口LVDS转换器。LT9211D反序列化输入的MIPI视频数据&#xff0c;解码数据包&#xff0c;并将格式化的视频数据流转换为AP和移动显示面板或摄像机之间的LVDS发射机输出。LT9211D支持最大14 dB输…

项目实战 | 如何恰当的处理 Vue 路由权限

前言 哈喽&#xff0c;小伙伴你好&#xff0c;我是 嘟老板。最近接了一个成本千万级的前端项目运维工作&#xff0c;本着 知己知彼 的态度&#xff0c;我将整个前端的大致设计思路过了一遍。不看不知道&#xff0c;一看…吓一跳。光是 路由权限 这块儿的设计&#xff0c;都让我…

【深度学习】概率图模型理论简介

概率图模型 1 概率图模型2 模型表示2.1 有向图模型(Bayesian networks 贝叶斯网络)2.2 无向图模型(Markov random fields 马尔可夫网络)参考概率图模型(Probabilistic Graphical Model,PGM)是一种用图结构来表示和推断多元随机变量之间条件独立性的概率模型。图模型提供…