当前位置: 首页 > news >正文

分类中的语义一致性约束:助力模型优化


前言

这里介绍一篇笔者在去年ACL上发表的一篇文章,使用了空间语义约束来提高多模态分类的效果,类似的思路笔者也在视频描述等方向进行了尝试,也都取得了不错的效果。这种建模时对特征进行有意义的划分和约束对模型还是很有帮助的,在这里主要分享一下这个思路。
本文选择的方向是多模态情感检测,是一个标准的多模态分类场景。有已有方法主要关注特征融合,忽视了模态异质性带来的挑战。模态异质性可能导致以下问题:1)引入冗余视觉特征;2)特征转移;3)数据标注不一致,增加情感理解的难度。由于第三点和这个任务强相关,不具备通用性,故省略。
为了解决这些问题,我们设计了一个带有稀疏注意力的文本引导融合模块,减少冗余视觉特征的影响。其次,我们通过情感一致性约束任务校准特征转移。大量实验表明我们得改进有效并取得最佳结果。

论文:https://aclanthology.org/2023.acl-long.287.pdf
代码(直接邮箱就行,一直没顾上整理):https://github.com/airsYuan/Tackling-Modality-Heterogeneity


1. 引言

多模态情感检测旨在从文本、图像等多模态内容中探索情感(见下图)。随着社交媒体的快速发展,这项技术在理解个体、人物或主题的情感方面应用广泛,吸引了学术界和工业界的关注。本文聚焦于在社交媒体中检测多模态帖子的情感。

b65d150104048c64c5deca986a0f64a9.png

现有研究主要集中在模态融合,但忽视了模态异质性带来的问题。模态异质性主要由模态差距引起,可能导致冗余视觉特征、特征转移和标注不一致等问题,增加了情感理解的难度。
为了系统解决这些问题,我们提出了多视角校准网络(MVCN),从三个不同视角出发:1)文本引导融合模块减少冗余视觉特征;2)情感一致性约束任务校准特征转移;3)自适应损失校准策略处理不一致的标注标签。


2. 方法

MVCN的架构如下图所示,主要包括文本引导融合模块和两个并行子任务:情感分类和基于情感一致性约束。

0978abc481e742b8c59798d9faa2002d.png

2.1 文本引导融合模块

该模块由单模态编码器、文本引导单元和归约单元组成。我们使用预训练的BERT模型作为文本编码器,ViT模型作为图像编码器。文本引导单元通过稀疏注意力机制消除冗余视觉特征,捕获与情感相关的图像关键部分。
具体来说,文本引导融合模块包含以下组件:

  • 单模态编码器:使用BERT模型提取文本特征,使用ViT模型提取图像特征。

  • 文本引导单元(TGU):通过自注意力生成文本感知特征,再通过稀疏注意力获取文本引导的视觉稀疏特征,最后应用前馈神经网络处理这些特征。这里用了两个注意力机制:

  1. 利用文本特征来关注视觉特征,从而获取由文本引导的视觉特征。

  2. 采用sparsemax进行注意力权重的归一化,以获得稀疏的后验注意力权重,使得冗余的视觉特征权

归约单元(RU):通过堆叠注意力层和全连接层对多模态特征进行降维,得到情感分类的多模态表示。

2.2 情感一致性约束(SCC)

SCC任务通过聚集多模态特征来校准特征转移。我们提出相对L2损失来度量距离,避免数据分布完全消除。此外,累积校准策略扩大计算空间,减少样本变化,确保训练稳定性。

具体步骤包括:

  • 估计情感中心:利用标签信息计算正面、中性和负面情感中心。

  • 采用相对L2优化距离:我们设计了相对距离来优化SCC任务,将语义一致的数据彼此拉近。注意,这里不能直接用L2损失,不然会让模型失去泛化性,导致效果非常差。

  • 累积校准策略:为了进一步优化SCC任务,我们提出了一种累积校准策略。Batch更新的局限性在于计算中心点会频繁更新,而Batch的样本数量(N=16)不足以估计准确的中心点导致训练非常不稳定。为了解决这个问题,我们使用一个辅助的表征模块来提前生成足够的表示(N=3600+)作为估计中心点的候选样本。然后通过一个队列来存储所有的特征表示。该队列在训练过程中也会动态更新,通过用当前Batch替换队列中最早的一个Batch来实现速度较慢的中心点更新,这样训练起来非常稳定。

实验

在本节中,我们将介绍实验设置和结果,并进行消融研究和可视化分析。实验在三个公共数据集上进行:MVSA-Single、MVSA-Multiple和HFM。

3.1 基线模型

为了充分验证MVCN的性能,我们选择了单模态和多模态基线模型。

  • 单模态基线:对于文本模态,我们选择CNN、Bi-LSTM和BERT作为基线模型。对于图像模态,选择了ResNet和ViT。

  • 多模态基线:对于MVSA数据集,比较的基线模型包括MultiSentiNet、HSAN、Co-MN-Hop6、MGNNS和CLMLF。对于HFM数据集,我们比较了Concat的两个变体、MMSD以及D&R Net。

3.4 主要结果

d08adcb00ec256d4897d48e4a0725669.png

实验结果如上表所示。多模态模型由于融合了更多信息,超越了单模态模型。总体而言,MVCN比其他方法有显著的性能提升,这表明了从不同角度解决模态异质性的必要性。特别地,我们发现MVCN在MVSA-Single数据集上的表现优于其他两个数据集,可能是由于数据多样性不足,小数据集更容易受到模态异质性问题的影响。

3.5 消融研究

56056f1086d1e78f7c94974cf16cfdc6.png

为了研究每个模块的有效性,我们在上表中进行了消融研究。首先,与均等融合图像和文本特征的MFS模型相比,TGF模块显著提升了情感检测性能。情感一致性约束(SCC)模型显著提升了整体效果,验证了这一方法的重要性。通过将SCC与更准确稳定的质心相结合的累积校准(AC)策略,性能进一步得到了持续提升。然而,需要注意的是,SCC的优化不能使用绝对距离,否则效果会大幅下降,这一点在论文中已有讨论。

分析

4.1 可视化

稀疏注意力可视化

00a968d7374f7f9fa6685137d0d3919f.png

为了验证TGF模块中Sparse-Attention的优势,我们进行了注意力热图的可视化分析。结果显示,Sparse-Attention能够捕捉与情感相关的图像关键部分,同时减弱冗余视觉特征的负面影响。例如,图(a)中,模型更加关注图像中的“生病的狗”,因为它反映了负面情感。这证明了模型可以聚焦于图像中的情感区域,避免无关对象的干扰,进一步强调了消除冗余视觉特征的必要性。

特征分布可视化

4dc0665c24a1c3b8ffa4c6662f514f77.png

为了直观展示具有AC策略的SCC任务的优越性,我们在MVSA-Single数据集上进行了特征分布的可视化分析。通过T-SNE2算法对特征进行降维,我们得到了二维特征向量的分布图(上图)。从图(b)可以看出,SCC任务使同一类别的样本聚集在其对应的质心周围。而图(a)显示,当移除SCC任务时,数据聚集程度明显下降。这表明,SCC任务通过考虑情感标签,从更全局的角度约束分布,更好地校准特征偏移,从而提升了模型性能。

结论

在本文中,我们通过采用特征约束方法显著提升了多模态分类的性能。在笔者的探索过程中,这一思路不仅在多模态分类任务中表现出色,还具有广泛的应用潜力。这类方法可以同样适用于其他需要强特征表示的任务,从而增强模型的效果,为这类任务的性能优化提供了一个可能的思路。

相关文章:

分类中的语义一致性约束:助力模型优化

前言 这里介绍一篇笔者在去年ACL上发表的一篇文章,使用了空间语义约束来提高多模态分类的效果,类似的思路笔者也在视频描述等方向进行了尝试,也都取得了不错的效果。这种建模时对特征进行有意义的划分和约束对模型还是很有帮助的,…...

前端框架介绍

前端框架是Web开发中不可或缺的工具,它们通过提供结构化的开发方式、模块化组件、响应式设计以及高效的性能优化,极大地简化了Web应用程序的开发过程。以下是对当前主流及新兴前端框架的详细介绍,这些框架不仅涵盖了广泛的功能,还…...

java基础知识-JVM知识详解

文章目录 一、JVM内存结构二、常见垃圾回收算法1. 标记-清除算法(Mark-Sweep Algorithm)2. 标记-整理算法(Mark-Compact Algorithm)3. 复制算法(Copying Algorithm)4. 分代收集算法(Generational Collection)5. 增量收集算法(Incremental Collection)6. 并行收集算法…...

流动会场:以声学专利为核心的完美移动场地—轻空间

流动会场作为一种全新的活动场所选择,凭借其便捷的移动性与先进的声学设计,正逐渐成为各类演出、会议和文化活动的热门场地。其独特之处不仅在于搭建速度快、灵活性高,还在于其核心技术——声学专利的强大支持。 专利声学设计,打造…...

深度学习(一)-感知机+神经网络+激活函数

深度学习概述 深度学习的特点 优点 性能更好 不需要特征工程 在大数据样本下有更好的性能 能解决某些传统机器学习无法解决的问题 缺点 小数据样本下性能不如机器学习 模型复杂 可解释性弱 深度学习与传统机器学习相同点 深度学习、机器学习是同一问题不同的解决方法 …...

目标检测-YOLOv4

YOLOv4介绍 YOLOv4 是 YOLO 系列的第四个版本,继承了 YOLOv3 的高效性,并通过大量优化和改进,在目标检测任务中实现了更高的精度和速度。相比 YOLOv3,YOLOv4 在框架设计、特征提取、训练策略等方面进行了全面升级。它在保持实时检…...

一台笔记本电脑的硬件都有哪些以及对应的功能

一台笔记本电脑的硬件通常包括多个关键组件,这些组件共同协作,确保电脑的正常运行。以下是笔记本电脑的主要硬件及其功能: 1. 中央处理器(CPU) 功能:CPU 是电脑的“大脑”,负责处理所有的计算…...

【程序分享1】第一性原理计算 + 数据处理程序

【1】第一性原理计算 数据处理程序 SMATool 程序:VASP QE 零温 有限温度 拉伸、剪切、双轴、维氏硬度的计算 ElasTool v3.0 程序:材料弹性和机械性能的高效计算和可视化工具包 VELAS 程序:用于弹性各向异性可视化和分析 Phasego 程序…...

【数据结构】栈与队列OJ题(用队列实现栈)(用栈实现队列)

目录 1.用队列实现栈oj题 对比 一、初始化 二、出栈 三、入栈 四、取队头元素: 2.用栈实现队列 一、定义 二、入队列 三、出队列 四、队头 五、判空 前言:如果想了解什么是栈和队列请参考上一篇文章进来一起把【数据结构】的【栈与队列】狠…...

element-ui打包之后图标不显示,woff、ttf加载404

1、bug 起因 昨天在 vue 项目中编写 element-ui 的树形结构的表格,发现项目中无法生效,定位问题之后发现项目使用的 element-ui 的版本是 2.4.11 。看了官方最新版本是 2.15.14,然后得知 2.4.11 版本是不支持表格树形结构的。于是决定升级 el…...

探究零工市场小程序如何改变传统兼职模式

近年来,零工市场小程序正逐渐改变传统的兼职模式,为求职者和雇主提供了一个更为高效、便捷的平台。本文将深入探讨零工市场小程序如何影响传统兼职模式,以及它带来的优势和挑战。 一、背景与挑战 传统的兼职市场往往存在信息不对称的问题&am…...

MySQL数据库安装(详细)—>Mariadb的安装(day21)

该网盘链接有效期为7天,有需要评论区扣我: 通过网盘分享的文件:mariadb-10.3.7-winx64.msi 链接: https://pan.baidu.com/s/1-r_w3NuP8amhIEedmTkWsQ?pwd2ua7 提取码: 2ua7 1 双击打开安装软件 本次安装的是mariaDB,双击打开mar…...

微信小程序实践案例

参考视频: https://www.bilibili.com/video/BV1834y1676P/?p36&spm_id_frompageDriver&vd_sourceb604c19516c17da30b6b1abb6c4e7ec0 前期准备 1、新建三个页面 "pages": ["pages/home/home","pages/message/message",&quo…...

DataLoader使用

文章目录 一、认识dataloader二、DataLoader整合数据集三、使用DataLoader展示图片方法四、去除结尾不满足batch_size设值图片的展示 一、认识dataloader DataLoader 用于封装数据集,并提供批量加载数据的迭代器。它支持自动打乱数据、多线程数据加载等功能。datas…...

CSS学习11--版心和布局流程以及几种分布的例子

版心和布局流程 一、版心二、布局流程三、一列固定宽度且居中四、两列左窄右宽五、通栏平均分布型 一、版心 版心:是指网页主题内容所在的区域。一般在浏览器窗口水平居中位置,常见的宽度值为960px、980px、1000px、1200px等。 二、布局流程 为了提高…...

NetSuite AI 图生代码

去年的ChatGPT热潮期间,我们写过一篇文章说GTP辅助编程的事。 NetSuite GPT的辅助编程实践_如何打开netsuite: html script notes的视图-CSDN博客文章浏览阅读2.2k次,点赞4次,收藏3次。作为GPT综合症的一种表现,我们今朝来探究下…...

Java - BigDecimal计算中位数

日常开发中,如果使用数据库来直接查询一组数据的中位数,就比较简单,直接使用对应的函数就可以了,例如: SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(目标列名 ORDER BY 目标列名),,,Count(1)/2),,,-1) AS 目标列名_…...

Tensorflow2如何读取自制数据集并训练模型?-- Tensorflow自学笔记13

一. 如何自制数据集? 1. 目录结构 以下是自制数据集-手写数字集, 保存在目录 mnist_image_label 下 2. 数据存储格式 2.1. 目录mnist_train_jpeg_60000 下存放的是 60000张用于测试的手写数字 如 : 0_5.jpg, 表示编号为0,标签为5的图片 6_1.jpg, 表示…...

JVM系列(七) -对象的内存分配流程

一、摘要 在之前的文章中,我们介绍了类加载的过程、JVM 内存布局和对象的创建过程相关的知识。 本篇综合之前的知识,重点介绍一下对象的内存分配流程。 二、对象的内存分配原则 在之前的 JVM 内存结构布局的文章中,我们介绍到了 Java 堆的内存布局,由 年轻代 (Young Ge…...

Apache Ignite 在处理大规模数据时有哪些优势和局限性?

Apache Ignite 在处理大规模数据时的优势和局限性可以从以下几个方面进行分析: 优势 高性能:Ignite 利用内存计算的优势,实现了极高的读写性能,通过分布式架构,它可以将数据分散到多个节点上,从而实现了并…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...