论文笔记:基于多粒度信息融合的社交媒体多模态假新闻检测

整理了ICMR2023 Multi-modal Fake News Detection on Social Media via Multi-grained Information Fusion)论文的阅读笔记

  • 背景
  • 模型
  • 实验

背景

  在假新闻检测领域,目前的方法主要集中在文本和视觉特征的集成上,但不能有效地利用细粒度和粗粒度级别的多模态信息。此外,由于模态之间缺乏相关性或每个模态所做的决策之间存在矛盾,它们还存在歧义问题,如图一,为了克服这些挑战,本文提出了一个用于假新闻检测的多粒度多模态融合网络(MMFN)。
  MMFN分别使用两个基于transformer的预训练模型来编码文本和图像的令牌级特征。多模态模块融合细粒度特征,同时考虑到CLIP编码器编码的粗粒度特征。为了解决歧义问题,设计了基于相似性加权的单模态分支,以自适应地调整多模态特征的使用。
在这里插入图片描述

模型

  MMFN的网络设计如图2所示,由多模态特征编码器、多粒度特征融合模块、单模态分支和基于CLIP相似度的模态加权以及分类器组成。
在这里插入图片描述
  具体来说,这篇文章使用了三种预训练的编码器对多模态特征进行编码,分别是基于transformer的BERT和SWIN-T,基于对比学习的CLIP。
  需要注意的是,BERT和SWIN-T的输出都是token级的,BERT的输出表示为 T b = [ t 1 b , t 2 b , . . . , t n w b ] T^b=[t_1^b,t_2^b,...,t_{nw}^b] Tb=[t1b,t2b,...,tnwb],其中 t i b t_i^b tib表示文本嵌入中第i个token(也就是第i个词)的最后一个隐藏状态的输出, d b d_b db是单词嵌入的维度。SWIN-T的输出表示为 V s = [ v 1 s , v 2 s , . . . , v n p s ] V^s=[v_1^s,v_2^s,...,v_{n_p}^s] Vs=[v1s,v2s,...,vnps],其中, v i s ∈ R s s v_i^s\in R^{s_s} visRss为模型最后一层输出处对应于输入的第i个patch的隐藏状态,𝑛𝑝为SWIN-T中的patch数, d s d_s ds为视觉嵌入的隐藏大小。
  CLIP文本和图片编码器的结果为 X c = [ t c , v c ] X^c=[t^c,v^c] Xc=[tc,vc],分别表示图片和文本模态的嵌入向量,他们处于同一个嵌入空间。
  拿到了这些特征后,本文的单模态分支就是把BERT和SWIN-T的token级向量进行平平均池化,然后和CLIP的编码结果拼起来经过一个映射头,作为两个单模态分支特征,即: F t = Φ T ( T b ˉ ; t c ) F^t=\Phi_T(\bar{T_b};t^c) Ft=ΦT(Tbˉ;tc) F v = Φ V ( V s ˉ ; v c ) F^v=\Phi_V(\bar{V_s};v^c) Fv=ΦV(Vsˉ;vc)  接下来我们看粗细粒度的多模态融合模块,所谓细粒度,就是把 T b T_b Tb V s V_s Vs分别送入两个transformer架构的共注意力机制模块,得到互相加权后的文本和图片细粒度特征: F v t = C T ( ( T b W t ) , ( V s W v ) ) F^{vt}=CT((T^bW^t),(V^sW^v)) Fvt=CT((TbWt),(VsWv)) F t v = C T ( ( V s W v ) , ( T b W t ) ) F^tv=CT((V^sW^v),(T^bW^t)) Ftv=CT((VsWv),(TbWt))  然后通过几个全连接层把互相加权过的细粒度特征和粗粒度特征融合: M f = F F N 1 ( F v t ; F t v ) M^f=FFN_1(F^{vt};F^{tv}) Mf=FFN1(Fvt;Ftv) M c = F F N 2 ( t c ; v c ) M^c=FFN_2(t^c;v^c) Mc=FFN2(tc;vc) F m = s i m i l a r i t y ⋅ Φ M ( M f , M c ) F^m=similarity\cdot \Phi_M(M^f,M^c) Fm=similarityΦM(Mf,Mc)  similarity是通过CLIP特征算出来的模态间余弦相似度,作者认为,如果直接将单模态分支表示发送给分类器进行决策,分类器可能更倾向于使用具有更深网络的多模态表示来拟合结果,而单模态分支可能会干扰决策并导致更严重的歧义问题。因此使用CLIP余弦相似度作为多模态特征加权的系数来指导分类器的学习过程,也就是给多模态特征加权。
  将三个分支的特征送入分类头得到pre,损失函数是交叉熵。

实验

  使用的数据集是2017年MM文章提出的Twitter和Weibo,以及Fakenewsnet中的Gossipcop,得到了SOTA效果:
在这里插入图片描述
  消融实验:
在这里插入图片描述
  在微博的测试集上进行的T-SNE降维可视化:
在这里插入图片描述

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

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

相关文章

10.python的字典dict(上)

10.python的字典dict(上) 什么是字典 在计算机科学中,字典是一种数据结构,用于存储键值对(key-value pair)的集合。每个键值对都由一个唯一的键和一个对应的值组成。字典能够快速地根据键找到对应的值,因此在很多编程…

windows计算器的按键快捷键

电脑计算器怎么调出来 调出电脑计算器的方法有很多种,可以通过以下任一方法来实现: 使用快捷键。同时按下Win键和R键,打开运行窗口,输入calc命令后按确定,就可以调出计算器。 应用中的键盘快捷方式 - Microsoft 支持…

Linux 常见性能分析方法论介绍(业务负载画像、下钻分析、USE方法论,检查清单)

写在前面 博文内容为 《BPF Performance Tools》 读书笔记整理内容涉及常用的性能调优方法论介绍:业务负载画像下钻分析USE方法论检查清单理解不足小伙伴帮忙指正 不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼…

本地项目连接gitee仓库

目录 01 第一次建立连接1、找到要上传的本地文件的那个文件夹2、初始化本地仓库3、本地仓库与远程仓库进行连接4、拉初始化建立的gitee仓库内容至本地5、将本地文件提交至暂存区6、将暂存区文件提交至版本库7、将版本库内容推到远程仓库 02 之后的每次提交1、远程仓库更改同步到…

二维码门楼牌管理应用平台建设:构建智慧社区新生态

文章目录 前言一、二维码门楼牌管理应用平台概述二、公益报名功能的实现方式三、二维码门楼牌管理应用平台在智慧社区建设中的作用四、结论与展望 前言 随着科技的快速发展,智慧城市建设已成为现代城市管理的重要方向。二维码门楼牌管理应用平台作为智慧社区建设的…

从零打造一款基于Nextjs+antd5.0的中后台管理系统

hi, 大家好,我是徐小夕,最近在研究nextjs, 为了更全面复盘总结nextjs, 我写了一个开箱即用的基于 next 的后台管理系统, 供大家学习参考. github地址:https://github.com/MrXujiang/next-admin 演示地址:http://next-a…

java AIO为什么用的并不多

Java AIO的本质是什么 原文:https://blog.csdn.net/hellojackjiang2011/article/details/131322757?spm1001.2101.3001.6650.1&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-131322757-blog-103915337.235%5Ev43%5Epc_blo…

python实验2

一、实验目的 掌握不同文件类型的读写掌握目录遍历的方法掌握json解析器的设计与实现 二、实验内容读取文件内容素数写入文件输出文件目录读写json文件实现json解析器 三、实验环境 在Educoder平台进行实验 四、实验要求 根据每个实训的每个关卡要求完成代码提交和测评 五、 实…

物联网实战--入门篇之(五)嵌入式-IIC驱动(SHT30温湿度)

目录 一、IIC简介 二、IIC驱动解析 三、SHT30驱动 四、总结 一、IIC简介 不管是IIC还是串口,亦或SPI,它们的本质区别在于有各自的规则,就是时序图;它们的相同点就是只要你理解了时序图,你就可以用最普通的IO引脚模…

RAG:检索增强生成系统如何工作

随着大型语言模型(LLM)的发展,人工智能世界取得了巨大的飞跃。经过大量数据的训练,LLM可以发现语言模式和关系,使人工智能工具能够生成更准确、与上下文相关的响应。 但LLM也给人工智能工程师带来了新的挑战&#xff…

SRS OBS利用RTMP协议实现音视频推拉流;WebRTC 屏幕直播分享工具

一、SRS OBS利用RTMP协议实现音视频推拉流 参考:https://ossrs.net/lts/zh-cn/docs/v5/doc/getting-started 1)docker直接运行SRS服务: docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 registry.cn-hangzhou.aliyuncs.co…

Chrome浏览器隐藏的截图功能配置及使用

来自实用又方便,轻松打开Chrome浏览器隐藏的截图功能!​​​​​​​ 一、通过谷歌Chrome浏览器 现在直接通过谷歌Chrome浏览器内置功能,免安装扩充插件也可以实现Chrome的截图和长截图功能了! 也不需要额外安装任何截图工具 &a…

蓝桥杯习题

https://www.lanqiao.cn/problems/1265/learning/ 第一题---排序 给定一个长度为N的数组A,请你先从小到大输出它的每个元素,再从大到小输出他的每个元素。 输入描述: 第一行包含一个整数N 第二行包含N个整数a1,a2,a3,...an,表…

Leaflet使用多面(MultiPolygon)进行遥感影像掩膜报错解决之道

目录 前言 一、问题初诊断 1、山重水复 2、柳暗花明 3、庖丁解牛 4、问题定位 二、解决多面掩膜问题 1、尝试数据修复 2、实际修复 3、最终效果 三、总结 前言 之前一篇讲解遥感影像掩膜实现:基于SpringBoot和Leaflet的行政区划地图掩膜效果实战&#xff0…

EtherCAT主站SOEM -- 23 -- EtherCAT从站的状态机控制和状态详细解析

EtherCAT主站SOEM -- 23 -- EtherCAT从站的状态机控制和状态详细解析 0 QT-SOEM视频预览及源代码下载:0.1 QT-SOEM视频预览0.2 QT-SOEM源代码下载一 AL 状态机:二 EtherCAT 从站控制器的 AL 状态码描述三 状态机运行该文档修改记录:总结上下博客链接0 QT-SOEM视频预览及源代…

统计二叉树中好节点的数目-树1448-c++

用一个vector来记录遍历到某一节点后&#xff0c;它的路径上的所有结点值&#xff0c;只要当前节点值比它们都大&#xff0c;则为好节点。遍历顺序为前序遍历&#xff0c;因为是从根节点往下&#xff0c;每个子节点都能拿到它的路径节点值。 #include <algorithm>/*** D…

Python 二进制

1、二进制规律 1. 与运算&#xff08;AND&#xff09;&#xff1a;a & b 当且仅当a和b的相应位都为1时&#xff0c;结果的相应位才为1&#xff0c;否则为0。2、 或运算&#xff08;OR&#xff09;&#xff1a;a | b 只要a或b的相应位中至少有一个为1&#xff0c;结果的相…

vue js金额转中文

在Vue.js项目中&#xff0c;实现金额转中文的功能通常涉及编写一个JavaScript方法来处理数字转换逻辑&#xff0c;并在Vue组件中调用该方法。下面是一个基本的示例&#xff0c;展示如何在Vue组件中定义一个计算属性或方法来实现这一功能&#xff1a; /*** 思路&#xff1a; …

深入理解 JavaScript 中的变量声明:var、let 和 const

目录 1. var 2. let 3. const 4. 区别 在 JavaScript 中&#xff0c;变量的声明是一项基本的操作&#xff0c;而在 ES6&#xff08;ECMAScript 2015&#xff09;之后&#xff0c;引入了两个新的关键字 let 和 const&#xff0c;使得变量声明的方式更加灵活和可控。下面介绍…

指针强化练习(详解)

更多学习内容 结构体内存对齐 和 位段-CSDN博客指针初级&#xff08;基础知识&#xff09;-CSDN博客指针进阶(深入理解)-CSDN博客 目录 1.sizeof与strlen的区别 2.一维数组 3.字符指针 4.二维数组 5.指针运算(笔试题) 6.函数指针 1.sizeof与strlen的区别 请思考以下运行结…