今天记录以下卷积和反卷积,在很久之前图像处理时候我们就学过卷积,也知道卷积操作方式,更知道怎么推导和反向传播~~但是今天我们要说得和之前理解的可能不太一样......
1.卷积
首先我们看以下卷积的含义:
![](https://img.haomeiwen.com/i8791347/f7532bc0d3e49dc1.gif)
卷积基础这里不再进行说明~~有基础的秒懂
现在来点不一样的:
![](https://img.haomeiwen.com/i8791347/a92867fcd0e07d05.png)
以下是知乎大神给的翻译版本,翻译的很好~
参数定义如下:
- 4x4的输入,卷积Kernel为3x3, 没有Padding / Stride, 则输出为2x2。
- 输入矩阵可展开为16维向量,记作
x
输出矩阵可展开为4维向量,记作y
- 卷积运算可表示为
y = Cx
那么权重可以定义如下:
![](https://img.haomeiwen.com/i8791347/0c3ba605aa1ebac2.png)
我们现在换一种定义,把权重W定义为稀疏矩阵
:
![](https://img.haomeiwen.com/i8791347/7a54fc36217aa3e3.png)
假设Input输入为:
![](https://img.haomeiwen.com/i8791347/de4e990912b34fe2.png)
对应稀疏权重
把Input转化为:
![](https://img.haomeiwen.com/i8791347/00c0d7d3a438bfaa.png)
有木有发现结果一样的?
![](https://img.haomeiwen.com/i8791347/d7b84c7fd5687548.png)
2.反卷积
其中上采样有很多种叫法,反卷积/上采样/转置矩阵......在这里我们不去讨论,接下来的推导你会发现叫什么合适~~
我们来想一个问题:
矩阵的正向传播是直接卷积,那么反向传播呢?
是不是得通过求
偏导数
求回去?
![](https://img.haomeiwen.com/i8791347/8bee1851ddc56b30.png)
![](https://img.haomeiwen.com/i8791347/648215c41fcfe394.png)
![](https://img.haomeiwen.com/i8791347/d887c39a81a3ff2e.png)
由以上的推导我们可以发现,其实我们所说的反卷积就是反向的推导回去,现在可以暂时这么理解哈~~
反卷积的直观解释:
![](https://img.haomeiwen.com/i8791347/2f3547c898a6f3fc.png)
![](https://img.haomeiwen.com/i8791347/8b97716c7715ced1.png)
3.反卷积扩展
以下是根据CS231的课程理解编写的
第一种上采样:
![](https://img.haomeiwen.com/i8791347/ac6b556d94e616e1.png)
第二种上采样:
![](https://img.haomeiwen.com/i8791347/6ba3fee30e5abfb8.png)
第三种上采样:
![](https://img.haomeiwen.com/i8791347/6893097091648c7c.png)
第四种上采样:
- 就是作者用的反卷积~~
- 有木有发现上面三种都是固定的,不能够训练?最后一种是可以训练权重的,但是作者没有训练~~原因是训练的效果不好.
![](https://img.haomeiwen.com/i8791347/f5d1b4aad4aec9fb.png)
4.参考资料
网友评论