目标分类
目标分类基本框架
- 数据准备
- 数据来源
- 现有数据集的子集;网络采集;现有数据人工标注
- 数据扩充
- 原始数据切割;草绳颜色等像素变化;旋转平移等姿态变化
- 数据规范
- 均值处理;归一化;大小调整
2. 模型设计
- 任务类型
- 分类
- 表情+程度
- 多目标分类
- 现有模型
- 已有的方案能否/怎样借鉴
- 局部更改-从头设计
- 更改:哪里
- 设计:新结构特点,为什么可行
3. 训练细节
- GPU-Batch size,是否并行
- GPU内存-与batch size关系
- 数据循环方式/平衡性考虑
- 数量较少的类别,数据是否需要补偿
- 从头到尾多次循环
- 每次随机选取部分数据
- 网络深度宽度确定
- 深度与卷积核关系:第i层卷积核关注范围?
- 损失函数设计
- 分类
- softmax直接拟合
- 学习率变化方式,模型各层学习率是否一致
- 分类
- 评价方式:准确率、F1
迁移学习
- ImageNet参数上亿,数据量百万,是不是参数多的模型都需要大量数据
- 如果数据很多就网络全部训练
- 如果很少的话 就只训练FC
- 如果一般大小的话就训练FC和一部分的卷积网络
- 学习率的处理
- 最低卷积层基本不变
- 中间卷积层看情况
- 最后全连接,结构参数均变化
2. 基础模型选择
- 是否已有特定任务的模型
研究分享:如何设计神经网络
面部识别
1. 已有算法
- 不同部分学习比较好,需要对准
- 每个像素设计一个卷积核
- 分成网格,每个网格设计一个卷积核,但是还需要对准,并且十分耗时
- 不足
- 预处理:
- 大量对准,对于对准要求高,原始信息可能丢失
- 卷积参数数量很大,模型收敛难度大,需要大量数据
- 模型可扩展性差,基本限于人脸计算
- 预处理:
- 改进方法
- 不需要预处理,自动进行局部探测
- 不需要所有区域都处理,更多关注再有意义的区域
- 重要的区域之间不会影响削弱学习效果
2. 设计来源
- 注意力网络
- 热度图找出信息
- 人脸关键点检测
- 找到行为单元中心
- 由中心生成注意力图
- 注意力网络添加
- 添加在哪里
- 某个区域加强后加到激励中
- 怎么添加
- 卷积核还是一个
- 局部学习网络
- 针对不同区域进行针对学习,不同区域有不同的卷积核
- 对区域的分布能够自适应:
- 分割出不同的区域
- 每个区域设计一个小卷积
- 整合和AU Labels
- 作用
- 无需提前对面部对准就可以面部行为识别
- 脸部各个行为单元局部针对学习,局部信息可以单独用于某个行为单元识别
- 根据肌肉分布以及人脸特征点检测结果确定区域,具有合理性和可操作性
- 总结
- 如何设计神经网络
- 明确研究问题
- 已有解决方案特点,借鉴地方,不足
- 突破点在哪里,还是重复就足够了
- 想法再网络结构中实现
- 训练结果反馈调整
- 如何设计神经网络