机器情绪及抑郁症识别算法(六)

news2024/12/20 13:12:19


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:传知代码论文复现

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

情感识别+抑郁症检测:机器更懂你

一、概述

二、研究背景

三、模型结构

四、数据集介绍

五、性能展示

六、复现过程

七、运行过程


 本文所有资源均可在该地址处获取。

情感识别+抑郁症检测:机器更懂你


语言起源理论将语言与非语言行为(视觉和声学模态)的结合视为人类在进化过程中使用的主要交流形式(Müller,1866)。在自然语言处理中,这种形式的语言被称为人类多模态语言。近年来,多模态语言建模已成为自然语言处理(NLP)和多模态机器学习的核心研究方向之一。研究致力于建模多模态语言的双重动态:模态内动态(每个模态内的动态)和跨模态动态(不同模态之间的动态)。

另外多模态抑郁症检测应运而生,依托于人工智能、机器学习和大数据分析等技术的进步,通过综合分析语音、表情、文本、行为、心理生理数据等多种信息源,能够更全面地捕捉和识别抑郁症的多维度表现。这种方法不仅提高了抑郁症检测的准确性和客观性,还具有早期发现、持续监测和个性化干预的潜力,为抑郁症的管理和治疗带来了新的希望和可能性。

我致力于对情感计算领域的经典模型进行分析、解读和总结,此外,由于现如今大多数的情感计算数据集都是基于英文语言开发的,我们计划在之后的整个系列文章中将中文数据集(SIMS, SIMSv2)应用在模型中,以开发适用于国人的情感计算分析模型,并应用在情感疾病(如抑郁症、自闭症)检测任务,为医学心理学等领域提供帮助,在未来,我也计划加入更多小众数据集,以便检测更隐匿的情感,如嫉妒、嘲讽等,使得AI可以更好的服务于社会。

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

一、概述

这篇文章,我开始介绍第五篇情感计算经典论文模型,他是ACL 2018的一篇多模态情感计算的论文 “Multimodal Language Analysis in the Wild: CMU-MOSEI Dataset and Interpretable Dynamic Fusion Graph”,其中提出的模型是Graph-MFN

此外,原创部分为加入了抑郁症数据集以实现抑郁症检测任务,以及在SIMS数据集数据集上进行实验。

二、研究背景

分析人类多模态语言是 NLP 的一个新兴研究领域。 人类沟通本质上是多模式(异构)、时间性和异步性的; 它由语言(单词)、视觉(表达)和听觉(副语言)模态组成,全部采用异步协调序列的形式。 从资源的角度来看,确实需要大规模数据集来深入研究多模态语言。

三、模型结构

1. 我们首先给出整体框架图:

2. Dynamic Fusion Graph
在本节中,我们讨论了所提出的动态融合图(DFG)神经模型的内部结构。DFG 具有以下特性:
1)它能够显式建模n模态交互;
2)使用了高效的参数数量(相比于先前的方法,如Tensor Fusion);
3)可以根据每个n模态动态的重要性在推理过程中动态改变其结构,并选择合适的融合图。假设模态集合为M=(l)语言,(v)视觉,(a)声学M=(l)语言,(v)视觉,(a)声学。单模态动态表示为l,v,al,v,a,双模态动态为l,v,v,a,l,al,v,v,a,l,a,三模态动态为l,v,al,v,a。这些动态以潜在表示的形式存在,并且每个都被视为图G=(V,E)G=(V,E)中的顶点,VV是顶点集合,EE是边集合。仅当vi∈vjvi​∈vj​时,两个顶点vivi​和vjvj​之间建立方向性神经连接。例如,l∈l,vl∈l,v,这导致<语言>和<语言, 视觉>之间的连接。此连接被表示为一条边eijeij​。DjDj​将所有满足上述神经连接公式的vivi​作为vjvj​的输入。

作者为每条边 eijeij​ 定义了一个效能,记作 αijαij​。vivi​ 在作为 DjDj​ 的输入之前会乘以 αijαij​。每个 αα 都是一个经过 sigmoid 激活的概率神经元,用于表示 vivi​ 和 vjvj​ 之间连接的强弱。αα 是 DFG 可解释性的主要来源。所有 αα 的向量是通过一个深度神经网络 DαDα​ 推断的,输入为顶点集 VV 中的单例顶点(如语言、视觉和声学)。通过监督训练目标来学习 DαDα​ 的参数,并有效利用这些效能,从而动态控制图的结构。选择单例顶点是因为它们没有入边,因此不需要关联任何效能(推断单例顶点不需要效能)。这些单例顶点 ll、vv 和 aa 也是 DFG 的输入。在下一节中,将讨论这些输入如何传递给 DFG。所有顶点通过各自效能缩放的边与网络的输出顶点 TtTt​ 相连。框架图展示了顶点、边和相应效能的整体结构。总共有8个顶点(包括输出顶点)、19条边以及随后19个效能。

3. Graph-MFN
为了测试 DFG 的性能,作者采用了类似于 Memory Fusion Network (MFN) 的递归架构。MFN 是一个具有三个主要组件的递归神经模型:1)LSTM 系统:一组并行的 LSTM,每个 LSTM 处理单一模态;2)Delta-memory Attention Network 是执行多模态融合的组件,通过分配系数来突出跨模态动态;3)多视图门控记忆是存储多模态融合输出的组件。将 Delta-memory Attention Network 替换为 DFG,并将修改后的模型称为图记忆融合网络 (Graph-MFN)。图 4 展示了 Graph-MFN 的整体架构。

与 MFN 类似,Graph-MFN 也使用 LSTM 系统来处理各个模态。clcl​、cvcv​ 和 caca​ 分别代表语言、视觉和声学模态的 LSTM 记忆。DmDm​,其中 m∈{l,v,a}m∈{l,v,a},是一个全连接的深度神经网络,输入为 LSTM 在两个连续时间戳 t−1t−1 和 tt 之间的表示 hm[t−1,t]hm​[t−1,t],使网络能够跟踪随时间变化的记忆维度。DlDl​、DvDv​ 和 DaDa​ 的输出为 DFG 的单例顶点。DFG 模型跨模态交互,并将其输出顶点 TtTt​ 编码为多模态表示,存储在多视图门控记忆 utut​ 中。多视图门控记忆通过网络 DuDu​ 将 TtTt​ 转化为提议的记忆更新 u^tu^t​。γ1γ1​ 和 γ2γ2​ 分别是多视图门控记忆的保持和更新门控,它们通过网络 Dγ1Dγ1​​ 和 Dγ2Dγ2​​ 学习。最后,网络 DzDz​ 将 TtTt​ 转化为多模态表示 ztzt​,用于更新 LSTM 系统。在所有实验中,Graph-MFN 的输出是每个 LSTM 的最终输出 hmThmT​ 以及最后一个递归时间步 TT 的多视图门控记忆内容 uTuT​。这一输出随后连接到分类或回归层以进行最终的情感或情绪识别预测。

四、数据集介绍

1. CMU-MOSI: CMU-MOSI数据集是MSA研究中流行的基准数据集。该数据集是YouTube独白的集合,演讲者在其中表达他们对电影等主题的看法。MOSI共有93个视频,跨越89个远距离扬声器,包含2198个主观话语视频片段。这些话语被手动注释为[-3,3]之间的连续意见评分,其中-3/+3表示强烈的消极/积极情绪。

2. CMU-MOSEI: CMU-MOSEI数据集是对MOSI的改进,具有更多的话语数量,样本,扬声器和主题的更大多样性。该数据集包含23453个带注释的视频片段(话语),来自5000个视频,1000个不同的扬声器和250个不同的主题

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

4. SIMS/SIMSV2: CH-SIMS数据集[35]是一个中文多模态情感分析数据集,为每种模态提供了详细的标注。该数据集包括2281个精选视频片段,这些片段来自各种电影、电视剧和综艺节目,每个样本都被赋予了情感分数,范围从-1(极度负面)到1(极度正面)

五、性能展示

1. 首先给出原文在MOSI和MOSEI数据集上的结果:

2. 给出模型在SIMS数据集上的性能:

ModelMAECorrAcc-2F1
TFN43.2259.178.3878.62
LMF44.1257.5977.7777.88
MFN43.4958.2477.9077.88
MulT45.3256.4178.5679.66
Self-MM42.5059.5280.0480.44
Graph-MFN41.0058.8881.8481.82

3. 抑郁症检测数据集AVEC2019:

ModelCCCMAE
Baseline0.1116.37
EF0.34
Bert-CNN & Gated-CNN0.4036.11
Multi-scale Temporal Dilated CNN0.4304.39
MULT0.4264.45
Graph-MFN0.4324.35

六、复现过程

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

1. 下载多模态情感分析集成包

pip install MMSA

2. 进行训练

from MMSA import MMSA_run

# run LMF on MOSI with default hyper parameters
MMSA_run('lmf', 'mosi', seeds=[1111, 1112, 1113], gpu_ids=[0])

# tune Self_mm on MOSEI with default hyper parameter range
MMSA_run('self_mm', 'mosei', seeds=[1111], gpu_ids=[1])

# run TFN on SIMS with altered config
config = get_config_regression('tfn', 'mosi')
config['post_fusion_dim'] = 32
config['featurePath'] = '~/feature.pkl'
MMSA_run('tfn', 'mosi', config=config, seeds=[1111])

# run MTFN on SIMS with custom config file
MMSA_run('mtfn', 'sims', config_file='./config.json')

七、运行过程

  1. 训练过程

  2. 最终结果

  3. 随时间推移 DFG 功效的可视化。 当 DFG 接触到新信息时,功效(因此 DFG 结构)会随着时间而变化。 DFG 能够选择依赖哪个 n 模态动力学。 它还学习有关人类交流的先验,因为某些功效(因此 DFG 中的边缘)在时间和数据点上保持不变。

​​

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

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

相关文章

34. Three.js案例-创建球体与模糊阴影

34. Three.js案例-创建球体与模糊阴影 实现效果 知识点 WebGLRenderer WebGLRenderer 是 Three.js 中用于渲染 3D 场景的核心类。它负责将场景中的对象绘制到画布上。 构造器 new THREE.WebGLRenderer(parameters)参数类型描述parametersObject可选参数对象&#xff0c;包…

服务器数据恢复—RAIDZ离线硬盘数超过热备盘数导致阵列崩溃的数据恢复案例

服务器存储数据恢复环境&#xff1a; ZFS Storage 7320存储阵列中有32块硬盘。32块硬盘分为4组&#xff0c;每组8块硬盘&#xff0c;共组建了3组RAIDZ&#xff0c;每组raid都配置了热备盘。 服务器存储故障&#xff1a; 服务器存储运行过程中突然崩溃&#xff0c;排除人为误操…

108. 将有序数组转换为二叉搜索树(java)

题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,…

电子应用设计方案-60:智能床垫系统方案设计

智能床垫系统方案设计 一、引言 智能床垫作为智能家居的一部分&#xff0c;旨在为用户提供更舒适的睡眠体验和健康监测功能。本方案将详细描述智能床垫系统的设计理念、功能模块及技术实现。 二、系统概述 1. 系统目标 - 实时监测睡眠状态&#xff0c;包括心率、呼吸、体动等…

YOLOv8目标检测(六)_封装API接口

YOLOv8目标检测(一)_检测流程梳理&#xff1a;YOLOv8目标检测(一)_检测流程梳理_yolo检测流程-CSDN博客 YOLOv8目标检测(二)_准备数据集&#xff1a;YOLOv8目标检测(二)_准备数据集_yolov8 数据集准备-CSDN博客 YOLOv8目标检测(三)_训练模型&#xff1a;YOLOv8目标检测(三)_训…

CSDN数据大屏可视化【开源】

项目简介 本次基于版本3 开源 版本3开源地址&#xff1a;https://github.com/nangongchengfeng/CsdnBlogBoard.git 版本1开源地址&#xff1a;https://github.com/nangongchengfeng/CSDash.git 这是一个基于 Python 的 CSDN 博客数据可视化看板项目&#xff0c;通过爬虫采…

Moretl安全日志采集工具

永久免费: 至Gitee下载 使用教程: Moretl使用说明 使用咨询: 用途 定时全量或增量采集工控机,电脑文件或日志. 优势 开箱即用: 解压直接运行.不需额外下载.管理设备: 后台统一管理客户端.无人值守: 客户端自启动,自更新.稳定安全: 架构简单,兼容性好,通过授权控制访问. 架…

无人机航测系统技术特点!

一、无人机航测系统的设计逻辑 无人机航测系统的设计逻辑主要围绕实现高效、准确、安全的航空摄影测量展开。其设计目标是通过无人机搭载相机和传感器&#xff0c;利用先进的飞行控制系统和数据处理技术&#xff0c;实现对地表信息的全方位、高精度获取。 需求分析&#xff1…

Java学习笔记(13)——面向对象编程

面向对象基础 目录 面向对象基础 方法重载 练习&#xff1a; 继承 继承树 protected super 阻止继承 向上转型 向下转型 区分继承和组合 练习 小结&#xff1a; 方法重载 如果有一系列方法&#xff0c;功能类似&#xff0c;只是参数有所不同&#xff0c;就可以把…

Running CMake (运行 CMake)

Running CMake {运行 CMake} 1. CLion - Create a new CMake project2. Running CMake (运行 CMake)2.1. Building a project (构建项目)2.2. Picking a compiler (指定编译器)2.3. Verbose and partial builds (详细和部分的构建)2.4. Options (选项)2.4.1. Standard options …

穷举vs暴搜vs深搜vs回溯vs剪枝专题一>子集

题目&#xff1a; 两个方法本质就是决策树的画法不同 方法一解析&#xff1a; 代码&#xff1a; class Solution {private List<List<Integer>> ret;//返回结果private List<Integer> path;//记录路径&#xff0c;注意返回现场public List<List<Int…

MTU 使用使用解释

MTU (Maximum Transmission Unit&#xff0c;最大传输单元) 指的是网络链路层 (例如以太网) 能够传输的最大数据帧大小&#xff0c;以字节为单位。理解 MTU 对网络性能和可靠性至关重要&#xff0c;因为它直接影响数据包的分片 (Fragmentation) 和重组。本文档将详细解释 MTU 的…

uniapp v-tabs修改了几项功能,根据自己需求自己改

根据自己的需求都可以改 这里写自定义目录标题 1.数组中的名字过长&#xff0c;导致滑动异常2.change 事件拿不到当前点击的数据&#xff0c;通过index在原数组中查找得到所需要的id 各种字段麻烦3.添加指定下标下新加红点显示样式 1.数组中的名字过长&#xff0c;导致滑动异常…

iOS - 超好用的隐私清单修复脚本(持续更新)

文章目录 前言开发环境项目地址下载安装隐私访问报告隐私清单模板最后 前言 在早些时候&#xff0c;提交应用到App Store审核&#xff0c;大家应该都收到过类似这样的邮件&#xff1a; Although submission for App Store review was successful, you may want to correct th…

c语言-----数组

基本概念 数组是C语言中一种用于存储多个相同类型数据的数据结构。这些数据在内存中是连续存储的&#xff0c;可以通过索引&#xff08;下标&#xff09;来访问数组中的各个元素。数组的索引从0开始&#xff0c;这是C语言的规定。例如&#xff0c;一个有n个元素的数组&#xff…

社区版 IDEA 开发webapp 配置tomcat

1.安装tomcat 参考Tomcat配置_tomcat怎么配置成功-CSDN博客 2.构建webapp项目结构 新建一个普通项目 然后添加webapp的目录结构&#xff1a; main目录下新建 webapp 文件夹 webapp文件夹下新建WEB_INF文件夹 *WEB_INF目录下新建web.xml wenapp文件夹下再新建index.html …

全面解析 Kubernetes 流量负载均衡:iptables 与 IPVS 模式

目录 Kubernetes 中 Service 的流量负载均衡模式 1. iptables 模式 工作原理 数据路径 优点 缺点 适用场景 2. IPVS 模式 工作原理 数据路径 优点 缺点 适用场景 两种模式的对比 如何切换模式 启用 IPVS 模式 验证模式 总结 Kubernetes 中 Service 的流量负载…

C 语言数据类型详解

目录 一、引言 二、基本数据类型 &#xff08;一&#xff09;整型 &#xff08;二&#xff09;浮点型 &#xff08;三&#xff09;字符型 三、构造数据类型 &#xff08;一&#xff09;数组 &#xff08;二&#xff09;结构体 &#xff08;三&#xff09;联合体&#…

Python图注意力神经网络GAT与蛋白质相互作用数据模型构建、可视化及熵直方图分析...

全文链接&#xff1a;https://tecdat.cn/?p38617 本文聚焦于图注意力网络GAT在蛋白质 - 蛋白质相互作用数据集中的应用。首先介绍了研究背景与目的&#xff0c;阐述了相关概念如归纳设置与转导设置的差异。接着详细描述了数据加载与可视化的过程&#xff0c;包括代码实现与分析…

LeetCode 1925 统计平方和三元组的数目

探索平方和三元组&#xff1a;从问题到 Java 代码实现 在数学与编程的交叉领域&#xff0c;常常会遇到一些有趣且富有挑战性的问题。今天&#xff0c;就让我们深入探讨一下 “平方和三元组” 这个有趣的话题&#xff0c;并使用 Java 语言来实现计算满足特定条件的平方和三元组…