逆向图形网络(自动编码器)中如何表示小规模特征?

人工智能 卷积神经网络 自动编码器 特征
2021-10-29 19:48:28

在此处输入图像描述

这篇文章参考了微软在他们的深度卷积逆图形网络上的一篇论文的图 1:

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/11/kwkt_nips2015.pdf

阅读了这篇论文后,我大致了解了网络的运作方式。然而,一个细节一直困扰着我:网络解码器(或“渲染器”)如何在图形代码定义的正确位置生成小尺度特征?例如,在面部训练数据集时,可能会训练图形代码中的单个参数来控制小雀斑的 (x,y) 位置。由于这个特征很小,它将由相关内核很小的最后一个卷积层“渲染”。我不明白的是,雀斑位置的信息(在图形代码中)是如何传播到最后一层的,此时中间有许多更大规模的 unpooling + 卷积层。

谢谢您的帮助!

1个回答

简单地说,生成的特征没有特定的“意义”。它们只是通过数学和微积分拟合的特征,没有人知道它们究竟代表什么,也永远不会知道。但是,我们可以运行 PCA(主成分分析)来查看哪个特征是最“重要”的,也就是哪个特征在输出图像中影响最大。然后,您可以尝试调整该值以手动查看和猜测该值的作用,但您永远不会知道它究竟做了什么,因为它是一个任意特征,不是由网络专门设置的。一个值可能意味着多件事,或者只是我们人类不理解的事情。有关详细信息,请参阅这个惊人的视频:

https://youtu.be/4VAkrUNLKSo

该视频解释了 PCA 的作用以及网络生成的功能示例。

对于小尺度特征,它们可能会被简单地忽略,因为它们对损失或准确性没有太大贡献,或者它们可能由一个大点或其他东西表示,直到最后几层。只有 80 个特征无法完全代表具有如此细节的人脸,并且以此类网络训练的分辨率,此类小特征可能不会显示在图像中。