空洞卷积+转置卷积+反卷积

本文探讨了空洞卷积如何通过扩大感受野来保留信息,对比了它与普通卷积的区别。同时,介绍了转置卷积用于还原输出形状但非完全还原的过程,并揭示了反卷积与空洞卷积在视野调整上的不同。关键概念包括空洞率、TT矩阵和反卷积的扩充机制。
摘要由CSDN通过智能技术生成

1. 空洞卷积

在这里插入图片描述

  • 1.1 如上图所示,空洞卷积是为了增加感受野(pooling虽然能增加感受野,但是容易丢失原有信息);
  • 1.2 实现原理:
    • 图a为普通3*3卷积(注:该卷积也可视为空洞率=1的空洞卷积,见以下说明);
    • 图b是空洞率=2的空洞卷积,即向原有卷积核前中后都插入一个权重为0的格子;此时卷积核变为77,但是有值的格子还是只有原来的33;
    • 图c是空洞率=4的空洞卷积,情况如图b;
  • 1.3 空洞卷积的应用:如下是在语音里的应用(Dilation=2即空洞率为2)
    在这里插入图片描述
  • 1.4 补充:pooling容易丢失信息
    在这里插入图片描述

2. 转置卷积

  • 转置卷积是用来将卷积后的输出还原到输入的,但是只是shape上的还原,不是真正的完全还原,以下说明
  • 假设我们的输入 A ( s h a p e = 4 ∗ 4 ) A(shape=4*4) A(shape=44),卷积核 B ( s h a p e = 3 ∗ 3 ) B(shape=3*3) B(shape=33),普通卷积(no padding & stride=1)后得到形状为2*2的输出;
  • 实际计算该过程时,有一种方式是采用矩阵的形式进行处理的(还有其他更高效的方式);具体是对A reshape得到1*16,B根据计算需要,会变为16*4的矩阵(称为Toeplitz matrix,简记为 T T T矩阵),那么 A ∗ T = C = 1 ∗ 4 A*T=C=1*4 AT=C=14,reshape C的形状为2*2
  • 如下示例3x3卷积核变成的T矩阵(注意下图是转置后的,即4x16)是什么样的,感兴趣的读者可以自行推导一下该矩阵方式计算的结果是否和概念上的普通卷积结果一致;
    在这里插入图片描述
  • 采用矩阵形式计算卷积,那么还原的过程就很自然了。输出的shape为2*2,将之reshape为 1*4,再与T矩阵的转置(4*16)进行矩阵计算,即可得到1*16,再reshape为4*4,就和原始输入A有一样的shape了;
  • 显然上一步不保证能得到真正的原始输入A;因为上述卷积的矩阵计算是 A ∗ T = C A*T=C AT=C,此时对等式两边都乘以 T ( s h a p e = 16 ∗ 4 ) T(shape=16*4) T(shape=164)矩阵的转置 T ′ ( s h a p e = 4 ∗ 16 ) T'(shape=4*16) T(shape=416),变为 A ∗ T ∗ T ′ = C ∗ T ′ A*T*T'=C*T' ATT=CT,如果 A ∗ T ∗ T ′ = C ∗ T ′ = A A*T*T'=C*T'=A ATT=CT=A成立,那么要求 T ∗ T ′ = I T*T'=I TT=I I I I为单位矩阵,显然不一定成立;

3. 反卷积

  • 举例如下
    普通卷积(no padding & stride=1)
    卷积
    对应反卷积(注意需要扩充)
    在这里插入图片描述
    普通卷积(padding & stride=2),
    在这里插入图片描述
    对应反卷积(注意需要扩充)
    在这里插入图片描述
  • 从最后一张图,可以看到反卷积需要对输入进行扩充(填充空洞);空洞卷积则是对卷积核进行扩充;从效果上看,反卷积减少了卷积核的视野,空洞卷积则增强了卷积核的视野;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值