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

【传知代码】机器学习在情绪预测中的应用(论文复现)

在科技迅猛发展的今天,我们不仅在追求更强大的计算能力和更高的精度,还希望我们的机器能够理解和回应我们复杂的情感世界。设想一下,当你面对挫折时,设备不仅能识别你的情绪,还能以一种富有同情心和洞察力的方式作出反应。这不仅是一种技术上的突破,更是一种深刻的人机互动变革。

本文所涉及所有资源均在地址可获取

目录

概述

核心逻辑

复现过程

写在最后

概述

        随着近年来社交媒体的快速增长,社交媒体上的用户生成内容(例如视频)的量大幅增加。不同模态的自动情感分析有利于人机交互,并吸引了大量的研究兴趣。多模态情感分析(MSA)旨在捕获和整合来自不同相关模态的情感信息,以预测说话者的情感状态或倾向。通常,我们可以从视频中获得三种形式:视觉,声学和文本。情感分析是一个重要的研究领域,旨在从人类话语中提取和融合情感信息。由于人类情感的多样性,多模态分析往往比单一模态分析更准确。为了补充相关模态之间的信息,一种有效的方法是执行跨模态交互。最近,基于transformer的框架已经显示出强大的捕获长范围依赖关系的能力,从而引入了几种基于transformer的多模态处理方法。

        这篇文章我复现了一篇经典情感计算的论文 ‘TensorFormer: ATensor-Based Multimodal Transformer for Multimodal Sentiment Analysis and Depression Detection’,并加入其他模块进行了优化,以及不同的特征提取方法,获得了不错的效果,主要贡献如下:

1)提出TesnorFormer,一种新的基于张量的多模态Transformer,用于MSA任务。与以往的多模态工作相比,TensorFormer可以更有效地交换全局跨模态信息

2)提出了一个注意力张量,基于张量的跨模态注意力机制。注意张量不仅考虑了不同模态的特点,而且同时与所有相关模态进行交互

3)个人采用了不同的特征提取方式 – SentiLARE

4)加入了Multi-head CrossAttention模块和LSTM模块,增强了交互和模态时间信息的提取

核心逻辑

下图为模型总体框架,主要包含特征提取,Global Cross-Modality Interaction(TensorFormer Block,Attention Tenson),Parallel Feed-Forward以及输出层:

为了执行全面的跨模态交互,设计了TensorFormer,其基本块结构如下图所示。出于通用性和可扩展性考虑,我们将输入模态特征表示为 XtXt​ (text)、XaXa​ (acoustic)和 XvXv​ (visual),以说明TensorFormer的结构。在信息交换之前,采用线性变换将特征投影到相同的维度中,TensorFormer块中有两个主要模块,全局交叉注意模块和并行前馈模块。全局交叉注意模块旨在执行完整的模态交互。该模块的核心组件是注意力张量及其相应的查询,旨在全面,同时计算跨模态注意力分数。并行前馈模块由多个分支组成,用于处理相应模态的通道信息:

TensorFormer的全局交叉注意力机制的关键思想是注意力张量,一个包含重要信息以及所有模式的相关信息的张量。为了生成注意力张量,我们首先对输入特征执行平均池化,以获得预期特征,然后应用笛卡尔积来生成注意力张量:

注意力张量包含来自所有相关模态的综合信息。每个模态都可以从AA 查询注意力分数,AA 包含所有其他模态的信息。在这里,我们首先提出了详细的说明,在传统的QKV方式,然后得出一个更简单的演示查询过程:

TensorFormer块的并行前馈结构由相应模态的三个并行分支组成。对于每个模态,前馈模块旨在按通道方式处理特征,并且由两个线性变换组成:

给定一个单词序列,首先通过Stanford Log-Linear词性(POS)标记器学习其词性序列,并通过SentiwordNet学习单词级情感极性序列。然后,使用预训练语言模型的分词器获取词标索引序列。这个序列作为输入,产生一个初步的增强语言知识表示。更新后的文本表示将作为第(i+1)层的输入,并通过SentiLARE中的剩余层进行处理。每一层的输出将是具有视觉和听觉信息的文本主导的高级情感表示。最后,将这些文本表示输入到分类头中,以获取情感强度。

我在构造 TensorFormer之前,先对uni-modal进行一次交互,对视频和声学特征加入以文本为主导的多头注意力,主要起到一下作用:

1)优化信息融合: 多头注意力机制可以帮助模型更有效地整合来自不同模态(如文本、图像、音频等)的信息,特别是在模态间的互动过程中,确保每种信息都得到适当的重视和融合。

2)提升文本相关性: 由于文本数据通常提供最直接和详细的情感表达,以文本为主导的多头注意力可以确保模型在情感分析中更准确地捕捉和理解文本内容的情感色彩和情绪。

3)增强模型鲁棒性: 通过以文本为中心的多头注意力交互,可以减少其他模态(如视觉或声音)可能受到的信息偏置,从而提高模型在不同数据场景下的鲁棒性和泛化能力。

4)解决信息遗漏问题: 有时其他模态的信息可能被文本模态所掩盖或忽视,以文本为主导的多头注意力可以帮助平衡各模态间的贡献,减少信息遗漏和偏置。

综上所述,引入以文本为主导的多头注意力交互有助于在多模态情感分析中充分利用文本信息的优势,并通过有效的信息整合提升模型的性能和鲁棒性。

visual_ = self.cross_ATT_visual(text_embedding, visual_, visual_)
        acoustic_ = self.cross_ATT_acoustic(text_embedding, acoustic_, acoustic_)

在TensorFormer交互之后,我为最终的融合模态加入了LSTM,具有以下几个优点:

1)时序建模能力强: LSTM 是一种能够捕捉时间序列信息的循环神经网络(RNN)变种。在多模态情感计算中,不同模态的数据可能存在时间上的依赖关系,比如语音的情感表达可能会受到人脸表情变化的影响,而LSTM能够有效地处理这种时序信息,提高模型对情感变化的准确性。

2)处理序列数据: 多模态情感计算中的数据通常是序列数据,例如连续的语音信号或视频帧序列。LSTM能够逐步学习和记忆这些序列数据中的长期依赖关系,从而更好地理解和分析多模态数据的情感表达。

3)特征融合与表示学习: 在多模态情感计算中,不同模态的数据往往具有不同的特征表示形式,如文本的词向量、图像的卷积特征、语音的声学特征等。通过LSTM,可以将不同模态的特征有效地融合在一起,学习到更加综合和丰富的表示,有助于提高情感分类或回归任务的性能。

4)上下文理解能力: LSTM作为一种能够捕捉上下文信息的模型,可以更好地理解不同模态数据之间的上下文关系。在情感计算中,上下文信息(如对话的历史记录、视频中的动作顺序等)对于情感的理解至关重要,LSTM能够帮助模型更好地从上下文中推断和分析情感表达。

5)模型泛化能力: LSTM由于其能够处理变长序列并且有较强的泛化能力,因此在不同场景和数据条件下,都能够比较好地适应和推广。这使得基于LSTM的多模态情感计算模型在实际应用中更为稳健和可靠。

综上所述,将LSTM引入多模态情感计算中,能够充分利用其强大的时序建模能力和特征融合能力,从而提高情感计算任务的精确度和效果,特别是在处理多模态数据时能够更好地捕捉数据之间的复杂关系和动态变化。

复现过程

下载MOSI和MOSEI数据集已提取好的特征文件(.pkl)。把它放在"./dataset”目录,下载SentiLARE语言模型文件,然后将它们放入"/pretrained-model / sentilare_model”目录,原文性能:

在我们的改进后,我们的性能提高了3.22%,这个性能的提升是非常客观的!

训练过程如下:

写在最后

在这篇探索“让机器感受你的情绪”的旅程中,我们不仅揭开了情感计算技术的神秘面纱,也展望了它在未来生活中的广阔前景。随着人工智能技术的不断进步,机器对情感的感知能力已经从最初的简单识别,发展到能够综合分析和理解人类复杂情感的阶段。这一变革不仅提升了我们与机器互动的自然性,也为多领域应用开辟了新的可能性,从智能助手到医疗支持系统,无不展示了其巨大的潜力。

然而,尽管我们取得了显著进展,依然面临着诸多挑战。如何在确保隐私和伦理的前提下,提升情感计算的准确性和有效性,如何让机器不仅感知情绪,还能以更具人性化的方式回应,这些都是亟待解决的重要课题。面对这些挑战,我们需要继续推动技术创新,保持对伦理和社会影响的高度关注。

展望未来,让机器真正理解和回应我们的情感,不仅是科技发展的前沿,也是人类与智能世界关系的深刻演变。随着情感计算技术的不断成熟,我们有理由相信,这一领域将为我们的生活带来更多的惊喜和变革,使得人机互动变得更加贴近、自然和富有意义。

详细复现过程的项目源码、数据和预训练好的模型可从该文章下方附件获取。


http://www.kler.cn/news/364004.html

相关文章:

  • First - Word Fall - Through ( FWFT ) Read Operation
  • 机器学习-树结构2-随机森林
  • 解决:IntelliJ IDEA 项目中代码文件不能运行的问题(即:J 标文件的问题)
  • WTN6 E 系列语音芯片 单线时序及示例代码
  • FPGA采集adc,IP核用法,AD驱动(上半部分)
  • 汽车免拆诊断案例 | 2019 款奥迪 A6L 车行驶中偶发熄火
  • 虚拟机的 NAT 模式 或 Bridged 模式能够被外界IPping通
  • IDEA无法生成自动化序列serialVersionUID及无法访问8080端口异常的解决方案
  • 计算机毕业设计PySpark+大模型农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop
  • 【亚马逊云】基于 Amazon EKS 搭建开源向量数据库 Milvus
  • 【ArcGIS Pro实操第4期】绘制三维地图
  • Java如何自定义线程池
  • Python + 查看个人下载次数小工具 - 记录
  • 【.Net】【C#】Program.cs通用代码模板
  • AJAX中get和post的区别
  • 【自动化测试之oracle数据库】MacOs如何安装oracle- client
  • Matlab|电价负荷需求响应-考虑电价变动
  • 线性可分支持向量机的原理推导 9-25对拉格朗日函数L(w,b,α) 关于w求导 公式解析
  • 深入浅出神经网络:从基础原理到高级应用
  • mysql 13 MySQL基于规则的优化
  • 解决ElasticSearch启动成功却无法在浏览器访问问题
  • 解决:git SSL certificate problem: unable to get local issuer certificate
  • 孤岛架构在异构性方面优势
  • 国内 Docker 镜像加速与 GitHub 加速服务:CNPROXY.TOP
  • Spring 设计模式之工厂模式
  • 分类任务中评估模型性能的核心指标