深度学习具体应用
经典网络的学习
LeNet-5
上图是LeNet-5的结构(来自吴恩达的课件,下面所有图片均来自于吴恩达课件),该网络只有卷积层,pooling层和全连接层,pooling层使用的是均值池化,非线性激活使用的是sigmoid/tanh,而不是现在最常用的ReLU。
原文地址:http://www.dengfanxin.cn/wp-content/uploads/2016/03/1998Lecun.pdf
AlexNet
该网络与LeNet比较:
- 结构相似但是网络更深
- 使用ReLU作为激活函数
- 使用GPU进行并行计算
- Local Response Normalization(LRN局部相应归一化层):选取一个位置,对该位置上一个通道的值进行归一化(作用很小,现在的网络很少使用)
原文地址:https://www.nvidia.cn/content/tesla/pdf/machine-learning/imagenet-classification-with-deep-convolutional-nn.pdf
VGG-16
结构更为规整(卷积层后边带pooling层),而且随着网络加深,输入长宽的减少与信道数目的上升是有规律的
原文地址:https://arxiv.org/pdf/1409.1556.pdf http://arxiv.org/abs/1409.1556.pdf
(PS:吴恩达推荐阅读顺序为:先读Alex,再读VGG,最后LeNet)
Residual Network(残差网络)
出现的原因是由于训练非常深的网络时发现十分难训练,且经常出现梯度消失和梯度爆炸。
残差网络也叫做short cut或skip connection。
残差网络的计算流程为:
z [ l + 1 ] = W [ l + 1 ] a [ l ] + b [ l + 1 ] → a [ l + 1 ] = g ( z [ l + 1 ] ) → z^{[l+1]} = W^{[l+1]}a^{[l]} + b^{[l+1]} \to a^{[l+1]} = g(z^{[l+1]}) \to z[l+1]=W[l+1]a[l]+b