训练细节
深度越深,效果越好
评价方式
准确率和F1 score
迁移学习
训练不用从最初的模型开始,直接将别人的模型迁移到我的模型上;
要看原始数据是否相像
少量数据:更新FC层
大量数据:类似数据中高层更新;不同数据,更新更多层
学习率的处理
最低卷积层基本不变
中层卷积看情况
最后全连接,结构参数均变化
基础模型的选择看看有没有已有的模型
如何设计神经网络
研究问题
如何进行面部行为识别
已有方法
deepface:对每一个pixel做卷积
人脸要对准
不足
大量的预处理,对准要求高,原始信息可能丢失
卷积参数数量很大,模型收敛难度很大,需要大量数据
模型可扩展性差,仅限于人脸计算
改进想法(针对数据,针对问题)
神经网络
不需要预处理,自动进行局部探测
不要对所有区域都处理,更多关注有意义的区域
重要区域之间不会影响削弱学习效果
设计来源
找人脸特征点??
寻找人脸特征点相关库
Dlib
sudo apt-get install libboost-python-dev cmake
sudo pip install dlib
注意力网络
Dlib(或原始数据集)找到人脸关键点??
人脸关键点->行为单元中心
由中心形成注意力图
结合relu的概念 ,与原网络结合 Fx + x(相当于滤波)
局部学习网络
针对不同的区域进行针对性学习,不同的区域能够自动适应
能不能随机区域进行学习??
空间表达能力不够强,可以进行upscale(池化反向,扩大)
LSTM加到输出层????
实例:基于VGG进行人脸表情识别
提取特征点,生成attention layer
rgb,attention 4层??
数据扩充(matlab)
数据量小或者数据不平衡要进行数据扩充
效果卷积核,旋转卷积核
或者opencv
数据准备
数据规范
均值处理,归一化,大小调整
cv.resize
任务类型
分类:表情分类,属于什么种类,人群分类
分类+回归(不是一个任务):表情+程度,种类+信心,什么人+人数
多目标分类:面部行为,群体薪给,车流预测
现有模型
ICCV,ECCV,CVPR,ICML,NIPS,ACL,KDD
arXiv.org还有其他的协会
Artifical Intelligence等等
局部更改-从头设计
训练细节
GPU-Batch size是否并行
GPU内存和Batch Size的关系
数据循环方式/平衡性考虑
1.数据较少的类别,数据是否需要补偿
2.从头到尾多次循环
3.每次随机选取部分数据
网络深度宽度确定
层数更多,参数变少
损失函数设计
分类:softmax,直接拟合
学习率变化方式,模型各层学习率是否一致
评价方式:准确率,F1 score,