百度AI达人创造营第三课
一、模型选择
回归任务
人脸关键点检测
人脸关键点检测任务中,输出为人脸关键点的数量x2,即每个人脸关键点的横坐标与纵坐标。在模型组网时,主要使用2个模块,分别是Inception模块和空间注意力模块。增加空间注意力模块是为了提高模型效果。
GoogLeNet是由Inception模块进行组成的,GoogLeNet采用了模块化的结构,因此修改网络结构时非常简单方便。
空间注意力聚焦在“哪里”是最具信息量的部分。计算空间注意力的方法是沿着通道轴应用平均池化和最大池操作,然后将它们连接起来生成一个有效的特征描述符。
分类任务
图像分类
基于CIFAR-10数据集实现图像10分类。从论文到代码深入解析带有门控单元的gMLP算法,gMLP中,最核心的部分就是空间选通单元(Spatial Gating Unit,SGU)。
场景任务
PaddleX模型库
PaddleGAN模型库
PaddleOCR模型库
PaddleHub模型库
目标检测
基于PaddleX的YOLOv3模型快速实现昆虫检测。
人像分割
基于PaddleX核心分割模型 Deeplabv3+Xcetion65 & HRNet_w18_small_v1 实现人像分割,PaddleX提供了人像分割的预训练模型,可直接使用,当然也可以根据自己的数据做微调。
文字识别
基于chinese_ocr_db_crnn_mobile实现文字识别,识别图片当中的汉字,该Module是一个超轻量级中文OCR模型,支持直接预测。
二、模型训练
基于高层API训练模型
通过Model.prepare接口来对训练进行提前的配置准备工作,包括设置模型优化器,Loss计算方法,精度计算方法等。
使用PaddleX训练模型
YOLOv3模型的训练接口示例,函数内置了piecewise学习率衰减策略和momentum优化器。
模型训练通用配置基本原则
- 每个输入数据的维度要保持一致,且一定要和模型输入保持一致。
- 配置学习率衰减策略时,训练的上限轮数一定要计算正确。
- BatchSize不宜过大,太大容易内存溢出,且一般为2次幂。
三、超参优化
基本概念
模型的超参数指的是模型外部的配置变量,是不能通过训练的进行来估计其取值不同的,且不同的训练任务往往需要不同的超参数。
超参数不同,最终得到的模型也是不同的。
超参数有:学习率,迭代次数,网络的层数,每层神经元的个数等。
常见超参数分类:
- 网络结构,包括神经元之间的连接关系、层数、每层的神经元数量、激活函数的类型等 .
- 优化参数,包括优化方法、学习率、小批量的样本数量等 .
- 正则化系数
手动调整超参数的四种方法
- 使用提前停止来确定训练的迭代次数
- 让学习率从高逐渐降低
- 宽泛策略
- 小批量数据(mini-batch)大小不必最优
四、总结
学习是一个循序渐进的过程,只有先理解神经网络工作的基本原理,才能更好地进行超参优化,得到的模型效果才会更好。