【干货】卷积神经网络Alex-Net、VGG-Nets、Network-In-Network案例分析
目录
Alex-Net 网络模型
VGG-Nets 网络模型
Network-In-Network
本文将以 Alex-Net、VGG-Nets、Network-In-Network 为例,分析几类经典的卷积神经网络案例。
在此请读者注意,此处的分析比较并不是不同网络模型精度的“较量”,而是希望读者体会卷积神经网络自始至今的发展脉络和趋势。
这样会更有利于对卷积神经网络的理解,进而举一反三,提高解决真实问题的能力。
Alex-Net 网络模型
Alex-Net 是计算机视觉领域中首个被广泛关注并使用的卷积神经网络,特别是 Alex-Net 在 2012 年 ImageNet 竞赛 中以超越第二名 10.9个百分点的优异成绩一举夺冠,从而打响了卷积神经网络乃至深度学习在计算机视觉领域中研究热潮的“第一枪”。
Alex-Net 由加拿大多伦多大学的 Alex Krizhevsky、Ilya Sutskever(G. E. Hinton 的两位博士生)和 Geoffrey E. Hinton 提出,网络名“Alex-Net”即 取自第一作者名。
关于 Alex-Net 还有一则八卦:由于 Alex-Net 划时代的意义,并由此开启了深度学习在工业界的应用。
2015 年 Alex 和 Ilya 两位作者连同“半个”Hinton 被 Google 重金(据传高达 3500 万美金)收买。
但为何说“半个”Hinton? 只因当时 Hinton 只是花费一半时间在 Google 工作,而 另一半时间仍然留在多伦多大学。
下图所示是 Alex-Net 的网络结构,共含五层卷积层和三层全连接层。其中,Alex-Net 的上下两支是为方便同时使用两片 GPU 并行训练,不过在第三层卷积和全连接层处上、下两支信息可交互。
由于两支网络完全一致, 在此仅对其中一支进行分析。下表列出了 Alex-Net 网络的架构及具体参数。
单在网络结构或基本操作模块方面,Alex-Net 的改进非常微小,构建网络的基本思路变化不大,仅在网络深度、复杂度上有较大优势。
图1 Alex-Net 网络结构
Alex-Net 网络架构及参数
不过仍需指出 Alex-Net 的几点重大贡献,正因如此,Alex-Net 方可在整个卷积神经网络甚至连接主义机器学习发展进程中占据里程碑式的地位。
Alex-Net 首次将卷积神经网络应用于计算机视觉领域的海量图像数据集 ImageNet(该数据集共计1000 类图像,图像总数约 128 多 万张),揭示了卷积神经网络拥有强大的学习能力和表示能力。
另一方面,海量数据同时也使卷积神经网络免于过拟合。可以说二者相辅相成,缺一不可。自此便引发了深度学习,特别是卷积神经网络在计算机视觉领域中“井喷”式的研究。
利用 GPU 实现网络训练。在上一轮神经网络研究热潮中,由于计算资源发展受限,研究者无法借助更加高效的计算手段(如 GPU),这也较大程度地阻碍了当时神经网络的研究进程。
“工欲善其事,必先利其器”,在 Alex-Net 中,研究者借助 GPU 将原本需数周甚至数月的网络训练过程大大缩短至 5~6 天。
在揭示卷积神经网络强大能力的同时,这无疑也大大缩短了深度网络和大型网络模型开发研究的周期并降低了时间成本。缩短了迭代周期,正是得益于此,数量繁多、立意新颖的网络模型和应用才能像雨后春笋一般层出不穷。
一些训练技巧的引入使“不可为”变成“可为”,甚至是“大有可为”。如 ReLU 激活函数、局部响应规范化操作、为防止过拟合而采取的数据增广(data augmentation)和随机失活(dropout)等。
这些训练技巧不仅保证了模型性能,更重要的是为后续深度卷积神经网络的构建提供了范本。实际上,此后的卷积神经网络大体都遵循这一网络构建的基本思路。
局部响应规范化(LRN)要求对相同空间位置上相邻深度(adjacent depth)的卷积结果做规范化。
假设 adi,j 为第 d 个通道的卷积核在 (i, j) 位置处的输出结果(即响应),随后经过 ReLU 激活函数的作用,其局部响应规范化的结果 bdi,j 可表示为:
其中,n 指定了使用 LRN 的相邻深度卷积核数目,N 为该层所有卷积核数目。k、n、α、β 等为超参数,需通过验证集进行选择,在原始 Alex-Net中这些参数的具体赋值如上表所示。
使用 LRN 后,在 ImageNet 数据集上Alex-Net 的性能分别在 top-1 和 top-5 错误率上降低了 1.4% 和 1.2%;此外,一个四层的卷积神经网络使用 LRN 后,在 CIFAR-10 数据上的错误率也从 13% 降至 11%。
LRN 目前已经作为各个深度学习工具箱的标准配置,将 k、n、α、β等超参数稍做改变即可实现其他经典规范化操作。如当 “k = 0,n = N,α = 1,β = 0.5”时便是经典的 l2 规范化:
VGG-Nets 网络模型
VGG-Nets 由英国牛津大学著名研究组 VGG(VisualGeometryGroup) 提出,是 2014 年 ImageNet 竞赛定位任务 (localization task) 第一名和分类 任务第二名做法中的基础网络。
由于 VGG-Nets 具备良好的泛化性能,因而其在 ImageNet 数据集上的预训练模型(pre-trained model)被广泛应用于 除最常用的特征抽取 (feature extractor)外的诸多问题。
如物体候选框 (object proposal) 生成、细粒度图像定位与检索 (fine-grained object localization and image retrieval)、图像协同定位 (co-localization) 等。
以 VGG-Nets 中的代表 VGG-16 为例,下表列出了其每层具体参数信息。
可以发现,相比 Alex-Net,VGG-Nets 中普遍使用了小卷积核以及“保持输入大小”等技巧,为的是在增加网络深度 (即网络复杂度) 时确保各层输入大小随深度增加而不急剧减小。
同时,网络卷积层的通道数 (channel) 也从 3 → 64 → 128 → 256 → 512 逐渐增加。
VGG-16 网络架构及参数
Network-In-Network
Network-In-Network(NIN) 是由新加坡国立大学 LV 实验室提出的异于传统卷积神经网络的一类经典网络模型,它与其他卷积神经网络的最大差异是用多层感知机(多层全连接层和非线性函数的组合)替代了先前卷积网络中简单的线性卷积层,如下图所示。
我们知道,线性卷积层的复杂度有限,利用线性卷积进行层间映射也只能将上层特征或输入进行
“简单”的线性组合形成下层特征。而 NIN 采用了复杂度更高的多层感知机 作为层间映射形式,这一方面提供了网络层间映射的一种新可能。
另一方面增加了网络卷积层的非线性能力,使得上层特征可以更复杂地被映射到下层,这样的想法也被后期出现的残差网络和 Inception 等网络模型所借鉴。
图2 传统卷积模块(a)与 NIN 网络卷积模块(b)
同时,NIN 网络模型的另一个重大突破是摒弃了全连接层作为分类层的传统,转而改用全局汇合操作(global average pooling),如下图所示。
NIN最后一层共有 C 张特征图(feature map),分别对应分类任务的 C 个类别。全局汇合操作分别作用于每张特征图,最后将汇合结果映射到样本真实标 记。
可以发现,在这样的标记映射关系下,C 张特征图上的响应将很自然地分别对应到 C 个不同的样本类别,这也是相对先前卷积网络来讲,NIN 在模型可解释性上的一个优势。
图3 NIN 网络模型整体结构
此示例中的 NIN 堆叠了三个多层感知机卷积层模块和一个全局汇合操作层作为分类层
作者:魏秀参,南京大学 LAMDA 研究所博士,主要研究领域为计算机视觉和机器学习。相关领域重要国际期刊和国际会议发表论文十余篇。担任 ICCV、CVPP、CVPR、ECCV、NIPS、IJCAI、AAAI 等国际会议 PC member。
来源:《解析深度学习:卷积神经网络原理与视界实践》,本书由周志华老师作序推荐:“市面上深度学习书籍已不少,但专门针对卷积神经网络展开,侧重实践有不失论释者尚不多见。本书基本覆盖了卷积神经网络实践所有涉及环节,作者交代的若干新的技巧亦可一观,读者在实践中或有见益。”
【干货】卷积神经网络Alex-Net、VGG-Nets、Network-In-Network案例分析相关推荐
- 基于卷积神经网络和时域金字塔池化的语音情感分析
基于卷积神经网络和时域金字塔池化的语音情感分析 一.概述 这是最近学习<Speech Emotion Recognition Using Deep Convolutional Neural ...
- 花书+吴恩达深度学习(十四)卷积神经网络 CNN 之经典案例(LetNet-5, AlexNet, VGG-16, ResNet, Inception Network)
目录 0. 前言 1. LeNet-5 2. AlexNet 3. VGG-16 4. ResNet 残差网络 5. Inception Network 如果这篇文章对你有一点小小的帮助,请给个关注, ...
- 基于卷积神经网络的垃圾图像分类算法
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 垃圾分类作为资源回收利用的重要环节之一, 可以有效地提高资源回收利 ...
- 【论文翻译】卷积神经网络研究综述
论文题目:卷积神经网络研究综述 论文来源:卷积神经网络研究综述 翻译人:BDML@CQUT实验室 卷积神经网络研究综述 Review of Convolutional Neural Network 周 ...
- 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读
导言 从1989年LeCun提出第一个真正意义上的卷积神经网络到今天为止,它已经走过了29个年头.自2012年AlexNet网络出现之后,最近6年以来,卷积神经网络得到了急速发展,在很多问题上取得了当 ...
- 卷积神经网络 手势识别_如何构建识别手语手势的卷积神经网络
卷积神经网络 手势识别 by Vagdevi Kommineni 通过瓦格德维·科米尼(Vagdevi Kommineni) 如何构建识别手语手势的卷积神经网络 (How to build a con ...
- keras构建卷积神经网络_通过此简单教程学习在网络上构建卷积神经网络
keras构建卷积神经网络 by John David Chibuk 约翰·大卫·奇布克(John David Chibuk) 通过此简单教程学习在网络上构建卷积神经网络 (Learn to buil ...
- 卷积神经网络训练准确率突然下降_基于联邦学习和卷积神经网络的入侵检测方法...
王蓉1,马春光2,武朋2 1. 哈尔滨工程大学计算机科学与技术学院,哈尔滨 150001:2. 山东科技大学计算机科学与工程学院,青岛 266590 doi :10.3969/j.issn.1671- ...
- 迁移学习和微调深度卷积神经网络
这是由几个部分组成的博客系列,我将在此系列中聊一聊我对深度学习的经验及认识.在第一部分,我讨论了不同的有代表性的框架的优劣,以及我选择 Theano(与 Lasagne)作为我的平台的原因. 第二部分 ...
- 全序列卷积神经网络+连接时序分类语音识别
全序列卷积神经网络 DFCNN:deep fully convolutional neural network 全序列卷积神经网络 DFCNN对时域信号进行分帧.加窗.傅里叶变换.取对数得到语谱图. ...
最新文章
- win32 打印机api
- 独家 | 数据科学家指南:梯度下降与反向传播算法
- 说说身边产品的用户体验
- 什么是时间导数(Time derivative)
- 组件化的css-module
- 利用cookie的跨域单点登录的简单实现
- 人脸识别研究任务及开源项目调研
- makefile例子(经典)
- 【刷题总结】二叉树前中后序遍历
- 大数据智能营销笔记本人工智能下引入新的交互方式
- Aqua Comms携手Ciena 测试海底光缆网络150Gbps波长传输
- 苹果ipad基本使用方法,苹果ipad的使用方法
- Codeforces Round #620 (Div. 2)(D. Shortest and Longest LIS)(O(n log n)的最长上升子序列或者贪心)
- Android事件总线(一)EventBus3.0用法全解析
- BeautifulSoup的高级应用 之 find findAll
- 快如闪电的Android模拟器
- spss下载过程中无法解压的问题
- 4G物联网卡的几点优势
- 安卓设置keychain_Keychain的使用
- 中科柏诚与国际经管学院培养人才 助推文化振兴
热门文章
- 太原理工大学自考计算机应用难,太原理工大学人工智能精彩试题+问题详解
- python重复三角形代码_用于检查Python中两个三角形的一致性的程序
- 闪退mac_幕布闪退怎么办?别着急看这里
- oracle into bl,5_Oracle_Admin_Oracle的启动模式和关闭
- python实现单链表快速排序升序linkedqueue_LeetCode 总结 - 搞定 Linked List 面试题
- 用计算机说唱的 那个男的是谁,中国男rapper排名 中国rap说唱饶舌歌手排名
- couchbase java 手册_couchbase的使用 java
- 【Golang 接口自动化05】使用yml管理自动化用例
- tomcat域名绑定设置
- 复杂sql优化步骤与技巧