图解深度学习-提高泛化能力的方法

数据集

在深度学习的训练过程中,神经网络的类型和结构固然重要,但训练样本才是重中之重。

数据增强

当训练样本数量较少时,可以通过数据增强来增加样本的多样性。

数据增强就是通过对样本图像进行平移、旋转、镜像翻转等方式进行变换。除此之外,还有几何变换、对比度变换、颜色变换、添加随机噪声。

图解深度学习-提高泛化能力的方法_第1张图片

 图解深度学习-提高泛化能力的方法_第2张图片

预处理方法

当样本数据类别内差异比较大时,为了减少样本差异,会对样本进行预处理。

均值减法

首先计算出所有训练样本的均值图像,然后相减。这样一来各数据的均值就会变为0,图像的亮度就会得到抑制。

 

 

图解深度学习-提高泛化能力的方法_第3张图片

图解深度学习-提高泛化能力的方法_第4张图片 

均一化 

均一化( normalization )是为样本的均值和方差添加约束的一种预 处理方法 ,均值减法是使各数据的均值为零,而均一化是将样本方差设为1, 以减少样本数据的波动。

 首先计算数据的标准差和均值,对所有样本减去均值然后除以标准差。这样就可以得到均值为0,方差为1 的标准化数据了。

图解深度学习-提高泛化能力的方法_第5张图片

白化

白化是为了消除数据间的相关性。经过白化处理后,数据之间的相关性较低,图像边缘增强。

图解深度学习-提高泛化能力的方法_第6张图片 

 图解深度学习-提高泛化能力的方法_第7张图片

图解深度学习-提高泛化能力的方法_第8张图片 

激活函数

maxout

图解深度学习-提高泛化能力的方法_第9张图片

ReLU 衍生的激活函数

图解深度学习-提高泛化能力的方法_第10张图片

dropout 

Dropout ,是指在网络的训练过程中,按照 一定的概率将一部分中间层的单元暂时从网络中丢弃,通过将该单元设置为0使其不工作,来避免过拟合。Dropout可用于全连接层之后。

神经网络的训练过程就是对每个Mini-Batch使用误差反向传播算法不断迭代调整各个参数的值。Dropout就是在每次调整时,随机选取一部分单元将其单元的输出设置为0.计算误差时,原本是使用所有单元的输出值,但是由于有部分被丢弃,所以从结果上来看,Dropout起到了与均一化方法类似的作用。但是对舍弃单元进行误差反向传播时,仍然使用舍弃之前的值。

图解深度学习-提高泛化能力的方法_第11张图片

图解深度学习-提高泛化能力的方法_第12张图片 

dropconnect

dorpout是通过将单元的输出值设为0,dropconncect是将一部分连接权重设置为0.

图解深度学习-提高泛化能力的方法_第13张图片 

 

你可能感兴趣的:(深度学习,人工智能)