Going deeper with convolutions 这篇论文
致网友:如果你不小心检索到了这篇文章,请不要看,因为很烂。写下来用于作为我的笔记。
2014年,在LSVRC14(large-Scale Visual Recognition Challenge)中,Google团队凭借 googLeNet 网络取得了 the new state of the art.
论文 Going deeper with convolutions 就是对应该网络发表的一篇论文;
主要内容:
主要围绕着一个 Inception architecture 怎么提出讲的;
不明白的部分:
文中在讲这个网络之前,单纯地增加网络的width 与depth的缺点:一是过多的参数很容易使网络overfitting ,再加上labeled examples 数目有限,网络不好训练;二是参数过多,使网络需要大量的 computational resources;
解决的方法就是加入:sparsity;关于这个的理论支持它的参考文献【2:provable bounds for learning some deep representations】说明了,不过我真的没有看明白文献2(没有心思看下去 了),太尼妈数学了; 另一个方面的支持就是:模似我们生物系统)
既然说了引用 sparsity,那怎么引入啊?应该就是把 fully connected 变为 sparsely connected. 应该就是卷积连接吧。。 但是文中有很消极地说:传统的卷积层只是一个collection of dense connections fo the patches in the earlier layers. 还有就是:在卷积层与卷积层之间的连接时,不是全部连接,而是随机地和稀疏的,比如:前一层有64个feature maps,后面的卷积层只连接部分;(之前这么做,现在不了) 。 到底文献【2】表明了怎么的 sparse constructure呢??? 暂是不明白。。。
中间又说了一堆的什么关于 sparse matrix 计算困难的问题,怎么又把它分解就可以容易计算啦,不过关网络什么事呢??难道:1. 利用这个 sparse matrix 的计算困难问题来类比 sparse structure 困难的问题?? 2. 难道这个sparse matrix 是在 sparse structure 的网络结构下形成的呢?如果这样的话,你把 sparse structure的网络结构 construct 出来,计算困难的 sparse matrix 是数学问题,后来又弄 inception structure 是什么意思?? 3. 或者说,按文中的意思,inception structure即可以近似成一个 sparse structure 又可以利用现在的计算resources来计算新的结构中的 dense matrix??,这样一举两得了?? 4. 关键一个问题:文中应该把这个原来应该的 sparse structure 说明白啊?都是说从文献【2】中之类的, 草! 5. 我现在又觉得文中就是从 计算 sparse matrix 上得到 inspiration,来计算出来了这个 inception structure.
对于incepiton structure 如何定义的问题上:它作为一个整个网络的一个 component,应该有什么样的属性呢?? 文献【2】又一次说了:layer-by-layer construction where one should analyze the correlation statistics of the last layer and clustering the into groups of units with high correlation. 意思就是吧,这个网络的component 应该可以分析下层的 correlation statistics,并且把这个 correlation 在上一层表现出来; 所以呢, inception structure 就用 convolutions 1 by 1 、3 by 3 and 5 by 5 进行搞了吧(对于这个卷积层怎么能表现出来 correlaiton statistics 呢,我一直不是很明白), 最后加了一个 pooling 层;
对于文中说的 3 by 3 and 5 by 5 的filter maps 的 比例为什么要随着 move to higher layers 要增加的解释不明白;
ineception module的网络结构:
没有加入 reduction的样子(这样增加很多计算量):
增加了一个1 by 1 的convolutional layer 用于减少 feature maps 并且又加入了 rectified linear activation;
一开始会有点纳闷: filter 是怎么 concatenation的,其实,在卷积的时候关键在于 stride,而不在于 kernel size,kernel size 不一样时,只需要进行 pad 补齐就可以。 只要stride 一样,最后得到的 fiter map 的大小也是一样的;
GoogLeNet 网络:
文中用 Inception module 构造了一个 22层的googLeNet 网络;
网络的结构不多说,只说一点,为了 combat 梯度消失,在网络的中间另外加入了两个auxiliary 的 loss 层,并且分别占的权重为0.3. 其实间接也提供了一种regularization, 用于约束相关的权值;
网络的训练: 随机梯度法、 momentum为 0.9, 学习率变化为 每8次epoch下降4%, 多模型用于prediction 时, 采用Polyyak 平均。
在ILSVRC的设置
1,训练样本的处理: 把一个图片resize成4种 scales(最小边长分别为:356,288,320,352),然后分别从上中下取 正方形的子图片(以最小边长为边长), 再从子图片中取四个角加中间,再加上身resize为224*224的图片,最后mirrored, 最终从一个原始图片得到了4*3*6*2=144个 crops。
2. 文献分别训练了7个模型,(样本的采样方法与 输入的图片顺序不一样)
3. 把softmax输出的probabilites 求平均(在所有的crops与models之间)。。 {另外文章也偿试了这样的方法:在一个图片的不同crops之间取最大的那个概率值,然后在不同的 模型中取平均值,这样的结果不怎么好。(如果这样操作以后 ,所以类的和不等于1了啊。)}
最后,在caffe中的实现:
训练好的模型可以在 github上 下载:
代码在ipyhon notebook 里面写的。直接截图吧:
待补充。。。
Going deeper with convolutions 这篇论文的更多相关文章
- zz【清华NLP】图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐
[清华NLP]图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐 图神经网络研究成为当前深度学习领域的热点.最近,清华大学NLP课题组Jie Zhou, Ganqu Cui, Zhengy ...
- Going Deeper with Convolutions阅读摘要
论文链接:Going deeper with convolutions 代码下载: Abstract We propose a deep convolutional neural network ...
- PayPal高级工程总监:读完这100篇论文 就能成大数据高手(附论文下载)
100 open source Big Data architecture papers for data professionals. 读完这100篇论文 就能成大数据高手 作者 白宁超 2016年 ...
- 解读(GoogLeNet)Going deeper with convolutions
(GoogLeNet)Going deeper with convolutions Inception结构 目前最直接提升DNN效果的方法是increasing their size,这里的size包 ...
- 图像分类(一)GoogLenet Inception_V1:Going deeper with convolutions
论文地址 在该论文中作者提出了一种被称为Inception Network的深度卷积神经网络,它由若干个Inception modules堆叠而成.Inception的主要特点是它能提高网络中计算资源 ...
- 网易云安全两篇论文入选计算机视觉顶级会议ICCV
本文由 网易云发布. 10月22日至29日,全球计算机视觉顶尖专家们共聚威尼斯,参加ICCV2017国际计算机视觉大会,就领域内最新成果展开集中研讨,大会论文集也代表了计算机视觉领域最新的发展方向和 ...
- Inception——Going deeper with convolutions
1. 摘要 作者提出了一个代号为 Inception 的卷积神经网络架构,这也是作者在 2014 年 ImageNet 大规模视觉识别挑战赛中用于分类和检测的新技术. 通过精心的设计,该架构提高了网络 ...
- Shachar Fleishma的论文,做点云重建的几篇论文都不错
http://www.sci.utah.edu/~shachar/ 几篇论文都不错,但貌似05年之后就没有什么动作了.
- GN算法---《Community structure in social and biological networks》这篇论文讲了什么?
用中文记下这篇论文的大致意思,以防止忘了.好记性不如烂笔头! 摘要:最近的一些研究在研究社交网络或WWW.研究者都集中于研究网络的“小世界性”,“幂率分布特性”,“网络传递性”(聚类性吧).本文提出网 ...
随机推荐
- schema的作用
1,如果schema中定义的字段类型和数据库中该字段存储值的类型不一致(可以不定义,但定义的时候类型必须一致),则该字段查找不到,mongoose不会返回该字段的数据 2,如果数据库中有字段a,而sc ...
- git无法提交,存在未提交的修改,在重新合并前或者撤销更改
其实我没有修改.但是却无法同步. 解决方法: 1.在vs里, 打开git的命令提示符 2.输入一下命令: git stashgit stash pop 3.然后再git checkout试试,然后提示 ...
- [Windows Azure] Create a Virtual Network for Site-to-Site Cross-Premises Connectivity
Create a Virtual Network for Site-to-Site Cross-Premises Connectivity This tutorial walks you throug ...
- Zend Studio 12 windows 无限期试用
安装: 1.下载最新版本Zend Studio:http://downloads.zend.com/studio-eclipse/12.0.0/ZendStudio-12.0.0-win32.win3 ...
- 21、uwp UI自动化测试(WinAppDriver)
使用 UI自动化测试的好处就是在代码逻辑中写好 case 后,来实现 “一劳永逸” 的作用,并且自动化测试能够模拟人工达不到要求,比如快速切换页面.快速点击按钮等,对于提高软件的稳定性很有帮助. 安装 ...
- 序列化ADODataSet, ADOQuery
经过昨天晚上一折腾把做了一个DIOCP直接传递TADOQuery的Demo,在google上找了一系列的资料. 这样服务端可以直接将TADOQuery查询出来的数据直接转换成TStream自己进行传递 ...
- wcout输出中文不显示
准备使用UNICODE来写个控制台测试程序发现,cout无法输出UNICODE的中文字符.查找c++标准看到,其提供了wcin.wcout.wcerr.wclog用于处理wchar_t字符的输入输出. ...
- libevent源码分析:evmap_io_active_函数
evmap_io_active_函数用于将激活指定文件描述符上的事件 void evmap_io_active_(struct event_base *base, evutil_socket_t fd ...
- 【Java】PreparedStatement VS Statement
创建时: Statement statement = conn.createStatement(); PreparedStatement preStatement = conn.prepareS ...
- C#学习笔记(28)——匿名委托和Lambda表达式
说明(2017-11-21 18:51:32): 1. 例子为求1~100的和,答案应该是5050(小学学算盘的时候,我爹就让我算,从1拨到100是多少呀?当时的我年幼无知,还不知道高斯小时候的故事, ...