Robust多模态模型的开发

本文所涉及所有资源均在 传知代码平台 可获取。

目录

Robust 多模态模型:寻找遗失的模态!

一、研究背景

二、模型结构和代码

三、数据集介绍

六、性能展示

六、实现过程

七、运行过程

Robust 多模态模型:寻找遗失的模态!

近年来,随着网络视频的大量涌现,各种多模态任务日益备受关注。尽管取得了显著的进展,但在迈向稳健多模态交互的道路上仍面临两大挑战:

1)在未对齐多模态数据中建模跨模态交互时效率低下;

2)在现实环境中通常会发生的随机模态特征缺失的脆弱性。其中,提高对数据丢失的鲁棒性已成为多模态任务的核心挑战之一,其目的是从语言,视觉和声学信号中完成多模态任务。针对模态特征不完备的情况,目前主要提出了基于修正的方法和张量正则化方法。然而,这两种方法都无法科普非对齐序列中随机模态特征的缺失。

本文提出了一种 Robust 的多模态模型来提高模型对非对齐模态序列随机缺失的鲁棒性。

同时,我在流行的多模态任务–多模态情感计算的数据集上对模型进行了测试,得到了不错的效果,证明了该模型的可靠性。具体来说,我们使用了MOSI,MOSEI,以及两个中文数据集 SIMS, SIMSv2,以及抑郁症数据集AVEC2019,为医学心理学等领域提供帮助。

【注】 我们文章中所用到的数据集,都经过重新特征提取形成新的数据集特征文件(.pkl),另外该抑郁症数据集因为涉及患者隐私,需要向数据集原创者申请,申请和下载链接都放在了我们附件中的 readme文件中,感兴趣的小伙伴可以进行下载,谢谢支持!

一、研究背景

随着用户生成的在线内容的丰富,各种多模态任务层出不穷。使用手动对齐的完整信息,包括转录语言,音频和视频,以前的工作已经取得了显着的改进多模态任务。然而,用户生成的视频通常是不完美的。首先,不同模态的接收器可能具有可变的接收频率,这导致不对齐的性质。其次,如下图所示,许多不可避免的因素,如用户生成的视频中的噪声或传感器故障,可能会导致模态特征提取器的故障。在这种情况下,需要一种能够处理随机模态特征缺失(RMFM)的模型。因此,在多模态任务中构建能够处理RMFM的模型仍然是一个开放的研究。基于RMFM的多模态任务的核心问题在于不完整模态序列的语义稀疏性,导致难以提取鲁棒的模态表示。据我所知,目前的工作大多直接使用具有缺失惩罚的不完整模态序列来学习联合融合表示。

二、模型结构和代码

1. 单模态特征提取

模态特征提取模块首先用一维卷积层处理不完整的模态序列,以确保输入序列的每个元素都知道其相邻元素。

公式的排版如下:

其中,kmkm 是模态 mm 的卷积核大小,dd 是公共维度。接下来,使用位置嵌入(Positional Embedding, PE)来增强卷积序列表示,然后通过模态内和模态间的 Transformer 来捕捉输入序列中每个时间步的模态动态。通过注意力机制,Transformer 能从一个序列块中提取另一个序列块的信息。用于这些变换的结构是 Transformer 编码器。在此过程中,HiHi 的键、查询、值(key, query, value)都是 Transformer 编码器的输入。查询来自文本模态,而键和值可以从视觉或音频模态提取。因此,Transformer 编码器的表示可以写作:Transformer(query,key,value)Transformer(query,key,value)。

其中,PE(Tm,d)∈RTm×dPE(Tm ,d)∈RTm ×d 计算每个位置索引的嵌入,m∈{t,a,v}m∈{t,a,v},n∈{t,a,v}−{m}n∈{t,a,v}−{m}。最后,将所有模态内和模态间变换器获得的潜在特征连接起来,作为增强的序列特征输出。

其中,m∈{t,a,v}m∈{t,a,v},n1n1 和 n2n2 表示除 mm 之外的其他两种模态。增强后的序列有望利用模态间的互补性,为缺失的模态特征提取有效的表示。此外,这种包含跨模态交互的增强模态序列可以被视为模型级融合结果。

2. 模态重建模块

我们提出了一个模态重建(MR)模块,基于这样一个关键观点:从提取的模态序列中重建完整的模态序列,可以引导提取模块学习缺失部分的语义。对于每种模态,首先在特征维度上执行自注意力机制,以捕获提取特征之间的交互。

其中 m∈{t,a,v}m∈{t,a,v},Hm∗Hm 被视为转换后的序列特征。然后,我们进行线性变换,将提取的特征映射到输入空间。

其中 m∈{t,a,v}m∈{t,a,v},WmWm 和 bmbm 是线性层的参数。

在监督方面,利用原始和生成器在缺失元素上的 SmoothL1Loss(·) 作为生成损失 LmgLmg ,以提升缺失重建的效果。

其中 m∈{t,a,v}m∈{t,a,v},M′M 是缺失掩码,用于标识输入模态序列中的缺失位置。

3. 融合模块

在重建损失的指导下,通过补充模态信息增强不完整的模态序列后,我们将它们融合为一个联合向量用于情感预测。我们提出了一个CNN门控编码器,用于分别编码增强的模态序列HmHm

CNN Gate Encoder:首先,提取的模态序列HmHm 通过一个双向GRU层处理,并通过tanhtanh激活函数获得更新的表示Hm′′Hm′′

然后,设计了一个卷积门组件进一步编码HmHm 。具体来说,一个一维卷积网络(CNN)使用窗口大小为kk的卷积核在输入Hm′′Hm′′ 上滑动,对序列中的每个元素得到一个标量值gigi 。使用填充策略确保Hm′′Hm′′ 和gg具有相同的序列长度:

其中,m∈{t,a,v}m∈{t,a,v},Conv1d(⋅)Conv1d(⋅)是一个一维卷积操作。gg被视为一个门,用于缩放表示HmHm ,过滤掉话语中不相关的上下文信息:

其中,⊗⊗表示逐元素相乘。此外,将表示Hm′Hm 和初始提取的序列Hm′′Hm′′ 进行连接。然后,使用一个全连接层来控制最终词级表示Hm∗Hm 的维度:

最后,利用最大池化操作来关注话语中具有更大影响的特征,定义最终的模态表示Um∗Um 为:

其中,hmhm 表示模态mm的隐藏维度。

三个模态表示的连接被视为融合结果,并输入到一个简单的分类器中,以进行情感强度的最终预测:

其中,BN表示批量归一化操作,LeakyReLU作为激活函数使用。

三、数据集介绍

1. 多模态情感计算数据集:

  • CMU-MOSI: CMU-MOSI数据集是MSA研究中流行的基准数据集。该数据集是YouTube独白的集合,演讲者在其中表达他们对电影等主题的看法。MOSI共有93个视频,跨越89个远距离扬声器,包含2198个主观话语视频片段。这些话语被手动注释为[-3,3]之间的连续意见评分,其中-3/+3表示强烈的消极/积极情绪;
  • CMU-MOSEI: CMU-MOSEI数据集是对MOSI的改进,具有更多的话语数量,样本,扬声器和主题的更大多样性。该数据集包含23453个带注释的视频片段(话语),来自5000个视频,1000个不同的扬声器和250个不同的主题
  • SIMS/SIMSV2: CH-SIMS数据集[35]是一个中文多模态情感分析数据集,为每种模态提供了详细的标注。该数据集包括2281个精选视频片段,这些片段来自各种电影、电视剧和综艺节目,每个样本都被赋予了情感分数,范围从-1(极度负面)到1(极度正面);

3. 多模态抑郁检测数据集:

  • AVEC2019: AVEC2019 DDS数据集是从患者临床访谈的视听记录中获得的。访谈由虚拟代理进行,以排除人为干扰。与上述两个数据集不同的是,AVEC2019中的每种模态都提供了几种不同的特征。例如,声学模态包括MFCC、eGeMaps以及由VGG和DenseNet提取的深度特征。在之前的研究中,发现MFCC和AU姿势分别是声学和视觉模态中两个最具鉴别力的特征。因此,为了简单和高效的目的,我们只使用MFCC和AU姿势特征来检测抑郁症。数据集用区间[0,24]内的PHQ-8评分进行注释,PHQ-8评分越大,抑郁倾向越严重。该基准数据集中有163个训练样本、56个验证样本和56个测试样本。

六、性能展示

  • 在情感计算任务中,可以看到加入 SimAM 算法后性能有了明显提升,证明了其有效性;

七、实现过程

下载附件并准备好数据集并调试代码后,进行下面的步骤,附件已经调通并修改,可直接正常运行;

1. 数据集准备

下载附件中多种数据集已提取好的特征文件。把它放在"./dataset”目录。2. 下载需要的包

pip install MMSA

3. 进行训练

from MMSA import MMSA_run# run LMF on MOSI with default hyper parameters
MMSA_run('tfr_net', 'mosi', seeds=[1111, 1112, 1113], is_tune=False, gpu_ids=[0], config_file="../config/config_regression.json",
         model_save_dir="../saved_models", res_save_dir="../saved_results")

七、运行过程

  1. 训练过程

  1. 最终结果

感觉不错,点击我,立即使用

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

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

相关文章

threejs-基础材质设置

一、介绍 主要内容:基础材质(贴图、高光、透明、环境、光照、环境遮蔽贴图) 主要属性: side: three.DoubleSide, //设置双面 color: 0xffffff, //颜色 map: texture, //纹理 transparent: true, // 透明度 aoMap: aoTexture, //ao贴图 aoMapIntensity: 1…

Linux下载安装MySQL8.4

这里写目录标题 一、准备工作查看系统环境查看系统架构卸载已安装的版本 二、下载MySQL安装包官网地址 三、安装过程上传到服务器目录解压缩,设置目录及权限配置my.cnf文件初始化数据库配置MySQL开放端口 一、准备工作 查看系统环境 确认Linux系统的版本和架构&am…

Redis: 集群高可用之故障转移和集群迁移

故障转移 故障转移,包括自动故障转移和手动故障转移 1 )自动故障转移 Redis 集群,主节点挂了,从节点可以顶上来继续提供服务常用制造故障的两种方式 第一,对其中一个节点进行 SHUTDOWN 操作第二,kill 掉…

Java之方法

方法&#xff08;函数&#xff09; Java中的方法必须定义在类或接口中。 package day2;import java.util.Scanner;public class way {public static void main(String[] args) {int arr[] new int[5];Scanner sc new Scanner(System.in);for (int i 0; i < arr.length;…

五、创建型(建造者模式)

建造者模式 概念 建造者模式是一种创建型设计模式&#xff0c;通过使用多个简单的对象一步步构建一个复杂的对象。它将一个复杂对象的构建过程与其表示分离&#xff0c;从而使同样的构建过程可以创建不同的表示。 应用场景 复杂对象构建&#xff1a;当一个对象有多个属性&…

vue2项目的路由使用history模式,刷新会导致页面404的问题

在vue2项目中&#xff0c;如果我们使用的路由是history模式&#xff0c;刷新会导致页面404&#xff0c;解决方法很简单&#xff0c;在vue.config.js文件中的devServer下增加historyApiFallback: true; 代码如下: module.exports {devServer: {historyApiFallback: true,} }

【js逆向学习】极志愿 javascript+python+rpc

JSRPC使用方式 逆向目标逆向过程逆向分析1、什么是 websocket2、websocket的原理3、总体过程3.1 环境说明3.2 python服务端代码3.3 python客户端代码 4、Sekiro-RPC4.1 执行方式4.2 客户端环境4.3 参数说明4.4 SK API4.5 python代码调试4.6 代码注入流程 逆向总结 逆向目标 网…

AI资深导师指导-ChatGPT深度科研工作应用、论文撰写、数据分析及机器学习与AI绘图

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

太速科技-607-基于FMC的12收和12发的光纤子卡

基于FMC的12收和12发的光纤子卡 一、板卡概述 本卡是一个FPGA夹层卡&#xff08;FMC&#xff09;模块&#xff0c;可提供高达2个CXP模块接口&#xff0c;提供12路收&#xff0c;12路发的光纤通道。每个通道支持10Gbps,通过Aurora协议&#xff0c;可以组成X4&#xff0…

LivePortrait:创新的肖像动画技术与深度伪造的预防措施

文章链接&#xff1a;https://arxiv.org/pdf/2407.03168 代码仓库&#xff1a;https://liveportrait.github.io 在数字媒体和娱乐领域&#xff0c;将静态肖像照片转换成动态视频是一个引人入胜的话题。最近&#xff0c;由快手科技的研究团队发表在arXiv上的一篇论文介绍了一种…

MySQL 中的 GROUP BY 使用

MySQL 中的 GROUP BY 使用指南 GROUP BY 是 SQL 中一个非常强大的语句&#xff0c;用于将查询结果按指定的列进行分组&#xff0c;并对每个分组执行聚合函数。它常常与聚合函数&#xff08;如 COUNT、SUM、AVG、MIN 和 MAX&#xff09;结合使用&#xff0c;以生成汇总信息。 …

有千元以内的高性价比自动猫砂盆吗?双十一必看选购攻略!

对于经常外出的铲屎官来说&#xff0c;自动猫砂盆真的是一个必需品&#xff0c;不仅仅是上班出差&#xff0c;节假日旅游出行&#xff0c;小到外出逛街&#xff0c;大到五六天&#xff0c;自动猫砂盆都能完美解决猫屎残留在猫砂盆里无人照料的问题&#xff0c;毕竟猫屎放久了&a…

SpringBoot框架下旅游管理系统的创新设计与实现

第二章 相关技术简介 2.1 JAVA技术 本次系统开发采用的是面向对象的Java作为软件编程语言&#xff0c;Java表面上很像C&#xff0c;但是Java仅仅是继承了C的某些优点&#xff0c;程序员很少使用的C语言的特征在Java设计中去掉了。Java编程语言并没有什么结构&#xff0c;它把数…

【C语言系统编程】【第一部分:操作系统知识】1.3.实践与案例分析

1.3 实践与案例分析 1.3.1 案例分析&#xff1a;实现一个简单的Shell 本节将通过一个简单的Shell程序来展示如何使用C语言中的高级操作系统功能&#xff0c;包括命令行解析、进程管理&#xff08;fork和exec&#xff09;、管道和重定向。 1.3.1.1 解析命令行输入 在实现She…

Java | Leetcode Java题解之第461题汉明距离

题目&#xff1a; 题解&#xff1a; class Solution {public int hammingDistance(int x, int y) {int s x ^ y, ret 0;while (s ! 0) {s & s - 1;ret;}return ret;} }

图论day56|广度优先搜索理论基础 、bfs与dfs的对比(思维导图)、 99.岛屿数量(卡码网)、100.岛屿的最大面积(卡码网)

图论day56|广度优先搜索理论基础 、bfs与dfs的对比&#xff08;思维导图&#xff09;、 99.岛屿数量&#xff08;卡码网&#xff09;、100.岛屿的最大面积&#xff08;卡码网&#xff09;&#xff09; 广度优先搜索理论基础bfs与dfs的对比&#xff08;思维导图&#xff09;&…

音视频入门基础:FLV专题(12)——FFmpeg源码中,解析DOUBLE类型的ScriptDataValue的实现

一、引言 从《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中可以知道&#xff0c;根据《video_file_format_spec_v10_1.pdf》第80到81页&#xff0c;SCRIPTDATAVALUE类型由一个8位&#xff08;1字节&#xff09;的Type和一个ScriptDataV…

电影选票选座系统|影院购票|电影院订票选座小程序|基于微信小程序的电影院购票系统设计与实现(源码+数据库+文档)

电影院订票选座小程序 目录 基于微信小程序的电影院购票系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户功能实现 2、管理员功能实现 &#xff08;1&#xff09;影院信息管理 &#xff08;2&#xff09;电影信息管理 &#xff08;3&#xff09;已完成…

Linux 环境chrony设置服务器间时间同步一致

服务器&#xff1a; master01: slave02: slave03: 安装chrony安装&#xff1a; yum -y install chrony 设置以master01为时间服务器&#xff0c;其他服务器同步master01时间 master01的chrony.conf配置: server ntp1.aliyun.com iburst allow all local stratum 10重启ch…

VUE 开发——Vue学习(二)

一、watch侦听器 作用&#xff1a;监视数据变化&#xff0c;执行一些业务逻辑或异步操作 简单写法 <div id"app"><textarea v-model"words"></textarea></div><script>const app new Vue({el:#app,data: {words: },watch…