习题5-2 证明宽卷积具有交换性,即公式(5.13)
现有
根据宽卷积定义
为了让x的下标形式和w的进行对换,进行变量替换
令,
故.
则
已知
因此对于
由于宽卷积的条件,s和t的变动范围是可行的。
习题5-3 分析卷积神经网络中用1×1的卷积核的作用
1、降维
比如,一张100 *100且厚度depth为100 的图片在50个filter上做1*1的卷积,那么结果的大小为100*100*50。
2、升维(用最少的参数拓宽网络channal)
例子:64的卷积核的channel是64,只需添加一个1*1,256的卷积核,只用64*256个参数就能把网络channel从64拓宽4倍到256。
3、加入非线性。
卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励,提升网络的表达能力。
习题5-4 对于一个输入为100×100×256的特征映射组,使用3×3的卷积核,输出为100×100×256的特征映射组的卷积层,求其时间和空间复杂度。如果引入一个1×1的卷积核,先得到100×100×64的特征映射,再进行3×3的卷积,得到100×100×256的特征映射组,求其时间和空间复杂度。
时间复杂度:时间复杂度即模型的运行次数。
单个卷积层的时间复杂度:Time~O(M^2 * K^2 * Cin * Cout)
M:输出特征图(Feature Map)的尺寸。
K:卷积核(Kernel)的尺寸。
Cin:输入通道数。
Cout:输出通道数。
注:每一层卷积都包含一个偏置参数(bias),这里也给忽略了。加上的话时间复杂度则为:O(M^2 * K^2 * Cin * Cout+Cout)。
空间复杂度:空间复杂度即模型的参数数量。1*1*256*64+100*100*64+3*3*64*256+100*100*256
单个卷积的空间复杂度:Space~O(K^2 * Cin * Cout+M^2*Cout)
①:时间复杂度=100*100*3*3**256*256=5898240000
空间复杂度=3*3**256*256+100*100*256=3149824
②:时间复杂度=100*100*1*1*256*64+100*100*3*3*64*256=1638400000
空间复杂度=1*1*256*64+100*100*64+3*3*64*256+100*100*256=3363840
习题5-7 忽略激活函数,分析卷积网络中卷积层的前向计算和反向传播是一种转置关系。
在第层时:净输入为, 反向传播的误差项为
当在第l + 1 l+1l+1层时:净输入为,而反向传播的误差项为
因此,可得到忽略激活函数下前向计算和反向传播是一种转置关系。
总结:
这次作业让我对卷积神经网络的通道和前向传播以及反向传播有了更深的理解,了解了其中大部分的原理和实现方法,虽然看枯燥的公式还是让人头疼,但是能坚持看完也是对自己的一种锻炼。