来自知乎-陈耕:在GAN或VAE的image2image中,为什么加上L2或L1损失函数,会导致生成的图像模糊?
实际上L2 loss会产生更平滑的图像。因为最小化L2 loss相当于最大化一个高斯分布的log-likelihood。
也就是说,我们假定我们的数据是符合了一个高斯分布的。但是实际中,我们的数据可能是多峰的。比如说对于猫而言,有很多种不同种类长得不一样的猫,每个种类的猫可能都会带来一个对应的峰。当你使用L2 loss时,就会对这很多种猫用一个单峰的高斯去拟合,这就相当于对不同长相的猫做了一个平均,这就会使得产生的图像比较平滑。
但L1 loss就会减轻这样的影响。在图像超分中,早期大家一般都用l2 loss,因为这能直接优化PSNR。但大家发现这样恢复的图片细节上太平滑了,很多就改用l1 loss了。