在读这篇文章时候的感悟,这篇文章主要讲了出现如下情况( checkerboard pattern )产生的原因
在让神经网络生成图像的时候,通常做法都是从低分辨率开始,因为低分辨率拥有高的语义特征( high-level descriptions)。 然后神经网络可以先大略描述这张图片,然后再随后的层中填充细节。
反卷积的作用:Roughly, deconvolution layers allow the model to use every point in the small image to “paint” a square in the larger one。这句话意思主要是,低分辨率中的一个小点对应高分辨率中的一个小块。但是反卷积会造成重叠uneven overlap,
stride/size是整数,那么就没有重叠,反之,有重叠。
可以先用最近邻插值来upsampling再卷积来替代deconv,为了最好的效果,再卷积之前需要tf.pad(),以防边界效应(boundary artifacts.)
使用resize+conv可以避免artifacts
最大池化也会引起artifacts,出处:We believe these to be caused by max pooling. Max pooling was previously linked to high-frequency artifacts