阿里通义 | 开源Omni-Emotion 多模态情感分析

R1-Omni: 第一个基于RLVR+GRPO的可解释全模态情感识别 例如,R1-V已应用于几何推理和视觉计数等任务,使用RLVR训练的MLLMs不仅展示出强大的推理能力,还在领域内测试中达到与监督微调(SFT)相当的性能,同时在分布外(OOD)评估中显著优于SFT模型。具体来说,R1-Omni模型实现了43.00%的UAR和44.69%的WAR,超过了SFT模型29.33%的UAR和30.75%的WAR性能。由于多模态数据的固有挑战,如视频和音频标记内的因果关系比文本标记弱,以及缺乏对推理内容的显式监督,在模型的推理过程中可能会出现幻觉。 阅读详情
AI摘要

博客介绍了大模型AI的学习路径,包括初阶应用、高阶应用、模型训练和商业闭环四个阶段。同时还提及一篇论文,该论文针对当前视频多模态大语言模型在情感分析方面的不足,引入新数据集,提出将音频和面部编码器集成到现有模型的方法,取得了先进的情感识别和推理结果。

【论文标题】

Omni-Emotion: Extending Video MLLM with Detailed Face and Audio Modeling for Multimodal Emotion Analysis

摘要

准确理解情感对于人机交互等领域至关重要。

由于情感的复杂性及其多模态性质(例如,情感受面部表情和音频影响),研究人员已转向使用多模态模型而非单模态来理解人类情感。

然而,当前的视频多模态大语言模型(MLLMs)在有效整合音频和识别细微面部微表情方面存在困难。

此外,缺乏详细的情感分析数据集也限制了多模态情感分析的发展。

为解决这些问题,本文引入了一个自动审核数据集和一个人工审核数据集

分别包含 24,137 个粗粒度样本和 3,500 个带有详细情感注释的手动标注样本。

这些数据集使模型能够从不同场景中学习,并更好地泛化到实际应用中。

此外,除了音频建模,还提议将面部编码模型明确集成到现有的先进视频 MLLM 中

使 MLLM 能够有效地统一音频和微妙的面部线索以进行情感理解。

通过在统一空间中对齐这些特征,并在数据集中使用指令调整

OmniEmotion 在情感识别和推理任务中均达到了最先进的性能。

背景

情感分析在教育工具、虚拟形象和人机交互等领域发挥着关键作用。

传统的单模态方法,如基于音频的情感识别、文本情感分析和面部表情识别方法,在单模态情感感知方面各有优势。

但在现实世界中,情感表达往往涉及文本、视觉和听觉信息,传统方法忽略了这些重要线索。

虽然多模态大语言模型取得了显著进展,但在准确识别情感方面仍面临挑战,尤其是在整合音频和识别细微面部表情方面存在不足。

此外,缺乏具有多样数据分布和详细注释的多模态情感指令数据集也是一个重要问题

个体间的标注标准不一致以及不同文化背景下情感表达的差异,都增加了获取情感数据的难度,需要专家进行标注。

贡献

  1. 高质量数据集构建:本文开发了一种有效且可扩展的方法,基于现有的情感识别数据集构建了用于情感推理分析和开放词汇情感识别的高质量基准。

  2. 整合视频 MLLM 与听觉和面部信息:本文提议将额外的面部和音频编码器与现有的视频 MLLM 模型集成,以更好地进行情感分析,并构建了一个三阶段训练过程,有效地将音频编码器和细粒度面部编码器统一到视频 MLLM 中。

  3. 最先进的性能:本文模型在各种情感分析任务中取得了最先进的结果。

技术方案

4.1 扩展视频 MLLM 到音频模态

使用 Whisper-large-v3的音频编码器作为音频编码器,对于给定的配对数据(其中 和 分别表示音频序列和文本序列)

训练目标是最大化下一个文本标记的概率,公式为

其中 和 分别表示 LLM 解码器和音频编码器的参数。

概率取决于音频表示和前面的文本序列,旨在将音频特征与语言特征相连接。

具体来说,音频编码器的初始化从 Whisper-large-v3 模型的编码器权重加载

对每个音频数据重采样到 16KHz 的频率,并使用 25ms 的窗口大小和 10ms 的跳步将原始波形转换为 128 通道的梅尔频谱图。

使用步长为 3 的池化层将其减少到标记长度,每个标记大约对应原始音频信号的 60ms 段。

每个音频特征被输入到由两个线性层组成的音频投影仪中,投影仪的输出维度设计为与 LLM 的隐藏嵌入大小相匹配

4.2 细节面部建模

大多数视频 MLLMs 使用通用视觉编码器如 SigLip、CLIP 或 InternVideo2,从视频中提取通用视觉特征,但这些编码器并非专门用于提取与人或面部相关的特征。

本文在 Omni-Emotion MLLM 中引入了一个额外的面部特征编码器,采用 FaceXFormer 的编码器作为面部特征编码器。

对于输入的视频帧,首先提取细粒度的多尺度特征,然后通过一个轻量级的 MLP 融合模块从多尺度特征生成融合的面部表示

最后将转换后的特征连接、展平并输入到由两个线性层组成的面部投影仪中,其输出维度等于 LLM 的隐藏嵌入大小。

4.3 视觉特征融合模块

为了在捕捉细粒度面部细节的同时保持通用知识,本文开发了一个视觉融合模块来整合面部特征和通用视觉特征。

由于这些特征的长度不同,加权求和或沿通道维度连接等方法并不适用。

本文研究了三种方法:在帧级或视频级沿序列长度连接,以及使用交叉注意力层。

最终融合特征作为最终的视觉标记,与其他模态的嵌入相结合并输入到 LLM 解码器中。

4.4 训练细节

Omni-emotion MLLM 基于 LLaVA-OneVision-7B 构建,保留了其通用视觉编码器和投影仪,并引入了额外的面部和音频编码器及相应的投影仪。

为了有效地统一三个编码器的信息,首先将音频和面部特征对齐到原始 MLLM 特征空间

包括音频特征对齐、面部特征对齐和多模态指令调整三个阶段,每个阶段使用不同的数据集和训练参数进行训练。

实验结果

开放词汇情感识别:在 EMER-OV 数据集上,本文模型显著优于 AffectGPT,尤其是在召回率方面。

模型能返回更丰富的情感描述符,如 “Excited”、“Calm”、“Frustration” 等,证实了数据集的质量和多样性以及方法的有效性。

多模态情感推理:在 EMER 数据集上,本文方法在情感相关线索重叠和总结情感状态重叠这两个指标上均取得最高得分,验证了方法的有效性和数据集的质量。

模态分析:在 EMER-OV 中的模态分析表明,听觉模态显著提高了召回率和准确性,“视觉+音频+面部” 的组合实现了最佳平均性能,同时细粒度面部线索对多模态开放词汇情感识别也很重要。

视觉特征融合分析:在 EMER-OV 和 EMER 数据集上对视觉融合模块的分析表明,视频级别的连接在两个设置中均取得最高得分,但由于训练数据与通用视频 MLLM 存在显著差距,仍需进一步探索帧融合方法。

情感识别评估:在 DFEW 和 MAFW 这两个包含音频信息的野外数据集上,本文模型在情感识别性能上优于其他 MLLMs 和现有方法,在 MAFW 数据集上优势明显。

结论

当前的 MLLMs 由于缺乏详细的训练数据,在整合音频和识别面部微表情方面存在困难。

为解决此问题,本文引入了一个包含 24,137 个样本的自审核数据集和 3,500 个带有详细情感注释的手动标注数据集,增强了模型的学习和泛化能力。

本文提出了一种新方法,将音频和面部编码器集成到现有的视频 MLLMs 中,有效地捕捉面部和音频线索。

通过在统一空间中对齐特征并使用指令调整,Omni-Emotion 方法在情感识别和推理方面取得了最先进的结果。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

用于情感分析的最佳开源模型 — 第 1 部分:字典模型 字典模式确实很快,但代价是精度较低 在本系列文章中,我将尝试回答过去受到我的一位数据科学同事启发的问题:情感分析的最佳模型是什么?对于这个比较测试,我选择了 13 个流行的模型,这些模型经过预先训练用于情感分析,并且可以开源。在第 1 部分中,您将找到 4 个字典模型(3 个用于 Python,1 个用于 R),在第 2 部分中,我另外回顾了 9 个神经网络模型。但首先,什么是情绪分析以及为什么它很重要?情感分析是确定自然语言背后的观点、判断或情感的过程情绪分析是一种非常强大的技术,可以用来分析客户反馈、监控社交媒体,甚至预测股票价格。 阅读详情

相关推荐

OmniBind: Large-scale Omni MultimodalRepresentation via Binding Spaces

111

weixin_44466434的博客 976

AOBERT:用于多模态情感分析的多模态合一BERT

在这项研究中,情绪分析和情绪检测是使用三种模式进行的:文本、视觉和语音。XT∈RdT×LXV∈RdV×LXS∈RdS×LXT​∈RdT​×LXV​∈RdV​×LXS​∈RdS​×L其中 XT、XV 和 XS 分别指的是文本、视觉和语音。这些是长度为 L 的向量,维度分别为 dT、dV 和 dS。因为 L 是输入大小的固定长度,所以小于 L 的某些输入将包含零填充以适应大小。

JackCrum的博客 3831

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比)

本文全面解析了从CAN到Ethernet的6种车载通信协议,包括CAN、LIN、MOST、FlexRay等,并对比了它们的应用场景和技术特点。文章详细介绍了各协议的演进历程、技术优势及在现代汽车中的混合网络架构设计,为汽车工程师提供了实用的协议选型指南和未来通信技术发展趋势。

weixin_28683689的博客 493

DeepSeek-VL杀疯了!训练成本直降80%,4K高清图秒生成,设计师饭碗危险了?

通过Hollow Attention和Probe-Activated Dynamic FFN方法减少解码器-only架构中视觉Token的计算冗余,显著降低计算成本同时保持甚至提升模型性能,揭示了当前MLLMs中视觉Token处理的大量冗余,并为未来更高效的模型设计提供了重要启示。通过整合精细的面部编码模型和音频特征到现有的视频多模态大语言模型(MLLM)中,解决了当前模型在捕捉微妙面部表情和音频线索上的不足。同时构建了高质量的自审与人工审阅数据集,显著提升了情感识别与推理任务的性能。

m0_73122726的博客 617

一文读懂GPU通信互联技术:GPUDirect、NVLink与RDMA

GPUDirect是NVIDIA开发的一项技术,旨在实现GPU与其他设备(如网络接口卡NIC和存储设备)之间的直接通信和数据传输,而无需CPU的参与。传统上,数据在GPU和另一个设备之间传输时,必须通过CPU,这导致潜在的性能瓶颈和延迟增加。GPUDirect技术则通过绕过CPU,直接访问和传输数据,显著提高系统性能。NVLink是NVIDIA开发的一种高速、高带宽的互连技术,用于连接多个GPU之间或GPU与其他设备(如CPU、内存等)之间的通信。

异构算力老群群(在读985计算机博士生)的技术博客 7777

GROMACS新手必看:从PDB文件到完整分子动力学模拟的保姆级教程

本文提供GROMACS分子动力学模拟的保姆级教程,从PDB文件处理到完整模拟流程全覆盖。详细讲解结构预处理、系统构建、能量最小化、生产模拟等关键步骤,并分享性能优化和结果分析技巧,帮助新手快速掌握分子动力学模拟的核心操作。

yhn456789的博客 767

Python使用阿里API进行情感分析

本博文实现了调用阿里API进行情感分析

ZHW-鲜橙大AI课题组的博客 3733

hwasan / asan详细分析踩内存之一:Use after free

UAF漏洞全称为use after free ,即利用已经被free掉的堆块被再次利用,该漏洞的存在是因为程序编写者在free堆块部分没有将该堆块的fd指针改为0,进而导致该堆块可以被申请回来,3.内存块被free后,其对应的指针没有被设置为 NULL,但是在它下一次使用之前,有代码对这块内存进行了修改,那么当程序再次使用这块内存时,就很有可能会出现奇怪的问题。2.堆块free后,对应指针没有被设置为NULL,即还可以调用会该堆块,当我们申请一个比该堆块小于等于的size时。

1402

Westlake - Omni:来自西湖心辰的全球首个开源中文情感语音交互大模型

Westlake - Omni 是西湖心辰精心打造的全球首个开源中文情感端到端语音交互大模型,具有诸多显著特点。它在语音合成方面表现卓越,利用先进的深度学习技术,实现了高质量的语音输出,其发音精准、流畅自然,仿佛真人发声。尤为独特的是,该模型能够精准捕捉文本中的情感信息,并将其巧妙地转化为富有情感色彩的语音,无论是欢快愉悦、悲伤难过,还是愤怒激昂、平静温和等情感,都能被细腻地呈现出来,让语音交互更具人性化和亲和力。

寻道AI,探索AI无限可能! 3925

2026年紫光同创数字IC笔试试卷带答案

FPGA基础知识与设计要点摘要 本文围绕FPGA与数字IC设计核心概念,通过单选题、波形分析题、多选题和简答题形式,系统梳理了以下关键知识点: FPGA基础架构 查找表(LUT)是实现组合逻辑的基本单元(题1) CLB包含LUT、触发器和进位链,后者加速算术运算(题6,10) 布局布线优化是减少关键路径延迟的核心方法(题7) 时序分析要点 建立时间(时钟沿前数据需稳定)与保持时间(时钟沿后需保持)的定义(题2,简答1) 亚稳态成因及两级同步器处理跨时钟域信号的方法(多选题1,波形题5) 特殊设计技术 异步复

Open 117

redhawk:STA timing data file解析

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?STA timing data file分为以下几个部分:• Header• Name Map• Footer这部分报告设计的基本信息,例如文件类型,设计名称,分隔符等。...

m0_61544122的博客 1156

百度开源情感分析Senta,让你更懂用户

好友们在聊你不认识的明星八卦,想参与讨论又不知所措?产品刚投入市场,想了解用户最真实的反馈而不只是抽样调查?平台上运营着数万家电商,想从中挑出口碑好、潜力大的客户针对性重...

PaddlePaddle 5122

2025年软件测试职业院校技能大赛—ERP管理平台-采购管理采购入库模块测试用例

竞赛对接软件测试相关标准,以“ERP管理平台” 为被测系统,围绕软件测试领域的主流技术及工具,考查选手面 对实际问题的综合分析能力,对测试文档、测试用例的设计能力, 对单元测试、自动化测试、性能测试、接口测试等测试工具及方 法的掌握程度,检验选手团队协作能力、组织规划能力、方法运用能力等。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 404

【免费下载】 多模态情感分析开源项目指南

多模态情感分析开源项目指南 本指南旨在详细介绍GitHub上的开源项目多模态情感分析,该项目专注于通过结合文本、音频和视觉信息来解析数据中的情感倾向。以下是关键组件的说明,包括项目结构、启动文件以及配置文件的详细解析。 1. 项目目录结构及介绍 项目的基本目录结构可能会如下所示,但请注意,实际结构需参照最新版本的仓库: Multimodal-Sentiment-Analysis/ │ ├── da...

gitblog_00169的博客 771

EXCEL VBA从入门到精通 前言

本书通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程,同时也介绍了常用的工具、资源、社区和协作平台等,方便读者进行进一步的学习和开发。我强烈推荐这本书给所有希望学习和掌握Excel VBA编程的读者。多样化的资源和工具介绍:本书介绍了丰富的工具和资源,包括官方文档、在线教程、代码库、论坛、博客等,方便读者进行进一步的学习和开发。详细的讲解和丰富的示例:本书从语法和对象开始讲解,通过丰富的实例和案例,帮助读者更好地理解和应用Excel VBA编程。第一节:什么是VBA 5。

1739

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

一文讲清楚市面上的开源大模型,小白都能看懂!

你是不是经常被大模型的型号搞的晕头转向,今天Qwen3发布,明天谷歌Gemma发布,后天LLaMa发布。作为一名刚接触AI的新手小白。看到这些新闻的时候根本搞不清楚他们都是啥?有什么区别? 今天这篇文章把市面90%开源大模型汇总起来,一次性讲清楚,很适合想了解AI的新手小白。 看完你就能懂哪些模型都是谁家的,以后最起码能看懂大模型更新的新闻讲的是啥。 简单来说,大语言模型是一个用海量文本“喂大”的预测机器,它能像人一样理解和生成语言,但

大模型教程的博客 3470

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

fpinscala 惰性求值实战:用 `zipAll` + `takeWhile` 组合实现 `LazyList.startsWith`

`Functional Programming in Scala` 的配套仓库 fpinscala 在 `answerkey/laziness/14.hint.md` 中给出了第 5 章(惰性求值)练习 14 的核心提示:**"Try to avoid using explicit recursion. Use `zipAll` and `takeWhile`."**。本篇文章围绕这条提示展开,先

gitblog_00978的博客 535

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

开源情绪检测项目终极指南:快速实现AI情绪识别

在当今人工智能技术快速发展的时代,情绪识别技术正成为人机交互领域的重要突破。Emotion-detection 是一个基于深度学习的开源项目,能够通过摄像头实时检测和分析人脸情绪状态。该项目使用先进的机器学习算法,准确识别包括快乐、悲伤、愤怒在内的七种基本情绪,为开发者和研究者提供了一个强大而实用的情绪分析工具。 ## 🎯 项目核心功能与特色 ### 七种情绪精准识别 该项目能够准确识别七种

gitblog_01045的博客 816

开源大模型语音情感分析入门必看:Emotion2Vec+ Large应用趋势

本文介绍了基于星图GPU平台自动化部署Emotion2Vec+ Large语音情感识别系统 二次开发构建by科哥镜像的完整方案。该平台支持一键启动与高效运行,适用于语音情感分析、客服质检、在线教育情绪反馈等场景,助力AI开发者快速实现模型微调与应用落地。

weixin_28988985的博客 473

StructBERT情感分类开源模型价值:替代商业API,年节省情感分析成本超80%

本文介绍了如何在星图GPU平台上自动化部署StructBERT情感分类-中文-通用-base镜像,快速构建中文情感分析能力。该方案能有效处理电商评论、社交媒体反馈等场景下的文本,自动判断其积极、消极或中性情感倾向,为企业提供高性价比的数据洞察工具。

QuartzStag78的博客 359

华为开源自研AI框架昇思MindSpore应用案例:基于ERNIE模型实现对话情绪识别

华为开源自研AI框架昇思MindSpore应用案例:基于ERNIE模型实现对话情绪识别

Yeats_Liao的博客 1468

【爆火毕业设计项目经验分享】多模态情感分析项目选题、毕业设计选题、项目案例定制

本课题旨在设计并实现一个基于Transformer架构的多模态情感分析系统,通过文本、语音和视频数据的融合,精准预测情感标签。研究内容包括数据预处理、特征提取、多模态数据对齐与融合、模型训练与优化,并通过实验验证模型性能。

源代码杀手的博客 1517

multimodal-sentiment-analysis:基于注意力的多模态情感分析

multimodal-sentiment-analysis:基于注意力的多模态情感分析 项目介绍 multimodal-sentiment-analysis 是一个基于注意力的多模态融合情感分析的开源项目。该项目主要关注视频数据中情感分析的任务,通过融合视频中的文本、音频和视觉信息,提高情感分析的准确性和鲁棒性。项目基于深度学习技术,使用了LSTM(长短期记忆网络)和注意力机制来提取和融合不同模态...

gitblog_00531的博客 828

推荐使用“全时追踪”——OmniMotion: 深度视觉的全场景动态捕捉利器

在深度学习和计算机视觉领域中,一项名为“全时追踪(OmniMotion)”的创新研究正引领着视觉追踪技术的新潮流。该项目不仅以其实现的强大功能赢得了学术界的赞誉,更因其开源精神和全面的技术文档成为了开发者们的首选资源。 ## 项目介绍 “全时追踪”是基于PyTorch框架对论文《全时追踪》的研究成果实现,该论文已在2023年的国际计算机视觉会议(ICCV)上发表。这个由康奈尔大学、谷歌研究院以...

gitblog_01137的博客 782

MMEmotionRecognition:基于多模态情感的识别方案

MMEmotionRecognition:基于多模态情感的识别方案 项目介绍 MMEmotionRecognition 是一个开源项目,旨在通过结合声音和面部表情的多模态数据,实现对人类情感的准确识别。项目基于 RAVDESS 数据集,使用先进的深度学习模型,如 Wav2Vec2.0 和 Action Units,来提取和融合不同模态的特征,从而提高情感识别的准确性和可靠性。 项目技术分析 MME...

gitblog_00460的博客 1014

开源项目推荐:多模态语音情感识别

开源项目推荐:多模态语音情感识别 1. 项目基础介绍 本项目是“多模态语音情感识别使用音频和文本”的TensorFlow实现,由David Yoon等人基于IEEE SLT-18论文所开发。项目采用Python和C++作为主要的编程语言,通过结合音频和文本信息来实现更准确的情感识别。 2. 核心功能 该项目的核心功能是利用音频和文本两种模态的信息,进行情感识别。具体来说,项目实现了以下几种模型: ...

gitblog_01019的博客 484
上一篇: 小红书AI翻译加急上线,网友评论区玩起Prompt,背后大模型被扒出
下一篇: 医图顶会 MICCAI‘24 | 向扩散模型中引入先验知识,实现疾病进展预测
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2841原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值