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.youkuaiyun.com/zhaocj/article/details/51648966
评价
- 特征提取方面创新在于 先分类在回归, 用分类结果算权重,提取到更好的分类向量, 同时在前面使用Res-Net网络提取
- loss 设计方面也非常有新意, Bell loss是作者设计出来,旨在去是的预测不是大量接近于0.5
- 预测方面使用2006年提出的 Extremely randomized tree, 可能是会比MLP更加好? 作者没有给出对比实验。
- 总体来说得到了最新最好的结果, 但是没有用到最新的方法? 提取是CNN的, 虽然是序列化数据数据但是没有用transformer这种结构,说明数据集还可能有改进的空间