多模态人类情感识别

多模态可解释性表现优异,猛卷顶会顶刊! 基线模型与评估:在SCIENCEQA上建立了多种基线模型,包括视觉问答(VQA)模型和大型语言模型(如UnifiedQA和GPT-3),并使用准确率和自动文本评估指标进行评估。科学多模态指令调优框架(SciTune):提出了一个两阶段的调优框架,包括科学概念对齐和科学指令调优,以提高大型语言模型(LLMs)对科学多模态指令的理解能力。多模态情感识别框架:提出了一种新的任务——可解释的多模态情感识别(EMER),通过整合视觉、音频和文本信息来识别情感,并为预测结果提供解释。 阅读详情

第一章 引言与领域概览
1.1 自然交互场景下的多模态情感识别挑战
1.2 传统融合策略在真实场景中的失效原因分析
1.3 SOTA模型速览(AGFN、Cross-Modal BERT、Social-MAE)

第二章 深度学习方法与多模态特征工程
2.1 文本模态:Transformer特征提取与优化
2.2 音频模态:频谱与声学特征深度分析
2.3 视觉模态:CNN/Vision Transformer特征提取
2.4 多模态数据加载、对齐与内存优化策略

第三章 多模态融合范式与固有局限
3.1 前端融合、后端融合与中间融合对比分析
3.2 基线融合模型实现(Concat, Decision-Level)
3.3 多模态模型性能失效深度分析

第四章 自适应融合与梯度优化技术
4.1 门控机制与注意力自适应融合原理
4.2 梯度混合技术(Accumulation, Mixed-Precision)
4.3 噪声与缺失模态下的鲁棒性实验
4.4 项目任务:在CMU-MOSI数据集上实现自适应门控融合网络,并与非自适应基线进行对比
    目标:在CMU-MOSI数据集上实现自适应门控融合网络,并与非自适应基线进行对比
    交付物:完整代码仓库、详细实验报告(含性能图表、超参数配置表)、5分钟成果演示PPT

第五章 基于Transformer的进阶融合模型
5.1 跨模态注意力(Cross-Modal Attention)机制原理
5.2 掩码多模态注意力(Masked Multimodal Attention)
5.3 简化版跨模态BERT架构实现与优化
5.4 项目任务:搭建并训练跨模态BERT(文本+语音)在CMU-MOSEI上的情感分类模型,完成消融实验
    目标:搭建并训练跨模态BERT(文本+语音)在CMU-MOSEI上的情感分类模型,完成消融实验
    交付物:完整代码、实验报告、5分钟演示视频

第六章 自监督学习在多模态情感识别中的应用
6.1 预训练策略详解(掩码语言建模、对比学习)
6.2 Social-MAE:人脸与语音的多模态自编码器
6.3 下游任务迁移实验(以CREMA-D数据集为例)
6.4 项目任务:利用Social-MAE在CREMA-D上进行预训练与微调,比较其在笑声检测任务中的效果
    目标:利用Social-MAE在CREMA-D上进行预训练与微调,比较其在笑声检测任务中的效果
    交付物:实验脚本、结果对比表格、性能分析报告

第七章 生成式AI与情感交互系统
7.1 基于GPT/T5的共情回复生成技术
7.2 实时客户关怀系统案例深度剖析
7.3 低延迟与高情商交互的技术瓶颈探讨

第八章 文献精读与科研立项指导
8.1 高效文献检索与精读技巧
8.2 从SOTA模型局限中挖掘创新点
8.3 研究计划书框架与可行性分析

首届情感AI大会:当人工智能理解并具备人类感情时…… 全文共6077字,预计学习时长16分钟图源:unsplash最近,笔者参加了首届情感AI大会,本次大会由自然语言处理(NLP)、文本分析、情绪分析及其商业应用领域的首席分析师和商业顾问S... 阅读详情

相关推荐

AI与情感计算:如何让机器更好地理解人类情感与情绪?

情感计算是让AI理解人类情感的重要技术,它能识别、理解并表达情绪,是人工智能向类人智能迈进的重要一步。

HUIBUR的博客 1974

多模态情感分析新范式:从文本到表情的全方位情感识别

还在为单一模态的情感分析准确率不高而烦恼?一文带你掌握多模态情感分析的核心技术!读完本文,你将获得: - 多模态情感分析的核心原理与技术框架 - 主流数据集和模型的实践指南 - 实际应用场景的解决方案 - 未来发展趋势与挑战 ## 什么是多模态情感分析? 多模态情感分析(Multimodal Sentiment Analysis)是通过整合文本、语音、面部表情、肢体语言等多种信息源来识别和理

gitblog_00422的博客 756

情智机器人:未来已来,温暖的智能伙伴正向我们走来

情智机器人的未来充满希望。它们不仅代表着人工智能技术的前沿方向,更承载着人类对温暖、情感化陪伴的渴望。从多模态情感识别到情感生成与交互,从医疗护理到教育服务,情智机器人正逐步走进我们的生活。或许在不久的将来,我们每个人都能拥有一位真正“通情达理”的智能伙伴。欢迎关注我的后续博文,我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。

不想宅的冷同学 857

多模态人类情感识别 第二章 深度学习方法与多模态特征工程

理解 $Q$(查询)和 $K$(键)向量如何决定注意力权重是掌握 Transformer 的关键。文本特征 $H_t \in \mathbb{R}^{n \times d}$,音频特征 $H_a \in \mathbb{R}^{m \times d}$,视觉特征 $H_v \in \mathbb{R}^{k \times d}$,正则化系数 $\lambda$,最大迭代次数 $T_{\max}$其中 $C$ 为代价矩阵(欧氏距离),$H(P)$ 为熵正则化项,$\Pi(\mu,\nu)$ 为边缘约束集合。

VectorShift的博客 298

情感AI:科技赋能情感计算的新时代

情感AI,或称情感计算(Affective Computing),指的是通过计算机技术识别、理解、模拟和响应人类情感的一种新兴技术。情感AI不仅能够赋予机器“理解”人类情感的能力,还为人机交互的创新提供了巨大的潜力,应用领域从智能客服到心理健康监测,正在逐步改变我们的生活。在游戏开发中,情感AI能够通过分析玩家的情绪和行为,动态调整游戏情节或难度,增强玩家的沉浸感和体验感。通过捕捉用户在虚拟环境中的情感反应,情感AI可以动态调整虚拟环境中的互动元素,增强用户体验的沉浸感。

不积跬步无以至千里 4916

多模态人类情感识别:算法原理与系统实现

注意力机制计算隐藏状态序列 $\{h_1, \dots, h_T\}$ 的上下文向量 $c = \sum_{t=1}^T \alpha_t h_t$,权重 $\alpha_t = \frac{\exp(e_t)}{\sum_{\tau} \exp(e_\tau)}$,$e_t = \text{MLP}(h_t)$。情感标签 $y_t$ 不仅依赖当前观测 $x_t$,更受历史上下文 $\{x_1, \dots, x_{t-1}\}$ 与未来语境 $\{x_{t+1}, \dots, x_T\}$ 约束。

VectorShift的博客 433

MELD多模态情感识别:从对话中读懂人类情绪的完整指南

在人工智能与人机交互快速融合的时代,如何让机器真正理解人类的情绪变化?**MELD多模态数据集**为解决这一挑战提供了关键支撑,让对话情感识别从理论走向实践。 ## 为什么对话情感识别如此重要? 想象一下智能客服系统能够感知用户的情绪波动,在线教育平台可以识别学生的学习状态,心理健康应用能够监测用户的情绪变化——这一切都依赖于精准的情感识别技术。传统的情感分析方法往往只关注单一模态或静态文本,

gitblog_01073的博客 1006

50、基于情感识别的情感支持机器人框架

本文提出了一种基于情感识别的情感支持机器人框架,旨在通过个性化的情感识别和反应机制,使机器人能够根据用户的情绪调整自身行为,从而提供更自然、更贴心的情感支持。框架结合了MAPE-K反馈控制循环和强化学习方法,以实现情感适应性,并探讨了其在心理健康护理和特殊人群照顾等领域的应用前景。文章还分析了当前情感识别技术的优缺点,以及在实际应用中面临的技术挑战与解决方案。

spark7igniter的博客 107

多模态人类情感识别 第三章 多模态融合范式与固有局限

完整特征集 $\{h_m\}_{m=1}^M$,缺失指示符 $\{\delta_m\}_{m=1}^M$($1$ 为缺失),缺失补偿网络 $\{\phi_m\}_{m=1}^M$,融合网络 $\psi$调节调制强度参数 $\alpha$,观察算法是如何自动压制高梯度模态(强势),并放大低梯度模态(弱势/惰性)的。单模态分类器集合 $\{f_m\}_{m=1}^M$,输入样本 $\{x_m\}_{m=1}^M$,融合权重 $\{\lambda_m\}_{m=1}^M$,温度参数 $\tau$

VectorShift的博客 190

提示工程架构师实战:用Agentic AI上下文工程解决多模态情感识别的痛点问题

想象一下,在一场重要的商务谈判中,你不仅要关注对方说了什么,还要通过他们的表情、语气,甚至肢体动作来判断他们的真实情感。是真诚合作,还是暗藏顾虑?这种综合多种信息源来洞察情感的能力,对于建立良好的合作关系至关重要。在人工智能领域,多模态情感识别就像是赋予机器这种“察言观色”的能力,让它们能够理解人类通过语言、图像、声音等多种方式传达的情感。然而,目前多模态情感识别面临着诸多挑战。比如,一段视频中,说话者的语言表达可能是积极的,但面部表情却略显消极,机器该如何准确判断其真实情感呢?

AI 算法实战派 354

Materials Studio实战技巧(八)——利用片段库高效构建有机金属配合物

本文详细介绍了在Materials Studio中利用Fragment Browser(片段浏览器)高效构建有机金属配合物的实战技巧。通过调用预置的Metal Templates和Ligands库,用户可以快速搭建如茂金属催化剂等复杂分子骨架,并利用对称性操作精确控制Meso与Rac构型。文章还涵盖了自定义片段库的创建与使用,能显著提升建模效率,适用于计算化学与材料模拟领域的研究者。

wine的专栏 938

情感识别(Emotion Recognition)

情感识别(Emotion Recognition)是通过分析人类的多模态数据(如面部表情、语音、文本等)来识别和理解其情感状态的技术。情感识别通过分析面部表情、语音、文本和生理信号等数据来识别情感状态,主要方法包括基于面部表情、语音、文本、生理信号和多模态的情感识别。这些方法在多个领域有广泛应用。传统方法:使用词袋模型、TF-IDF等特征提取方法,结合分类器(如朴素贝叶斯、SVM)。方法:结合多种模态数据(如面部表情、语音、文本等)进行情感识别。方法:通过分析语音信号(如音调、语速、音量等)来识别情感。

m0_74052450的博客 1123

不止是回退SDK:深入解读UE5.2编译时那个烦人的C4756警告与INFINITY宏的变迁

本文深入解析了UE5.2源码编译时出现的C4756警告及其背后的技术原因,探讨了Windows SDK中INFINITY宏的变迁对Unreal Engine的影响。文章详细介绍了微软修改INFINITY定义的技术考量,并提供了UE5.2应对此类问题的灵活解决方案,包括通过BuildConfiguration.xml文件精确控制工具链版本,确保构建系统的可重复性和可配置性。

weixin_27180827的博客 313

【亲测免费】 多模态情感识别(MER)数据集整理

多模态情感识别(MER)数据集整理 【下载地址】多模态情感识别MER数据集整理分享 多模态情感识别(MER)数据集是一个综合性的数据集,包含了多种模态的数据,如视频、语音、面部动作捕捉和文本转录等。这些数据由多个注释者进行分类和维度标签的注释,适用于研究和建模多模态和富有表现力的人类交流 ...

gitblog_06526的博客 926

使用 Ansys Q3D 进行电容提取

精确的电容提取在高速和 RF 设计中至关重要。在本博客中,我们演示了如何使用Ansys Q3D Extractor来计算电容值,从基本的平行板电容器开始,然后转到MEMS芯片的切口,以检查焊盘和RF线对整体电容的影响。在下面的比较中,我们使用 Q3D 从 MEMS 芯片切口中提取两种配置的电容矩阵:一种仅带有焊盘,另一种带有连接到 RF 线路的焊盘。这种比较表明,焊盘是总电容的主要贡献者,而 RF 线路则略有增加。按照上述工作流程,提取焊盘的电容,得到的电容矩阵如下所示。,选择一个已识别的网络,然后单击。

jkh920184196的博客 1816

工程创新训练大赛智能网联车辆赛道LKA+自动驾驶9000+分数分案例

/获取主车在主车路径上的ST坐标。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。if (status == AVPStatus::eForwarding) // approaching the parking space接近阶段。

handsomeboyou的博客 1134

MELD多模态情感识别:如何让AI真正理解对话中的情感变化?

在人工智能快速发展的今天,情感识别已成为人机交互领域的重要研究方向。MELD(Multimodal Emotion Lines Dataset)作为一个创新的多模态多参与方情感识别数据集,正在重新定义AI理解人类情感的方式。 ## 🔍 什么是MELD情感识别? MELD不仅仅是一个数据集,它是一个完整的多模态情感理解框架。通过整合文本、音频和视觉信息,MELD能够准确识别对话中复杂的情感动态

gitblog_00787的博客 916

【项目实战】YOLOV5 +实时吸烟目标检测+手把手教学+开源全部

本原创项目长期更新,旨在完成校园异常行为实时精检测,做到集成+N次开发+优化(不止局限于调包)为止,近期将不断更新以下模型+数据+标注文件+教程。关注博主,Star 一下github,一起开始美妙的目标检测之路吧~~ 文章目录本原创项目长期更新,旨在完成校园异常行为实时精检测,做到集成+N次开发+优化(不止局限于调包)为止,近期将不断更新以下模型+数据+标注文件+教程。关注博主,Star 一下github,一起开始美妙的目标检测之路吧~~一、项目展示二、项目资源共享1:训练图片:香烟图片+吸烟手势+烟雾三、

cv君的博客 13万+

AI与人类情感代码能理解眼泪的温度吗?

回到最初的问题:AI能理解眼泪的温度吗?以人类情感的深度和丰富性来衡量,目前的答案可能是否定的。AI能够卓越地处理情感的“符号”,但触及情感的“意义”核心,仍有漫长的路要走。然而,这种“不理解”并非全无价值。AI在情感识别与分析上的努力,恰恰像一面镜子,促使我们反观自身:何为情感?何为理解?为何一滴泪水能拥有如此撼动人心的力量?在这个过程中,AI或许永远无法真正感受泪水的温度,但它可以作为强大的工具,帮助我们更科学地研究情感,更细腻地关怀他人,甚至更深刻地理解我们自己。

u013593437的博客 858

RAG面试内容整理-8. 文档分块策略(滑动窗口、语义切分)

RAG系统通常面对长文档或整篇知识库资料的检索需求,但大模型一次处理的文本长度有限,向量索引也需固定大小的文本片段。因此,将长文档拆分成合适片段是必不可少的步骤,被称为文档分块(chunking)策略。

不务正业的猿 691

【第07例】IPD体系进阶: 6 个技术评审点(TR)

TR技术评审点

产品线负责人 4423

从‘猜情绪’到‘讲道理’:手把手带你用AffectGPT和EMER数据集复现可解释的情感识别

本文详细介绍了如何利用AffectGPT和EMER数据集构建可解释的情感识别系统,从多模态数据获取到模型推理过程的可视化。通过实战代码示例,展示了视觉和声学特征提取、多模态注意力机制的应用,以及如何生成人类可理解的解释文本,帮助开发者避免传统情感识别中的'黑箱'问题。

weixin_30664051的博客 492

YOLOv11 模型改进全流程:从代码修改到性能跃升,让你打造专属检测利器

无论是科研中需要发表创新点满满的论文,还是企业里要解决特定场景的检测难题,这套方法都能让你在YOLOv11的基础上打造出“量身定制”的检测模型。别再让通用模型的“平庸性能”限制你的项目上限——现在就动手修改代码,让你的YOLOv11模型在精度、速度或小样本适应能力上实现跨越式提升,用技术突破证明你的AI研发实力!本文将带你从代码层面入手,完成从骨干网络到损失函数的全维度改进,真正掌握让YOLOv11“为你所用”的技术实力。该改进对小样本类别(如数据集中仅占5%的“稀有缺陷”)的识别精度提升显著。

m0_71589036的博客 403

⌈ 传知代码 ⌋ 多模态COGMEN详解

情绪是人类行动的一个固有部分,因此,开发能够理解和识别人类情绪的人工智能系统势在必行。在涉及不同人的对话中,一个人的情绪会受到其他说话者的言语和他们自己在言语中的情绪状态的影响。在本文中,我们提出了基于 COntex- tualized Graph Neural Network的多模态情感识别COGMEN)系统,该系统利用了本地信息(即说话人之间的内/外依赖性)和全局信息(上下文)。建议的模型使用基于图谱神经网络 (GNN) 的架构来模拟对话中的复杂关系(本地和全局信息)。

Dream_Y.ocean的博客 881

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

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Decoupled Multimodal Distilling for Emotion Recognition 论文阅读

这项工作旨在通过语言、视觉和声音等多种形式感知人类情感,即人类多模态情感识别(MER)。尽管先前的MER方法表现出色,但固有的多模态异质性仍然存在,不同模态的贡献差异显著。为了解决这个问题,我们提出了一种分离式多模态蒸馏(DMD)方法,通过促进灵活和自适应的跨模态知识蒸馏,旨在增强每种模态的区分特征。特别地,每种模态的表示被分解为两部分,即与模态无关/独占的空间,以自回归方式进行。DMD利用图蒸馏单元(GD-Unit)对每个分离的部分进行处理,以便每个GD可以以更专业和有效的方式执行。

weixin_44609958的博客 2536

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

别再只盯着准确率了!聊聊EMER数据集如何用‘可解释推理’解决多模态情感识别的标签歧义难题

本文探讨了EMER数据集如何通过‘可解释推理’解决多模态情感识别中的标签歧义问题。传统方法依赖准确率,而EMER通过构建推理链条,容忍标签多样性并增强模型可信度。结合AffectGPT多模态LLM,展示了从黑箱预测到白盒推理的突破,为情感计算领域提供了新范式。

weixin_30566063的博客 304

深度学习工具包 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")

上一篇: 【CUDA编程部署教程】第七章:生产级推理服务(深度实践版)
下一篇: 第一章 引言与领域概览
VectorShift
博客等级 码龄1年 1838粉丝 1109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VectorShift

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值