當我們非常仔細地觀察神經網絡生成的圖像時,經常會看到一些奇怪的棋盤格子狀的偽影(artifact)。這種現象有些情況下比其他情況更明顯,但最近的模型很多都會出現這種現象。
出現的原因:當我們用神經網絡生成圖像時,我們經常從低分辨率、高階描述中構建圖像。這會讓網絡先描繪粗糙的圖像,再填充細節。
因此,我們需要能讓圖像從較低分辨率達到較高分辨率的方法。我們通常使用反卷積操作。大致來說,反卷積層允許模型使用小圖像中的每個點來“繪制”更大的圖像中的方塊。
但是,反卷積很容易“不均勻重疊”(uneven overlap),使圖像中某個部位的顏色比其他部位更深(Gauthier, 2015)。尤其是當核(kernel)的大小(輸出窗口的大小)不能被步長(stride)整除時,反卷積就會不均勻重疊。雖然原則上網絡可以仔細地學習權重來避免這種情況,但在實踐中神經網絡很難完全避免不均勻重疊。
重疊圖案也在二維中形成。兩個軸上的不均勻重疊相乘,產生不同亮度的棋盤狀圖案。
事實上,不均勻重疊往往在二維上更極端!因為兩個模式相乘,所以它的不均勻性是原來的平方。例如,在一個維度中,一個步長為2,大小為3的反卷積的輸出是其輸入的兩倍,但在二維中,輸出是輸入的4倍。
現在,生成圖像時,神經網絡通常使用多層反卷積,從一系列較低分辨率的描述中迭代建立更大的圖像。雖然這些堆棧的反卷積可以消除棋盤效應,但它們經常混合,在更多尺度上產生棋盤效應。
https://www.sohu.com/a/117948032_473283