NNDL 作业八 卷积 导数 反向传播

习题5-2 证明宽卷积具有交换性, 即公式rot180(W)\widetilde{\bigotimes }X=rot180(X)\widetilde{\bigotimes }W

        宽卷积的定义:给定一个二维图像X\epsilon R^{M*N}和一个二维卷积核W\epsilon R^{U*V},对图像X进行零填充,两端各补U-1V-1个零,得到全填充的图像\widetilde{X}\epsilon R^{(M+2U-2)*(N+2V-2)}.图像X和卷积核W的宽卷积定义为W\widetilde{\otimes }X=W\otimes \widetilde{X}

        其中,\widetilde{\bigotimes }表示宽卷积运算。

证明:

 rot180(W)\widetilde{\bigotimes }X=rot180(W)\bigotimes \widetilde{X}        rot180(X)\widetilde{\bigotimes }W=rot180(X)\bigotimes \widetilde{W}

X进行两端各补u-1,v-1个零,得到  \widetilde{X} ,

W进行两端各补m-1,n-1个零,得到 \widetilde{W},

要证明原公式成立,只需要证明:rot180(W)\bigotimes \widetilde{X}=rot180(X)\bigotimes \widetilde{W},

    为了便于理解,将矩阵变小一点:

        如下图,证明相等。

习题5-4 对于一个输入为100 × 100 × 256的特征映射组, 使用3 × 3的卷积核, 输
出为100 × 100 × 256的特征映射组的卷积层, 求其时间和空间复杂度. 如果引入
一个1 × 1卷积核, 先得到100 × 100 × 64的特征映射, 再进行3 × 3的卷积, 得到
100 × 100 × 256的特征映射组, 求其时间和空间复杂度.

Ot=100*100*3*3*256*256=5898240000

Os=100*100*256+3*3*256*256=3149824

Ot=100*100*1*1*256*64+100*100*3*3*64*256=1638400000

Os=100*100*64+100*100*256+3*3*256*64+3*3*64*256=3353840

习题5-5 对于一个二维卷积, 输入为3 × 3, 卷积核大小为2 × 2, 试将卷积操作重
写为仿射变换的形式. 参见公式(5.45) .

z=w\bigotimes x=\begin{pmatrix} w1 & w2& 0\\ 0& w1&w2 \end{pmatrix}*x=Cx

x=C^{T}z=\begin{pmatrix} w1 &0 \\ w2& w1\\ 0& w2 \end{pmatrix}z

        附加题 阅读 “5.3.1 卷积神经网络的反向传播算法”,举例说明推导过程.

        1. 卷积层的反向传播

        假设我们有一个卷积层,包含一个卷积核(filter)和一个激活函数。我们使用均方误差(Mean Squared Error,MSE)作为损失函数。

        1.1 前向传播

        卷积层的前向传播可以表示为:[ z = w \ast x + b ]

        其中,(w) 是卷积核,(x) 是输入数据,(\ast) 表示卷积操作,(b) 是偏差。

        1.2 损失函数

        MSE 损失函数:

        [ L = \frac{1}{2} \sum_{i,j} (y_{ij} - \hat{y}_{ij})^2 ]

        前一个括号里是实际标签,后一个括号里是预测标签(y_{ij}) (\hat{y}_{ij})

        1.3反向传播

        计算损失函数关于卷积核 (w) 的梯度:

        [\frac{\partial L}{\partial w} = x \ast \frac{\partial L}{\partial z}]

        这里,(\frac{\partial L}{\partial z})是损失函数关于卷积层输出 (z) 的梯度。

        计算损失函数关于输入 (x) 的梯度:

        [\frac{\partial L}{\partial x} = w \ast \frac{\partial L}{\partial z}]

        计算损失函数关于偏差 (b) 的梯度:[\frac{\partial L}{\partial b} = \frac{\partial L}{\partial z}]

        最后的全连接层的反向传播算法就不再推导了,可以参考作业四的推导过程。

习题 5-7 忽略激活函数, 分析卷积网络中卷积层的前向计算和反向传播(公式
(5.39)) 是一种转置关系.

        在全连接网络中,忽略激活函数,前向计算和反向传播就是一种转置关系。例如前向计算时,第l+1层的净输入为z^{l+1}=W^{l+1}z^{l},反向传播时,第l层的误差项为\delta ^{l}=(W^{l+1})^{T}\delta ^{l+1}

习题5-8 在空洞卷积中, 当卷积核大小为𝐾, 膨胀率为𝐷时, 如何设置零填充𝑃 的
值以使得卷积为等宽卷积 .

(M - K' + 2P)/S + 1 = M\\S=1\\ K' = K + (K-1)(D-1)

得到:

P = (K-1)D/2

补充:空洞卷积(Dilated Convolution),又称膨胀卷积,是一种在卷积操作中引入膨胀率(Dilation Rate)的技术。这个膨胀率定义了卷积核内部元素之间的距离。通过使用膨胀卷积,可以在不增加参数数量的情况下,有效地增大感受野(Receptive Field),从而捕捉更广泛范围的信息。

在膨胀卷积中,输出的每个元素是通过将卷积核的元素与输入张量进行点积计算得到的,但不同于传统卷积,这里的卷积核元素之间存在间隔。具体来说,对于一个大小为(K \times K)的卷积核,其膨胀率为 (D),则输出元素之间的距离为 (D-1)。

膨胀卷积的输出可以表示为:

y[i, j] = \sum_{m=0}^{K-1} \sum_{n=0}^{K-1} x[i+m \cdot (D-1), j+n \cdot (D-1)] \cdot w[m, n] + b

参考:

【NNDL作业】 宽卷积具有交换性

卷积神经网络(CNN)反向传播算法推导

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值