概括
对于一个网络模型,关注它的深度,每层结构,这俩个因素影响着模型的参数大小,计算的复杂度,激活函数的选择,影响梯度,计算速度,对于分类问题和回归问题要选择不同的损失函数,设计一个巧妙的损失函数可以让网络收敛的更快,不同的问题用不同的评价指标去评价,比较不同模型之间的好坏。
总之:希望得到一个鲁棒性强,复杂度低,速度快,精度高,比较work的模型。
(1)网络的深度
On the Expressive Power of Deep Neural Networks (ICML2017):
The complexity of the computed function grows exponentially with depth.
通过深度我们可以组合更多的浅层特征来表征更复杂的抽象特征。
(2)每层网络结构
全连接层的存在使得模型参数非常庞大,复杂度指数上升
(3)激活函数
-
饱和激活函数: sigmoid、 tanh
-
非饱和激活函数: ReLU 、各种relu变形
一般默认用relu,计算快,解决梯度消失,爆炸问题
(4)损失函数
-
回归模型损失函数 (MSE、MAE、Huber损失函数的优缺点)
-
分类模型损失函数(熵、最大似然)
对于CNN来讲,一般使用MSE,比较看重训练速度。
(5)评测指标
- top-1 and top-5 error rates,用于image-net图片分类上
- IoU(交并比),用于评价锚框的位置
- mAP( 均值平均精度),作为 目标检测 中衡量检测精度的指标