上来先说 1 ∗ 1 1*1 1∗1卷积核的作用:

  • 特征降维,节省计算量
  • 增加模型非线性表达能力

举例:因为bottleneck( 1 ∗ 1 1*1 1∗1卷积核)是在2014年的GoogLeNet中首先应用的,所以我们就拿GoogLeNet来举例。

GoogLeNet(2014)之前,网络的设计思路是一直在stack(堆叠)层数,当时的假设是网络越deeper,网络的performance越好。到了2014年,GoogLeNet横空出世,GoogLeNet改变了这个假设:除了增加深度,还增加了网络的宽度。GoogLeNet的结构如下:

下面我们一步步来推倒出Inception module的设计,先来看初始版本的Naive Inception module。Naive Inception module就是对同一个输入,用不同大小的卷积核去卷积,然后分别把它们的结果给concatenate(注意这里要求不同卷积操作输出的feature map的大小要相同,不然没法特征拼接呀)起来。但这样有个问题:计算量太大了!

注:上图 3 ∗ 3 3*3 3∗3卷积的 p a d d i n g = 1 padding=1 padding=1, 5 ∗ 5 5*5 5∗5卷积的 p a d d i n g = 2 padding=2 padding=2(为保证不同卷积操作输出的特征图大小一样,以便于后面的特征拼接)

Naive Inception module的计算量的计算过程如下,可见Naive Inception module的计算量是相当大的(这还只是一层)。

那么我们应该如何减少计算量呢?用的是什么理念和思想呢?

这就不得不提到从2014年一直延续至今的神经网络设计思想:bottleneck。使用bottleneck(即 1 ∗ 1 1*1 1∗1的卷积核)来进行特征降维,减少特征图的层数,从而减少计算量。

bottleneck的过程如下面两张图片所示:

所以到这里,Naive Inception module就升级为了Inception module

此时这一个Inception module的计算量为358M ops,相比之前的854M ops,使用“bottleneck”的Inception module的计算量降低了一半多!

done~

有问题欢迎交流~

1*1卷积核的作用(bottleneck的作用)相关推荐

  1. 操作性条件作用和经典性条件作用中,刺激分化和泛化的区别是?|小白心理-312/347考研答疑

    操作性条件作用和经典性条件作用中,刺激分化和泛化的区别是?|小白心理-312/347考研答疑 一.纠正一个普遍错误的观点 分化和泛化,最开始是从巴甫洛夫的经典条件性作用理论中来,这点没错.但是,并不代 ...

  2. html中scr作用,可控硅的作用是什么

    可控硅的作用:1.可控整流,这也是可控硅最基本也最重要的作用:2.用作无触点开关,经常用于自动化设备中:3.起到开关和调压的作用,经常应用于交流电路中. 本文操作环境:windows7系统.Lenov ...

  3. 电话交换机的作用,程控交换机的作用

    经常会有人问电话交换机的作用是什么,简单的说:程控交换机的作用就是, 1)共用外线 5个人或10个人共用一条外线.(最初这样做的目的是为了节省电话月租,在90年代,固定电话月租很高,如一个公司有500 ...

  4. 服务器ups作用,UPS的作用及特点

    原标题:UPS的作用及特点 1.UPS的作用 UPS的作用主要有以下几个: (1)市电中断的情况下,能利用自身所带的蓄电池通过逆变电路将直流电转换为220V交流电给计算机及网络系统供电,保证计算机及网 ...

  5. 【Android Gradle 插件】Android 依赖管理 ④ ( 常用依赖配置分析 | implementation 依赖作用 | api 依赖作用 | compileOnly 依赖作用 )

    文章目录 一.compile 依赖作用 二.implementation 依赖作用 三.api 依赖作用 四.compileOnly 依赖作用 五.annotationProcessor 依赖作用 六 ...

  6. java servlet 作用_servlet的作用,servlet有什么用?

    Servlet我们经常说到,那你们知道servlet的作用是什么吗?下面通过这篇文章一起来了解一下吧. servlet作用 当我们在使用一个交互式 的Web站点的时候,我们所浏览到的所有内容都应该是在 ...

  7. java jdk的作用_jdk的作用是什么?jdk和jre区别介绍

    之前给大家介绍了jdk是什么意思,那么接下来要给大家讲到的就是jdk的作用以及jdk和jre之间的区别,一起来了解一下吧! 一.jdk的作用是什么? jdk是java的开发编译环bai境. 它里面包含 ...

  8. IOS 本地推送 IOS10.0以上 static的作用 const的作用

    //需要在AppDelegate里面启动APP的函数 加上 UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNot ...

  9. html5元件的作用,寄存器的作用是什么

    寄存器的作用是存储二进制代码,它是由具有存储功能的触发器组合起来构成的.一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成. 本文操作环境:windows10系统,L ...

最新文章

  1. 粉丝该从哪里来?搞定这8种吸粉渠道
  2. html 元素怎么分类的,前端之Html元素的分类
  3. 美化type=file控件
  4. python随机分组的思路_python – 对对象进行分组以实现所有组的类似平均属性
  5. 4556: [Tjoi2016Heoi2016]字符串
  6. MySQL不能使用/tmp
  7. Atitit.跨语言系统服务管理器api兼容设计
  8. 广义预测控制 matlab,基于MATLAB的广义预测控制设计方法.pdf
  9. 服务器的使用:Linux一键搭建KMS激活服务器
  10. 【基于Pytorch的手写汉字识别】
  11. html定义子菜单初始为隐藏,需要静心学习的PbootCMS模板制作教程(五)
  12. HTML5期末大作业:生态环境网站设计——环境保护主题-绿色环保 (9页) web期末作业设计网页_绿色环保大学生网页设计作业成品
  13. 用阿里云建站模版套餐云速成美站有没有可能不容易被seo抓取排名?
  14. JAVA操作Word合并、替换占位符、Word插入富文本、生成水印
  15. vsftpd安装以及配置FTP虚拟用户实践
  16. TIKTOK视频:搬运视频技巧的这几点你知道吗?
  17. SQL 面试用题(重点)
  18. 人事工作中的Python运用——离职证明生成器
  19. 幼儿园计算机技能大赛,幼儿园新教师五项技能比赛
  20. 基于Matlab闭环Buck降压斩波电路Simulink仿真电路模型搭建

热门文章

  1. 网络通信之传输层协议
  2. 求两个整型数的中间值
  3. 用计算机做有理数混合运算,七年级数学上册1.12用计算器做有理数的混合运算教案(新版)北京课改版.doc-汇文网...
  4. 约翰·聂夫:31年22次跑赢市场、55倍投资回报,传奇投资大师的7种投资武器!
  5. SQL查询选修了全部课程的学生姓名
  6. C语言中的void的理解
  7. 儿童机器人课程的学习
  8. 三维扫描仪可以做什么?
  9. c语言调用json编程,c语言开发JSON - wangxuwei的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. CSDN 博客已式微?