LeNet5、AlexNet、VGG-16、GoogLeNet、ResNet50原理及其结构

1.LeNet5

论文地址:Gradient-based learning applied to document recognition

  • 结构图
    LeNet5.jpg

      LeNet5是首个成功进行多层训练的卷积神经网络,极大推动了深度学习领域的发展,自此开始,各种优化模型不断的提出,网络结构越来越复杂,层数越来越深。

1.1 结构详解

  • input层
      LeNet5的提出首要的是针对mnist数据集(手写体识别),其图像都是灰色的,即图像的原始深度为1,其输入的图像大小为32x32(实际下载的手写体数据集都是28x28,所以在第一个卷积层的过程中通常要添加padding,pytorch就得指定padding=2,keras中直接padding='same').在keras中指定padding='same'的含义就是程序自动更新padding的数值,使得输出层的维度和输入层的维度一样。
  • C1层
      C1层是第一个卷积层,由6个5x5x1的卷积核组成参数,这里的5x5x1中1代表的是卷积核的通道数,这个数值由上一层的通道数组成(上一层图片是灰度图片,所以通道数为1)5x5代表的是卷积核的尺寸。最后的输出维度(32-5)//1+1=28 输出维度的计算公式为:(输入维度-卷积核尺寸+2*padding)//步长+1 。输出的通道数和卷积核个数相等,即最后的输出维度为28x28x6,其中的6等于6个卷积核。
  • S2层
      S2是一个池化层,一般用的是最大池化层,池化的目的应该是降采样,缩小图片的尺寸,减少参数的个数。池化核尺寸为(2x2),步长为2,最后输出的尺寸为(28-2)//2+1=14,池化层输出的计算公式为:(输入维度-池化核尺寸+2*padding)//步长+1,池化层与卷积层不同的是,在输出通道上面,卷积层最后的输出通道由卷积核个数决定,池化层最后的输出通道与输入通道相等,即池化层不能改变通道数,只能改变输入图像的尺寸,卷积层既可以改变图像的尺寸也可以改变通道数(所以在后续GoogLeNet、ResNet等结构为了减少参数量,都会用一个1x1的卷积核先改变图像的深度)。S2输出的图像尺寸为14x14x6。
  • C3层
      C3卷积层,其卷积核尺寸为5x5x6,卷积核个数为16个,其输出维度为(14-5)//1+1 = 10 ,输出的通道数为16,最终输出图像的尺寸为10x10x16 。
  • S4层
      S4为池化层,池化核尺寸为2x2,步长为2,输出的尺寸为 (10-2)//2+1 = 5 ,输出的通道数与输入通道数一样,均为16,最终输出图像的尺寸为5x5x16 。
  • C5层
      这里我有点歧义,按照他的命名,这里可能是一个卷积层(卷积convolution都是C开头,后面的全连接Full connection是F开头),但是看图片中又像是先Reshape后的一个全连接,因为图片中S4到C5是full connection。这里我理解的是卷积,即卷积核的尺寸为5x5x16,卷积核的个数为120个,最后卷积的结果为1x1x120,然后Reshape一下变成一个一维的(或者说本质上就是一个一维的,但是用3维的在表达)
  • F6层
      全连接层,没什么好说的,就是一个包含84个神经元的隐藏层。
  • output层
      因为最后的手写数字的类别为10类(0,1,2,...9),最后的输出为10个结果,这里的激活函数一般选用softmax 。最大值所在的索引即为最后的分类结果。

2.AlexNet

论文地址:ImageNet Classification with Deep Convolutional Neural Networks

  • 结构图
    AlexNet

2.1 结构详解

  AlexNet由5个卷积层和3个全连接层组成(不包含池化层)。是2012年ImageNet ILSVRC的冠军。在原始的论文中,因为使用了2个GPU进行了计算,所以将整个网络分成了上下两部分,在下文结构的解释中,我们就不单独分开了,就直接合起来进行描述。如果想看分两组讨论的,有一个另外的参考博客:神经网络之AlexNet

  • 输入层
      因为ImageNet数据集的维度一般都是224x224的彩色图像,所以基本上后面做图像识别的输入层的维度都是224x224x3 。
  • 第一个卷积层
      第一个卷积层参数如下:卷积核尺寸11x11x3,卷积核个数为96个(上图是上下各48个,但我们就合并起来描述,下面类似)步长为4,padding=2,最后的输出尺寸为(224-11+2\times2)//4+1=55其中//表示整除。所以第一个卷积层的参数个数为 (11\times11\times3\times96)+96,其中最后一个96为偏置,第一个卷积层的输出维度为55x55x96。第一个卷积层后面紧跟着最大池化,池化和尺寸为3x3,步长为2,不padding,最后池化后的结果为27x27x96。
  • 第二个卷积层
      输入为27x27x96,卷积核尺寸为5x5x96,padding=2卷积核个数为128,输出尺寸为为(27-5+2\times2)//1+1=27,最后输出的维度为27x27x128,卷积层的参数为(5\times5\times96\times12)+128,后面紧跟的最大池化,其尺寸为3x3,步长为2,不padding,池化后的输出为13x13x128。
  • 第三个卷积层
      输入为13x13x128,卷积个尺寸为3x3x128,padding=1,卷积核个数为384,输出尺寸为(13-3+2\times1)//1+1=13,参数量为(3\times3\times128\times384)+384整个输出的维度为13x13x384,后面没有池化层,所以最后的输出就是下一步的输入。
  • 第四个卷积层
      输入为13x13x384,卷积核尺寸为3x3x384,padding=1,卷积核个数为384,输出尺寸为13x13,参数量为(3\times3\times384\times384)+384,没有池化层,最后的输出为13x13x384。
  • 第五个卷积层
      输入为13x13x384,卷积核尺寸为3x3x384,padding=1,卷积核个数为256,输出尺寸为13x13,参数量为(3\times3\times384\times256)+256,卷积层输出的维度为13x13x256,后面的最大池化层,池化核尺寸为3x3,步长为2,无padding,池化后的输出为6x6x256。
  • 第一个全连接层
      输入为6x6x256,卷积核尺寸为6x6x256,卷积核个数为4096,由于卷积核与输入层的维度相同,因此卷积后的维度为1x1x4096,所以最后Reshape一下,就看做4096个神经元。
  • 第二个全连接层
      4096个神经元
  • 第三个全连接层(输出层)
      1000个神经元,因为好像最后的分类个数是1000类,
    所以最后的神经元个数是1000.

AlexNet 引入了激活函数relu,除了最后一层是softmax以外,其他的激活函数都是relu。引入的局部响应归一化在后续的研究中证明并无太大的作用,一般都是用的BN,所以这里不详细研究这个了。

  • 参数量
    AlexNet参数量

    从AlexNet的参数量6千多万,也算是开启了网络越来越深,参数越来越多的先河。

3、VGG-16

论文地址:Very Deep Convolutional Networks for Large-Scale Image Recognition

  VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,5x5)。对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。简单来说,在VGG中,使用了3个3x3卷积核来代替5x5卷积核,使用了2个3x3卷积核来代替11*11卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络
的效果。
  其中16表示由13个卷积层和3个全连接层组成。

  • 结构图
    VGG-16-1
    VGG-16-2
    VGG-16-3

  结构图1说明了其中卷积层的参数,结构图2说明了每一层的输出层的参数,图三说明了具体的参数过程。

  • 最终的参数量
    VGG-16 参数量

4、GoogLeNet( inception v1)

GoogleNet
GoogleNet 1
GoogleNet 2
googleNet 参数

ResNet

ResNet

写的太累了,不想写了,有时间再吧后面的两个模型搞详细点。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,383评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 96,028评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 171,486评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,786评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,793评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,297评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,685评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,655评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,192评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,223评论 3 345
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,343评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,966评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,656评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,130评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,257评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,869评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,407评论 2 365

推荐阅读更多精彩内容