超参数设定
介绍一些重要的网络设计过程中的超参数设定技巧和训练技巧,如学习率,批规范化操作和网络优化化策略的选择。
网络超参数的设定
网络超参数设定在搭建整个网络架构之前,需首先指定与网络结构相关的各项超参数:输入图像像素,卷积层个数,卷积核相关参数。
输入数据像素大小
使用卷积神经网络处理图像问题时,对不同输入图像为得到同规格输出,同时便于GPU运行,会将图像压缩到 2222 2 2 2222 2^2 22222210−4数量级以下。
- 卷积神经网络浅层拥有更泛化的特征(如边缘,纹理等),深层的特征则更抽象对应高层语义。因此,在新数据上微调时泛化特征更新可能或程度很小,高层语义特征更新可能程度较大,故可根据层神对不同层设置不同学习率:网络深层的学习率可稍大于浅层学习率
- 根据目标任务数据与原始数据相似程度采用不同微调策略:
a) 当目标数据较少且目标数据与原始数据非常相似时,可仅微调网络靠近目标函数的后几层;
b) 当目标数据充足且相似时,可微调更多网络层,也可全部微调;
c) 当目标数据充足但与原始数据差异较大,此时须多调节一些网络层,直至微调全部;
d) 当目标数据极少,同时还与原始数据有较大差异时,这种情形比较麻烦,微调成功与否要具体 问题具体对待,不过仍可尝试首先微调网络后几层后再微调整个网络模型。 -
针对“当目标数据极少,同时还与原始数据有较大差异时”的情况,目前比较有效的方式是借助部分原始数据与目标数据协同训练。Ge和Yu提出,因预训练模型的浅层网络特征更具有泛化力,故可在浅层空间选择目标数据的近邻作为原始数据子集。之后,将微调阶段改为多任务学习(多任务学习就是有两个不同的任务,用同一个网络,同时生成两个结果):一者将目标任务基于原始数据子集,二者将目标任务基于全部目标数据。
参考文献
[1] 解析卷积神经网络——深度学习实践手册
[2] 深度学习(花书)