经典卷积神经网络的学习(三)—— Inception Net
Google Inception Net 首次出现在 ILSVRC 2014 的比赛中(和 VGGNet 同年),就以较大优势拔得头筹。那届比赛中的 Inception Net 一般被称为 Inception V1(version 1),其最大的优势在于控制 了参数量(也就控制了计算量)的同时,仍然能够获得非常好的分类性能 —— top-5 错误率 6.67%。
Inception V1 降低餐数量的目的在于以下两点:
- 参数越多,模型越庞大,需要提供模型学习的数据量也就越大,而当前高质量的数据非常昂贵;
- 参数越多,相应地耗费的计算资源也会更大;
0. 一些细节问题
- Scale images because Inception needs pixels to be between 0 and 255,
- Inception net 要求输入图像的像素值在 0-255 区间内,而不是 0-1,如果原始图像的像素值在 0-1,需要在乘以 255;
- The output of the Inception model is a so-called Softmax-function
- Inception net 的输出是 softmax-function,
- 为什么使用了较多 1×1 的卷积?
- 图片数据天然地邻近区域的数据相关性较高,也即可通过卷积操作使相邻的像素点连接在一起。我们可十分方便构造多个卷积核,在同一空间位置但不同通道的卷积核的输出结果相关性较高。
- 因此一个 1×1 的卷积就可以很自然地将这些相关性很高的、在同一空间位置但不同通道的特征连接在一起,这也正是 1×1 的卷积会频繁地应用到 Inception Net 中的原因。
- 1×1 卷积所连接的节点的相关性是最高的,而稍微大一点尺寸的卷积,3×3、5×5 的卷积所连接的节点相关性也很高,因此可进一步地使用一些稍大尺寸的卷积,增加特征多样性(diversity);
1. 模型拓扑
- Inception V1 有 22 层深,比 AlexNet 的 8 层或者 VGGNet 的 19 层还要更深。
去除了最后的全连接层,而使用全局平均池化层(将图片尺寸变为 1×1)取代全连接层;
如上图所示为 Inception Module 的结构图,可知:
- 基本结构共有四个分支;Inception Module 的 4 个分支在最后一个聚合操作合并(在输出通道数这个维度上聚合)
- Inception Module 中包含了:
- 3 种不同尺寸的卷积:1×1,3×3,5×5
- 1 个最大池化层:3×3
2. Inception Net 家族
- 2014 年 9 月,Going Deeper with Convolutions ⇒ Inception V1(top-5 错误率 6.67%)
- 2015 年 2 月,Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate ⇒ Inception V2(top-5 错误率 4.8%)
- 学习了 VGGNet,用两个 3×3 的卷积代替 5×5 的大卷积(以降低参数和减轻过拟合),正如论文标题所言,还提出了有效的 Batch Normalization 方法,可为大型卷积网络的训练加速很多倍;
- 2015 年 12 月,Rethinking the Inception Architecture for Computer Vision ⇒ Inception V3(top-5错误率 3.5%),主要有下述改进:
- 引入 Factorization into Small convolutions 的思想,讲一个较大的二维卷积拆成两个较小的一维卷积,比如将 7×7 ⇒ 1×7 & 7×1
- 2016 年 2 月,Inception V4、Inception-ResNet and the Impact of Residual Connections on learning,提出 Inception V4 的概念,(top-5 错误率 3.08%)
经典卷积神经网络的学习(三)—— Inception Net的更多相关文章
- 经典卷积神经网络的学习(一)—— AlexNet
AlexNet 为卷积神经网络和深度学习正名,以绝对优势拿下 ILSVRC 2012 年冠军,引起了学术界的极大关注,掀起了深度学习研究的热潮. AlexNet 在 ILSVRC 数据集上达到 16. ...
- 经典卷积神经网络的学习(二)—— VGGNet
1. 简介 VGGNet 是牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发的深度卷积神经网络,其主要探索了卷积神经网络的深度 ...
- 经典卷积神经网络(LeNet、AlexNet、VGG、GoogleNet、ResNet)的实现(MXNet版本)
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现. 其中 文章 详解卷 ...
- TensorFlow实战之实现AlexNet经典卷积神经网络
本文根据最近学习TensorFlow书籍网络文章的情况,特将一些学习心得做了总结,详情如下.如有不当之处,请各位大拿多多指点,在此谢过. 一.AlexNet模型及其基本原理阐述 1.关于AlexNet ...
- 卷积神经网络(CNN)学习笔记1:基础入门
卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01 | In Machine Learning | 9 Comments | 14935 Vie ...
- 五大经典卷积神经网络介绍:LeNet / AlexNet / GoogLeNet / VGGNet/ ResNet
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! LeNet / AlexNet / GoogLeNet / VGG ...
- 卷积神经网络CNN学习笔记
CNN的基本结构包括两层: 特征提取层:每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征.一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来: 特征映射层:网络的每个计算层由多 ...
- 经典卷积神经网络算法(5):ResNet
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- 卷积神经网络 CNN 学习笔记
激活函数Relu 最近几年卷积神经网络中,激活函数往往不选择sigmoid或tanh函数,而是选择relu函数.Relu函数的定义 $$f(x)= max(0,x)$$ Relu函数图像如下图所示: ...
随机推荐
- 【例题 6-17 UVa 10562】Undraw the Trees
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 模拟+递归 [代码] #include <bits/stdc++.h> using namespace std; con ...
- 【AtCoder Beginner Contest 074 D】Restoring Road Network
[链接]h在这里写链接 [题意] 给你任意两点之间的最短路. 让你求出原图. 或者输出原图不存在. 输出原图的边长总和的最小值. [题解] floyd算法. 先在原有的矩阵上. 做一遍floyd. 如 ...
- php实现 24点游戏算法
php实现 24点游戏算法 一.总结 一句话总结:把多元运算转化为两元运算,先从四个数中取出两个数进行运算,然后把运算结果和第三个数进行运算,再把结果与第四个数进行运算.在求表达式的过程中,最难处理的 ...
- 全面详细介绍一个P2P网贷领域的ERP系统的主要功能
一般的P2P系统,至少包括PC网站的前端和后端.前端系统的功能,可以参考"P2P系统哪家强,功能其实都一样" http://blog.csdn.net/fansunion/ ...
- [Debug] Chrome Devtools: Elements - Console Integration
The Element Inspector in Chrome DevTools offers powerful integration with the console - learn how to ...
- 《PHP 5.5从零開始学(视频教学版)》内容简单介绍、文件夹
<PHP 5.5从零開始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零開始学(视频教学版 ...
- 公钥,私钥和数字签名这样最好理解 分类: B3_LINUX 2015-05-06 16:25 59人阅读 评论(0) 收藏
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...
- 使用maven进行测试设置断点调试的方法
在Maven中配置测试插件surefire来进行单元测试,默认情况下,surefire会执行文件名以Test开头或结尾的测试用例,或者是以TestCase结尾的测试用例. ...
- SetForegroundWindow
SetForegroundWindow 函数功能:该函数将创建指定窗口的线程设置到前台,并且激活该窗口.键盘输入转向该窗口,并为用户改各种可视的记号.系统给创建前台窗口的线程分配的权限稍高于其他线程. ...
- Swift入坑系列—集合类型
数组(Arrays) 字典(Dictionaries) 数组(Arrays) 在OC里面,NSArray和NSMutableArray这两个类可以存储任意类型的对象,并且不提供所返回对象的任何特别信息 ...