part I   :来源

part II  :应用

part III :作用(降维、升维、跨通道交互、增加非线性)

part IV :从fully-connected layers的角度理解

一、来源:[1312.4400] Network In Network (如果1×1卷积核接在普通的卷积层后面,配合激活函数,即可实现network in network的结构)

二、应用:GoogleNet中的Inception、ResNet中的残差模块

三、作用:

1、降维(减少参数)

例子1 : GoogleNet中的3a模块

输入的feature map是28×28×192

1×1卷积通道为64

3×3卷积通道为128

5×5卷积通道为32

左图卷积核参数:192 × (1×1×64) +192 × (3×3×128) + 192 × (5×5×32) = 387072

右图对3×3和5×5卷积层前分别加入了通道数为96和16的1×1卷积层,这样卷积核参数就变成了:

192 × (1×1×64) +(192×1×1×96+ 96 × 3×3×128)+(192×1×1×16+16×5×5×32)= 157184

同时在并行pooling层后面加入1×1卷积层后也可以降低输出的feature map数量(feature map尺寸指W、H是共享权值的sliding window,feature map 的数量就是channels)

左图feature map数量:64 + 128 + 32 + 192(pooling后feature map不变) = 416 (如果每个模块都这样,网络的输出会越来越大)

右图feature map数量:64 + 128 + 32 + 32(pooling后面加了通道为32的1×1卷积) = 256

GoogLeNet利用1×1的卷积降维后,得到了更为紧凑的网络结构,虽然总共有22层,但是参数数量却只是8层的AlexNet的十二分之一(当然也有很大一部分原因是去掉了全连接层)

图片

例子2:ResNet中的残差模块

假设上一层的feature map是w*h*256,并且最后要输出的是256个feature map

左侧操作数:w*h*256*3*3*256 =589824*w*h

右侧操作数:w*h*256*1*1*64 + w*h*64*3*3*64 +w*h*64*1*1*256 = 69632*w*h,,左侧参数大概是右侧的8.5倍。(实现降维,减少参数)

图片

2、升维(用最少的参数拓宽网络channal)

例子:上一个例子中,不仅在输入处有一个1*1卷积核,在输出处也有一个卷积核,3*3,64的卷积核的channel是64,只需添加一个1*1,256的卷积核,只用64*256个参数就能把网络channel从64拓宽四倍到256。

3、跨通道信息交互(channal 的变换)

例子:使用1*1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3*3,64channels的卷积核后面添加一个1*1,28channels的卷积核,就变成了3*3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互。

注意:只是在channel维度上做线性组合,W和H上是共享权值的sliding window

4、增加非线性特性

1*1卷积核,可以在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性(利用后接的非线性激活函数),把网络做的很deep。

备注:一个filter对应卷积后得到一个feature map,不同的filter(不同的weight和bias),卷积以后得到不同的feature map,提取不同的特征,得到对应的specialized neuro。

四、从fully-connected layers的角度来理解1*1卷积核

将其看成全连接层

图片

左边6个神经元,分别是a1—a6,通过全连接之后变成5个,分别是b1—b5

左边6个神经元相当于输入特征里面的channels:6

右边5个神经元相当于1*1卷积之后的新的特征channels:5

左边 W*H*6 经过 1*1*5的卷积核就能实现全连接。

In Convolutional Nets, there is no such thing as “fully-connected layers”. There are only convolution layers with 1x1 convolution kernels and a full connection table– Yann LeCun

参考:https://iamaaditya.github.io/2016/03/one-by-one-convolution/

图片

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

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

相关文章

VMware设置Ubuntu虚拟机桥接模式完整教程

VMware 设置 Ubuntu 虚拟机桥接模式完整教程 下面是一个详细的、避免出错的 VMware Ubuntu 桥接模式设置教程,包含常见问题的解决方案。 准备工作 确保宿主机(Windows 11)已连接到网络(有线或无线)确认您有管理员权限关…

浅析NVMe协议:DIF

文章目录概述DIF数据格式盘片支持DIFFormatPILPIMSETLBAF协议命令DIF支持PRACTPRACT0PRACT1PRCHK相关参考概述 NVMe协议将DIF信息作为元数据的一部分进行携带。 DIF数据格式 DIF的PI由多个字段组成,包括: Guard字段:基于逻辑块数据计算的C…

【观成科技】蔓灵花User下载者加密通信分析

概述2025年5月7日,蔓灵花(BITTER)组织针对巴基斯坦电信公司工作人员发起钓鱼邮件攻击,投递伪装为安全简报的恶意邮件,附件为IQY类型的Web查询文件。该文件在用户执行后通过HTTP协议获取远程CMD指令并执行,进…

Redis 保证数据不丢失

Redis 保证数据不丢失(或最大限度减少丢失)的核心是通过 持久化机制 结合 合理的配置策略 实现的。具体方案如下:一、核心:开启 Redis 持久化(防止进程崩溃丢失数据)Redis 提供两种持久化方式,可…

NUMA/SNC 4种组合下Stream+MLC性能对决:双路服务器BIOS调优全攻略

关于调整 BIOS NUMA 与 SNC 选项的 Stream / MLC 性能测试总结一、测试背景与目的在现代多路 Intel Xeon 服务器上,NUMA(Non-Uniform Memory Access)与 SNC(Sub-NUMA Clustering)是两项决定内存访问延迟与带宽的关键 B…

Java-113 深入浅出 MySQL 扩容全攻略:触发条件、迁移方案与性能优化

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) AI炼丹日志-31- 千呼万唤始出来 GPT-5 发布!“快的…

Kafka Connect + Streams 用到极致从 CDC 到流处理的一套落地方案

关键目标: 零丢失:端到端 Exactly Once(Source 端事务 Streams exactly_once_v2 Sink DLQ)。低延迟:Producer 端批量压缩 Streams 缓存 合理 poll/commit 间隔。可恢复:Connect/Streams 的 rebootstrap…

# `std::basic_istream`总结

std::basic_istream总结 文章目录std::basic_istream总结概述常用类型定义全局对象核心成员函数1. 格式化输入2. 非格式化输入3. 流定位4. 其他功能继承的功能来自 std::basic_ios状态检查状态管理来自 std::ios_base格式化标志流打开模式特点说明例子std::basic_istream全面用…

人工智能——课程考核

课程考核包括平时测验(75%)和讨论(25%)两个环节,测验采用线上随堂考试(2-3次,具体会在本课堂发布)重点考核:A*算法、极大极小过程(α-β剪枝)、不…

机器学习-时序预测1

最近面试过程中,Predict-then-Optimize是运筹优化算法工程师未来的发展方向。就像我之前写过的运筹优化(OR)-在机器学习(ML)浪潮中何去何从?-CSDN博客,机器学习适合预测、运筹优化适合决策。我研…

vim-plugin AI插件

文章目录一、vim 插件管理vim-plug二、如何使用和配置 vim-plug第 1 步:安装 vim-plug第 2 步:配置你的 .vimrc / init.vim第 3 步:安装插件常用 vim-plug 命令三、配置vim-aivim-aivim-deepseekvim升级四、配置 AI 插件GitHub Copilot第 1 步…

Adobe Photoshop 2025 最新下载安装教程,附PS2025下载

点击获取:Adobe Photoshop 2025 安装教程: 1、安装包下载后,鼠标右键解压安装包 添加图片注释,不超过 140 字(可选) 2、双击打开解压后的安装包文件夹 3、打开setup文件夹 添加图片注释,不超过…

LeetCode算法日记 - Day 27: 计算右侧小于当前元素的个数、翻转对

目录 1. 计算右侧小于当前元素的个数 1.1 题目解析 1.2 解法 1.3 代码实现 2. 翻转对 2.1 题目解析 2.2 解法 2.3 代码实现 1. 计算右侧小于当前元素的个数 315. 计算右侧小于当前元素的个数 - 力扣(LeetCode) 给你一个整数数组 nums &#xf…

基于SamOut的音频Token序列生成模型训练指南

通过PyTorch实现从音频特征到语义Token的端到端序列生成,适用于语音合成、游戏音效生成等场景。🧠 模型架构与核心组件 model SamOut(voc_sizevoc_size, # 词汇表大小(4098目录名特殊Token)hidden_sizehidden_size, …

AWD攻防总结

基本防守策略 1、改用户密码和服务密码 1)改linux用户密码: #passwd 如果有权限就删除用户: #userdel -r [用户名] 2)改mysql密码: #update mysql.user set passwordpassword(密码) where userroot; 删除匿名用户&…

Android14 基于Configfs的USB动态配置init.usb.configfs.rc

1 Android14 USB子系统启动以及动态切换的init.usb.rc 2 Android14 基于Configfs的USB动态配置init.usb.configfs.rc 3 Android14 高通平台的USB子系统启动和动态配置init.qcom.usb.rc 1. 什么是ConfigFS ConfigFS 是 Linux 内核提供的一种用户空间可配置的伪文件系统在Linu…

2025年KBS SCI1区TOP,矩阵差分进化算法+移动网络视觉覆盖无人机轨迹优化,深度解析+性能实测

目录1.摘要2.系统模型和问题表述3.矩阵差分进化算法4.结果展示5.参考文献6.算法辅导应用定制读者交流1.摘要 本文提出了一种面向无人机(UAV)新型轨迹优化方法,以实现对地面移动节点的高效视觉覆盖。与传统方法不同,该方法显式考虑…

Python OpenCV图像处理与深度学习:Python OpenCV图像几何变换入门

图像变换:掌握OpenCV中的几何变换 学习目标 通过本课程,学员们将能够理解图像的几何变换原理,包括缩放、旋转和平移,并能够使用Python和OpenCV库实现这些变换。本课程将通过理论讲解与实践操作相结合的方式,帮助学员们…

Redis Windows 7.0.5 安装教程(附exe/msi下载+环境配置+命令测试)

​第一步:下安装包​ 打开浏览器(比如 Edge 或 Chrome),复制这个链接到地址栏敲回车: https://pan.quark.cn/s/31912e0d0443 进去后往下翻,找名字带 ​**redis-7.0.5​ 的文件,​选那个 .exe 结…

数据结构(单链表)

目录 1.链表的概念及结构 2.单链表的应用 2.1 打印链表 2.2申请新节点 2.3插入(尾删和头删) 2.4删除(尾删和头删) 2.5查找 2.6任意位置插入 2.7删除指定位置的元素 2.8 销毁链表 3.总结 1.链表的概念及结构 &#xff…