artifact是什么?

当我们非常仔细地观察神经网络生成的图像时,经常会看到一些奇怪的棋盘格子状的伪影(artifact)。这种现象有些情况下比其他情况更明显,但最近的模型很多都会出现这种现象。

出现的原因:当我们用神经网络生成图像时,我们经常从低分辨率、高阶描述中构建图像。这会让网络先描绘粗糙的图像,再填充细节。

因此,我们需要能让图像从较低分辨率达到较高分辨率的方法。我们通常使用反卷积操作。大致来说,反卷积层允许模型使用小图像中的每个点来“绘制”更大的图像中的方块。

但是,反卷积很容易“不均匀重叠”(uneven overlap),使图像中某个部位的颜色比其他部位更深(Gauthier, 2015)。尤其是当核(kernel)的大小(输出窗口的大小)不能被步长(stride)整除时,反卷积就会不均匀重叠。虽然原则上网络可以仔细地学习权重来避免这种情况,但在实践中神经网络很难完全避免不均匀重叠。

重叠图案也在二维中形成。两个轴上的不均匀重叠相乘,产生不同亮度的棋盘状图案。

事实上,不均匀重叠往往在二维上更极端!因为两个模式相乘,所以它的不均匀性是原来的平方。例如,在一个维度中,一个步长为2,大小为3的反卷积的输出是其输入的两倍,但在二维中,输出是输入的4倍。

现在,生成图像时,神经网络通常使用多层反卷积,从一系列较低分辨率的描述中迭代建立更大的图像。虽然这些堆栈的反卷积可以消除棋盘效应,但它们经常混合,在更多尺度上产生棋盘效应。

https://www.sohu.com/a/117948032_473283

原文地址:https://www.cnblogs.com/h694879357/p/15519597.html