卷积神经网络 - 卷积的变种、数学性质

news2025/3/20 2:29:57

本文我们来学习卷积的变种和相关的数学性质,为后面学习卷积神经网络做准备,有些概念可能不好理解,可以先了解其概念,然后慢慢理解、逐步深入。

在卷积的标准定义基础上,还可以引入卷积核的滑动步长和零填充来增加卷积的多样性,可以更灵活地进行特征抽取。

一、步长(Stride)

是指卷积核在滑动时的时间间隔,下图给出了步长为 2 的卷积示例:

二、填充

1、零填充(Zero Padding)

      是在输入向量两端进行补零,下图5给出了输入的两端各补一个零后的卷积示例:

2、窄卷积(Valid Convolution)、宽卷积(Full Convolution)和等宽卷积(Same Convolution)

以上三种是标准卷积的三种不同填充策略。它们的主要区别在于输入输出的尺寸关系,而非卷积操作本身的结构创新。

(一)核心定义与数学关系

类型填充策略输出尺寸公式(输入尺寸nn,核大小kk,步幅s=1s=1)直观解释
窄卷积无填充(padding=0n−k+1只处理输入的有效区域,输出缩小
宽卷积全填充(padding=k-1n+k−1覆盖输入的所有可能位置,输出扩大
等宽卷积对称填充(padding=(k-1)/2n保持输入输出尺寸一致

(二)与卷积变种的本质区别

1. 改进目标不同
  • 窄/宽/等宽卷积:调整输入输出的空间关系,解决尺寸匹配问题(如保持分辨率、扩大感受野)。

  • 卷积变种(如空洞卷积、可分离卷积):改进特征提取方式参数效率(如扩大感受野、减少计算量)。

2. 技术手段不同
类型技术手段是否改变卷积核结构
窄/宽/等宽卷积调整填充量否(仅改变输入边界处理)
空洞卷积插入空洞间隔是(改变采样方式)
可分离卷积分解为深度+逐点卷积是(改变操作流程)

(三)具体示例对比

场景:输入信号长度为5(n=5),卷积核大小3(k=3
  • 窄卷积(无填充):

    • 输出长度 = 5−3+1=3

    • 计算区域:[1-3], [2-4], [3-5](忽略边界外数据)

  • 宽卷积(填充2,零填充):

    • 输出长度 = 5+3−1=7

    • 计算区域扩展至输入外(如填充后的输入为[0,0,1,2,3,4,5,0,0]

  • 等宽卷积(填充1,对称填充):

    • 输出长度保持5

    • 填充后的输入为[0,1,2,3,4,5,0]

(四)为何不属于卷积变种?

  1. 不涉及结构创新
    窄/宽/等宽卷积仅通过填充控制输入输出的尺寸,未改变卷积核的权重共享机制或特征提取方式。例如,无论选择哪种填充方式,标准卷积的局部连接和权重共享特性均保持不变。

  2. 通用性
    这三种填充策略可应用于任何标准卷积或变种卷积。例如,空洞卷积可以选择窄填充或等宽填充,分组卷积也可搭配宽卷积使用。

  3. 参数无关性
    填充策略不影响卷积核的参数学习,而变种卷积(如可变形卷积)会直接调整核的采样位置或参数生成方式。

(五)实际应用场景

填充类型典型应用场景
窄卷积特征图尺寸逐步缩减的网络(如VGG)
宽卷积信号恢复任务(如去噪、超分辨率重建)
等宽卷积需保持分辨率的任务(如语义分割、风格迁移)

窄卷积、宽卷积、等宽卷积是标准卷积的不同填充模式,属于卷积操作的基础配置选项,而非结构上的变种。它们的核心作用是控制输入输出的空间映射关系,而非改进特征提取能力或效率。理解这一点有助于避免混淆基础操作与高级改进方法。

三、卷积的变种

卷积神经网络(CNN)的变种在标准卷积的基础上进行改进,以解决不同任务中的特定需求。以下是对几种常见卷积变种的通俗解析:

1. 空洞卷积(Dilated Convolution)

问题:标准卷积的感受野有限,难以捕捉大范围上下文信息。
改进:在卷积核中插入“空洞”,扩大覆盖范围而不增加参数。
比喻:像用“望远镜”观察数据,跳过中间细节直接看远处特征。

例子

  • 输入序列[A, B, C, D, E, F]

  • 空洞率=2的3核卷积
    A ? C ? E → 实际覆盖 A, C, E
    ?表示跳过的位置)

应用场景

  • 语义分割(如识别图像中的大型物体)

  • 时间序列预测(捕捉长期依赖)

2. 可分离卷积(Separable Convolution)

问题:标准卷积参数多、计算量大,尤其对移动设备不友好。
改进:将卷积分解为深度卷积(逐通道) + 逐点卷积(1x1),减少计算量。

数学对比

  • 标准卷积参数量:Cin×Cout×K×K

  • 可分离卷积参数量:Cin×K×K+Cin×Cout
    (假设输入输出通道数均为64,3x3卷积核:标准需 64x64x9=36,864 参数,可分离仅需 64x9 + 64x64=4,672 参数)

应用场景

  • 移动端模型(如MobileNet)

  • 实时视频处理

3. 转置卷积(Transposed Convolution)

问题:标准卷积会缩小特征图尺寸,但某些任务需要放大输出(如生成图像)。
改进:通过“反向滑动”实现上采样,填充间隔后做标准卷积。

操作示例

  • 输入:2x2矩阵

  • 转置卷积核:3x3,步长=2

  • 输出:5x5矩阵(通过插值扩大尺寸)

应用场景

  • 图像生成(GAN生成高分辨率图片)

  • 语义分割(恢复原始图像尺寸)

4. 分组卷积(Grouped Convolution)

问题:标准卷积要求所有通道全连接,计算成本高且缺乏并行性。
改进:将输入通道分为多组,每组独立卷积后再合并。

对比

  • 标准卷积:所有通道混合计算

  • 分组卷积:分组处理(如将64通道分为4组,每组16通道)

优势

  • 参数减少为 1/组数

  • 并行加速(不同组可分配到不同GPU核心)

应用场景

  • 高效模型设计(如ResNeXt)

  • 多任务学习(不同组学习不同特征)

5. 可变形卷积(Deformable Convolution)

问题:标准卷积核形状固定,无法适应不规则物体(如弯曲的动物)。
改进:让卷积核的采样点位置可学习,动态调整形状。

效果演示

  • 标准3x3卷积:固定覆盖9个点

  • 可变形卷积:9个点根据输入内容偏移(如聚焦在弯曲的鱼骨上)

应用场景

  • 目标检测(处理变形物体)

  • 医学图像分析(器官形状不规则)

6. 动态卷积(Dynamic Convolution)

问题:静态卷积核难以适应输入内容的变化
改进:根据输入数据动态生成卷积核参数。

例子

  • 输入一张猫图 → 生成“猫耳检测核”

  • 输入一张车图 → 生成“车轮检测核”

应用场景

  • 多模态数据处理

  • 少样本学习

变种卷积的核心价值

变种类型解决的核心问题关键技术手段
空洞卷积感受野受限间隔采样扩大覆盖范围
可分离卷积参数冗余、计算量大分解为深度+逐点卷积
转置卷积输出尺寸缩小反向滑动实现上采样
分组卷积计算成本高、缺乏并行性通道分组独立处理
可变形卷积几何形变适应差可学习的采样点偏移
动态卷积静态核泛化能力不足输入相关的动态参数生成

核心思想:所有卷积变种都围绕两个方向改进:

  1. 增强特征表达能力(扩大感受野、适应形变等)

  2. 提升计算效率(减少参数量、加速计算等)

通过灵活组合这些变种,现代CNN能够应对从图像分类到自动驾驶等复杂任务的需求。

四、如何理解卷积的数学性质:交换性和导数?

卷积在数学和深度学习中有一些重要的性质,理解这些性质有助于更深入地掌握其工作原理,尤其是在神经网络中的应用。下面从交换性导数两个角度进行解析:

(一)卷积的交换性

1. 数学定义中的交换性

严格数学卷积(信号处理中的定义)是可交换的,即:

证明

例子

  • 信号处理:用滤波器 f 处理信号 g,与用信号 g 处理滤波器 f,结果相同。

  • 图像处理:用边缘检测核 K 卷积图像 I,等价于用图像 I 卷积核 K。

2. 深度学习中的“卷积”是否满足交换性?

在深度学习中,实际使用的是互相关(Cross-Correlation)而非严格卷积。互相关操作不满足交换性

原因
互相关不翻转核,因此核的位置敏感。例如,检测猫耳朵的核放在图像左上角和右下角,结果不同。

实际意义

  • 在训练中,网络通过反向传播自动学习核的方向性特征(如左边缘或右边缘检测器)。

  • 交换性在深度学习中不重要,因为核的参数是数据驱动的。

(二)卷积的导数

1. 卷积的导数规则

在反向传播中,卷积层的导数计算遵循以下规则:

直观理解

  • 对输入的导数 = 核的导数与输入信号的卷积。

  • 对核的导数 = 输入信号与输入梯度的卷积。

2. 反向传播中的具体计算

假设卷积层的输入为 X,核为 K,输出为 Y=X∗K,损失函数为 L。
反向传播时:

  • 输入梯度

  • 核梯度

例子

  • 输入的梯度:

(三)交换性和导数的实际意义

1. 交换性的意义
  • 数学理论:简化计算(如傅里叶变换中 F(f∗g)=F(f)⋅F(g))。

  • 深度学习:无直接应用,因为实际使用互相关,但参数学习自动适应方向性。

2. 导数的意义
  • 参数更新:通过梯度计算优化核权重。

  • 特征可视化:通过梯度反传理解网络关注的特征(如显著图生成)。

(四)总结与记忆

性质数学卷积深度学习中的互相关实际意义
交换性成立不成立理论计算简化,实际无需关心
导数链式法则反向传播规则网络优化的数学基础

口诀
“数学卷积可交换,深度互相关不转;
导数计算链式传,反向传播梯度算。”

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

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

相关文章

BLIP论文阅读

目录 现存的视觉语言预训练存在两个不足: 任务领域 数据集领域 相关研究 知识蒸馏 Method 单模态编码器: 基于图像的文本编码器: 基于图像的文本解码器: 三重目标优化 图像文本对比损失:让匹配的图像文本更加…

[动手学习深度学习]26. 网络中的网络 NiN

前面的LeNet、AlexNet、VGG在设计上的共同之处在于:先以卷积层构成的模块充分抽取空间特征,再以全连接层构成的模块来输出分类结果 其中AlexNet和VGG对LeNet的改进主要在于如何对这两个模块价款(增加通道数)和加深 这一节的NiN提出…

碰一碰发视频saas系统技术源头一站式开发文档

碰一碰发视频系统技术源头一站式开发文档 一、引言 在数字化信息传播高速发展的当下,如何让视频分享更便捷、高效,成为商家和开发者们关注的焦点。“碰一碰发视频”系统以其独特的交互方式和强大的功能优势,为视频分享领域带来了革命性变革。…

Linux目录理解

前言 最近在复习linux,发现有些目录总是忘记内容,发现有些还是得从原义和实际例子去理解会记忆深刻些。以下是个人的一些理解 Linux目录 常见的Linux下的目录如下: 1. 根目录 / (Root Directory) 英文含义:/ 是文件系统的根…

可视化图解算法:链表中倒数(最后)k个结点

1. 题目 描述 输入一个长度为 n 的链表,设链表中的元素的值为ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 数据范围:0≤n≤105,0 ≤ai≤109,0 ≤k≤109 要求&am…

Swift 并发中的任务让步(Yielding)和防抖(Debouncing)

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

HW基本的sql流量分析和wireshark 的基本使用

前言 HW初级的主要任务就是看监控(流量) 这个时候就需要我们 了解各种漏洞流量数据包的信息 还有就是我们守护的是内网环境 所以很多的攻击都是 sql注入 和 webshell上传 (我们不管对面是怎么拿到网站的最高权限的 我们是需要指出它是…

docker-compose install nginx(解决fastgpt跨区域)

CORS前言 CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种安全措施,它允许或拒绝来自不同源(协议、域名、端口任一不同即为不同源)的网页访问另一源中的资源。它的主要作用如下: 同源策略限制:Web 浏览器的同源策略限制了从一个源加载的文档或脚本如何与另一…

设计模式(创建型)-单例模式

摘要 在软件开发的世界里,设计模式是开发者们智慧的结晶,它们为解决常见问题提供了经过验证的通用方案。单例模式作为一种基础且常用的设计模式,在许多场景中发挥着关键作用。本文将深入探讨单例模式的定义、实现方式、应用场景以及可…

鸿蒙NEXT开发问题大全(不断更新中.....)

目录 问题1:鸿蒙NEXT获取华为手机的udid ​问题2:[Fail]ExecuteCommand need connect-key? 问题3:测试时如何安装app包 问题1:鸿蒙NEXT开发获取华为手机的udid hdc -t "设备的序列号" shell bm get --udid 问题2&…

TI的Doppler-Azimuth架构(TI文档)

TI在AWR2944平台上推出新的算法架构,原先的处理方式是做完二维FFT后在RD图上做CFAR检测,然后提取各个通道数据做测角。 Doppler-Azimuth架构则是做完二维FFT后,再做角度维FFT,生成Doppler-Azimuth频谱图,然后在该频谱图…

「自动驾驶的数学交响曲:线性代数、微积分与优化理论的深度共舞」—— 解析人工智能背后的高阶数学工具链

引言 自动驾驶系统是数学工具链的集大成者。从传感器数据的多维空间映射到控制指令的生成,每一步都隐藏着线性代数、微积分、概率论和优化理论的精妙配合。本文将构建一个数学模型完整的自动驾驶案例,结合Python代码实现,揭示以下核心数学工具: 线性代数:张量运算与特征空…

调试 Rust + WebAssembly 版康威生命游戏

1. 启用 Panic 日志 1.1 让 Panic 信息显示在浏览器控制台 如果 Rust 代码发生 panic!(),默认情况下不会在浏览器开发者工具中显示详细的错误信息。这使得排查问题变得困难。 我们可以使用 console_error_panic_hook 这个 Rust crate,将 Panic 信息打…

VSCode通过SSH远程登录Windows服务器

系列 1.1 VSCode通过SSH远程登录Windows服务器 1.2 VSCode通过SSH免密远程登录Windows服务器 文章目录 系列1 准备工作2 远程服务器配置2.1 安装SSH服务器2.2 端口 3 本地电脑配置3.1 安装【Remote - SSH】。3.2 登录 1 准备工作 本地电脑Windows 11,已安装VS Cod…

qt下载和安装教程国内源下载地址

qt不断在更新中,目前qt6日渐成熟,先前我们到官方下载或者国内镜像直接可以下载到exe文件安装,但是最近几年qt官方似乎在逐渐关闭旧版本下载通道,列为不推荐下载。但是qt5以其广泛使用和稳定性,以及积累大量代码使得qt5…

mysql 到 doris 挪移数据

工具datax..... 下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz 下载以后解压:tar -xvzf datax.tar.gz 然后,理论上就可以直接使用了。但是,datax本身是python2写的,如果需要python3…

ubuntu系统下添加pycharm到快捷启动栏方法

一、背景 之前在ubuntu系统下使用pycharm时,总是要进入/home/dlut/pycharm-community-2022.1/bin文件夹下,然后终端执行命令下面的命令才可修改代码: ./pycharm.sh为了以后方便,这里给出添加pycharm到快捷启动栏的方法 二、添加…

开源:LMDB 操作工具:lmcmd

目录 什么是 LMDB为什么编写 lmcmd安装方法如何使用 连接数据库命令列表 小结 1. 什么是 LMDB LMDB(Lightning Memory-Mapped Database)是一种高效的键值存储数据库,基于内存映射(memory-mapping)技术,提供…

angular中的路由传参

目录 一、矩阵参数 一、矩阵参数 在angular中传参时可以使用矩阵参数,即直接通过变量值的形式在地址中体现,但需要注意参数的使用范围为当前路径段,而不是全局的查询参数。 const params {name: lhhh,age: 18,list: [{ name: htt }],}; //先…

AI时代下的心理咨询师新利器:心理咨询小程序

在AI技术日新月异的今天,心理咨询师们也需要与时俱进,借助新型工具来提升咨询效率和服务质量。正如一位优秀的厨师离不开一把锋利的菜刀,心理咨询师同样需要一款得力助手来辅助其工作。而心理咨询小程序,正是这样一款应运而生的工…