目录
AlexNet 的特点
使用 ReLU 激活函数加速收敛
如何理解 ReLU 函数的非线性
- Paper: ImageNet Classification with Deep Convolutional Neural Networks
- GitHub:
AlexNet 模型有多伦多大学, Geoff Hinton 实验室设计, 夺得了
2012
年 ImageNet ILSVRC 比赛的冠军, 并且错误率远低于第二名, 使得卷积神经网络乃至深度学习重新引起了广泛的关注. 在此之前, 由于受到计算机性能的影响, 虽然 LeNet 在图像分类中取得了较好的成绩, 但是并没有引起很多的关注.
AlexNet 的特点
AlexNet 是在 LeNet 的基础上加深了网络的结构, 学习更丰富更高维的图像特征. AlexNet 的特点:
更深的网络结构.
使用 ReLU 激活函数加速收敛.
使用多 GPU 并行, 加速训练. 也为之后的分组卷积 (group convolution) 理论奠定基础.
使用数据增强, 提出 Dropout 抑制过拟合.
使用交叠池化 (Overlapping Pooling) 防止过拟合.
使用 ReLU 激活函数加速收敛
在最初的感知机模型中, 输入和输出的关系如下:
\[y=\sum_iw_ix_i+b \]
只是单纯的线性关系, 这样的网络结构有很大的局限性: 即使用很多这样结构的网络层叠加, 其输出和输入仍然是线性关系, 无法处理有非线性关系的输入输出. 因此, 对每个神经元的输出做非线性变换 (激活函数) 就非常重要.
在此之前, 激活函数主要使用的是 tanh:\(f(x)=tanh(x)\)以及 sigmoid:\(f\left(x\right)=\frac1{1+\left(e^{-x}\right)^{-1}}\), 但是这些都是饱和激活函数, 输入值处于饱和区时(x→∞时), 其梯度几乎为 0, 因此收敛极慢!
针对这一问题, 在 AlexNet 中引入了线性整流单元 (Rectified Linear Units, ReLU) 作为激活函数, 即:\(f\left(x\right)=\max(0,x)\). 其不存在饱和区, 导师始终为 1, 梯度更大, 计算量也更少, 因此收敛得更快.
如下图所示, 为 tanh 和 `ReLU. 的收敛速度对比:
如何理解 ReLU 函数的非线性
这里有个问题, 前面提到, 激活函数要用非线性的, 是为了使网络结构有更强的表达能力. 但这里使用的 ReLU 本质上却是个线性的分段函数, 那是如何使用 ReLU 进行非线性变换的呢?
来源: http://www.bubuko.com/infodetail-3717117.html