Interpretable Multimodal Misinformation Detection with Logic Reasoning

news2024/9/24 5:29:14

原文链接

Hui Liu, Wenya Wang, and Haoliang Li. 2023. Interpretable Multimodal Misinformation Detection with Logic Reasoning. In Findings of the Association for Computational Linguistics: ACL 2023, pages 9781–9796, Toronto, Canada. Association for Computational Linguistics.

核心:多模态、可解释

基本架构

输入为文本 T T T和图片 I I I,(此处貌似只允许输入一张图片,而实际上情况中可能不止一张)

使用Tokenizer处理 T T T,另用CNN处理 I I I,将处理后的feature用GCN组合到一起得到object o o o,由

Methodology

在这里插入图片描述

Feature Extraction

对于文本 T T T,先将其分割成 m m m个token,对每个token再使用BERT+一层LSTM将其转换为 d d d维的向量 X T \textbf{X}_T XT m m m个token总共得到 T ∈ R m × d \textbf{T}\in \mathcal{R}^{m\times d} TRm×d

对于图片 I I I,先resize到 224 × 224 224\times224 224×224,再划分为 z = r 2 z=r^2 z=r2个patch,每个patch大小为 224 / z × 224 / z 224/z\times224/z 224/z×224/z,每个patch使用ResNet34+ViT+2层MLP转化为 d d d为向量 X I \textbf{X}_I XI,最后得到 I ∈ R r × d \textbf{I}\in \mathcal{R}^{r\times d} IRr×d

Cross-modal Object Generation

在这一步,生成单模态和跨模态的隐式表征。

在这篇工作中,定义了5种Object,分别是单文本、单图像、双文本、双图像以及文本图像混合,如下所示。
在这里插入图片描述
在上一步得到若干feature后,我们通过GCN将这些feature结合起来,将之前提取出的 X T ,   X I \textbf{X}_T,\ \textbf{X}_I XT, XI当作GCN中的节点,这些节点的embedding就是一个 d d d维向量。在连GCN的边时,使用Spacy技术寻找token之间的依赖关系,在存在依赖关系的token之间连边,而对每个patch则是将在原图片里相邻的patch连在一起,而文本和图片之间则是直接全连接的。

GCN的初始输入 H 0 = [ T , I ] ∈ R ( m + r ) × d \textbf{H}^0=[\textbf{T},\textbf{I}]\in\mathcal{R}^{(m+r)\times d} H0=[T,I]R(m+r)×d,邻接矩阵 A ∈ R ( m + r ) × ( m + r ) \textbf{A}\in \mathcal{R}^{(m+r)\times (m+r)} AR(m+r)×(m+r) ,每一层graph都有一个线性变换权重矩阵 W ∈ R d × d W\in\mathcal{R}^{d\times d} WRd×d,整个GCN的转移方程为 H l = ReLU ( D − 1 2 A D − 1 2 H l − 1 W l ) \textbf{H}^l=\text{ReLU}(\textbf{D}^{-\frac{1}{2}}\textbf{A}\textbf{D}^{-\frac{1}{2}}\textbf{H}^{l-1}\textbf{W}^l) Hl=ReLU(D21AD21Hl1Wl)。如此即可得到每一层的每个节点的feature,即 H l = [ T l , V l ] , l ∈ { 0 , 1 , 2 , ⋯   , L } \textbf{H}^l=[\textbf{T}^l, \textbf{V}^l], l\in \{0, 1, 2, \cdots, L\} Hl=[Tl,Vl],l{0,1,2,,L}

利用这些feature,即可根据上表中的公式计算出每层的5种Objects,分别是 O t l ∈ R m × d , O v l ∈ R r × d , O t , t l ∈ R ( m × m ) × d , O v , v l ∈ R ( r × r ) × d , O t , v l ∈ R ( m × r ) × d \textbf{O}_t^l\in\mathcal{R}^{m\times d},\textbf{O}_v^l\in\mathcal{R}^{r\times d},\textbf{O}_{t,t}^l\in\mathcal{R}^{(m\times m)\times d},\textbf{O}_{v,v}^l\in\mathcal{R}^{(r\times r)\times d},\textbf{O}_{t,v}^l\in\mathcal{R}^{(m\times r)\times d} OtlRm×d,OvlRr×d,Ot,tlR(m×m)×d,Ov,vlR(r×r)×d,Ot,vlR(m×r)×d

每种 O \textbf{O} O中的小 o ∈ R d \textbf{o}\in \mathcal{R}^{d} oRd会再通过一个一层+ReLU的MLP,得到一个分数。每个种类的 O \textbf{O} O种top-k的object会被抽出,记作 O ^ t l , O ^ v l , O ^ t , t l , O ^ v , v l , O ^ t , v l \hat{\textbf{O}}_t^l,\hat{\textbf{O}}_v^l,\hat{\textbf{O}}_{t,t}^l,\hat{\textbf{O}}_{v,v}^l,\hat{\textbf{O}}_{t,v}^l O^tl,O^vl,O^t,tl,O^v,vl,O^t,vl,均属于 R k × d \mathcal{R}^{k\times d} Rk×d。为了让这个过程可以反向传播,实现的时候可以通过disable其他非top-k的节点实现。

Clause Generation

得到这些object的feature之后,我们就要计算他们支持不同label的概率,首先要得到对应body predicate,比如 b t ( t , y ) b_t(t,y) bt(t,y) 的表征,记作 B t ∈ R k × d \textbf{B}_t\in \mathcal{R}^{k\times d} BtRk×d,其他同理。 B t \textbf{B}_t Bt计算如下
B t = sparsemax ( [ O ^ t , y ] W t e C t T ) C T \textbf{B}_t=\text{sparsemax}([\hat{\textbf{O}}_t,\textbf{y}]\textbf{W}_t^e\textbf{C}_t^T)\textbf{C}^T Bt=sparsemax([O^t,y]WteCtT)CT [ O ^ t , y ] ∈ R k × 2 d , 其中 y ∈ R k × d [\hat{\textbf{O}}_t,\textbf{y}]\in\mathcal{R}^{k\times 2d}, 其中\textbf{y}\in\mathcal{R}^{k\times d} [O^t,y]Rk×2d,其中yRk×d为label的 d d d维表征广播为 k × d k\times d k×d的产物, W t e ∈ R 2 d × d \textbf{W}_t^e\in\mathcal{R}^{2d\times d} WteR2d×d为可学习参数, C t ∈ R g × d \textbf{C}_t\in\mathcal{R}^{g\times d} CtRg×d则是预先定义的correlation(这里的“预先定义”指每个correlation对应的predicate是先定义好的,实际上也是随机初始化的)但在训练过程中也是可学习的。

以此类推,我们也可以得到其他几种predicate的表征, B = [ B t , B v , B t , t , B v , v , B t , v ] ∈ R 5 k × d \textbf{B}=[\textbf{B}_t,\textbf{B}_v,\textbf{B}_{t,t},\textbf{B}_{v,v},\textbf{B}_{t,v}]\in\mathcal{R}^{5k\times d} B=[Bt,Bv,Bt,t,Bv,v,Bt,v]R5k×d(这应该只是一个label对应的表征,严格来说应该写作 B y \textbf{B}_y By作为区分)。

除了这几个从GCN里提取的表征,我们还对整个文本和图片进行了编码,文本的编码 t T = T T softmax ( T W T ) ∈ R d \textbf{t}_T=\textbf{T}^T\text{softmax}(\textbf{T}\textbf{W}_T)\in\mathcal{R}^d tT=TTsoftmax(TWT)Rd,图片的编码 v I = V T softmax ( V W I ) ∈ R d \textbf{v}_I=\textbf{V}^T\text{softmax}(\textbf{V}\textbf{W}_I)\in\mathcal{R}^d vI=VTsoftmax(VWI)Rd,其中 W T , W I \textbf{W}_T,\textbf{W}_I WT,WI均属于 R d × 1 \mathcal{R}^{d\times 1} Rd×1为可学习参数,注意与之前一层的打分MLP不是参数共用的。

接下来,我们计算两种attention score,分别是
S T , I = sparsemax ( B X T , I [ t T , v I ] ) , S y = sparsemax ( [ B , y , B − y , B ∘ y ] W y ) \textbf{S}_{T,I}=\text{sparsemax}(\textbf{B}\textbf{X}_{T,I}[\textbf{t}_T,\text{v}_I]),\\ \textbf{S}_y=\text{sparsemax}([\textbf{B},\textbf{y},\textbf{B}-\textbf{y},\textbf{B}\circ\textbf{y}]\textbf{W}_y) ST,I=sparsemax(BXT,I[tT,vI]),Sy=sparsemax([B,y,By,By]Wy)其中, X T , I ∈ R d × 2 d , W y ∈ R 4 d × 1 \textbf{X}_{T,I}\in\mathcal{R}^{d\times 2d}, \textbf{W}_y\in\mathcal{R}^{4d\times 1} XT,IRd×2d,WyR4d×1均为可学习参数。这两个分数一个注重news的内容(文本和图片),另一个注重和label的关系,最终两个score再合为一个score, S ∈ R 5 k \textbf{S}\in\mathcal{R}^{5k} SR5k
S = sparsemax ( S T , I ∘ S y ) \textbf{S}=\text{sparsemax}(\textbf{S}_{T,I}\circ\textbf{S}_y) S=sparsemax(ST,ISy)每个分数描述了其对应的clause(根据我的理解,predicate是模板,填入内容后称为clause)与判断整个news是否为真的相关性,因此我们并不需要将整个 5 k 5k 5k个clause全部用到,而是筛选其中一部分,即top- ⌊ 5 k × β ⌋ \lfloor5k\times \beta\rfloor 5k×β的predicate。这些筛选出的clause进入下一个step。

Clause Evaluation

以上只是生成clause的过程,最终目的还是要判断这个news是不是真的。从可解释性的角度出发,一个news为不为真的可以从某些clause为不为真推导出来,因此我们需要先得到这些clause为真的概率。

对于 b t ( t , y ) b_{t}(t,y) bt(t,y),他的truth value可以计算为:
μ ( b t ( t , y ) ) = sigmoid ( [ b t , p , b t − p , b t ∘ p ] W μ ) \mu(b_{t}(t,y))=\text{sigmoid}([\textbf{b}_t,\textbf{p},\textbf{b}_t-\textbf{p},\textbf{b}_t\circ\textbf{p}]\textbf{W}_{\mu}) μ(bt(t,y))=sigmoid([bt,p,btp,btp]Wμ)其中, p = o t ∘ y ∈ R d , W μ ∈ R 4 d × 1 \textbf{p}=\textbf{o}_t\circ\textbf{y}\in\mathcal{R}^d,\textbf{W}_{\mu}\in\mathcal{R}^{4d\times 1} p=otyRd,WμR4d×1为可训练参数, b t ∈ R d \textbf{b}_t\in\mathcal{R}^{d} btRd是从 B t \textbf{B}_t Bt的对应行中取出的。

将这些clause的truth value用and运算连接,即可得到对应label的概率。更进一步,由于GCN中每层都会输出一组 O ^ t l , O ^ v l , O ^ t , t l , O ^ v , v l , O ^ t , v l \hat{\textbf{O}}_t^l,\hat{\textbf{O}}_v^l,\hat{\textbf{O}}_{t,t}^l,\hat{\textbf{O}}_{v,v}^l,\hat{\textbf{O}}_{t,v}^l O^tl,O^vl,O^t,tl,O^v,vl,O^t,vl,因此我们也会得到 L L L组object及其后面的clause,这些clause可以看作是相对独立的,因此可以用or运算连接。记第 l l l层第 i i i个clause的truth value为 b i l b_i^l bil,则整则news为label y y y的概率为
( b 1 0 ∧ ⋯   ) ∨ ( b 1 1 ∧ ⋯   ) ∨ ⋯ ∨ ( b 1 L ∧ ⋯   ) ⇒ h ( ( T , I ) , y ) (b_1^0\land\cdots)\lor(b_1^1\land\cdots)\lor\cdots\lor(b_1^L\land\cdots)\Rarr h((T,I),y) (b10)(b11)(b1L)h((T,I),y)这里的and和or运算使用product T-norm,即 a ∧ b = a b , a ∨ b = 1 − ( 1 − a ) ( 1 − b )    a , b ∈ [ 0 , 1 ] a\land b=ab,a\lor b=1-(1-a)(1-b)\ \ a,b\in[0,1] ab=ab,ab=1(1a)(1b)  a,b[0,1]

对于每个label y y y,都算出一个truth value,使用cross-entropy计算loss。

实验

指标

在三个数据集上实施了实验,两个misinformation数据集Twitter和Weibo,一个sarcasm数据集sarcasm。
在这里插入图片描述
在这里插入图片描述
从准确性来讲,很好,都是SOTA,而且在有一定解释性的基础上还提升了模型性能。另外,Precision明显要比其他的模型好,可能是logic帮助模型更好的学习到了rule而不是对噪声过拟合。

可解释性

在这里插入图片描述
cd展现出模型会根据文本中是否有足够清晰的表述来判断一则消息是否是rumor,a则是模型发现图片中有地方是P的,b则是人类不是很能理解但判断对了的例子。

消融实验

调整Correlation的多少,即 g g g,发现最初随着 g g g升高,performance一路升高,但到达一个峰值后缓慢下降。
在这里插入图片描述
调整筛选Clause的阈值,即 β \beta β,发现在 β \beta β超过 0.15 0.15 0.15后性能急剧下降,可能有两个原因:1)选出来的clause多了以后,conjunction的操作会导致指数消失,最后得到的概率很小。2)选出来的clause太多,包含了一些低分的clause,引入了噪声。
在这里插入图片描述
同时,考察GCN不同Layer的选取对实验结果的影响,发现只挑选第二层时效果最佳,说明经过多层GCN整合后的多模态信息对判断misinformation更有用,但加了多层以后似乎效果有所下降。
在这里插入图片描述

可改进

只支持一张图片,实际操作中可能不止一张图片。
product T-norm 的 conjunction操作容易遭遇概率消失,或许可以使用其他方法连接这些clause的truth value。
文本和图片直接全部匹配连接,这部分是否可以改进?
predicate只能填入两个变量,不知道 t , t t,t t,t v , v v,v v,v的predicate是否有那么大的作用,因为GCN同样有融合几个feature的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1285351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能全彩屏负氧离子监测站-生态环境知识科普

随着人们对健康和环境保护的关注度不断提高,一款名为 WX-FLZ50智能全彩屏负氧离子监测站的新产品应运而生。这款产品能够实时监测环境中的负氧离子浓度,为人们提供空气质量信息,帮助人们更好地了解和保护自身所处的环境。 WX-FLZ50智能全彩屏…

pyecharts可视化作图4:行业分布-条形图

pyecharts做条形图功能也非常强大,本文也只展示基本的功能。 1. 源代码 import pandas as pd from pyecharts.charts import Bar from pyecharts import options as opts from pyecharts.globals import ThemeType# 构建模拟数据 data_dict {行业名称: {0: 钢铁,…

如何解决vue中的组件样式冲突

目录 1:组件样式冲突问题 2:导致组件之间样式冲突的根本原因是: 3:问题演示 4:通过设置scoped解决组件之间样式冲突问题 5:设置scoped解决组件样式冲突的原理 6:使用deep修改子组件的样式…

TikTok新闻视角:短视频如何改变信息传递方式?

随着数字时代的不断发展,信息传递的方式也在不断演变。近年来,短视频平台TikTok崭露头角,通过其独特的15秒短视频形式,逐渐在新闻传播领域占据一席之地。本文将深入探讨TikTok在新闻视角下是如何改变信息传递方式的,以…

深入理解URL、URI和URN在Web开发中的重要性

引言: 在Web开发中,我们经常听到URL、URI和URN这几个术语,它们是构建和理解互联网资源的基础。虽然它们看起来相似,但实际上代表着不同的概念。本文将深入研究URL、URI和URN的定义、用途以及在Web开发中的重要性。 一、什么是URI&…

【Nacos】docker安装

Nacos 官网 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您…

人力资源管理系统的设计与实现

摘要 作为计算机应用的一部分,使用计算机对人力资源信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人力资源管理的效率,也是企业的科学化…

帮企多城市分站系统源码+关键词排名优化推广 附带完整的搭建教程

随着市场竞争的加剧,企业对于网络营销的需求越来越多元化。传统的单一网站已经无法满足企业在网络营销方面的需求,因此我们需要开发一套多城市分站系统,以满足企业在不同地区、不同行业的需求。同时,我们还结合了关键词排名优化推…

一体化污水处理设备材质怎么选

在环保意识日益增强的今天,污水处理设备成为城市建设过程中的重要环节。而选择合适的一体化污水处理设备材质,则成为了一项重要的决策。本文将从专业的角度出发,为您解析一体化污水处理设备材质的选取。 首先,一体化污水处理设备材…

显存优化 Trick(gradient_accumulation、gradient_checkpointing、xformers)

Out of Memory 先来说下OOM问题,其实也是日常会遇到的情况。模型申请的显存超过了设备实际显存大小,则会报错Out of Memory。一般情况下,batch size设置过大,不能匹配自己手里的计算设备(GPU、TPU等)显存时,会经常触发…

深入了解JavaScript事件绑定:实现高效可靠的事件处理

​🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-事件绑定方式 目录 事件绑定方式 什么是事件 DOM0级 事件 DOM0级事件…

【Linux】编译器-gcc/g++与调试器-gdb的使用

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.gcc/g语法 2.gcc的使用及…

ArkUI组件--Text组件

1.声明Text组件并设置文本内容 Text(content?:string|Recource) #两种数据类型,字符串和本地资源文件 ①string格式,直接填写文本内容 Text(需要显示的文本) ②Recource格式,读取本地资源文件 Text($r(app.string.width_label)) 读取图…

打开游戏提示缺少(或找不到)XINPUT1_3.DLL怎么解决

在电脑使用过程中,我们可能会遇到一些错误提示,其中之一就是xinput1_3.dll丢失。那么,xinput1_3.dll是什么文件?它对电脑有什么影响?本文将详细介绍xinput1_3.dll丢失的原因以及五个详细的解决方法,帮助大家…

个人测试面试问题总结

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 📑设计软件测试用例的方…

赛氪网荣膺地理标志语言服务教育与实践基地联盟理事会员单位

随着地理标志产品推介需求的持续扩大,知识产权保护和语言服务行业面临着新的挑战和机遇。在这个背景下,知识产权出版社指导下的地理标志语言服务教育与实践基地联盟应运而生,旨在推动地理标志产品的推广和知识产权保护。赛氪网作为项目运营方…

自动化巡检实现方法 (一)------- 思路概述

一、自动化巡检需要会的技能 1、因为巡检要求一天24小时全天在线,因此巡检程序程序一定会放在服务器上跑,所以要对linux操作熟悉哦 2、巡检的代码要在git上管理,所以git的基本操作要熟悉 3、为了更方便不会代码的同学操作,所以整个…

JFrog Artifactory—高性能软件制品管理仓库

产品概述 JFrog Artifactory是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理工件和依赖项。JFrog Artifactory支持大多数开发语言,是整个DevOps流水线中大多数软件包、容器映像和Helm图表的单一数据源。Artifactory对元…

马斯克“赛博皮卡”Cybertruck交付!43万起售,性能强如猛兽

原创 | 文 BFT机器人 埃隆马斯克常常被称为是“天才与疯子”的结合,一直是一个争议不断的人物。他九十年代创办电子支付公司;2004年成立特斯拉,开创了一个汽车领域的新时代;人到中年又扬言要发射卫星建立全球无线网…… 许多科技…

台灯选什么样的比较好?适合备考使用的专业台灯分享

台灯虽然每家每股可能都有上一台,但是很多人不知道台灯其实也有很有讲究的!一些些劣质的台灯,往往都是不符合国标要求的,所用材质、做工都存在的一定的安全隐患,因此会导致我们因为长期使用的原因导致,然后…