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.研究者都集中于研究网络的“小世界性”,“幂率分布特性”,“网络传递性”(聚类性吧).本文提出网 ...
随机推荐
- 菜鸟学Java(三)——JSTL标签之核心标签
JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式化.XML 操作以及数 ...
- [Windows Azure] Administering your Windows Azure AD tenant
Administering your Windows Azure AD tenant 19 out of 20 rated this helpful - Rate this topic Publish ...
- python(46):对字典进行排序,多键值排序
注:改于2017-12-07,python3 下 Removed dict.iteritems(), dict.iterkeys(), and dict.itervalues(). Instead: ...
- 使用PyHive操作Hive
使用PyHive操作Hive 废话 搜了一下,看到了StackOverFlow的回答,试了一下前两个方案,感觉第二个更简洁,这里记录一下,更详细的见参考. 安装依赖 pip install sasl ...
- SQL Server 2008 R2升级到SQL Server 2012 SP1
1.建议对生产环境对的数据库升级之前做好备份,以防不测. 2.从SQL Server 2008 R2 升级到SQL Server 2012 SP1,需要先安装SQL Server 2008 R2 的S ...
- Python爬网——获取安卓手机统计数据
[本文出自天外归云的博客园] 1. 在安卓网上对热门机型进行爬网,取前五十: # -*- coding: utf-8 -*- import requests,re from bs4 import Be ...
- python调用.net动态库
# python调用.net动态库 ### pythonnet简介------------------------------ pythonnet是cpython的扩展- pythonnet提供了cp ...
- spring batch中控制step的走向
1.顺序执行step: <job id="job"> <step id="stepA" parent="s1" next= ...
- Android 开发自己的网络收音机1——功能要求及设计方案
最近打算利用业余时间,编写一个Android的网络收音机.因为我自己偶尔也喜欢听听广播,所以打算用业余时间编写一个网络版收音机.说起收音机,其实在工作中已经编写过一个,不过那个收音机是需要硬件支持,也 ...
- 如何在wpf实现进度条
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; u ...