深度神经网络GAN给我们带来了什么改变?

深度神经网络GAN给我们带来了什么改变?


"multi_version":false

GAN从提出到现在不过三年时间 , 但是与之相关的论文已经是浩如星海 。 从很多计算机视觉领域的论文里我们可以发现 , 往往在旧的方法基础上加个判别器 , 套上对抗机制 , 也能取得比原先要好的效果 。 而对GAN为什么能取得更好的效果 , 学术界仍没有统一的意见和完备的解释 。 以图像生成为例 , 一个比较普遍的解释是 , 之前我们在图像生成式模型中使用的基于L1范数和L2范数的损失函数 , 过于注重生成样本与真实样本“像素级”的对应 , 而且最后经过均值以后每个像素的误差都变成一样 , 导致生成的图像比较模糊 。 即使以L1范数做损失函数比L2范数更接近稀疏解 , 理论上会比基于L2范数的方法获得更锐利的图像 , 但生成图像的质量仍然不理想 。

GAN有什么特别之处呢?正如古德费洛最早的灵感是设计一个神经网络来判断生成样本的好坏样 , GAN的最大的优势来自于判别器的引入 , 让我们不用费尽心思为一些难以直接用数学公式衡量好坏的任务设计目标函数 。 例如 , 在计算机视觉领域有一个研究热点是风格迁移 , 可把自拍照转换成卡通风格 , 或把风光照转换成符合某个画家画风的图像等等 。 在这类应用中 , 很难用数学公式直接衡量生成的图像的风格是否合适 , 而如果要用基于范数的损失函数则需要大量成对的标注数据 。 但有了GAN , 我们就可以让判别器来学习判断图像的风格 。 因为判别器学习的是图像风格而不是图像里的物体 , 所以只需要符合同一种风格的图像就能训练 , 不需要对应图像中的物体 。 在自然语言处理的任务中也类似 , 例如在聊天机器人方面 , 采用基于范数的损失函数可能会让机器人固定地针对某些问题产生某些固定答案 , 这是过拟合的表现 。 而实际上 , 我们知道同一个意思有很多种表达 , 想要让机器人学会用不同方式来表达同一个意思 , 就可以利用GAN 。 因此 , GAN最大的魅力就在于这种对抗机制的普适性 , 相信它会在很多目标函数复杂的研究领域取得突破性进展 。

推荐阅读