https://www.toutiao.com/a6707818378641293836/

2019-06-29 13:21:10

边策 发自 凹非寺

量子位 报道 | 公众号 QbitAI

风格迁移是VGG网络架构的拿手好戏。难道其他架构的CNN,比如ResNet就不可以吗?可以,但是直接用它来做风格迁移,原来的风格仍然非常明显,几乎没有迁移。

就像这样:

有没有一种方法,在经过调整后,可以把非VGG架构用于风格迁移呢?

之前的确有人尝试过。但他们不是直接优化RGB空间中的输出图像,而是在傅立叶空间中对其进行优化,并在将图像传递到神经网络之前通过一系列变换(例如抖动、旋转、缩放)来操作图像。

通过去相关参数化和变换鲁棒性,在非VGG架构上实现风格迁移

为何给图像做一个简单的旋转、抖动处理,就能实现非VGG架构的风格迁移?有位日本的科技博主Reiichiro Nakano受到MIT上个月发表的一篇论文启发,用实验结果解答了这个问题。

这篇论文叫做《对抗样本不是bug而是特征》(Adversarial Examples Are Not Bugs, They Are Features)。下面就让我们来分析分析。

鲁棒与非鲁棒特征

MIT的文章提出,用于训练分类器的图像中存在所谓的“鲁棒”和“非鲁棒”特征。

我们可以将鲁棒的特征视为人类用于分类的特征,例如,大耳朵指向某些品种的狗,而黑白条纹指向斑马。

另一方面,非鲁棒特征是人类对之不敏感的特征,但是它们却与整个训练、测试数据集上的类别相关联。

作者认为,可以通过用另一个类的非鲁棒特征替换图像中的非鲁棒特征来产生对抗样本。

有些图像分类模型的抵抗性较差,给熊猫照片加上一点噪声(非鲁棒特征),它就会把熊猫当成长臂猿:

论文中有一张图表特别值得注意,它显示了对抗样本的可迁移性与学习非鲁棒特征能力之间的相关性。

于是有人推测,由于VGG无法像ResNet那样捕获图像的非鲁棒特征,因此在图像分类准确率上吃亏,却能使VGG更好地进行风格迁移。

之前我们的问题得到了解释:

图像变换会削弱甚至破坏非鲁棒特征。经过优化后,CNN不再能够可靠地利用非鲁棒特征来降低损失,因此不得不利用鲁棒特征,可能会对图像变化产生更大的抵抗力(旋转和抖动的耳朵仍然看起来像一个大耳朵)。

实验

测试这个假设是相当简单的:使用一个抵抗力强大(鲁棒)的分类器进行风格迁移,看看会发生什么。

博主对两个不同条件训练的ResNet-50模型进行比较。一个是MIT作者用鲁棒特征训练的模型(已开源),另一个是博主自己训练的常规ResNet-50模型(对非鲁棒特征敏感)。

此外,还有常规VGG-19风格转换的图片作为对比。

结果成功了!鲁棒ResNet模型相比常规ResNet模型显示出了巨大的改进。请记住,二者网络架构完全相同,执行风格迁移的代码完全相同,只是权重不同!

在VGG-19与鲁棒的ResNet之间进行比较,会得到更有趣的结果。乍一看,鲁棒ResNet模型生成的图片大致与VGG-19相同。然而,仔细观察却发现,ResNet的输出包含更多的噪点,伪造的痕迹更明显一些。

目前还不清楚究竟是什么原因导致这些痕迹。一种理论是它们是由不可分的核尺寸和卷积层中的步长引起的“棋盘伪影”(checkerboard artifacts),也有可能是由最大池化层的存在造成的。

这些伪影虽然存在问题,但似乎与对抗鲁棒性在神经风格迁移中解决的问题大不相同。

结论

虽然这个实验是因为观察到VGG的一个特殊特征而开始的,但它没有对这种现象作出解释。实际上,如果我们要接受这样的理论,即对抗鲁棒性是VGG能直接用于神经风格转移的原因,我们肯定会在现有文献中找到一些迹象表明VGG自然比其他架构更强大。

不幸的是,我们找不到任何支持这个论点的东西。

也许对抗鲁棒性恰好修复或掩盖非VGG架构在风格迁移中失败的真正原因,即对抗鲁棒性是有良好风格迁移能力的充分不必要条件

这位日本博主认为进一步研究VGG是未来工作一个非常有趣的方向。

未来的工作

最后,博主给出了一些未来工作的想法:

1、找出鲁棒ResNet伪造痕迹明显的原因,并尝试修复它们。

2、尝试使用超参数,尤其是用于风格和内容的图层。

3、本文使用的鲁棒ResNet模型来自Engstrom等人的成果。他们是在一组受限制的ImageNet上训练,只有9个分类。在完整的ImageNet数据集上训练分类器是否会产生更好的输出。

传送门

博客地址:

https://reiinakano.com/2019/06/21/robust-neural-style-transfer.html

论文解读地址:

http://gradientscience.org/adv/

鲁棒ResNet-50模型:

https://github.com/MadryLab/robust_representations

Cloab地址:

https://colab.research.google.com/github/reiinakano/adversarially-robust-neural-style-transfer/blob/master/Robust_Neural_Style_Transfer.ipynb

— 完 —

谁说只有VGG才能做风格迁移,ResNet也可以!答案就在对抗攻击中相关推荐

  1. 谁说只有VGG才能做风格迁移,ResNet也可以

    边策 发自 凹非寺 量子位 报道 | 公众号 QbitAI 风格迁移是VGG网络架构的拿手好戏.难道其他架构的CNN,比如ResNet就不可以吗?可以,但是直接用它来做风格迁移,原来的风格仍然非常明显 ...

  2. 华人团队用Transformer做风格迁移,速度快、可试玩,网友却不买账

    视学算法报道 编辑:杜伟 利用神经网络进行风格迁移是一项非常常见的任务,方法也很多,比如基于优化和基于 RL 的方法.最近,来自百度 VIS 团队的研究者提出了一种基于 Transformer 的风格 ...

  3. VGG—style-transport(风格迁移)

    文章目录 一.neural_style.py文件 二.stylize.py 三.VGG 权重文件:imagenet-vgg-verydeep-19.mat下载地址: https://pan.baidu ...

  4. 汉字风格迁移篇---SKFont:具有条件深度对抗网络的骨架驱动韩文字体生成器

    文章目录 Abstract 传统字体设计的限制 提出方法 1 Introduction 2 Related works 2.1 Generic font generation methods 2.2 ...

  5. TensorFlow实时任意风格迁移,送女朋友的创意礼物有了

    TensorFlow实时任意风格迁移,送女朋友的创意礼物有了 前言 自适应实例规范化 风格迁移网络 编码器结构与实现 通过反射填充(reflection padding)减少块伪影 解码器结构与实现 ...

  6. Neural Style Transfer 风格迁移经典论文讲解与 PyTorch 实现

    今天花半小时看懂了"Image Style Transfer Using Convolutional Neural Networks Leon"这篇论文,又花半小时看懂了其 PyT ...

  7. 毕业设计 - 题目:基于深度学习的图像风格迁移 - [ 卷积神经网络 机器视觉 ]

    文章目录 0 简介 1 VGG网络 2 风格迁移 3 内容损失 4 风格损失 5 主代码实现 6 迁移模型实现 7 效果展示 8 最后 0 简介 今天学长向大家介绍一个机器视觉项目 基于深度学习卷积神 ...

  8. 风格迁移应用_浅谈风格迁移(一)固定风格迁移

    -- 本文来自于VIP Lab的黄宇杰同学撰稿 风格迁移是一个有趣的计算机视觉话题.它被用于我们的日常生活中,比如我们常用的美图工具中的各类滤镜背后就是风格迁移技术.其实包括真人到二次元人物.二次元人 ...

  9. 图像风格迁移【老版】

    深度学习目前为止最有用的东西是图像处理,我们可以用它在极早期判断癌症, 也可以用它在茫茫人海里寻找犯人,但是要我说你能写一个小程序取悦女朋友, 你就不一定能信, 这一招叫艺术风格变换,就是你点击一下, ...

最新文章

  1. mysql 修复_mysql修复表的三个方法
  2. mysql-5.7.10产生的日志时间与系统时间不一致
  3. B-Tree与B+Tree的区别
  4. JavaScript面向对象精要(一)
  5. 反制爬虫之Burp Suite RCE
  6. C#中的DataSet添加DataTable问题
  7. 工程制图 (机件常用的基本表示法)
  8. Asp.net中的时区
  9. 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点
  10. HTML5 — 知识篇总结《II》【HTML5大力支持的语义化思想与规范】
  11. 什么是Overlay网络?Underlay 网络 vs. Overlay网络
  12. java怎么实现微博评论_关于微博评论功能的设计与思考
  13. 诺基亚安卓手机_宁可不做手机?也不用安卓系统!诺基亚:真香啊
  14. 【FLUENT案例】01:T型管混合器中的流动与传热
  15. ElasticSearch入门教程(1)
  16. 关于No enclosing instance of type MyProject is accessible的报错
  17. 《C++ Primer》第9章 9.3节习题答案
  18. python02 函数 等额本金贷款
  19. 世界首个由队伍拥有并运营的CS:GO电竞联盟FLASHPOINT成立
  20. oracle删除两个月以前的数据,Oracle恢复删除数据

热门文章

  1. nltk_data数据下载
  2. 简述python中怎样导入模块_Python中导入模块的两种模式,import
  3. 【会议邀请】第5届语言与智能高峰论坛将于本周五在线召开
  4. CNN加速器设计新突破,逼近能效理论极限
  5. 机器学习奠基人Michael Jordan:下代技术是融合经济学,解读2项重要进展(含PPT)...
  6. 图灵近期新书精彩不断,让你应接不暇!
  7. Teamviewer 远程ssh命令行更改密码启动
  8. 数字图象处理之二维码图像提取算法(九)
  9. spring整合mybatis(入门级简单教程4)--扫描mapper类
  10. 微软亚洲研究院周明:从语言智能到代码智能