习题5-2 证明宽卷积具有交换性, 即公式.
宽卷积的定义:给定一个二维图像和一个二维卷积核,对图像进行零填充,两端各补和个零,得到全填充的图像.图像和卷积核的宽卷积定义为。
其中,表示宽卷积运算。
证明:
对进行两端各补u-1,v-1个零,得到 ,
对进行两端各补m-1,n-1个零,得到 ,
要证明原公式成立,只需要证明:,
为了便于理解,将矩阵变小一点:
如下图,证明相等。
习题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) .
附加题 阅读 “5.3.1 卷积神经网络的反向传播算法”,举例说明推导过程.
1. 卷积层的反向传播
假设我们有一个卷积层,包含一个卷积核(filter)和一个激活函数。我们使用均方误差(Mean Squared Error,MSE)作为损失函数。
1.1 前向传播
卷积层的前向传播可以表示为:
其中,(w) 是卷积核,(x) 是输入数据,(\ast) 表示卷积操作,(b) 是偏差。
1.2 损失函数
MSE 损失函数:
前一个括号里是实际标签,后一个括号里是预测标签
1.3反向传播
计算损失函数关于卷积核 (w) 的梯度:
这里,是损失函数关于卷积层输出 (z) 的梯度。
计算损失函数关于输入 (x) 的梯度:
计算损失函数关于偏差 (b) 的梯度:
最后的全连接层的反向传播算法就不再推导了,可以参考作业四的推导过程。
习题 5-7 忽略激活函数, 分析卷积网络中卷积层的前向计算和反向传播(公式
(5.39)) 是一种转置关系.
在全连接网络中,忽略激活函数,前向计算和反向传播就是一种转置关系。例如前向计算时,第l+1层的净输入为,反向传播时,第l层的误差项为
习题5-8 在空洞卷积中, 当卷积核大小为𝐾, 膨胀率为𝐷时, 如何设置零填充𝑃 的
值以使得卷积为等宽卷积 .
得到:
补充:空洞卷积(Dilated Convolution),又称膨胀卷积,是一种在卷积操作中引入膨胀率(Dilation Rate)的技术。这个膨胀率定义了卷积核内部元素之间的距离。通过使用膨胀卷积,可以在不增加参数数量的情况下,有效地增大感受野(Receptive Field),从而捕捉更广泛范围的信息。
在膨胀卷积中,输出的每个元素是通过将卷积核的元素与输入张量进行点积计算得到的,但不同于传统卷积,这里的卷积核元素之间存在间隔。具体来说,对于一个大小为的卷积核,其膨胀率为 (D),则输出元素之间的距离为 (D-1)。
膨胀卷积的输出可以表示为:
参考: