十五天掌握CNN——数据增强、梯度下降

数据增强(Data augmentation)

增加训练数据可提升算法准确率。
理由:避免过拟合从而增大网络结构。对于有限的训练数据,可以通过变换从已有训练数据集生成新数据,从而扩大训练数据。

数据增强的方法

  1. 水平翻转(旋转)1
  2. 随机裁剪(crop采样)
    在图像中不同位置剪出相同大小的图片。AlexNet训练中,对左上、右上、左下、右下、中间做5次裁剪,再翻转,得到训练图片。防止了网络结构过拟合。(under ubstantial overfitting)2
  3. fancy PCA
    ——在训练集像素值的RGB颜色空间内进行PCA,得到了RGB 空间的3主方向向量和3特征值,分别是p1、p2、p3、λ1、λ2、λ3.
    ——对每幅图像的每个像素加上如下变化:1
    αi:满足均值为0、方差为0.1的随机变量。
  4. 其他办法
    平移变换
    旋转 / 仿射变换
    高斯噪声、模糊处理
    对颜色数据增强:图像亮度、饱和度、对比度变化

样本不均衡

有的类别图像很多,有的很少。
处理办法:增加小众类别的图像数据量。
类别不均衡数据处理办法:Label shuffle1

训练和测试安排协调

  1. 一般训练时做数据增强,测试时不做数据增强。产生了不协调。
  2. 实验发现,训练的最后几个迭代移除数据增强,用传统方法测试会提升一些性能。
  3. 在训练时采用尺度和长宽比做数据增强,测试时采取同样变化,也可以得到性能提升。
    多尺度训练,多尺度测试。

梯度下降(Gradient descent)—常用的CNN模型参数求解法

  1. 三类方法:(每次参数更新使用样本数量的多少)
    批量梯度下降(batch gradient descent,BGD)
    小批量梯度下降(mini-batch gradient descent,MBGD)
    随机梯度下降(stochastic gradient descent,SGD)
  2. 求参数过程 = 最小化损失函数过程。
    例:一个含有D个训练数据的数据集,损失函数就如下:1
    A:单个样本a的损失。b:权重。c:正则项。

批量梯度下降 BGD

梯度下降法最原始形式。
具体思路:更新每一参数时都使用所有样本进行更新。对大数据量是不能采用这种方法的。
1

小批量梯度下降 MBGD

设计目标:保证算法训练过程较快,且保证最终参数训练的准确率。
每次更新参数时使用b个样本。
2

随机梯度下降 SGD

具体思路:更新每一参数时都随机使用部分样本进行更新。3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值