AlexNet

AlexNet是2012年ImageNet竞赛冠军得到者Hinton和他的学生Alex Krizhevsky设计的。也是在那年以后,更多的更深的神经网路被提出,好比优秀的vgg,GoogleLeNet。其官方提供的数据模型,准确率达到57.1%,top 1-5 达到80.2%. 这对于传统的机器学习分类算法而言,已经至关的出色。
在这里插入图片描述
上图所示是caffe中alexnet的网络结构,上图采用是两台GPU服务器,全部会看到两个流程图。下边把AlexNet的网络结构示意一下:
在这里插入图片描述
简化的结构为:
在这里插入图片描述
AlexNet为啥取得比较好的结果呢?web

使用了Relu激活函数。
Relu函数:f(x)=max(0,x)算法

基于ReLU的深度卷积网络比基于tanh和sigmoid的网络训练快数倍,下图是一个基于CIFAR-10的四层卷积网络在tanh和ReLU达到25%的training error的迭代次数:服务器

标准化(Local Response Normalization)
使用ReLU f(x)=max(0,x)后,你会发现激活函数以后的值没有了tanh、sigmoid函数那样有一个值域区间,因此通常在ReLU以后会作一个normalization,LRU就是稳重提出(这里不肯定,应该是提出?)一种方法,在神经科学中有个概念叫“Lateral inhibition”,讲的是活跃的神经元对它周边神经元的影响。网络

Dropout
Dropout也是常常说的一个概念,可以比较有效地防止神经网络的过拟合。 相对于通常如线性模型使用正则的方法来防止模型过拟合,而在神经网络中Dropout经过修改神经网络自己结构来实现。对于某一层神经元,经过定义的几率来随机删除一些神经元,同时保持输入层与输出层神经元的我的不变,而后按照神经网络的学习方法进行参数更新,下一次迭代中,从新随机删除一些神经元,直至训练结束。机器学习

数据加强(data augmentation)
在深度学习中,当数据量不够大时候,通常有4解决方法:
data augmentation——人工增长训练集的大小——经过平移, 翻转, 加噪声等方法从已有数据中创造出一批”新”的数据svg

Regularization——数据量比较小会致使模型过拟合, 使得训练偏差很小而测试偏差特别大. 经过在Loss Function 后面加上正则项能够抑制过拟合的产生. 缺点是引入了一个须要手动调整的hyper-parameter。函数

Dropout——也是一种正则化手段. 不过跟以上不一样的是它经过随机将部分神经元的输出置零来实现学习

Unsupervised Pre-training——用Auto-Encoder或者RBM的卷积形式一层一层地作无监督预训练, 最后加上分类层作有监督的Fine-Tuning测试