当前位置:网站首页>直观理解Transpose Convolution
直观理解Transpose Convolution
2022-07-20 05:32:00 【daimashiren】
首先,先上结论,Transpose Convolution 可以看成是在原始input的基础上做padding之后的常规Convolution. 所以常规的Convolution的计算性质也适用于Transpose Convolution.
需要特别注意的是,Trans Conv中的stride和常规Conv的stride有点不太一样的是,常规Conv的stride是对kernel的移动步长,而Trans Conv的stride是对输入input元素间的间隔。常规的Conv 以及其对应的Trans Conv的具体过程请看下面两幅图
用 i 代表input , k 代表kernel,s代表stride,p代表padding
Stride为1时
常规的 Conv , i = 4x4 , k = 3x3 , s = 1, p = 0
Trans Conv , i’=2x2 , k’ = 3x3 , s’ = 1 , p’ = 2
图中灰色代表kernel,蓝色是input,绿色是output
上图中可以看出,在Trans Conv过程中,原始的2x2的input被padding成了6x6,再进行常规的Conv,而kernel保持不变(3x3),从而使得经过Trans Conv后,2x2的“input”被恢复成了5x5的"output"
Stride > 1时
常规的Conv ,i = 5x5 ,k = 3x3 ,s = 2,p = 0
Trans Conv ,i’ = 2x2,k’= 3x3,s’ = 2,p’ = 2
与之前stride=1的图不一样的是,stide>1时,Trans Conv中的input的元素间会充填 stride-1行(列)0(类似Dilated Convolution中的膨胀因子d的作用)而kernel滑动的步长仍然保持不变,这与常规Conv中stride的作用有着本质的区别。
计算公式
常规Conv
H o u t = ⌊ H i n + 2 × padding − kernel_size stride + 1 ⌋ H_{out} =\left\lfloor\frac{H_{in} + 2 \times \text{padding} - \text{kernel\_size} }{\text{stride}} + 1\right\rfloor Hout=⌊strideHin+2×padding−kernel_size+1⌋
Trans Conv
H o u t = ( H i n − 1 ) × stride − 2 × padding + kernel_size H_{out} = (H_{in} - 1) \times \text{stride} - 2 \times \text{padding} + \text{kernel\_size} Hout=(Hin−1)×stride−2×padding+kernel_size
边栏推荐
- 【深度学习】怎么为模型选择正确的最后一层激活和损失函数
- Paxos 论文 简单版 中文版
- 达梦免密登录
- 达梦DEM的部署
- 【2022年第一期 CANN训练营进阶班应用课】附加题——媒体数据处理+模型推理
- Dameng index management
- Performance optimization of uitableview
- [cann training camp] AI CPU operator development based on shengteng cann platform
- Thesis study ---- urllc benefit from noma (1)
- Non parametric statistical learning for urllc transmission rate control
猜你喜欢
【CANN训练营】基于昇腾CANN平台的AI CPU算子开发
【CANN訓練營】基於昇思的GAN實現隨筆
根据不同configuration加载不同的plist文件
[camp d'entraînement can] essai de mise en œuvre du Gan basé sur Shengsi
EndNote X9导入论文投稿的期刊参考文献格式
(4) Pyqt5 series tutorials: use pychart to design the internal logic of pyqt5 in the serial port assistant parameter options (I)
(八)PyTorch深度学习:卷积神经网络(基础)---将(七)全连接神经网络改成卷积神经网络
Li Hongyi 2020 machine learning -- p17 CNN & P 14
(7) Pytorch deep learning: full connection layer network
MIMO-OFDM无线通信技术及MATLAB实现读书笔记-衰落信道&室内信道(1)
随机推荐
TPCC performance test of Dameng database
Centos8(linux)安装mysql8.0.28
Performance optimization of uitableview
(八)PyTorch深度学习:卷积神经网络(基础)---将(七)全连接神经网络改成卷积神经网络
Flutter 小结
Basic overview of data warehouse
SQL子查询
【2022年第一期 CANN训练营进阶班应用课】附加题——媒体数据处理+模型推理
Hyperledger Fabric 超级账本 CA集群搭建使用
(3) Pytorch deep learning: back propagation gradient decline
[deep learning] how to select the correct activation and loss function of the last layer for the model
Dameng index management
The difference between struct and class in swift
电脑端微信有很多垃圾可以清理
dm_svc.conf配置
NSLog输出中文
【深度学习】运用mnist数据集实例化一个简单的卷积神经网络
Docker remote connection MySQL
(四)PyQt5系列教程:使用Pycharm对PyQt5在串口助手参数选项进行内部逻辑设计(一)
Mongoose uses validate validation to obtain custom validation information