1.1卷积的作用

上图解释了1∗1卷积如何适用于尺寸为H∗W∗D的输入层,滤波器大小为1∗1∗D,输出通道的尺寸为H∗W∗1。如果应用n个这样的滤波器,然后组合在一起,得到的输出层大小为H∗W∗n。

1.1∗1卷积的作用

  • 调节通道数
    由于 1×1 卷积并不会改变 height 和 width,改变通道的第一个最直观的结果,就是可以将原本的数据量进行增加或者减少。这里看其他文章或者博客中都称之为升维、降维。但实际情况维度并没有改变,改变的只是 height×width×channels 中的channels这一个维度的大小而已。
  • 增加非线性
    1∗1卷积核,可以在保持特征图尺度不变的(即不改变)的前提下大幅增加非线性特性(利用后接的非线性激活函数如ReLU)。非线性允许网络学习更复杂的功能,并且使得整个网络能够进一步加深。
  • 跨通道信息交互
    使用1∗1卷积核,实现降维和升维的操作其实就是间通道信息的线性组合变化。例如:在卷积核大小为3∗3,卷积核个数为64的滤波器与卷积核大小为1∗1,卷积核个数为28的滤波器组合,其输出层大小等于通过卷积核大小为3∗3,卷积核个数为28的滤波器所得到的输出层的大小,原来的64个通道就可以理解为跨通道线性组合变成了28通道,这就是通道间的信息交互。
  • 减少参数
    前面所说的降维,其实也是减少了参数,因为特征图少了,参数也自然跟着就减少,相当于在特征图的通道数上进行卷积,压缩特征图,二次提取特征,使得新特征图的特征表达更佳。

2. 1∗1卷积的应用

Network in Network(NIN)
NIN提出了MLP卷积层,MLP卷积层通过叠加"Micro Network"网络,提高非线性表达,而其中的"Micro Network"基本组成单元是1∗1卷积网路,说到这,就要解释一下1∗1卷积了,该篇论文是首次提出1∗1卷积,具有划时代的意义,之后的GoogleNet借鉴了1∗1卷积,还专门致谢过这篇论文。

Inception
​ GoogleNet首次提出Inception模块,Inception一共有V1、V2、V3、V4四个版本(这里就不详述了)。下图为Inception V1的结构如下图两个图所示。

在充分引入1∗1卷积进行降维后如图(b)所示,总体而言相比于图(a)其卷积参数量已经减少了近4倍。
​ 在inception结构中,大量采用了1∗1卷积,主要是两点作用:a.对数据进行降维;b.引入更多的非线性,提高泛化能力,因为卷积后要经过ReLU激活函数;

ResNet

ResNet同样也利用了1∗1卷积,并且是在3∗33*3卷积层的前后都使用了,不仅进行了降维,还进行了升维,参数数量进一步减少。其中右图又称为Bottleneck Design,目的一目了然,就是为了降低参数的数目,第一个1∗1的卷积把通道量从256降到64,然后在最后通过1∗1卷积恢复,整体上用的参数数目差了近16.94倍。
​ 对于常规ResNet,可以用于34层或者更少的网络中,对于Bottleneck Design的ResNet通常用于更深的如101这样的网络中,目的是减少计算和参数量。

参考:

卷积神经网络中的1*1卷积究竟有什么用?

一文读懂卷积神经网络中的1x1卷积核

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/193630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

App测试之App日志收集及adb常用命令

文章目录 前言一、adb是什么1.APP测试收集手机日志常用的工具2.adb下载与安装3.ADT/SDK/ADB是什么4.adb连接真机 二、adb常用命令三、android系统日志文件1.logcat日志文件2.logcat日志文件分析 四、分析crash & ANR 日志1.发生crash如何分析2.发生ANR如何分析 总结扩展&am…

前端组件库开发

通常我们会使用很多组件库,有时候我们会去看源码比如element,antd,然后发现多少是按需导出,和vue.use全局注册,依赖于框架的拓展。 组件库的开发依赖框架的版本和node的版本,这个是需要说明的,然…

【阅读论文】时间序列异常检测:综合评价

文章目录 摘要1 异常检测范围2 时间序列和异常3 异常检测技术3.1预测方法3.2重建方法3.3编码方法3.4距离方法3.5分布方法3.6隔离树方法 4 实验评估4.1环境和设置4.2结果质量4.3运行时和内存 5 讨论致谢参考文献 摘要 在金融应用中,检测时间序列数据中的异常子序列是…

ubuntu下QT搭建Android开发环境

一、前言 用QT开发android和直接使用android开发的区别 使用Qt开发Android应用和直接使用Android开发工具(例如Android Studio)有一些区别,主要体现在开发工具、语言、界面设计和性能等方面: 开发工具: Qt Creat…

Python----字典练习

相关链接:Python---字典的增、删、改、查操作_python中字典的增删改查-CSDN博客 Python---字典---dict-CSDN博客 Python---引用变量与可变、非可变类型-CSDN博客 重点: 字典中的 key (就是键)可以是很多数据类型(…

Java线程池的使用和最佳实践

第1章:引言 处理并发问题时,如果每次都新建线程,那系统的压力得有多大?这时候,线程池就像一个英雄一样出现了,它帮我们有效地管理线程,提高资源利用率,降低开销。那么,为…

代理模式介绍(静态代理、jdk动态代理、cglib代理)

一、静态代理 (一)定义 1、定义 为其他对象提供一种代理以控制对这个对象的访问; 2、涉及到的角色 (1)抽象主题角色:真实主题和代理主题的共同接口,便于在使用真实主题的地方都可以使用代理…

鸿蒙开发笔记

最近比较火,本身也是做前端的,就抽空学习了下。对前端很友好 原视频地址:黑马b站鸿蒙OS视频 下载安装跟着视频或者文档就可以了。如果你电脑上安装的有node,但是开发工具显示你没安装,不用动咱们的node,直…

红队攻防实战之Access注入

若盛世将倾,深渊在侧,我辈当万死以赴 访问漏洞url: 1.Access联合查询 判断是否有注入 and 11正常,and 12出错 判断字段数 order by 7正常 order by 8出错 爆破出表名并判断回显点为2,5 查看字段内容,将字段名填入回…

12月1号作业

实现运算符重载 #include <iostream>using namespace std; class Person{friend const Person operator-(const Person &L,const Person &R);friend bool operator<(const Person &L,const Person &R);friend Person operator-(Person &L,const …

WakaTime一个用于跟踪和分析编程时间的工具

WakaTime是一个用于跟踪和分析编程时间的工具&#xff0c;它可以集成到各种代码编辑器和集成开发环境中&#xff0c;例如Visual Studio Code、Sublime Text、PyCharm等。它可以帮助开发人员了解他们花费在不同项目和编程语言上的时间&#xff0c;以及他们的编码习惯和生产力。 …

【面试HOT200】二叉树——广度优先搜索篇

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于【CodeTopHot200】进行的&#xff0c;每个知识点的修正和深入主要参…

SpringSecurity工作原理

实现功能就是继承这几个对应功能的类。 大概工作流程 Spring Security 的过滤器&#xff08;Filters&#xff09;和拦截器&#xff08;Interceptors&#xff09;是 Spring Security 框架中用于保护 web 应用安全的重要组件。它们在处理 HTTP 请求时扮演不同的角色&#xff0c…

uni-app一些目录结构、方法、生命周期、打包、微信小程序登录与支付

1、关于uniapp的目录结构 跟普通vue项目目录结构差不多&#xff0c;多了几个核心文件&#xff0c;manifest.json是配置应用名称、appid、logo、版本等打包信息用的&#xff0c;pages.json的作用是配置页面路径、页面窗口样式、tabBar、navigationBar等页面类信息 2、页面适配方…

【Node.js】笔记梳理 8 - API和JWT

写在最前&#xff1a;跟着视频学习只是为了在新手期快速入门。想要学习全面、进阶的知识&#xff0c;需要格外注重实战和官方技术文档&#xff0c;文档建议作为手册使用 系列文章 【Node.js】笔记整理 1 - 基础知识【Node.js】笔记整理 2 - 常用模块【Node.js】笔记整理 3 - n…

12月03日,每日信息差/菲律宾发生7.4级强震后共录得955次余震/腾讯惩处超 400 万个 QQ 号:这三大行为零容忍

_灵感 ​ &#x1f396; 中国联通&#xff1a;选举陈忠岳为公司董事长 &#x1f384; 菲律宾发生7.4级强震后共录得955次余震 &#x1f30d; 京沪高铁二线“收官段”尘埃落定&#xff1a;潍宿高铁初步设计正式获批 &#x1f30b; 我国燃料电池汽车产业进入提速关键期 &#…

树与二叉树堆:经典OJ题集(2)

目录 二叉树的性质及其问题&#xff1a; 二叉树的性质 问题&#xff1a; 一、对称的二叉树&#xff1a; 题目&#xff1a; 解题思路&#xff1a; 二、另一棵树&#xff1a; 题目&#xff1a; 解题思路&#xff1a; 三、翻转二叉树&#xff1a; 题目&#xff1a;…

synchronized和volatile的区别是什么?

synchronized和volatile是Java中的两个关键词&#xff0c;分别用于实现线程同步和线程间的可见性。 synchronized用于实现线程之间的互斥同步&#xff0c;即同一时刻只能有一个线程访问被synchronized修饰的代码块或方法&#xff0c;其他线程需要等待。synchronized确保了线程…

非功能关键知识总结(一)

文章目录 一、稳定性(一)、服务级别协议1、SLA2、OLA3、UC (二)、可用性指标(三)、突发事件等级 三、质量(一)、千行代码缺陷数量(二)、软件质量模型的发展(三)、产品质量模型 四、安全(一)、网络安全 五、灾备(一)、灾备指标(二)、灾难恢复等级(三)、容灾技术分类 一、稳定性 …