Python 3.x U-Net复制和裁剪

Python 3.x U-Net复制和裁剪,python-3.x,deep-learning,Python 3.x,Deep Learning,我对Unet架构图中的复制和裁剪箭头有疑问: 我理解从承包到转移到昂贵路径的实现,但我没有得到这些内部连接。复制和裁剪意味着什么?这项操作带来了什么好处??这像ResNet中的跳过连接吗 Drozdal等人研究了长跳跃连接(用于那些长连接的术语)的好处,并证明其可以改善梯度流,从而保持权重矩阵的值稳定。这是一种摇摆不定的解释,但这是我们得到的最好的解释。然而,它确实改善了分割任务的结果 本例中使用了裁剪操作,因为作者使用了有效的卷积,这减少了输出大小,因此维度不再适合。在Tensorflow中,

我对Unet架构图中的复制和裁剪箭头有疑问:


我理解从承包到转移到昂贵路径的实现,但我没有得到这些内部连接。复制和裁剪意味着什么?这项操作带来了什么好处??这像ResNet中的跳过连接吗

Drozdal等人研究了长跳跃连接(用于那些长连接的术语)的好处,并证明其可以改善梯度流,从而保持权重矩阵的值稳定。这是一种摇摆不定的解释,但这是我们得到的最好的解释。然而,它确实改善了分割任务的结果


本例中使用了裁剪操作,因为作者使用了有效的卷积,这减少了输出大小,因此维度不再适合。在Tensorflow中,您可以使用类似于
tf.image.resize_images
的东西,以获得与扩展部分中的特征贴图相同的高度-宽度尺寸,然后使用
tf.concat
沿通道轴(通常是BHWC布局中的第四轴)连接特征贴图.

它类似于ResNet中的跳过连接,但有一些不同

架构差异: 在ResNet中,跳过连接是在计算激活之前将上一个块的激活添加到下一个块。这些剩余块通过添加前一个块的输出来跳过中间连接

在U-net中,激活或特征映射被合并或连接

复制或连接的原因: 由于这是下采样时的分割问题,因此空间信息丢失。如您所见,它从572x572开始,减少到28x28。为了恢复或映射回空间信息,将连接来自先前图层的特征贴图。 如果观察到上采样路径中的白色块,则是来自下采样路径的特征贴图

收割原因: 现在在合并时,由于两个要素贴图的分辨率不同,因此会对它们进行裁剪。在将(572x572)与(392x392)连接之前,需要对其进行裁剪


唯一的相似之处是利用了先前计算的激活,但原因不同。

我想你可以将其视为一种resnet,因为它直接连接这些层,梯度很容易传播,但更重要的是,直接连接为后面的层提供了更多“原始”信息。想象一下,经过几层变换(无论是线性变换还是conv变换)后,原始图像的信息被扭曲和丢失,拥有更高维度和更多“原始”层来帮助输出是件好事。@KevinHe好的,我理解这些连接背后的想法,但你是如何在tensorflow中实现它的。如果我总是复制图层并放置它,我怀疑我是否能够重建我的图像?对于这类层,什么操作是有意义的?如图所示,原始层沿“层”维度连接,随后的张量输入conv层。一般来说,并没有一种方法用于这种方向连接,但对于图像,我建议以后再进行conv操作。但是你肯定会被鼓励尝试更多的东西,享受神经网络带来的乐趣@KevinHe现在尝试使用tf.add(),因为这将基本上保留尺寸,并允许我进行修正。将下采样滤波器转换为上采样滤波器。乍一看,网络趋于融合。我会检查结果并尝试其他一些东西。谢谢你的回答