基于DBN实现情绪检测(详解版)

  • 内容
  • 评论
  • 相关

本节首先介绍如何利用堆叠 RBM 创建 DBN,并利用 DBN 检测情绪。

这里采用了两种不同的学习模式:首先,使用无监督学习逐一预训练 RBM,然后用监督学习训练 MLP 层。

准备工作

使用上一节中创建的 RBM 类,唯一的改动就是训练后不需要重建图像。此处堆叠 RBM 将数据一直向前传递到 DBN 的最后一层——MLP 层。类中不再使用 reconstruct() 函数,并增加了 rbm_output() 函数:

数据使用 Kaggle 面部表情识别数据,可从地址 https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge 获得,数据的描述如下:

  • 该数据集由 48×48 像素的面部灰度图像组成,面部已经过自动调整,大致居中,并在每张图像中占据大致相同的空间。任务是根据面部表情显示的情绪将每个人脸分类成七个类别之一(0=生气,1=厌恶,2=恐惧,3=快乐,4=悲伤,5=惊奇,6=平静)。
  • train.csv 包含两列:“情绪”和“像素”,“情绪”列包含从 0 到 6(包括 0 和 6)的数字代码,代表图像中的情绪,“像素”列是用引号括起来的字符串,字符串的内容是按行定序的用空格分隔的像素值。test.csv 则只包含“像素”列,任务就是预测情绪列。
  • 训练集由 28709 个样本组成,最后的测试集由 3589 个样本组成,用来评比出比赛的冠军。
  • 这个数据集由 Pierre-Luc Carrier 和 Aaron Courville 编写,是一个正在进行的研究项目的一部分,他们慷慨地为研讨会组织者提供了数据集的初步版本供本次比赛使用。

完整的数据在 fer2013.csv 文件中,从其中分离出训练、验证和测试数据:



 

本文标题:基于DBN实现情绪检测(详解版)

本文地址:https://www.hosteonscn.com/4270.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注