借助于强化学习,AI也能画画了。上图为旷视提出的绘画机器人画故宫的过程。

本文中旷视研究院介绍了团队在机器仿人类绘画方面的最新研究,方法在四个大型数据集上表现优异。通过结合深度强化学习方法和神经网络渲染器,智能体可在自我探索中学会用数百个笔画绘制出纹理丰富的自然图像,每一个笔画的形状、位置和颜色皆是自主决定的。

论文名称:Learning to Paint with Model-based Deep Reinforcement Learning

论文地址:https://arxiv.org/abs/1903.04411

项目主页:https://github.com/hzwer/ICCV2019-LearningToPaint

目录

  • 导语

  • 简介

  • 绘图智能体

    • 模型

    • 学习过程

    • 网络架构

  • 笔画渲染器

    • 神经渲染器

    • 笔画设计

  • 实验

  • 结论

导语

旷视研究院在本文介绍了机器仿人绘画方面的最新研究,结果显示,机器可以通过一系列笔画来创造效果极佳的画作。具体而言,通过结合神经渲染器与基于模型的深度强化学习模型,智能体能够将拥有丰富纹理信息的图像分解为多个笔画,并制定一个连续规划。对每条笔画而言,智能体可以直接决定其落在画面的位置与颜色。通过运用多达数百条笔画,智能体生成的画面效果令人印象深刻。另外,训练过程不需要人类绘画或笔画跟踪方面的数据。

图 1:绘图过程。第一列展示的是目标图像。智能体在绘图时先描出轮廓,再添加细节纹理

简介

人工智能绘画是指一个智能体在一张画布上按序画下笔画,生成一幅与目标图像类似的画作。但这项任务目前仍存在一些挑战。

首先,像人类一样绘画需要智能体具备将目标图像解构为具有空间关系的笔画,然后再在画布上按顺序绘制它们的能力。在这个过程中,智能体需要对目标图像进行视觉解析,理解画布当前的状态,然后规划后续的笔画。

为处理这个问题,一般方法是在每一步给笔画的分解施加有监督的损失,但这样做计算成本高,特别是对纹理复杂的图像而言,需要智能体推断数百甚至数千个笔画才能生成目标图像。为了解决这个长程规划任务,强化学习是一个很好的选择,因为它能够最大化整个绘画过程的累积奖励,而不是在每一步都最小化有监督的损失。

第二,包含笔画位置与颜色的细粒度笔画参数空间对于绘画非常重要。先前工作中,笔画参数的设计大多是离散的,很难应对连续场景中的连续行为空间。DDPG(Deep Deterministic Policy Gradient,深度确定性策略梯度)正是为此而生,由其训练的智能体具有精细的控制性能。旷视研究院本次的工作也运用了 DDPG 算法。

第三,一个高效的绘画模拟器对智能体的性能影响很大,特别是当智能体要在画布上绘制成百上千条笔画时。先前大部分工作通过让智能体与模拟的绘画环境进行交互来实现绘画功能,它们既耗时又缺乏灵活性。与之相反,旷视研究院使用一个神经网络来训练了一个端到端的渲染器,直接将笔画参数映射为笔画图形。

绘图智能体

绘图智能体的首要目标是以笔画表征来解构给定的目标图像,然后在画布上绘制笔画,形成画作。为模仿人类,研究员让智能体基于画布当前的状态以及目标图像信息来预测下一个笔画的位置。更重要的是,为了让智能体每次都能合理地预测一条笔画的位置,即当前的笔画与之前和以后的笔画能够很好兼容,它需要一个设计精巧的奖励机制。

在本文中,研究员假设这个奖励可以在绘制完一条笔画之后得到,此外,智能体会追求在所有笔画绘制完成后获得最大化的累积奖励。整体架构参见图 2。

图 2:整体架构,其中,Actor、Critic、Discriminator 和 Renderer 均通过神经网络来实现

基于上述动机,研究员将绘图过程建模为一个有序的决策制定任务。另外,为构建奖励机制,还使用一个基于模型的增强学习算法来训练智能体。

模型

给定一个目标图像 I 与一张空画布 C_0,智能体的目标是找到一个笔画序列 (a_0,a_1,...,a_n-1),其中,在 C_t 上渲染 a_t 能够得到画布 C_t+1。当笔画按照序列渲染完成后,就得到了最终的画面C_n,研究员的目标是让这个 C_0  尽可能与 I 相似。

为此,研究员将这个任务建模为一个马尔可夫决策过程,它的状态空间为 S、行为空间为 A,转移函数为 trans(s_t,a_t)、奖励函数为 r(s_t,a_t)。

学习过程

基于模型的 DDPG 算法。如上所述,绘画任务的行为空间是一个高维连续空间。为了解决由高维连续行为空间带来的的困难,人们提出了 DDPG。

对于原始的 DDPG 而言,存在两类网络:Actor(演员) 与 Critic(评论家)。前者负责建立从状态到行为的策略函数;后者负责估计智能体在具体状态中执行行为的期望奖励值。

但需要说明的是,原始 DDPG 算法无法训练出性能优秀的绘画智能体,因为对于智能体而言,建模一个由真实世界中任意类型图像构成的复杂环境非常困难。所以,旷视研究团队设计了一个神经渲染器,以便智能体能够观察建模后的环境。

智能体可以探索这个环境,并有效改进自身策略。这种结合了能够从环境中得到梯度的 DDPG 被称为基于模型的 DDPG 。两种模型的差异见图 4(按原文顺序)。

图 4:传统 DDPG 算法中,评论家需要通过学习来对环境隐式建模;在基于模型的 DDPG中,环境通过一个神经渲染器显式建模,该神经渲染器可以帮助智能体高效学习

动作束。Frame Skip(跳帧) 是很多强化学习任务一个常用的强大设置。智能体在每跳过 k 帧而非一帧后才会观察环境。这个技巧让智能体更好地学习在时空上距离较远的状态与行为之间的联系。

受到 Frame Skip 的启发,研究员让演员在一步中输出 k 个笔画的参数,可以加速智能体绘画和学习的过程。研究员将这一方法称为 Action Bundle(动作束)。

WGAN 奖励。由于生成对抗网络在计算生成数据与目标数据之间的分布距离方面展现出了强大能力,因此被作为一种特殊的损失函数,广泛运用于迁移学习、文本建模与图像恢复中。

而 Wasserstein GAN(WGAN)是原始 GAN 的改进版,它最小化 Wasserstein 距离,也被称为 Earth-Mover 距离,可以为 GAN 的训练的稳定性提供帮助。本文使用了对 WGAN 中判别器进行约束的 WGAN-GP。

网络架构

由于真实世界中的图像多样性于复杂度都很大,因此使用类似 ResNet-18 的残差结构来作为 演员与评论家的特征提取器。

为了提取坐标信息,研究员将 CoordConv(坐标卷积) 设计为演员与评论家网络的第一层。对判别器而言,研究员使用了与 PatchGAN 类似的网络架构。图 6 (a)、(b) 展示了演员、评论家、判别器的网络架构。

图 6:网络架构

借用原始 DDPG 论文的思想,研究员使用了软目标网络,即创建演员与评论家的备份,并通过缓慢追踪习得的网络来更新二者的参数。另外,研究员也将这个方法运用到了判别器上,提升了训练的稳定性。

笔画渲染器

神经渲染器

使用神经网络来生成笔画有两个好处。首先,神经渲染器可以灵活地生成任何笔画类型,同时它也比手工设计的笔画模拟器更有效。第二,神经渲染器是可微的,它可以为原始 DDPG 很好地建模环境,从而提高智能体的性能。

神经渲染器是一个由多个全连接层与上采样层组成的解码器。Sub-pixel 被用于提升网络中笔画的分辨率,这个操作运行速度很快并能消除棋盘效应。图 5(c)展示了神经渲染器的网络架构。

笔画设计

笔画可以被设计为各种各样的曲线或几何图形。研究员设计了一个基于二次 Bezier 曲线的笔画表示,用于模仿笔刷的效果。笔画的形状由控制点的坐标与曲线宽度决定,笔画的透明度和颜色也可以通过参数来控制。

实验

研究员使用本论文方法在 4 个数据集 [MNIST]、[SVHN]、[CelebA] 以及 [ImageNet] 上进行了实验,结果显示智能体在绘制这些真实世界图像时的性能非常出色。

MNIST 与 SVHN 的图像结构较为简单,内容常见。研究员训练了一个只用 5 个笔画来绘制 MNIST 图像的智能体,以及一个用 40 笔画绘制 SVHN 中图像的智能体,样例参见图3(a)、(b)。可以发现智能体很好地复刻了目标图像。

图 3:来自多个数据集的测试结果。从(a)到(d)4 个数据集使用的笔画数量分别为 5、40、200、400

相反,CelebA 的图像结构更加复杂,内容也更加多样。研究人员训练了一个用 200 笔画绘制 CelebA 图像的的智能体,如图 3(c)所示,可以发现,画作除了失掉少数细节外,与目标图像保持了高度相似。类似的,SPIRAL 也展示了其在 CelebA 上的性能。

为了与之进行对比,旷视研究人员也训练了一个 20 笔画的智能体与 SPIRAL 进行对比。结果参见图 7(a)(b),可以发现,本论文的方法好于 SPIRAL ,且本文使用的 L2 距离小于 SPIRAL 使用的 1/3。

图 7:不同设置下的 CelebA 画作

对于 ImageNet,由于画面结构非常复杂且内容多样,所以研究员训练了一个 400 笔画的智能体,见图 3(d)。通过观察轮廓、物体颜色、背景可以发现画作与目标图像依然是相似的。尽管丢失了部分纹理,但智能体依然展现了解构复杂场景、以笔画合理重构画面的能力。

此外,图 8 展示了智能体在不同数据集上测试时候的损失曲线。

图 8:智能体在不同数据集上测试时候的损失曲线

结论

在本文中,旷视研究院提出一个绘画智能体,可把目标图像解构为笔画,然后在画布上有序地用笔触进行绘画。该模型基于深度强化学习框架,即它能够让智能体持续地通过制定绘图方案来获得最大奖励。与使用传统的笔画模拟器不同,用神经渲染器来生成笔触会更加便捷、高效。此外,神经渲染器也有助于基于模型的深度强化学习算法。习得的智能体可以预测上百甚至上千条笔画来进行绘图。实验结果显示该模型可处理多种类型的目标图像,且在面对具有丰富纹理的自然场景图像时也具有很好的性能。

参考文献

  • David Ha and Douglas Eck. A neural representation of sketch drawings. arXiv preprint arXiv:1704.03477, 2017.

  • Tao Zhou, Chen Fang, Zhaowen Wang, Jimei Yang, Byung- moon Kim, Zhili Chen, Jonathan Brandt, and Demetri Ter- zopoulos. Learning to doodle with deep q-networks and demonstrated strokes.

  • Ningyuan Zheng, Yifan Jiang, and Dingjiang Huang. Stro- kenet: A neural painting environment. In International Con- ference on Learning Representations, 2019.

  • Yaroslav Ganin, Tejas Kulkarni, Igor Babuschkin, SM Ali Eslami, and Oriol Vinyals. Synthesizing programs for im- ages using reinforced adversarial learning. In International Conference on Machine Learning, pages 1652–1661, 2018.

  • Timothy P Lillicrap, Jonathan J Hunt, Alexander Pritzel, Nicolas Heess, Tom Erez, Yuval Tassa, David Silver, and Daan Wierstra. Continuous control with deep reinforcement learning. arXiv preprint arXiv:1509.02971, 2015.

  • Martin Arjovsky, Soumith Chintala, and Le ́on Bottou. Wasserstein generative adversarial networks. In Proceedings of the 34th International Conference on Machine Learning- Volume 70, pages 214–223. JMLR. org, 2017.


强化学习交流群

关注最新最前沿的强化学习技术,欢迎加入专属交流群,扫码添加CV君拉你入群,(如已为CV君好友请直接私信)

(请务必注明:强化学习

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

Github 1300+ 星!旷视开源的深度强化学习绘画智能体论文解读相关推荐

  1. AI 大战 AI,一个深度强化学习多智能体竞赛系统

    小伙伴们快看过来!这是一款全新打造的 ⚔️ AI vs. AI ⚔️--深度强化学习多智能体竞赛系统. 这个工具托管在 Space 上,允许我们创建多智能体竞赛.它包含三个元素: 一个带匹配算法的 S ...

  2. DeepMind 综述深度强化学习:智能体和人类相似度竟然如此高!

    来源:AI科技评论 近年来,深度强化学习(Deep reinforcement learning)方法在人工智能方面取得了瞩目的成就,从 Atari 游戏.到围棋.再到无限制扑克等领域,AI 的表现都 ...

  3. 深度强化学习在智能城市领域应用介绍

    来源:海豚数据科学实验室 深度强化学习是近年来热起来的一项技术.深度强化学习的控制与决策流程必须包含状态,动作,奖励是三要素.在建模过程中,智能体根据环境的当前状态信息输出动作作用于环境,然后接收到下 ...

  4. 基于深度强化学习的智能船舶航迹跟踪控制

    基于深度强化学习的智能船舶航迹跟踪控制 人工智能技术与咨询 昨天 本文来自<中国舰船研究> ,作者祝亢等 关注微信公众号:人工智能技术与咨询.了解更多咨询! 0.   引 言 目前,国内外 ...

  5. 基于深度强化学习的智能汽车决策模型

    1.基于深度强化学习的智能汽车决策模型 以神经网络为核心的智能体最主要的优势在于其依靠大量的数据自主学习的能力,通过数据驱动智能体可以应对各种未经历过的复杂环境.强化学习是一种经典的智能系统设计方案, ...

  6. 时空AI技术:深度强化学习在智能城市领域应时空AI技术:深度强化学习在智能城市领域应用介绍...

    来源:海豚数据科学实验室 作者:京东科技 时空AI团队 深度强化学习是近年来热起来的一项技术.深度强化学习的控制与决策流程必须包含状态,动作,奖励是三要素.在建模过程中,智能体根据环境的当前状态信息输 ...

  7. 时空AI技术:深度强化学习在智能城市领域应用介绍

    深度强化学习是近年来热起来的一项技术.深度强化学习的控制与决策流程必须包含状态,动作,奖励是三要素.在建模过程中,智能体根据环境的当前状态信息输出动作作用于环境,然后接收到下一时刻状态信息和奖励.以众 ...

  8. 基于深度强化学习的智能车间调度方法研究

    摘要: 工业物联网的空前繁荣为传统的工业生产制造模式开辟了一条新的道路.智能车间调度是整个生产过程实现全面控制和柔性生产的关键技术之一,要求以最大完工时间最小化分派多道工序和多台机器的生产调度.首先, ...

  9. Github | 标星20k+ Facebook 开源高效词表征学习库fastText

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :https://githu ...

最新文章

  1. 从微信浏览器,调起本地应用,最简单的解决方案
  2. 机器学习--线性回归2(共线性问题、岭回归、lasso算法)
  3. uva 10308 Roads in the North
  4. 全国计算机软考程序员考试大纲(2012)
  5. Python 求峰值
  6. 2021年软考网络工程师专题突破视频教程
  7. canvas系列 — canvas常用API介绍
  8. android 旋转木马菜单,AndroidCarrouselLayout
  9. apple id两步验证服务器,apple id两步验证 苹果Apple ID两步式验证设置使用教程
  10. 模拟自动售卖机售卖3、5、8元饮料投币业务
  11. 情人节程序员用HTML网页表白【制作属于我们的爱情相册网页】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  12. ubuntu快捷复制粘贴
  13. mysql五日均线_中国股市:一根“5日均线”走天下,线上买,线下卖,简直了!...
  14. Warring 不建议使用从字符串到‘char *’的转换
  15. 图像对抗学习笔记:复现DPatch
  16. elasticsearch2.1部署
  17. python抽奖简单小程序游戏_python实现抽奖小程序
  18. 以简洁且简单的方式安装Kali虚拟机(VirtualBox),以及安装后的简单配置
  19. Mybatis写SQL语句update返回值为null
  20. linux下安装工具——yum

热门文章

  1. 图的所有顶点间的最短路径(Floyd算法)
  2. php中mysqli用法举例
  3. 【实践驱动开发3-005】TI WL1835MODCOM8 在android的移植 - SDIO and wifi 基础
  4. 笔记本电脑锁_2020年最好的10款笔记本电脑
  5. tensorflow 显存 训练_Tensorflow与Keras自适应使用显存方式
  6. sublime编写python路径报错怎么改_MacOS-Sublime-Text3设置Python3编译环境
  7. python print(f)执行将报错_Linux中为什么执行自己的程序要在前面加./
  8. 中兴上网卡 linux,电信3G无线上网卡中兴AC2726在Ubuntu 10.10安装使用成功
  9. Ubuntu修改默认源为国内
  10. accdb 用户类型未定义_Python早期设计与开发:数字类型的设计缺陷