转置卷积(Transposed Convolution)的简单理解运用

转置卷积(也叫反卷积、上采样卷积)是卷积神经网络中常用的操作,尤其在生成模型(如生成对抗网络、U-Net)中用于增加特征图的空间维度。

简单地说,转置卷积是通过插值和卷积操作将较小的输入张量"放大",生成一个更大的输出张量。

输出尺寸计算公式:

  • H_inW_in 是输入特征图的高和宽。
  • K_hK_w 是卷积核的高和宽。
  • S 是步幅。
  • P 是填充。
  • O_p 是输出填充。

|-------|--------------------------|----------------------------|
| 特性 | 转置卷积 (ConvTranspose2d) | Upsample / interpolate |
| 方法类型 | 学习型方法,通过训练卷积核 | 非学习型方法,基于插值规则 |
| 实现原理 | 插值 + 卷积 | 仅插值,常见插值方法包括最近邻、双线性等 |
| 训练过程 | 卷积核是可训练的,网络通过学习来优化上采样的效果 | 不涉及训练,插值固定 |
| 输出的质量 | 生成更自然、更细致的上采样图像,适合生成任务 | 输出图像质量与插值方法有关,可能没有转置卷积细致 |
| 计算速度 | 较慢,涉及卷积操作和反向传播 | 非常快,直接通过插值进行上采样 |
| 应用场景 | GAN、U-Net、图像生成等生成任务 | 图像放大、简单的上采样任务 |

实例:

python 复制代码
import torch
import torch.nn as nn

# 转置卷积层,包含额外的输出填充
conv_transpose = nn.ConvTranspose2d(in_channels=1, out_channels=1, kernel_size=3, stride=2, padding=1, output_padding=1)

# 输入图像:1x1x4x4
input_tensor = torch.tensor([[[[1.0, 2.0, 3.0, 4.0],
                              [5.0, 6.0, 7.0, 8.0],
                              [9.0, 10.0, 11.0, 12.0],
                              [13.0, 14.0, 15.0, 16.0]]]], dtype=torch.float32)

# 应用转置卷积
output_tensor = conv_transpose(input_tensor)

# 输出张量的形状
print(f"Input shape: {input_tensor.shape}")
print(f"Output shape after ConvTranspose2d: {output_tensor.shape}")

输出:

Input shape: torch.Size([1, 1, 4, 4])

Output shape after ConvTranspose2d: torch.Size([1, 1, 8, 8])

深入理解原理:转置卷积(Transposed Convolution)-CSDN博客

视频讲解:

相关推荐
独自归家的兔5 分钟前
Qwen3-Omni-Captioner:通义千问 3-Omni 基座的智能音频描述开源模型
人工智能·语音识别
yesyesyoucan6 分钟前
AI证件照生成技术全解析:人脸识别、背景分割与格式合规性实现方案
人工智能·考研·高考
FL162386312910 分钟前
[C#][winform]基于yolov11的齿轮缺陷检测系统C#源码+onnx模型+评估指标曲线+精美GUI界面
人工智能·yolo
却道天凉_好个秋10 分钟前
OpenCV(四十三):分水岭法
人工智能·opencv·计算机视觉·图像分割·分水岭法
CoovallyAIHub10 分钟前
从空地对抗到空战:首个无人机间追踪百万级基准与时空语义基线MambaSTS深度解析
深度学习·算法·计算机视觉
爱笑的眼睛1116 分钟前
TensorFlow Hub:解锁预训练模型的无限可能,超越基础分类任务
java·人工智能·python·ai
GodGump17 分钟前
AI 竞争正在进入什么阶段?
人工智能
万俟淋曦22 分钟前
【论文速递】2025年第41周(Oct-05-11)(Robotics/Embodied AI/LLM)
人工智能·深度学习·机器人·大模型·论文·robotics·具身智能
落羽的落羽23 分钟前
【C++】深入浅出“图”——图的基本概念与存储结构
服务器·开发语言·数据结构·c++·人工智能·机器学习·图搜索算法
All The Way North-25 分钟前
PyTorch MultiStepLR:指定间隔学习率衰减的原理、API、参数详解、实战
pytorch·深度学习·学习率优化算法·multisteplr算法·指定间隔学习率衰减