卷积公式的理解


卷积公式的由来

  • 卷积公式与Laplace变换的联系

    Laplace变换公式:
    F ( s ) = ∫ 0 ∞ f ( t ) e − s t d t G ( s ) = ∫ 0 ∞ g ( t ) e − s t d t F(s) = \int_0^\infty f(t)e^{-st} \text{d} t \\ G(s) = \int_0^\infty g(t)e^{-st} \text{d} t F(s)=0f(t)estdtG(s)=0g(t)estdt
    我们希望 C ( s ) = F ( s ) G ( s ) C(s)=F(s)G(s) C(s)=F(s)G(s)也可以保持Laplace变换公式的形式:
    C ( s ) = F ( s ) G ( s ) = ∫ 0 ∞ c ( t ) e − s t d t C(s)=F(s)G(s) = \int_0^\infty c(t)e^{-st} \text{d} t C(s)=F(s)G(s)=0c(t)estdt
    c ( t ) 与 f ( t ) 、 g ( t ) c(t)与f(t)、g(t) c(t)f(t)g(t)的关系就是卷积:
    c ( t ) = f ( t ) ∗ g ( t ) c(t) = f(t)*g(t) c(t)=f(t)g(t)

  • 卷积公式推导

    基于laplace变换公式,可以得知
    F ( s ) G ( s ) = ∫ 0 ∞ f ( u ) e − s u d u ∫ 0 ∞ g ( v ) e − s v d v = ∫ 0 ∞ ∫ 0 ∞ f ( u ) g ( v ) e − s ( u + v ) d u d v F(s)G(s)= \int_0^\infty f(u)e^{-su} \text{d} u \int_0^\infty g(v)e^{-sv} \text{d} v \\ = \int_0^{\infty}\int_0^{\infty}f(u)g(v)e^{-s(u+v)}\text{d}u \text{d}v F(s)G(s)=0f(u)esudu0g(v)esvdv=00f(u)g(v)es(u+v)dudv
    上式中二重积分的积分区域为 ( u , v ) (u,v) (u,v)坐标轴的第一象限,令 t = u + v t=u+v t=u+v u = u u=u u=u ,可以确定 u u u的积分范围为 [ 0 , t ] [0,t] [0,t] t t t的积分范围为 [ 0 , ∞ ] [0,\infty] [0,]。对微分进行变换
    d u d v = ∂ ( u , v ) ∂ ( u , t ) d u d t \text{d}u\text{d}v=\frac{\partial(u,v)}{\partial(u,t)}\text{d}u\text{d}t dudv=(u,t)(u,v)dudt
    Jacobian行列式的计算
    ∂ ( u , v ) ∂ ( u , t ) = ∣ ∂ ( u ) ∂ ( u ) ∂ ( u ) ∂ ( t ) ∂ ( v ) ∂ ( u ) ∂ ( v ) ∂ ( t ) ∣ = ∣ 1 0 − 1 1 ∣ = 1 \frac{\partial(u,v)}{\partial(u,t)}= \begin{vmatrix} \frac{ \partial(u)}{\partial(u)} & \frac{ \partial(u)}{\partial(t)} \\ \frac{ \partial(v)}{\partial(u)} & \frac{ \partial(v)}{\partial(t)} \end{vmatrix} =\begin{vmatrix} 1 & 0 \\ -1 & 1 \end{vmatrix} = 1 (u,t)(u,v)=(u)(u)(u)(v)(t)(u)(t)(v)=1101=1

    F ( s ) G ( s ) = ∫ 0 ∞ ∫ 0 t f ( u ) g ( t − u ) e − s t d u d t = ∫ 0 ∞ e − s t ∫ 0 t f ( u ) g ( t − u ) d u d t F(s)G(s)=\int_0^{\infty}\int_0^{t}f(u)g(t-u)e^{-st}\text{d}u \text{d}t \\ = \int_0^{\infty}e^{-st}\int_0^{t}f(u)g(t-u)\text{d}u \text{d}t F(s)G(s)=00tf(u)g(tu)estdudt=0est0tf(u)g(tu)dudt
    可以得到卷积公式
    c ( t ) = f ( t ) ∗ g ( t ) = ∫ 0 t f ( u ) g ( t − u ) d u c(t)=f(t)*g(t)= \int_0^{t}f(u)g(t-u)\text{d}u c(t)=f(t)g(t)=0tf(u)g(tu)du

### 常见卷积公式及其推导 #### 一维离散卷积定义 对于两个函数 \(f\) 和 \(g\), 它们的离散卷积可以表示为: \[ (f * g)[n]=\sum_{m=-\infty }^{\infty }f[m]g[n-m]\tag{1}\label{eq:discrete_convolution} \] 这里,\(f[m]\) 表示输入信号的一个样本点;而 \(g[n-m]\) 则代表滤波器系数或内核权重,在不同位置上的响应。 当应用于有限长度序列时,上述无限求和变为有限范围内的累加。这适用于大多数实际应用场景下的数据处理过程[^1]。 #### 转置卷积(反卷积) 转置卷积并不是传统意义上的逆运算而是为了实现特定功能设计的一种特殊形式的正向传播机制。它通常用于增加特征图的空间维度大小即所谓的上采样操作。具体来说,该层会先填充零值以扩展原始张量尺寸,之后利用翻转后的卷积核执行标准前馈计算流程。 ```python import tensorflow as tf def transposed_conv_layer(input_tensor, filters=64, kernel_size=(3, 3)): output = tf.keras.layers.Conv2DTranspose( filters=filters, kernel_size=kernel_size, strides=(2, 2), padding='same' )(input_tensor) return output ``` 此代码片段展示了如何创建一个简单的二维转置卷积层并将其应用于给定的输入张量之上。 #### 图卷积网络中的拉普拉斯平滑化 在GCN中,为了避免直接相乘带来的数值不稳定性和过拟合风险,一般采用标准化后的邻接矩阵来进行节点间的信息传递。其中涉及到对度矩阵进行平方根倒数变换后再与其他部分组合形成最终版本的归一化邻接矩阵[^4]: \[ A^{'}=\hat{D}^{-\frac{1}{2}}A\hat{D}^{-\frac{1}{2}} \] 这里的 \(\hat{D}=diag(A)\),即自环增强版的度矩阵加上单位阵I得到的结果。 ### 卷积操作的直观理解与应用实例 卷积本质上是一个局部感受野内的线性组合过程,能够捕捉图像或其他多维数组结构内部存在的模式特性。例如边缘检测、纹理识别等功能都可以借助精心设计好的卷积核来完成。此外,随着深度学习框架的发展壮大,越来越多的任务开始依赖于这种强大的工具集去解决复杂的数据分析难题,比如物体定位、姿态估计以及风格迁移等领域都取得了显著成就[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值