AlexNet

作者: Edison_Tu | 来源:发表于2019-01-08 15:13 被阅读0次

AlexNet


Reference

Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep Convolutional Neural Networks [J]. Advances in Neural Information Processing Systems, 2012, 25(2):2012.
这里附上SnailTyan归档的相关论文地址
https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

AlexNet由Alex Krizhevsky设计,该网络结构在2012年ImageNet竞赛中获得冠军。

1. AlexNet网络整体结构
image.png
2. AlexNet网络中张量(图像)尺寸和参数数量

AlexNet网络中总共有5个卷积层和3个全连接层.总共有62,378,344个参数.

Layer Name Tensor Size Weights Biases Parameters
Input Image 227x227x3 0 0 0
Conv-1 55x55x96 11x11x3x96=34848 96 34944
MaxPool-1 27x27x96 0 0 0
Conv-2 27x27x256 5x5x96x256=614400 256 614656
MaxPool-2 13x13x256 0 0 0
Conv-3 13x13x384 3x3x256x384=884736 384 885120
Conv-4 13x13x384 3x3x384x384=1327104 384 1327488
Conv-5 13x13x256 3x3x384x256=884736 256 884992
MaxPool-3 6x6x256 0 0 0
FC-1 4096x1 6x6x256x4096=37748736 4096 37752832
FC-2 4096x1 4096 x4096=16777216 4096 16781312
FC-3 1000x1 4096x1000=4096000 1000 4097000
Output 1000x1 0 0 0
Total 62378344
3. AlexNet突破性进展
3.1 引入非线性激活函数:ReLu
image.png

优点:
①不会梯度饱和,解决了gradient vanishing问题。
②计算复杂度低,不需要指数运算。
③适合用于反向传播。
缺点:
①输出不是zero-centered
②Dead ReLU Problem(神经元坏死现象):某些神经元可能永远不会被激活,导致相应参数永远不会被更新(在负数部分,梯度为0)。产生这种现象的两个原因:参数初始化问题;learning rate太高导致在训练过程中参数更新太大。 解决方法:采用Xavier初始化方法,以及避免将learning rate设置太大或使用adagrad等自动调节learning rate的算法。
③ReLU不会对数据做幅度压缩,所以数据的幅度会随着模型层数的增加不断扩张。

3.2 防止过拟合:Dropout

Dropout就是说,在训练的时候,所有的神经元都以一定的概率p被置为0,论文中取p=0.5,但是网络的权值都是共享的。这样,每个bacth送进网络进行训练的时候,相当于每次训练的网络结构都是不太相同的。最终训练完成之后,进行分类的时候,所有的神经元都不会被置为0,也就是说Dropout只发生在训练阶段。这样,最后的分类结果其实就相当于集成了多个不同的网络,效果自然会得到提升,泛化能力也强,在一定程度上可以减轻过拟合。

3.3 防止过拟合:Data augumentation

①从原始图像(256,256)中,随机的crop出一些图像(224,224)。【平移变换,crop】:训练时候,对于256x256的图片进行随机crop到224x224,然后允许水平翻转,那么相当与将样本倍增到((256-224)^2)x2=2048。
②水平翻转图像。【反射变换,flip】:测试时候,对左上、右上、左下、右下、中间做了5次crop,然后翻转,共10个crop,之后对结果求平均。
③给图像增加一些随机的光照。【光照、彩色变换,color jittering】:对RGB空间做PCA,然后对主成分做一个(0,0.1)的高斯扰动。结果让错误率又下降了1%。

3.4 归一化层的使用:LRN

局部响应归一化(Local Response Normalization)原理是仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制),简单来说就是对于在同一位置,不同的map层之间的神经元进行归一化。使得值越大的神经元会更大,小的会更小,从而增加网络的泛化能力,本质上,这个层也是为了防止激活函数饱和。


image.png

① a表示第i个核在位置(x,y)运用ReLu非线性神经元输出,n是同一位置上邻近kernel map的数目,N是kernel的总数。
②n=5 , k =2,α = 10^(-4), β=0.75是超参数,由验证机决定。
举个例子:i=10,N=96,n=4。当求第i=10个卷积核在位置x,y处提取到的特征(a),局部响应归一化过程如下:用(a)除以第8/9/10/11/12在位置x,y处提取的特征之和,就是“每个图”除以“半径以内的其他图对应像素的平方和”。

相关文章

  • Pytorch实现AlexNet解决自定义数据集(cifar10

    AlexNet 代码地址 Why AlexNet very good? 为什么Alexnet能在图2012 Ima...

  • 【技术博客】基于AlexNet网络的垃圾分类

    【技术博客】基于AlexNet网络的垃圾分类 AlexNet AlexNet模型来源于论文-ImageNet Cl...

  • CNN之——AlexNet

    深度卷积神经网络(AlexNet) AlexNet⾸次证明了学习到的特征可以超越⼿⼯设计的特征 AlexNet与L...

  • 2020 经典卷积神经网 AlexNet

    AlexNet 虽然 AlexNet 今天人们不会在采用或借鉴 AlexNet 来设计网络来,不过无疑是 Alex...

  • CNN经典模型总结

    LeNet-5 AlexNet VGG ResNet GoogLeNet Ng推荐论文阅读顺序:AlexNet——...

  • Conv_structure

    0.Alexnet Alexnet知乎讲解文章_paper 0.Network in Network Networ...

  • AlexNet论文笔记

    【1】AlexNet介绍 AlexNet由Alex Krizhevsky于2012年提出,夺得2012年ILSVR...

  • AlexNet

    AlexNet 首先对CNN有一个大致功能的初步理解:(1)一个图像经过卷积层提取特征(从图中可以看到,上一层的临...

  • AlexNet

    The Architecture 结构 AlexNet的结构如上图所示,共包含了8个学习层——5个卷积层与3个全连...

  • Alexnet

    Alexnet 网络是2012 Alex Krizhevsky 提出来的,是一个承上启下的网络,下面我来介绍一下此...

网友评论

      本文标题:AlexNet

      本文链接:https://www.haomeiwen.com/subject/cauprqtx.html