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.

  • 相关阅读:
    [草稿]挂载新硬盘
    [Android]开发环境配置(windows)-draft
    [草稿][C语言][内存分配]常见内存错误
    [草稿]Linux用户管理
    python的异步编程、IO多路复用、协程
    python的网络编程(socket)
    python的多进程、logging模
    python的Lock锁,线程同步
    python的并发和线程
    python的异常处理
  • 原文地址:https://www.cnblogs.com/leebxo/p/10095102.html
Copyright © 2011-2022 走看看