【卷积神经网络】经典网络之 LeNet-5, AlexNet 与 VGG-16

news/2024/11/16 6:05:18/

随着计算机硬件的升级与性能的提高,运算量已不再是阻碍深度学习发展的难题。卷积神经网络(Convolution Neural Network,CNN)是深度学习中一项代表性的工作,其雏形是 1998 年 LeCun 提出的 LeNet-5 模型。如今,卷积神经网络已被广泛应用于计算机视觉领域。本文主要介绍卷积神经网络中的经典网络,包括 LeNet-5, AlexNet 和 VGG-16.

目录

1 LeNet-5

2 AlexNet

3 VGG-16


1 LeNet-5

        LeNet-5 是经典卷积神经网络之一,1998 年由 Yann LeCun 等人在论文 《Gradient-Based Learning Applied to Document Recognition》中提出。LeNet-5 网络使用了卷积层、池化层和全连接层,实现可以应用于手写体识别的卷积神经网络。

论文链接如下:

《Gradient-Based Learning Applied to Document Recognition》

        LeNet-5 包含 2 个卷积层和 3 个全连接层,包含学习参数的网络层有 5 层,这也是 LeNet-5 名字中 5 的由来。LeNet-5 的输入图像大小是 32 x 32,颜色通道数为 1,这表明 LeNet-5 仅支持输入黑白图像。 

卷积 / 池化操作图像大小 / 神经元个数待训练的参数个数
Input32 × 32 × 1/
Conv15 × 5, s = 128 × 28 × 6150
avg pool12 × 2, s = 214 × 14 × 6/
Conv25 × 5, s = 110 × 10 × 162,400
avg pool22 × 2, s = 25 × 5 × 16/
FC112048,000
FC28410,080
FC3 (Output)10840

        LeNet-5 网络拥有约 6.1 万个待训练的参数,与如今常见的卷积神经网络不同, LeNet-5 激活层使用了 Sigmoid 函数,池化层采用平均池化,另外最后一层的输出使用 RBF 函数处理(而现在常用的处理方法是 Softmax 函数)。

2 AlexNet

        与 LeNet-5 类似,AlexNet 是另一个用于图像识别的经典神经网络。AlexNet 的名字来源于其第一作者 Alex Krizhevsky,于 2012 年 ImageNet 赛事夺冠之后为人们所熟知。AlexNet 沿用了 LeNet-5 的思路,把卷积,池化操作应用于更深层的神经网络中。

论文链接如下:

《ImageNet Classification with Deep Convolutional Neural Networks》

卷积 / 池化操作图像大小 / 神经元个数待训练的参数个数
Input224  × 224  × 3/
Conv111 × 11, s = 455 × 55 × 9634,848
max pool13 × 3, s = 227 × 27 × 96/
Conv25 × 5, p = 1, s = 127 × 27 × 256614,400
max pool23 × 3, s = 213 × 13 × 256/
Conv33 × 3, p = 1, s = 113 × 13 × 384884,736
Conv43 × 3, p = 1, s = 113 × 13 × 3841,327,104
Conv53 × 3, p = 1, s = 113 × 13 × 256884,736
max pool33 × 3, s = 26 × 6 × 256/
FC14,09637,748,736
FC24,09616,777,216
FC3 (Output)1,0004,096,000

        AlexNet 网络拥有约 6200 万个参数,AlexNet 的创新点包括:
(1)使用 ReLU 作为卷积层的激活函数,避免了 Sigmoid 函数在网络层数增加时梯度消失或爆炸问题;
(2)全连接层使用 DropOut 随机失活方式,屏蔽一部分神经元的输出值,避免模型的过拟合;
(3)使用重叠的最大池化。AlexNet 使用最大池化替代此前人们常用的平均池化,避免了平均池化的模糊问题,并且池化的步长比池化核小,使池化输出有一定的重叠,丰富输出特征。

3 VGG-16

        VGG 网络是 Oxford 的 Visual Geometry Group 团队提出,在 2014 年的 ImageNet 赛事中取得亚军。VGG 在 AlexNet 的基础上进一步增加了神经网络的深度,表明当网络层数增加到 16~19 个时可以实现显著改进。

论文链接如下:

《Very Deep Convolutional Networks for Large-Scale Image Recognition》

 

        VGG 网络有两个常见的版本,VGG-16 和 VGG-19,分别对应上图中的模型 D 和模型 E,数字 16 和 19 表示带有待训练权重的网络层数。VGG-16 有 13 个卷积层和 3 个全连接层,VGG-19 比 VGG-16 多 3 个卷积层,有 16 个卷积层和 3 个全连接层。

卷积 / 池化操作图像大小 / 神经元个数待训练的参数个数
Input224 × 224 × 3/
Conv13 × 3, p = 1, s = 1224 × 224 × 641,728
Conv23 × 3, p = 1, s = 1224 × 224  × 6436,864
max pool12 × 2, s = 2112 × 112 × 64/
Conv33 × 3, p = 1, s = 1112 × 112 × 12873,728
Conv43 × 3, p = 1, s = 1112 × 112 × 128147,456
max pool22 × 2, s = 256 × 56 × 128/
Conv53 × 3, p = 1, s = 156 × 56 × 256294,912
Conv63 × 3, p = 1, s = 156 × 56 × 256589,824
Conv73 × 3, p = 1, s = 156 × 56 × 256589,824
max pool32 × 2, s = 228 × 28 × 256/
Conv83 × 3, p = 1, s = 128 × 28 × 5121,179,648
Conv93 × 3, p = 1, s = 128 × 28 × 5122,359,296
Conv103 × 3, p = 1, s = 128 × 28 × 5122,359,296
max pool42 × 2, s = 214 × 14 × 512/
Conv113 × 3, p = 1, s = 114 × 14 × 5122,359,296
Conv123 × 3, p = 1, s = 114 × 14 × 5122,359,296
Conv133 × 3, p = 1, s = 114 × 14 × 5122,359,296
max pool52 × 2, s = 27 × 7 × 512/
FC14,096102,760,448
FC24,09616,777,216
FC3 (Output)1,0004,096,000

        VGG-16 网络拥有约 1.38 亿个参数。它的主要创新之处在于,VGG 使用了多个连续的卷积层,以及尺寸更小的卷积核(3 × 3 大小),替代 AlexNet 中大尺寸的卷积核(11 × 11,5 × 5 等大小),以更好地提取图像的深层特征。

        另外,随着神经网络层数的增加,输出图像的宽高减半,卷积层的输出特征数从最初的 64,增加到 128,256 和 512。


http://www.ppmy.cn/news/1052913.html

相关文章

基于Spring Boot的智慧团支部建设网站的设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的智慧团支部建设网站的设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java sp…

使用Kind搭建本地k8s集群环境

目录 1.前提条件 2.安装Kind 3.使用Kind创建一个K8s集群 3.1.创建一个双节点集群(一个Master节点,一个Worker节点) 3.2.验证一下新创建的集群信息 3.3.删除刚刚新建的集群 4.安装集群客户端 4.1.安装kubectl 4.1.1.验证kubectl 4.2.安…

数据封装与解封装过程

2.2数据封装与解封装过程(二) 如果网络世界只有终端设备,那么将不能称之为网络。正因为有很多中转设备才形成了今天如此复杂的Internet网络,只不过一贯作为网络用户的我们没有机会感知它们的存在,这都是传输层的“功劳”,由于传输…

软考高级系统架构设计师(二)计算机操作系统

【原文链接】软考高级系统架构设计师(二)计算机操作系统 2.1 进程管理 2.1.1 操作系统的三个重要作用 管理计算机中运行的程序和分配各种软硬件资源为用户提供友善的人机界面为应用程序的开发和运行提供一个高效的平台 2.1.2 操作系统的四个特征 并…

解决安装psycopg2报ERROR: No matching distribution found for psycopg2

问题: 安装psycopg2报如下错误 ERROR: Command errored out with exit status 1:command: /usr/bin/python3 -c import io, os, sys, setuptools, tokenize; sys.argv[0] ""/tmp/pip-install-musao8eq/psycopg2_1ca9bc61ea4a49ff8f198c51fdd0a4d2/setup…

mybatis动态SQL的运用

一、mybatis动态SQL update 表名 set name?,age? where id? 如果我们的前台没有传参,比如没有传入我们的name值,name就会把字段值改为null,这就违背了我们编码的初衷。 许多人会使用类似于where 1 1 来作为前缀,在代码中会用i…

面板市场趋势分析:价格上涨势头或将减缓 | 百能云芯

8月末,面板价格报价公布,市场研究机构TrendForce指出,电视面板今年以来已经上涨超过30%,虽然下游品牌商对于价格上涨提出了不同声音,但由于面板厂商采取了按需生产的策略,8月仍然出现了3~5%的价格上涨。Tre…

Ribbon:自定义负载均衡

自定义负载均衡算法 package com.kuang.myconfig;import com.netflix.client.config.IClientConfig; import com.netflix.loadbalancer.AbstractLoadBalancerRule; import com.netflix.loadbalancer.ILoadBalancer; import com.netflix.loadbalancer.Server;import java.util.…