装修公司招聘网站,为什么不推荐免费建站,如何在人力资源网站做合同续签,微信开发者工具有什么作用MSA抑郁症模型总结#xff08;一#xff09;#xff08;论文复现#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 MSA抑郁症模型总结#xff08;一#xff09;#xff08;论文复现#xff09;情感分析在多场景的应用一、概述二、论文地址三、研究背景四…MSA抑郁症模型总结一论文复现 本文所涉及所有资源均在传知代码平台可获取 文章目录 MSA抑郁症模型总结一论文复现情感分析在多场景的应用一、概述二、论文地址三、研究背景四、主要贡献五、模型结构和代码多模态任务单模式任务ULGM 六、数据集介绍七、性能展示八、复现过程九、运行过程模型总结应用场景项目特点 情感分析在多场景的应用 随着社交网络的不断发展近年来出现了多模态数据的热潮。越来越多的用户采用媒体形式的组合例如文本加图像、文本加歌曲、文本加视频等。来表达他们的态度和情绪。多模态情感分析MSA是从多模态信息中提取情感元素进行情感预测的一个热门研究课题。传统的文本情感分析依赖于词、短语以及它们之间的语义关系不足以识别复杂的情感信息。随着面部表情和语调的加入多模态信息视觉、听觉和转录文本提供了更生动的描述并传达了更准确和丰富的情感信息。 此外随着近些年来生活压力的增加抑郁症已成为现代工作环境中最常见的现象。早期发现抑郁症对避免健康恶化和防止自杀倾向很重要。无创监测应激水平在筛查阶段是有效的。许多基于视觉提示、音频馈送和文本消息的方法已用于抑郁倾向监测。 我致力于对情感计算领域的经典模型进行分析、解读和总结此外由于现如今大多数的情感计算数据集都是基于英文语言开发的我们计划在之后的整个系列文章中将中文数据集SIMS, SIMSv2应用在模型中以开发适用于国人的情感计算分析模型并应用在情感疾病如抑郁症、自闭症检测任务为医学心理学等领域提供帮助此外还加入了幽默检测数据集在未来我也计划加入更多小众数据集以便检测更隐匿的情感如嫉妒、嘲讽等使得AI可以更好的服务于社会。 一、概述 本篇文章开始我计划使用连载的形式对经典的情感计算模型进行讲解、对比和复现并开发不同数据集进行应用。并逐步实现集成以方便各位读者和学者更深度地了解Multimodal Sentiment Analysis (MSA)以及他的研究重点和方向为该领域的初学者尽量指明学习方向方法 首先第一篇我将介绍AAAI 2021的一篇经典MSA论文中的模型–Self_MM 二、论文地址 Learning Modality-Specific Representations with Self-Supervised Multi-Task Learning for Multimodal Sentiment Analysis 三、研究背景 近年来多模态情感分析和抑郁检测是利用多模态数据预测人类心理状态的两个重要研究课题多模态情感分析MSA和抑郁症检测DD引起了越来越多的关注。与单模态分析相比多模态模型在处理社交媒体数据时更鲁棒并取得了显着的改进。随着用户生成的在线内容的蓬勃发展MSA已被引入许多应用如风险管理视频理解和视频转录。 其中表征学习是多模态学习中一项重要而又具有挑战性的任务。有效的模态表征应包含两个方面的特征一致性和差异性。由于统一的多模态标注现有方法在捕获区分信息方面受到限制。然而额外的单峰注解是高时间和人力成本的。本文设计了一个基于自监督学习策略的标签生成模块以获得独立的单峰监督。然后对多模态任务和单模态任务分别进行联合训练以了解其一致性和差异性。此外在训练阶段作者设计了一个权重调整策略以平衡不同子任务之间的学习进度。即引导子任务集中于模态监督之间差异较大的样本。 四、主要贡献 本文提出基于模态表示和类中心之间的距离的相对距离值与模型输出正相关设计了一个基于自监督策略的单峰标签生成模块此外引入了一种新的权重自调整策略以平衡不同的任务损失约束在三个baseline数据集上的实验验证了自动生成的单峰标签的稳定性和可靠性。 五、模型结构和代码 多模态情感分析和抑郁症利用多模态信号包括文本ItI**t、音频IaI**a和视觉IvI**v来判断情感。一般来说MSA和DD可以被视为回归任务或分类任务。在这项工作中我们把它作为回归任务。因此Self-MM将ItI**t、IaI**a和IvI**v作为输入并输出一个情感强度和抑郁程度结果ym∈R*y*m∈R。在训练阶段为了辅助表示学习Self-MM具有额外的三个单峰输出其中s∈{tav}s∈{tav}虽然有多个输出但我们只使用最后的预测结果。 下图为模型整体结构图如图所示Self-MM由一个多模态任务和三个独立的单峰子任务组成。在多模态任务和不同的单峰任务之间作者采用硬共享策略来共享底层表征学习网络。我们将整个模型运行分为3部分讲解多模态任务单模态任务ULGM模块接下来我们将分别进行详细介绍 多模态任务 对于多模态任务本文采用了经典的多模态情感分析架构。它包括三个主要部分特征表示模块特征融合模块和输出模块。在文本模态方面由于预训练的语言模型取得了很大的成功使用了预训练的12层BERT来提取句子表示。根据经验最后一层中的第一个词向量被选择作为整句表示。 对于音频和视觉模式使用预训练的ToolKits从原始数据中提取初始向量特征 Ia∈Rla×daI**a∈Rla×d**a 和 Iv∈Rlv×dvI**v∈Rlv×d**v。这里la和lv分别是音频和视频的序列长度。然后使用单向长短期记忆sLSTM来捕获时序特性。最后采用端态隐向量作为整个序列的表示。 然后我们将所有的单峰表示连接起来并将它们投影到低维空间 RdmRdm 中最后融合表示 Fm∗F**m∗ 用于预测多模态情感。 单模式任务 对于三个单模态任务他们共享多模态任务的模态表征。为了减少不同模态之间的维数差异作者将它们投影到一个新的特征空间中。然后用线性回归得到单峰结果。为了指导单峰任务的训练过程作者设计了一个单峰标签生成模块ULGM来获取标签。ULGM的详细信息在下一节讲解。 最后在m-labels和u-labels监督下通过联合学习多模态任务和三个单峰任务。值得注意的是这些单峰任务只存在于训练阶段。因此我们使用 ym*y*m作为最终输出。 下面是单模态特征处理子网络的代码 # text subnets
self.aligned args.need_data_aligned
self.text_model BertTextEncoder(use_finetuneargs.use_finetune, transformersargs.transformers, pretrainedargs.pretrained)# audio-vision subnets
audio_in, video_in args.feature_dims[1:]
self.audio_model AuViSubNet(audio_in, args.a_lstm_hidden_size, args.audio_out, \num_layersargs.a_lstm_layers, dropoutargs.a_lstm_dropout)
self.video_model AuViSubNet(video_in, args.v_lstm_hidden_size, args.video_out, \num_layersargs.v_lstm_layers, dropoutargs.v_lstm_dropout)ULGM ULGM旨在基于多模态注释和模态表示生成单模态监督值。为了避免对网络参数更新造成不必要的干扰将ULGM设计为非参数模块。通常单峰监督值与多峰标签高度相关。因此ULGM根据从模态表示到类中心的相对距离计算偏移如下图所示。 Relative Distance Value。由于不同的模态表示存在于不同的特征空间中因此使用绝对距离值不够准确。因此我们提出了相对距离值它与空间差异无关。 下面为ULGM模块的实现过程包括单模态分类器的实现 # fusion
fusion_h torch.cat([text, audio, video], dim-1)
fusion_h self.post_fusion_dropout(fusion_h)
fusion_h F.relu(self.post_fusion_layer_1(fusion_h), inplaceFalse)
# # text
text_h self.post_text_dropout(text)
text_h F.relu(self.post_text_layer_1(text_h), inplaceFalse)
# audio
audio_h self.post_audio_dropout(audio)
audio_h F.relu(self.post_audio_layer_1(audio_h), inplaceFalse)
# vision
video_h self.post_video_dropout(video)
video_h F.relu(self.post_video_layer_1(video_h), inplaceFalse)
# classifier-fusion
x_f F.relu(self.post_fusion_layer_2(fusion_h), inplaceFalse)
output_fusion self.post_fusion_layer_3(x_f)
# classifier-text
x_t F.relu(self.post_text_layer_2(text_h), inplaceFalse)
output_text self.post_text_layer_3(x_t)
# classifier-audio
x_a F.relu(self.post_audio_layer_2(audio_h), inplaceFalse)
output_audio self.post_audio_layer_3(x_a)
# classifier-vision
x_v F.relu(self.post_video_layer_2(video_h), inplaceFalse)
output_video self.post_video_layer_3(x_v)下图为u-标签在不同数据集上的分布更新过程。每个子图像下的数字#指示时期的数量。 六、数据集介绍 1. CMU-MOSI: 它是一个多模态数据集包括文本、视觉和声学模态。它来自Youtube上的93个电影评论视频。这些视频被剪辑成2199个片段。每个片段都标注了[-3,3]范围内的情感强度。该数据集分为三个部分训练集(1,284段)、验证集(229段)和测试集(686段)。 2. CMU-MOSEI: 它类似于CMU-MOSI但规模更大。它包含了来自在线视频网站的23,453个注释视频片段涵盖了250个不同的主题和1000个不同的演讲者。CMU-MOSEI中的样本被标记为[-3,3]范围内的情感强度和6种基本情绪。因此CMU-MOSEI可用于情感分析和情感识别任务。 3. AVEC2019: AVEC2019 DDS数据集是从患者临床访谈的视听记录中获得的。访谈由虚拟代理进行以排除人为干扰。与上述两个数据集不同的是AVEC2019中的每种模态都提供了几种不同的特征。例如声学模态包括MFCC、eGeMaps以及由VGG和DenseNet提取的深度特征。在之前的研究中发现MFCC和AU姿势分别是声学和视觉模态中两个最具鉴别力的特征。因此为了简单和高效的目的我们只使用MFCC和AU姿势特征来检测抑郁症。数据集用区间[024]内的PHQ-8评分进行注释PHQ-8评分越大抑郁倾向越严重。该基准数据集中有163个训练样本、56个验证样本和56个测试样本。 4. SIMS/SIMSV2: CH-SIMS数据集[35]是一个中文多模态情感分析数据集为每种模态提供了详细的标注。该数据集包括2281个精选视频片段这些片段来自各种电影、电视剧和综艺节目每个样本都被赋予了情感分数范围从-1极度负面到1极度正面 七、性能展示 在情感计算任务中可以看到Self_MM模型性能超越其他模型证明了其有效性 抑郁症检测任务中Self_MM在我们的数据集AVEC2019中依旧亮眼 八、复现过程 在准备好数据集并调试代码后进行下面的步骤附件已经调通并修改可直接正常运行 1. 下载多模态情感分析集成包 pip install MMSA2. 进行训练 $ python -m MMSA -d mosi/dosei/avec -m lmf -s 1111 -s 1112九、运行过程 训练过程 最终结果 模型总结 SELF-MM模型是一种多模态情感分析解决方案结合了文本、音频和视觉信息并利用自我监督学习策略来学习各模态的特定表示。这种方法使得模型在缺乏大量标注数据的情况下仍能有效地提取多模态信息从而进行情感分析及其他复杂的情感理解任务。项目提供了预处理的数据集及相关下载链接包括音频特征、文本特征和视频特征等。 应用场景 SELF-MM模型适用于多种情感分析场景如社交媒体监控、视频对话理解和电影评论分析。通过同时分析文本、语音和视觉信息该模型能够深入理解多模态输入从而提升用户体验和交互性。 项目特点 高效的学习策略采用自我监督多任务学习方法无需大量标注数据即可学习到模态特定的表示。全面的模态支持模型能够处理文本、音频和视觉信息充分考虑了多模态输入的特性。易于使用的接口项目提供清晰的代码结构和详细的配置文件用户可以根据自己的数据路径进行设置支持主流的预训练BERT模型的转换和应用。广泛的应用范围不仅局限于情感分析还可扩展至其他多模态任务如情感理解、情感生成等。 通过这些特点SELF-MM模型不仅能提升情感分析的准确性和效率还为多模态任务的研究和应用提供了强大的工具和支持。 文章代码资源点击附件获取