数据集
在深度学习的训练过程中,神经网络的类型和结构固然重要,但训练样本才是重中之重。
数据增强
当训练样本数量较少时,可以通过数据增强来增加样本的多样性。
数据增强就是通过对样本图像进行平移、旋转、镜像翻转等方式进行变换。除此之外,还有几何变换、对比度变换、颜色变换、添加随机噪声。
预处理方法
当样本数据类别内差异比较大时,为了减少样本差异,会对样本进行预处理。
均值减法
首先计算出所有训练样本的均值图像,然后相减。这样一来各数据的均值就会变为0,图像的亮度就会得到抑制。
均一化
均一化( normalization )是为样本的均值和方差添加约束的一种预 处理方法 ,均值减法是使各数据的均值为零,而均一化是将样本方差设为1, 以减少样本数据的波动。
首先计算数据的标准差和均值,对所有样本减去均值然后除以标准差。这样就可以得到均值为0,方差为1 的标准化数据了。
白化
白化是为了消除数据间的相关性。经过白化处理后,数据之间的相关性较低,图像边缘增强。
激活函数
maxout
ReLU 衍生的激活函数
dropout
Dropout ,是指在网络的训练过程中,按照 一定的概率将一部分中间层的单元暂时从网络中丢弃,通过将该单元设置为0使其不工作,来避免过拟合。Dropout可用于全连接层之后。
神经网络的训练过程就是对每个Mini-Batch使用误差反向传播算法不断迭代调整各个参数的值。Dropout就是在每次调整时,随机选取一部分单元将其单元的输出设置为0.计算误差时,原本是使用所有单元的输出值,但是由于有部分被丢弃,所以从结果上来看,Dropout起到了与均一化方法类似的作用。但是对舍弃单元进行误差反向传播时,仍然使用舍弃之前的值。
dropconnect
dorpout是通过将单元的输出值设为0,dropconncect是将一部分连接权重设置为0.