Deep Image Prior:深度卷积网络先天就理解自然图像
来源:技术备忘录 - 知乎专栏
Deep Image Prior 是昨天发布的一篇非常有趣的研究 。(链接:https://dmitryulyanov.github.io/deep_image_prior)
它让一个深度卷积网络去学习复制被破坏的图像(如,加入噪点的图像),发现这个网络会自动先学会如何重建图像。
例如,给定一幅被破坏的图像x,具体过程如下:
用随机参数初始化深度卷积网络f。
令f的输入为固定的随机编码z。
令f的目标为:输入z,输出x。以此训练f的参数。
注意选择合适的损失函数。例如对于降噪问题可关注整体的MSE,对于填充问题就应该只关心不需要填充的位置的MSE。
当训练很久之后,f可实现输出一模一样的x。
但如果在训练到一半时打断f,会发现它会输出一幅“修复过的x”。
这意味着,深度卷积网络先天就拥有一种能力:它会先学会x中“未被破坏的,符合自然规律的部分”,然后才会学会x中“被破坏的部分”。例如,它会先学会如何复制出一张没有噪点的x,然后才会学会复制出一张有噪点的x。
换而言之,深度卷积网络先天就了解自然的图像应该是怎样的。所以我们也可以理解为什么GAN的方法这么简单却效果这么好。这无疑来自于卷积的不变性,和逐层抽象的结构。个人认为这对于指导设计和测试网络架构很有意义。
Deep Image Prior的重要特点是,网络由始至终,仅使用了输入的被破坏过的图像做为训练。它没有看过任何其它图像,也没有看过正常的图像。但最终效果依然颇为不错。这说明自然图像的局部规律和自相似性确实很强。其实原理有点像NLM,不过相当于升级版。
请看图片例子。最左边是目标图像,它经过JPEG压缩,有很多压缩瑕疵。网络的目标是学会输出它。在100次迭代后,网络学会了输出很模糊的形体。在2400次迭代后,网络学会了输出一张清晰光滑的高质量图片。在50000次迭代后,网络才学会了输出原图。
再看图像由部分像素重建的例子,网络很擅长处理不断重复的纹理:
最后是网友的训练过程,他训练时选的学习速率有点大,最终结果很幽默......
*推荐文章*
浙江大学CSPS最佳论文:使用卷积神经网络的多普勒雷达手势识别
*注*:如有想加入极市专业CV开发者微信群(项目需求+分享),请填写申请表(链接:http://cn.mikecrm.com/wcotd9)或者在本公众号后台回复”加群“申请入群