UNET 与简单的自动编码器有何不同?

Ham*_*mza 3 artificial-intelligence autoencoder deep-learning semantic-segmentation unet-neural-network

UNET架构就像前半编码器和后半解码器。自动编码器有不同的变体,如稀疏、变分等。它们都压缩和解压缩数据,但 UNET 也同样用于压缩和解压缩。就我而言,我认为在简单的自动编码器中我们不使用 Transpose2D 卷积,但在 UNET 中我们使用这种上采样。在简单的自动编码器中,我们不使用 Transpose2D Conv 。上采样是如何发生的?如果我们在自动编码器中使用 Transpose2D,它与 UNET 有何不同?

Nee*_*lia 7

来源Przemyslaw-Dolata
我认为 U-Net 和纯编码器-解码器网络之间存在重要区别。

编码器-解码器网络中,恰好存在一个潜在空间 (L),具有从输入 (X) 到该空间 (E: X->L) 的非线性映射,以及从该潜在空间到输出空间 (D) 的相应映射:L->Y)。编码器和解码器之间有明显的区别:编码器将每个样本的表示更改为潜在空间中的某些“代码”,而解码器能够仅在给定此类代码的情况下构造输出。这意味着您可以拆开这样的网络并单独使用编码器和解码器,例如 Schlegl (2019) 所做的那样。

但在U-Net中,情况并非如此。在那里,输出映射也直接取决于输入空间 - 不是 L->Y,而是 [X+L]->Y(“跳过”连接)。这意味着不存在真正的“编码器”和“解码器”部分,即将样本映射到某个明确定义的潜在空间,然后计算其输出。你不能将 U-Net 分成多个部分并单独使用它们,因为为了计算输出,还需要输入 - 以及它的所有中间表示(因为 U-Net 中有多个潜在空间: X->L1->L2->...->Ln)。