文章目录
泛化能力
- 训练样本必不可少
- 预处理的数据更容易训练
- 改进激活函数和训练方法有助于提高神经网络的泛化能力
数据集
两个包含大规模的数据集:ImageNet,Places
数据增强
通过对样本进行平移、旋转、或镜像翻转来得到新的样本。
除此之外,变换还包括:几何变换,对比度变换,颜色变换,添加随机噪声,图像模糊
预处理
当样本类别内差异较大时,为了减少样本差异,会对样本数据进行预处理
均值减法
均值图像为图像颜色的平均值图。
训练样本
−
均值图像
=
差分图像
训练样本 - 均值图像 = 差分图像
训练样本−均值图像=差分图像
将差分图像作为神经网络输入,就可以抑制图像的整体亮度变化。
x ~ = x − x ˉ \tilde{x} = x - \bar{x} x~=x−xˉ
均一化
- 首先计算各数据的标准差 σ \sigma σ
- 然后对样本图像进行均值减法后,再除以标准差
σ i = 1 N ∑ n = 1 N ( x n i − x ˉ i ) \sigma_i = \sqrt{\frac{1}{N} \sum_{n=1}^{N}(x_{ni}-\bar{x}_i ) } σi=N1n=1∑N(xni−xˉi)
x x i = x ~ n i σ i x_{xi} = \frac{\tilde{x}_{ni}}{\sigma_i} xxi=σix~ni
白化(whitening)
白化是一种消除数据间相关性的方法
白化可以消除直流分量等相关信息较高的像素信息,只保留边缘等相关性较小的像素。
激活函数
- maxout
- leaky ReLU
- Parametric ReLU(PReLU)
- randomized leaky Rectified Linear Units(RReLU)
maxout
从多个特征图的相同位置选取最大值作为最后的特征图
h
k
(
x
)
=
m
a
x
(
z
k
(
x
)
)
h_k(x) = max (z_k(x))
hk(x)=max(zk(x))
ReLU
leaky ReLU:
a
i
a_i
ai的值在训练前确定
y
i
=
{
x
i
x
i
≥
0
x
i
a
i
x
i
<
0
y_i = \left\{\begin{matrix} x_i & x_i\ge 0\\ \frac{x_i}{a_i} &x_i<0 \end{matrix}\right.
yi={xiaixixi≥0xi<0
PReLU: a i a_i ai的值根据误差反向传播算法进行训练时确定
Dropout
在每次迭代时,随机选取一部分单元,将其输出设置为0。
起到了类似归一化的方法,抑制过拟合。
DropConnect
DropConnect是将一部分连接权重设置为0
深度学习的应用
物体识别
物体识别被卷积神经网络包揽,2015年Microsoft的超深层网络达到了152层,在识别性能错路率上下降到了3.56%,超越了人类的识别能力(5%)。
物体检测
物体检测用于确定图像中物体的位置, 区域卷积神经网络(R-CNN) 应运而生。
分割
分割是输出每个像素所属类别的方法。
研究者提出:使用全部由卷积网络组成的 全卷积网络(FCN) 进行分割。
回归问题
包括:面部器官检测、人体姿态估计
Deep Pose是基于AlexNet的网络结构进行人体姿态估计的方法。
Deep Pose通过级联的网络来提高估计的准确率。
人脸识别
网络可视化
通过使用反卷积层,对每一层图像做可视化,研究卷积神经网络的表达能力。