「」【迁移】用神经风格迁移生产美图,你也是梵高( 三 )
笔者做出的最后一个修改是将content_layer转换为conv3_2 , 而非Gatys等人使用的conv4_2 。 笔者读过的大多数文章也推荐使用conv4_2 , 但是笔者发现使用conv4_2会忽略掉一些细节 , 且生成图片的风格会覆盖内容 。
另一方面 , conv3_2可以保留这些细节 , 而无需对像素完美性进行过度惩罚 。
进一步质量提升
现在已经讨论了笔者的神经风格迁移代码中所实施的全部技巧 。 在原有的PyTorch教程基础上 , 已经极大提高了迁移质量 。 此外 , content_weight和 style_weight对于特定的图像选择具有更高的鲁棒性 。
例如 , 笔者发现如果没有对PyTorch教程进行适当的调整 , 一组图像的 style_weight很难轻松迁移到另一组图像上 。
也就是说 , 去除生成图片中的高频噪音可能会得到更好的结果 。 文章《可微的图像参数化》(DifferentiableImage Parameterization , 接触相关话题必须阅读的另一篇文章)提出了很有趣的方法 。
本文插图
该文中 , 作者先在(去噪)傅里叶空间而非(噪声)像素空间中对input_img 参数化 。 因为input_img 由梯度下降法生成 , 对输入去相关化相当于一个预调节器 , 可通过梯度下降法更快找到最小值 , 从而使优化更易(与在监督学习任务中去除相关特征类似) 。 除了类似的简短解释如在去相关空间中发现的最小值更宽泛、更健壮外 , 我并不清楚为什么这能提高迁移质量 。
更简单的方法是通过直接或间接惩罚来抑制高频噪声 。 直接惩罚可通过将input_img的全变差损失添加到优化对象中来实现 。 相反 , 通过在每次梯度下降步骤后对input_img进行模糊 , 或者在将噪音应用于input_img之前对梯度进行模糊 , 可实现间接惩罚 。
这两种方法存在的问题是 , 它们还会对真正的高频特性造成不利影响 。 可通过在训练时缩减总变化损失或模糊量来进行一定程度上的改善 。
本文插图
笔者的初始目标是使用机器学习生成媒介形象图片 。 但在反复实验中 , 无意发现了一些很惊人的事 。 对笔者来说 , 整个过程中最有趣的部分是神经网络的端到端可微性 。 我们很容易地就能“颠倒”一个原本用于区分猫狗的模型 , 并用其生成无数种不同风格的图像 , 你还可以尝试用随机森林模型进行操作 。
用神经风格迁移生成好看的图片了 , 这个过程听起来简单 , 但想要得到高质量的结果 , 确实是个技术活 , 可见即使有机器学习辅助 , 成为梵高依然不是件容易的事 。
推荐阅读
- 全国产经平台|戴尔和谷歌云合作推出OneFS简化大规模数据迁移
- cnBeta|研究人员创建了首张心脏神经元的3D地图
- 全息FACEBOOK神经渲染实现AR穿戴新里程,微美全息AI视觉场景高仿真拼接
- 『』拿华为手机的人,瞧瞧这种“手滑式”,风格独特,还能智能操作
- :传统企业向云迁移是大势所趋?
- 深圳过得更好从华为手机到苹果手机,数据迁移要这么做
- 咖啡陆正耀发声明:我的风格可能太激进 但绝不是以“概念做局”去骗投资人
- 腾讯优图:带噪学习和协作学习,不完美场景下的神经网络优化策略
- 环网电讯云迁移的四个关键步骤
- 趣投稿2020最新版《神经网络与深度学习》中文版更新完毕(附PDF下载)
