笔记结构索引
提高学习效果tips
集成学习、dropout层、学习衰减率、data augmentation(如图像的旋转、平移、crop、flip处理等) 、加深层(Resnet,加深层的网络可以用更少的参数达到同等水平表现力)都有助于提高识别精度
尤其是data augmentation虽然方法简单,但是识别精度上效果显著。
例VGG:
网络层比简单CNN深,全连接中使用Dropout,基于Adam最优化,He权重初始值,
参数
W是和控制输入信号的重要新的参数, 偏置是调整神经元被激活的容易程度
设置权重参数:权重使用符合高斯分布的随机数进行初始化,偏置使用0进行初始化( np.zeros(hidden_size) )
optimizers:寻找最优权重参数最优化方法
- SGD:简单易实现,没效率
- Momentum:参照小球在碗中滚动的物理规则进行移动,变量v对应物理上速度
- AdaGrad:学习率衰减,为参数的每个元素适当地调整学习率(更新步伐)
- Adam:融合了Momentum和AdaGrad的方法,设置三个超参数:学习率,momentum1, momentum2
权重参数初始值
权值衰减:权值衰减就是一种以减小权重参数的值为目的进行学习的方法。通过减小权重参数的值来抑制过拟合的发生。
- 使用由高斯分布生成的值 * 0.01 后得到的值(标准差为0.01的高斯分布),避免梯度消失
- Xavier初始值——激活函数是线性函数为前提,如sigmoid, tanh,缺点是随着层加深偏向会变大(层加深、偏向变大学习时会出现梯度消失问题)
- He初始值——Relu
- PS
加Batch Norm层后可以对权重初始值变得很健壮(不那么依赖初始值)
在手头数据集较少的时候,可以用迁移学习后的权重(的一部分)作为初始值复制到其他神经网络在进行学习。
设定超参数
如神经元数量、batch大小、学习率、权值衰减等
- 验证集——用于超参数的性能评估,逐渐缩小超参数的“好值”的存在范围
- 贝叶斯最优化
过拟合
- 正则化 权值衰减:对大的权重进行惩罚,来抑制过拟合。L1,L2范数作为正则化项
- Dropout:训练时,随机选出隐藏层的神经元,然后将其删除。被删除的神经元不再进行信号的传递(与集成学习相关)
函数
激活函数
阶