【直觉建设】对卷积的理解

本文深入浅出地介绍了卷积的概念,揭示了其在信号处理和图像平滑中的应用。卷积描述了函数间的相互作用,用于计算输出信号或过滤图像噪声。反卷积则作为卷积的逆运算,常用于上采样和图像生成任务。通过矩阵表示,卷积和反卷积的关系变得更加清晰。
摘要由CSDN通过智能技术生成

引言

卷积,高数上的惊鸿一瞥,深度学习中熟悉的陌生人,这次终于决定来好好了解你,希望今后咱们的感情可以一直牢固…

本质

卷积描述了三个函数之间的关系,这里设为 f , g , w f, g, w f,g,w,表示的是函数 g g g作用于函数 f f f时产生的结果 w w w,对于 w w w函数中的每一个变量 x x x,其值不仅与在 x x x g g g f f f的作用有关,还与 x x x的前后时刻相关,因此要汇总这样一个影响,就可以利用加权求和(离散变量)/积分(连续变量)的手段,我们称这种情况下的加权求和/积分为卷积,表达式为:
w ( x ) = ∑ τ = − ∞ ∞ f ( τ ) g ( x − τ ) w(x) = \sum_{\tau=-\infty}^{\infty}f(\tau)g(x-\tau) w(x)=τ=f(τ)g(xτ)——离散变量
w ( x ) = ∫ − ∞ ∞ f ( τ ) g ( x − τ ) d τ w(x) = \int_{-\infty}^{\infty}f(\tau)g(x-\tau)d\tau w(x)=f(τ)g(xτ)dτ——连续变量

应用

从数学上讲,卷积就是一种运算。
某种运算,能被定义出来,至少有以下特征:
1.首先是抽象的、符号化的
2.其次,在生活、科研中,有着广泛的作用
——马同学

信号与系统中, f f f是输入信号, g g g是单位相应,我们想获得输出信号 w w w,那么就可以应用卷积。其中,对于 t t t时刻的输出来说,不仅 t t t时刻的输入会带来影响, t t t时刻之前和之后的信号都会有影响,但同时信号也是有衰减的, t t t时刻输入的信号 t + 1 t+1 t+1时刻的影响肯定要比对 t t t时刻的影响要弱(这句话是猜的),这种影响我们用函数 g g g来描述,因此 t t t时刻的输出就可以写为:
w ( t ) = ∑ τ = − ∞ ∞ f ( τ ) g ( t − τ ) w(t) = \sum_{\tau=-\infty}^{\infty}f(\tau)g(t-\tau) w(t)=τ=f(τ)g(tτ)

图像处理中,我们获得一幅噪声较大的图像 f f f,希望能通过一种平滑的方式 g g g得到去除噪声后的图像 w w w,同样可以应用卷积。对于输入图像中的某个像素点 ( x , y ) (x, y) (x,y),平滑他的方式应该由它周围的像素点共同作用,那么每个像素点到底与它周围多大范围内的像素点建立联系,就是由卷积核 g g g的大小来决定的,这里假设为 2 ∗ 2 2*2 22;同时,这种平滑对于图像中不同的区域应该具有相同的作用(空间不变性),即图像中的所有区域共享一组权重(函数 g g g),那么卷积表达式:
w ( x , y ) = ∑ k = 0 2 ∑ h = 0 2 f ( h , k ) g ( h − x , y − k ) w(x, y) = \sum_{k=0}^{2}\sum_{h=0}^{2}f(h, k)g(h-x, y-k) w(x,y)=k=02h=02f(h,k)g(hx,yk)
(由于比较了解cv这个领域,所以具体化了这个问题,表达式也是更具体的)

反卷积

卷积构建的三个函数 f , g , w f, g, w f,g,w之间的关系,其实是一种多( f f f)对一( w w w)的映射,但在实际应用中,我们也会有对一对多的需求,比如上采样(图像生成任何和语义分割任务的最后阶段),这时就可以应用利用反卷积运算

可以简单推理知,多对一(卷积)和一对多(反卷积)是一对逆运算,直接获得卷积的逆运算不容易,我们可以将卷积操作转化为我们较为熟悉的矩阵运算。我们知道,卷积运算中,卷积核是平移重复使用的,因此通过重复卷积核,就能得到卷积矩阵。那么卷积矩阵的维度和数值如何确定呢?
设输入图像为 X X X 4 ∗ 4 4*4 44),卷积核为 C C C 3 ∗ 3 3*3 33),要得到输出图像为 Y Y Y 2 ∗ 2 2*2 22)(假设步长为1),那么我们可以变化 X X X Y Y Y的维度,分别为 16 ∗ 1 16*1 161 4 ∗ 1 4*1 41,那么卷积操作就是: Y = C X Y=CX Y=CX,则卷积矩阵 C C C的维度应该是 4 ∗ 16 4*16 416,那么对应变换应该为:

在这里插入图片描述
在这里插入图片描述
也就是说,利用卷积核的重复和 0 0 0的填充,我们就可以获得卷积矩阵, 0 0 0的填充规律是根据 X X X Y Y Y决定的。

现在我们的需求变成,已知输出图像 Y Y Y,要求输入图像 X X X,那么一种做法就是求图上的逆运算: X = C − 1 Y X=C^{-1}Y X=C1Y,然而不是所有矩阵 C C C都存在逆矩阵,所以我们退而求其次,不要求反卷积的运算可以还原 X X X的值,只还原 X X X的大小(因为在深度学习中,我们可以通过迭代调整参数,来尽可能还原 X X X的值),那么反卷积就可以定义为: X = C T Y X=C^{T}Y X=CTY

参考

最容易理解的对卷积(convolution)的解释

反卷积详解

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值