太原网站排名以客为尊/百度搜索电话

太原网站排名以客为尊,百度搜索电话,贵州互联网公司,工作号做文案素材的网站11卷积的作用与原理详解 文章目录 11卷积的作用与原理详解引言1. 什么是11卷积?2. 11卷积的数学表达3. 11卷积的主要作用3.1 改变通道数(升维/降维)3.1.1 降维(Dimension Reduction)3.1.2 升维(Dimension I…

1×1卷积的作用与原理详解

文章目录

  • 1×1卷积的作用与原理详解
    • 引言
    • 1. 什么是1×1卷积?
    • 2. 1×1卷积的数学表达
    • 3. 1×1卷积的主要作用
      • 3.1 改变通道数(升维/降维)
        • 3.1.1 降维(Dimension Reduction)
        • 3.1.2 升维(Dimension Increase)
      • 3.2 特征融合(Feature Fusion)
      • 3.3 增加非线性
    • 4. 1×1卷积在经典网络中的应用
      • 4.1 Network in Network (NiN)
      • 4.2 GoogLeNet (Inception)
      • 4.3 ResNet的瓶颈结构
    • 5. 1×1卷积的优势总结
    • 6. 代码实现示例
    • 7. 结论
    • 参考文献

引言

在深度学习特别是卷积神经网络(CNN)的中,1×1卷积操作看似简单,却有着重要的作用。本文将详细介绍1×1卷积的工作原理及其在深度学习模型中的多种作用,特别是在通道数调整和特征融合方面的应用。

1. 什么是1×1卷积?

1×1卷积,顾名思义,是使用大小为1×1的卷积核进行的卷积操作。与传统的3×3、5×5等卷积核不同,1×1卷积核在空间维度上不进行扩展,仅在通道维度上进行操作。

假设输入特征图的尺寸为 H × W × C i n H \times W \times C_{in} H×W×Cin(高度×宽度×输入通道数),1×1卷积层包含 C o u t C_{out} Cout 个卷积核(也就是说,这个1×1卷积层的尺寸为 1 × 1 × C o u t 1 \times 1 \times C_{out} 1×1×Cout ),则输出特征图的尺寸为 H × W × C o u t H \times W \times C_{out} H×W×Cout

(敲黑板:希望读者能够真正理解上述公式,从而就能够理解3.1中所述的:1×1卷积为什么能够改变通道数。)

2. 1×1卷积的数学表达

对于输入特征图 X ∈ R H × W × C i n X \in \mathbb{R}^{H \times W \times C_{in}} XRH×W×Cin,1×1卷积的数学表达式为:

Y ( i , j , n ) = ∑ c = 1 C i n X ( i , j , c ) ⋅ W ( 1 , 1 , c , n ) + b ( n ) Y(i,j,n) = \sum_{c=1}^{C_{in}} X(i,j,c) \cdot W(1,1,c,n) + b(n) Y(i,j,n)=c=1CinX(i,j,c)W(1,1,c,n)+b(n)

其中:

  • Y ( i , j , n ) Y(i,j,n) Y(i,j,n) 是输出特征图在位置 ( i , j ) (i,j) (i,j) 处第 n n n 个通道的值
  • X ( i , j , c ) X(i,j,c) X(i,j,c) 是输入特征图在位置 ( i , j ) (i,j) (i,j) 处第 c c c 个通道的值
  • W ( 1 , 1 , c , n ) W(1,1,c,n) W(1,1,c,n) 是第 n n n 个卷积核在第 c c c 个输入通道上的权重
  • b ( n ) b(n) b(n) 是第 n n n 个卷积核的偏置项

3. 1×1卷积的主要作用

3.1 改变通道数(升维/降维)

1×1卷积最直观的作用是改变特征图的通道数,这在网络架构设计中非常有用:

1×1卷积 改变通道数(升维/降维)举例

3.1.1 降维(Dimension Reduction)

C o u t < C i n C_{out} < C_{in} Cout<Cin 时,1×1卷积起到降维的作用。这可以显著减少参数量和计算量。

例如,假设输入特征图尺寸为 56 × 56 × 256 56 \times 56 \times 256 56×56×256,使用64个1×1卷积核后,输出特征图尺寸变为 56 × 56 × 64 56 \times 56 \times 64 56×56×64,参数量为 256 × 64 + 64 = 16448 256 \times 64 + 64 = 16448 256×64+64=16448(权重+偏置)。

降维操作可以表示为:

Y r e d u c e d = f ( X ⋅ W 1 × 1 + b ) Y_{reduced} = f(X \cdot W_{1 \times 1} + b) Yreduced=f(XW1×1+b)

其中 f f f 是激活函数,通常是ReLU。

3.1.2 升维(Dimension Increase)

C o u t > C i n C_{out} > C_{in} Cout>Cin 时,1×1卷积起到升维的作用,可以增加特征的表达能力。

3.2 特征融合(Feature Fusion)

1×1卷积的另一个重要作用是进行特征融合,这实际上是对通道维度的信息进行重组和整合。

从数学角度看,1×1卷积对每个空间位置 ( i , j ) (i,j) (i,j) 执行的操作可以看作是一个全连接层:

Y ( i , j , : ) = W ⋅ X ( i , j , : ) + b Y(i,j,:) = W \cdot X(i,j,:) + b Y(i,j,:)=WX(i,j,:)+b

这里 X ( i , j , : ) X(i,j,:) X(i,j,:) 是位置 ( i , j ) (i,j) (i,j) 处所有通道的向量, W W W 是权重矩阵。

通过这种方式,1×1卷积实现了通道间的信息交互和融合,学习通道间的相关性,从而生成新的、更有表达力的特征表示。

3.3 增加非线性

每个1×1卷积后通常会跟随一个非线性激活函数(如ReLU),这为网络引入了额外的非线性,增强了模型的表达能力:

Y = f ( X ∗ W 1 × 1 + b ) Y = f(X * W_{1 \times 1} + b) Y=f(XW1×1+b)

其中 f f f 是非线性激活函数, ∗ * 表示卷积操作。

4. 1×1卷积在经典网络中的应用

4.1 Network in Network (NiN)

1×1卷积最早在Lin等人提出的Network in Network架构中被引入。NiN使用1×1卷积来增强局部模型的抽象能力。[1]

4.2 GoogLeNet (Inception)

GoogLeNetInception模块中,1×1卷积被用于在3×3和5×5卷积前进行降维,显著减少了计算复杂度。

例如,对于一个 28 × 28 × 256 28 \times 28 \times 256 28×28×256 的输入,直接应用64个5×5卷积核需要计算:
28 × 28 × 5 × 5 × 256 × 64 = 51 , 380 , 224 28 \times 28 \times 5 \times 5 \times 256 \times 64 = 51,380,224 28×28×5×5×256×64=51,380,224 次乘法操作

而先使用32个1×1卷积核降维,再应用64个5×5卷积核:

  • 1×1卷积: 28 × 28 × 1 × 1 × 256 × 32 = 6 , 422 , 528 28 \times 28 \times 1 \times 1 \times 256 \times 32 = 6,422,528 28×28×1×1×256×32=6,422,528 次乘法
  • 5×5卷积: 28 × 28 × 5 × 5 × 32 × 64 = 6 , 422 , 528 28 \times 28 \times 5 \times 5 \times 32 \times 64 = 6,422,528 28×28×5×5×32×64=6,422,528 次乘法
  • 总计: 12 , 845 , 056 12,845,056 12,845,056 次乘法,仅为原来的约1/4

4.3 ResNet的瓶颈结构

ResNet的瓶颈(Bottleneck)结构中,使用了1×1-3×3-1×1的连续卷积组合,其中第一个1×1卷积用于降维,最后一个1×1卷积用于升维,大大减少了模型的参数量和计算量。

5. 1×1卷积的优势总结

  1. 参数效率:通过降维减少参数量和计算复杂度
  2. 特征重组:在通道维度上重组特征,增强特征表达
  3. 增加网络深度:以较小的计算代价增加网络深度和非线性
  4. 跨通道信息整合:学习通道间的相关性和依赖关系

6. 代码实现示例

以PyTorch为例,1×1卷积的实现实例如下所示:

import torch.nn as nn# 定义一个1×1卷积层,将256通道降维到64通道
conv1x1 = nn.Conv2d(in_channels=256, out_channels=64, kernel_size=1)# 在瓶颈结构中的应用
class Bottleneck(nn.Module):def __init__(self, in_channels, bottleneck_channels, out_channels):super(Bottleneck, self).__init__()self.conv1 = nn.Conv2d(in_channels, bottleneck_channels, kernel_size=1)self.bn1 = nn.BatchNorm2d(bottleneck_channels)self.conv2 = nn.Conv2d(bottleneck_channels, bottleneck_channels, kernel_size=3, padding=1)self.bn2 = nn.BatchNorm2d(bottleneck_channels)self.conv3 = nn.Conv2d(bottleneck_channels, out_channels, kernel_size=1)self.bn3 = nn.BatchNorm2d(out_channels)self.relu = nn.ReLU(inplace=True)def forward(self, x):identity = xout = self.conv1(x)out = self.bn1(out)out = self.relu(out)out = self.conv2(out)out = self.bn2(out)out = self.relu(out)out = self.conv3(out)out = self.bn3(out)out += identityout = self.relu(out)return out

7. 结论

1×1卷积虽然在空间维度上看似简单,但在深度学习模型设计中扮演着至关重要的角色。它不仅能够有效地调整特征图的通道数,还能在通道维度上融合特征,增加网络的非线性,同时保持计算效率。理解和灵活运用1×1卷积,对于设计高效的深度学习模型至关重要。


参考文献

  1. Lin, M., Chen, Q., & Yan, S. (2013). Network in network. arXiv preprint arXiv:1312.4400. [👉论文PDF链接点击这里👈]
  2. Szegedy, C., et al. (2015). Going deeper with convolutions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. [👉论文PDF链接点击这里👈]
  3. He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. [👉论文PDF链接点击这里👈]

以上是关于1×1卷积作用与原理的详细介绍,相信你已经对1×1卷积在改变通道数和特征融合方面的作用有了一定的理解😊
在实际的深度学习模型设计中,合理利用1×1卷积可以显著提高模型的效率和性能。

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

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

相关文章

网络配置的基本信息

目录 一、网络接口信息 1、关闭虚拟化服务 2、配置临时IP 3、配置静态IP 4、常见网络命令 5、安装Wireshark 一、网络接口信息 输入 ip address&#xff0c;会出现下面的内容 网卡名称及其含义&#xff1a; 网卡名称说明lo 表示本地回环地址。 ens32 有线网卡&#xff0c…

dify绑定飞书多维表格

dify 绑定飞书和绑定 notion 有差不多的过程&#xff0c;都需要套一层应用的壳子&#xff0c;而没有直接可以访问飞书文档的 API。本文记录如何在dify工具中使用新增多条记录工具。 创建飞书应用 在飞书开放平台创建一个应用&#xff0c;个人用户创建企业自建应用。 自定义应…

《HelloGitHub》第 107 期

兴趣是最好的老师&#xff0c;HelloGitHub 让你对编程感兴趣&#xff01; 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等&#xff0c;涵盖多种编程语言 Python、…

【每日一题 | 2025】2.24 ~ 3.2

个人主页&#xff1a;Guiat 归属专栏&#xff1a;每日一题 文章目录 1. 【2.24】P10424 [蓝桥杯 2024 省 B] 好数2. 【2.25】P8665 [蓝桥杯 2018 省 A] 航班时间3. 【2.26】P10905 [蓝桥杯 2024 省 C] 回文字符串4. 【2.27】P10425 [蓝桥杯 2024 省 B] R 格式5. 【2.28】P10426…

跟着官方文档学习UE C++ TArray容器系列 迭代 和 排序

一.首先测试下&#xff0c;官方案例 迭代器的方法&#xff0c;有点不常见。有点像个指针&#xff0c;迭代完还自带break. oid AWXTArrayActor::WXLoopArray() {FString JoinedStr1;FString JoinedStr2;TArray<FString> StrArr { "Hello","Baby",&q…

Qt 对象树详解:从原理到运用

1. 什么是对象树&#xff1f; 对象树是一种基于父子关系的对象管理机制。在 Qt 中&#xff0c;所有继承自 QObject 的类都可以参与到对象树中。 当一个对象被设置为另一个对象的父对象时&#xff0c;子对象会被添加到父对象的内部列表中&#xff0c;形成一种树状结构。 Qt 提…

JavaAPI(网络编程)

网络通信协议 通信协议 ‌所谓通信协议&#xff0c;是指通信双方在进行数据交换时必须遵守的规则和约定。‌这些规则确保了双方能够有效地进行通信&#xff0c;实现信息的交换和资源共享。通信协议定义了传输时的数据格式、控制信息以及传输顺序和速度等&#xff0c;确保双方…

Java---入门基础篇(下)---方法与数组

前言 本篇文章主要讲解有关方法与数组的知识点 ,是基础篇的一部分 , 而在下一篇文章我会讲解类和对象的知识点 入门基础篇上的链接给大家放在下面啦 ! Java---入门基础篇(上)-CSDN博客 感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb; 欢迎各位大佬指点…

Python 爬虫 – BeautifulSoup

Python 爬虫&#xff08;Web Scraping&#xff09;是指通过编写 Python 程序从互联网上自动提取信息的过程。 爬虫的基本流程通常包括发送 HTTP 请求获取网页内容、解析网页并提取数据&#xff0c;然后存储数据。 Python 的丰富生态使其成为开发爬虫的热门语言&#xff0c;特…

图像分类项目1:基于卷积神经网络的动物图像分类

一、选题背景及动机 在现代社会中&#xff0c;图像分类是计算机视觉领域的一个重要任务。动物图像分类具有广泛的应用&#xff0c;例如生态学研究、动物保护、农业监测等。通过对动物图像进行自动分类&#xff0c;可以帮助人们更好地了解动物种类、数量和分布情况&#xff0c;…

PHP:IDEA开发工具配置XDebug,断点调试

文章目录 一、php.ini配置二、IDEA配置 一、php.ini配置 [xdebug] zend_extension"F:\wamp64\bin\php\php7.4.0\ext\php_xdebug-2.8.0-7.4-vc15-x86_64.dll" xdebug.remote_enable on xdebug.remote_host 127.0.0.1 xdebug.remote_port 9001 xdebug.idekey"…

【Java】使用jdk自带的zip压缩实现任意文件压缩打包下载功能(复制即用)

前言 在实际项目中&#xff0c;我们可能会接到将文件或者资料打包压缩导出的需求&#xff0c;例如将系统中某些生成的文件一起打包压缩下载提供给客户使用&#xff0c;今天提供一个jdk自带的工具类快速实现打包压缩的功能&#xff0c;方法我已经封装好&#xff0c;大家如果在项…

腾讯云扩容记录

腾讯云扩容&#xff1a; sudo yum install -y cloud-utils-growpart 安装扩容工具 sudo file -s /dev/vda1 有数据 sudo LC_ALLen_US.UTF-8 growpart /dev/vda 1 sudo resize2fs /dev/vda1 df -Th 完毕 以下是对执行的命令的详细解释以及背后的原理&#xff1a; 1. 安装 cloud…

服务流程设计和服务或端口重定向及其websocket等应用示例

服务流程设计和服务或端口重定向及其websocket等应用示例 目录 服务或端口重定向的服务设计和websocket等应用示例 一、通用请求控制流程 1.1、入口 1.2、所有GET请求首先预检控制单元 1.3、http请求会分别自动307重定向 1.4、所有请求首先执行跨源控制单元 1.5、然后…

使用DeepSeek+KIMI生成高质量PPT

一、使用DeepSeek DeepSeek官网&#xff1a;DeepSeek 点击“开始对话”&#xff0c;进入交互页面。 在上图中&#xff0c;输入问题&#xff0c;即可获取AI生成的结果。 基础模型&#xff08;V3&#xff09;&#xff1a;通用模型&#xff08;2024.12&#xff09;&#xff0c;高…

MySQL—使用binlog日志恢复数据

一、binlog日志恢复数据简介 在 MySQL 中&#xff0c;使用二进制日志&#xff08;binlog&#xff09;恢复数据是一种常见的用于故障恢复或数据找回的方法。以下是详细的使用步骤&#xff1a; 确认 binlog 已启用&#xff1a;首先需要确认 MySQL 服务器已经启用了二进制日志功…

VADv2: 基于矢量表征和概率规划的E2E架构

1. 写在前面 今天分享一篇自动驾驶领域的论文VADv2(End-to-End Vectorized Autonomous Driving via Probabilistic Planning), 基于矢量表征和概率规划的E2E架构,2024年2月份华中科技大和地平线合作的一篇文章, 在经典的端到端模型架构上作出了基于概率规划去输出规划轨迹的…

NLP11-命名实体识别(NER)概述

目录 一、序列标注任务 常见子任务 二、 命名实体识别&#xff08;NER&#xff09; &#xff08;一&#xff09;简介 &#xff08;二&#xff09;目标 &#xff08;三&#xff09;应用场景 &#xff08;四&#xff09;基本方法 &#xff08;五&#xff09;工具与资源 一…

虚拟仿真无线路由器5G和2.4G发射信号辐射对比(虚拟仿真得出最小安全距离,与国际标准要求一致)

1、前言 有人说&#xff0c;只要有电磁波的地方就有辐射。5G和2.4G信号辐射强度是多少&#xff1f;是否会对人体构成危害&#xff1f;无线路由器的2.4GHz频段&#xff0c;频率范围&#xff1a;2.4 GHz 至 2.4835 GHz&#xff0c;信道宽度&#xff1a;通常为20 MHz&#xff0c;…

【数据挖掘】Matplotlib

Matplotlib 是 Python 最常用的 数据可视化 库之一&#xff0c;在数据挖掘过程中&#xff0c;主要用于 数据探索 (EDA)、趋势分析、模式识别 和 结果展示。 &#x1f4cc; 1. Matplotlib 基础 1.1 安装 & 导入 # 如果未安装 Matplotlib&#xff0c;请先安装 # pip instal…