CR-Net: A Deep Classification-Regression Network for Multimodal Apparent Personality Analysis
模型结构
模型包括数据处理, 特征提取, 预测回归三个部分, 下面分别介绍
数据预处理
-
visual
每个视频取样32帧, 而且每一帧又分为**背景和脸部 **图片 ,以往的工作专注于面部特征, 但是作者认为其背景特征也是一种补充信息, 作者举了一个例子, 单看这个人的面部可能会觉得他很生气, 但是结合背景,可以知道这个人在进行演讲,不一定是生气。
-
audio
使用librosa 直接转换成 固定维度的向量, 少了补0
-
text
使用2015年提出的skip-thought vector 来表达文本, 可以查看这个解释https://zhuanlan.zhihu.com/p/100271181
特征提取
特征提取使用提出的一个CR-Net 结构:此结构ResNet-34维基础 ,在第一阶段,我们得到了具有交叉熵损失的分类特征。在第二阶段,利用softmax函数对分类特征进行权值生成,并得到这些特征的加权和。然后,我们使用它与MSE, L1和我们提出的贝尔损失进行回归
交叉熵损失使得专注于正确的分布, MSE 则是表示真实值和预测值的距离, CR-Net主要思想是 如果我们想利用分类的好处作为回归的指导,可以用one-hot分类预测来估计样本属于哪个子区间。这将通过修剪值范围来指导回归,以便实现更准确的预测。
提取过程如下:
将从ResNet提取的特征 经过一个卷积层得到该类别的 分类特征
通过这些类别的特征计算类别权重
我们计算每个类的分类特征和权重和
然后对 进行加权后的向量进行回归即可
ETR 回归预测
loss选择
作者没有选择 MSE 或者 MAE 等传统loss, 这是为什么呢?作者给出了解释: 总结而言就是 使用 MSE 等loss 会使得 模型预测值都偏向于0.5, 这对于一般的任务其实区别不大, 但是对于此数据集, 我们发现数据集在 预测真实值 0.3-0.7之间的数据占比为75% 以上, 所以你可以理解为对于这个模型 他预测0.5肯定是没问题的。
作者给出下面的一个图 , a 代表MSE , b 代表MAE, c 代表作者使用的 Bell Loss
这个图解释了 如果batch的实际值是由大部分是0.4,0.5,0.6, 那么我计算这个batch的loss时, 预测为0.5时loss最小。但是作者的这个是解决了这个问题, 最优 可能是0.4 0.5 0.6
Bell loss 表达式如下
最终模型的loss 表示如下:
回归预测
使用 Extremely randomized trees 极端随机树 原理可看:
https://blog.csdn.net/zhaocj/article/details/51648966
来源:oschina
链接:https://my.oschina.net/u/4315672/blog/4666297