论文阅读:利用亚像素卷积生成对抗网络学习图像压缩感知

原文《Learning image compressed sensing with sub-pixel convolutional generative adversarial network》

论文分析

这篇论文使用对抗神经网络来实现压缩感知重建,其结构非常简单清晰,只不过在生成器中用子像素卷积层代替了反卷积。
结构如下:
论文阅读:利用亚像素卷积生成对抗网络学习图像压缩感知论文阅读:利用亚像素卷积生成对抗网络学习图像压缩感知可以看到,生成器使用了多个子像素卷积层逐步提升图像的尺寸。
在编码端,依然使用了传统的高斯随机矩阵来采样测量值。用这个测量值代替生成器中原本输入的随机向量。
我认为本文最有意思的创新在于损失函数。因为正常的对抗生成网络的损失函数是保证概率分布相似而不是图像完全一样,所以是难以进行重构的,只会生成相似的图像。本文的损失函数为:
J(D,G)=minGmaxD[lrec(G(y),x)+lmeans(y,ϕ(G(y))+lGAN(G(y),D)]J(D,G)=\mathop{min}\limits_{G}\mathop{max}\limits_{D}[l_{rec}(G(y),x)+l_{means}(y,\phi (G(y))+l_{GAN}(G(y),D)]
其中lGAN(G(y),D)l_{GAN}(G(y),D)为生成对抗网络的对抗损失,而lrec(G(y),x)l_{rec}(G(y),x)为生成图像与原图的均方差损失,lmeans(y,ϕ(G(y))l_{means}(y,\phi (G(y))为原图的测量值与生成图像的测量值之间的均方差。后两项损失保证了重构图像与原图尽可能的近似,尤其是测量值的均方差,这是我第一次见到在损失函数中进行使用。
作者做了三个对比实验,第一个是将子像素卷积层换成反卷积层,第二个是将生成器的输入变成随机向量而不是图像的测量值,第三个是只训练生成器而不是对抗训练。三者的结果均不好,证明了论文方法的有效性。

我的看法

这篇论文的创新点并不亮眼,且局限性比较大。
首先编码端依旧是传统随机矩阵,没有实现端到端的训练,而目前很多方法的编码端也放入了深度学习模型中,效果更好。
其次在模型中使用了全连接层,意味着模型将会很大,很占用空间,而且无法适用于不同尺寸的图像。
本文中使用的都是64x64或28x28的公共数据集,都是很小的图像,很难拓展到大图上。一方面是对抗神经网络的训练有不稳定性,一方面是大图导致模型非常大(全连接层的缘故),一般的硬件设备训练不了。