zoukankan      html  css  js  c++  java
  • Transposed Convolution

      A guide to convlution arithmetic for deep learning-Transposed Convolution

      Transposed convolutions – also called fractionally strided convolutions or deconvolutions – work by swapping the forward and backward passes of a convolution. One way to put it is to note that the kernel defines a convolution, but whether it’s a direct convolution or a transposed convolution is determined by how the forward and backward passes are computed.

      For instance, although the kernel w defines a convolution whose forward and backward passes are computed by multiplying with C and C T respectively, it also defines a transposed convolution whose forward and backward passes are computed by multiplying with C T and (C T ) T = C respectively.

      Finally note that it is always possible to emulate a transposed convolution with a direct convolution. The disadvantage is that it usually involves adding many columns and rows of zeros to the input, resulting in a much less efficient implementation.

      Notably, the kernel’s and stride’s sizes remain the same, but the input of the transposed convolution is now zero padded. One way to understand the logic behind zero padding is to consider the connectivity pattern of the transposed convolution and use it to guide the design of the equivalent convolution. For example, the top left pixel of the input of the direct convolution only contribute to the top left pixel of the output, the top right pixel is only connected to the top right output pixel, and so on.

  • 相关阅读:
    【java多线程】队列系统之说说队列Queue
    【传输协议】什么是CA证书
    5.1 javassist基本使用
    第四章 dubbo内核之aop源码解析
    第三章 dubbo内核之ioc源码解析
    2.2 dubbo-spi源码解析
    2.1 jdk-spi的实现原理
    第一章 第一个dubbo项目
    第零章 dubbo源码解析目录
    macOS Sierra10.12.5 显示允许任何来源
  • 原文地址:https://www.cnblogs.com/leebxo/p/10095102.html
Copyright © 2011-2022 走看看