【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning

Learning to Paint with Model-based Deep Reinforcement Learning

  • Abstract
  • Introduction
  • Related work
  • Painting Agent
    • Overview
    • The Model
    • Learning
      • Model-based DDPG
        • 原始的DDPG
        • 基于模型的DDPG
    • Action Bundle
    • WGAN Reward
    • Network Architectures
  • Stroked-based Renderer
    • Neural Renderer
    • Stroke Design
  • Training
  • Ablation Studies(对比实验的结果)
    • Model-based vs. Model-free DDPG
    • Rewards
    • Stroke Number and Action Bundle
  • Conclusion
  • 论文地址

Abstract

通过结合神经渲染器和基于模型的深度强化学习(DRL),教机器像人类画家一样画画。agent可以产生笔画的坐标点、半径、透明度、颜色值等。

Introduction

本文定义了人工智能绘画,agent可以按顺序在画布上绘制笔画,以生成类似于给定目标图像的绘画。

agent绘制纹理丰富的图像存在三个挑战:

  • 首先,要像人一样绘画,需要agent具有将给定目标图像在空间上分解为笔画,然后以正确顺序将它们画在画布上的能力。agent需要可视地解析目标图像,了解画布的当前状态,并制定有关未来笔画的预见计划。为了解决此问题,一种常见的方法是在每个步骤中为笔画分解提供有监督的损失。这种方法在计算上是消耗非常大的。同样,纹理丰富的图像绘画通常需要数百次笔画才能生成与目标图像相似的绘画,这比涂鸦,素描或字符书写要高数十倍。为了处理这样的长期计划任务,强化学习(RL)是一个不错的选择,因为RL的目的是使整个绘画过程的累积奖励最大化,而不是使每个步骤的监督损失最小化。这使agent具有远见卓识,计划笔画分解和大量步骤的绘画。此外,本文采用对抗训练策略来训练绘画agent。该策略已成功用于像素级图像生成任务,并且还可以帮助agent进行绘制;
  • 第二,细微的笔画参数空间(包括笔画位置和颜色)对于绘画至关重要。先前的工作将笔画参数空间设计为离散的,并且每个参数只有有限的选择数量,这不再适用于纹理丰富的绘画。由于大多数RL算法处理细粒度参数空间的能力较弱(例如 深度Q网络(DQN)和策略梯度(PG)),因此在连续空间上定义笔画参数提出了巨大挑战。相反,深度确定性策略梯度(DDPG)设计用于处理连续的动作空间,使用DDPG训练的agent已经显示出微妙的控制性能。本文在方法中采用DDPG,以使agent具有绘画能力;
  • 第三,高效的绘画模拟器对于agent的性能至关重要,尤其是在画布上绘画数百个笔划的情况下。大多数工作通过与模拟的绘画环境进行交互来绘画。这种方法既费时又不灵活。取而代之的是,本文使用神经网络(NN)训练端到端渲染器,该渲染器将笔画参数直接映射到笔画。渲染器可以实现各种笔画设计。 而且,渲染器是可以与DDPG巧妙地组合在一起的差分模型,是一种基于模型的DRL算法,极大地提高了原始DDPG的性能。

强化学习(RL)旨在最大化整个绘画过程的累积回报,而不是最小化每一步的监督损失,这使得agent有先见之明计划笔画分解和大规模步骤绘画。此外,本文采取对抗训练策略来训练绘画agent。这种策略成功地用于像素级图像生成任务,也有助于agent绘制。
使用神经网络(NN)来训练端到端渲染器,该渲染器直接将笔画参数映射到笔画。渲染器可以实现各种笔画设计。此外,渲染器是差分,可以与DDPG巧妙地结合作为一种基于模型的DRL算法,这极大地提高了原始DDPG的性能。

总而言之,本文的贡献如下:

  • 本文使用基于模型的DRL算法解决绘画任务,允许agent按顺序将目标图像分解为数百个笔触,以生成类似于目标图像的绘画;
  • 神经渲染器用于高效绘画,并且还与各种笔划设计兼容。 此外,神经渲染器有助于本文提出的基于模型的DDPG;
  • 本文所提出的绘画agent可以很好地处理多种类型的目标图像,包括数字,门牌号,肖像和自然场景图像。

Related work

基于笔画的渲染(SBR)是一种通过放置离散元素(例如笔画或点画)来创建非真实感图像的自动方法,这与本文提出的任务类似。大多数基于笔划的渲染算法会贪婪地专注于每个步骤或需要用户交互。

与本文的agent类似,SPIRAL是经过对抗训练的RL agent,能重建图像的高级结构。StrokeNet结合了可区分的渲染器和递归神经网络(RNN)来训练agent进行绘画,但是无法在彩色图像上进行泛化。这些方法不足以处理这项复杂的任务,并且需要大量的计算资源。Doodle-SDQ训练agent以DQN模拟人类涂鸦。先前,Sketch-RNN使用顺序数据集在草图中获得良好的结果。Artist Agent探索使用RL自动生成单个笔画。

这些算法是无模型的,这意味着agent仅需要根据来自环境的样本来最大化期望的回报。对于某些任务,agent可以通过做出预测来更好地了解环境。另一种有效的方法是建立一个生成神经网络模型。 Gu等人探索使用基于模型的方法来加速DQN。

Painting Agent

Overview

绘画agent的目标是首先用笔画表示分解给定的目标图像,然后在画布上绘制笔画以形成绘画。 为了模仿人类的绘画过程,agent被设计成基于观察画布的当前状态和目标图像来预测下一个笔画。 更重要的是,为了使agent获得一次预测一个合适的笔画的能力,即笔画与先前的笔画和未来的笔画很好地兼容,它需要精心设计反馈机制。 本文假设反馈应该是完成一笔绘画后获得的奖励,并且agent在完成所有笔画之后追求最大化累积奖励。 本文给出了图2中整体架构的图表。

【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第1张图片
(a)在每一步,the policy (aka actor)都会根据画布和目标图像给出一组笔画参数。 渲染器跟据这一组笔画参数在画布上渲染笔画。(b)在学习期间,the evaluator (aka critic)根据目标图像和渲染的画布评估动作。 在本文的实现中,policy,evaluator和渲染器都是使用神经网络实现。

The Model

【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第2张图片

  • State and Transition Function:状态空间由agent可以观察到的环境中的所有可能的信息构成。我们将状态定义为三个部分:画布,目标图像和步骤编号。
    在这里插入图片描述
    转移函数 s t + 1 = t r a n s ( s t ; a t ) s_{t + 1} = trans(st; at) st+1=transst;at给出状态之间的转移过程,该过程通过在当前画布上绘制笔画来实现。

  • Action:动作空间是agent可以执行的一组操作。 一个动作 a t a_{t} at是一组参数,用于控制在步骤 t t t绘制的笔画的位置,形状,颜色和透明度。We define the behavior of an agent as a policy function Π Π Π that maps states to deterministic actions
    在这里插入图片描述
    agent观察状态 s t s_{t} st然后给出下一个笔画的笔画参数 a t a_{t} at。The state evolutes based on the transition function
    在这里插入图片描述

  • Reward:奖励功能用于评估policy做出的动作。 选择合适的度量来测量画布和目标图像之间的差异对于训练绘画agent至关重要。 奖励的设计如下:
    【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第3张图片
    为了确保最终画布类似于目标图像,应该最大化上述累积奖励,因为要保证损失越来越小。即最大化累计奖励Reward:
    在这里插入图片描述

Learning

在本节中,将介绍如何使用精心设计的基于模型的DDPG训练agent。
【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第4张图片
在原始的DDPG中,Critic需要学习隐式建模环境。在基于模型的DDPG中,通过神经渲染器对环境进行了显式建模,这有助于训练高效的代理。

Model-based DDPG

本文首先描述原始的DDPG,然后引入基于模型的DDPG来有效地训练agent。按照定义,绘画任务中的动作空间是连续的,具有高维度。将动作空间离散化以适应某些DRL方法(例如DQN和PG),将失去笔画表示的精度,并且需要手动结构设计中的大量工作来应对离散空间中参数组合的爆炸式增长。DPG被提出使用确定性策略来解决由高维连续动作空间引起的困难。此外,提出了将DPG与NN相结合的DDPG,以增强其在许多控制任务中的性能。

原始的DDPG

在原始DDPG中,有两个网络:the actor Π ( s ) Π(s) Π(s) and critic Q ( s ; a ) Q(s; a) Q(s;a)
【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第5张图片
我们无法使用原始DDPG来训练一名表现出色的绘画agent,因为该agent很难在学习过程中很好地建模由任何类型的真实世界图像组成的复杂环境。(为什么不能?因为实验结果不好吗?文章中这里解释得不是很清楚)

基于模型的DDPG

本文将DDPG与可以基于环境访问渐变的actor称为基于模型的DDPG。使用基于模型的DDPG进行agent的优化与使用原始DDPG进行的优化不同。

【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第6张图片
Critic仍然预测该状态的预期奖励,但不再包括当前动作引起的奖励。

Action Bundle

跳帧是许多RL任务的强大参数。该agent只能观察环境,并且每k帧执行一次操作,而不是一帧。该技巧使agent具有更好的能力来学习在时间上更远的状态和动作之间的关联。受此技巧的启发,我们使actor每一步输出了k个笔画的参数。渲染器将同时渲染k个笔画,以大大加快绘画过程。实验发现每次增加五个笔画效果最好。值得注意的是,为了保持一致性,我们将奖励折扣系数从 γ γ γ修改为 γ k γ^k γk

WGAN Reward

GAN已被广泛用作迁移学习,文本模型和图像恢复中的特定损失函数,因为它具有测量生成数据和目标数据之间分布距离的强大能力。Wasserstein 生成对抗损失函数 (WGAN Loss)。我们需要度量画布和目标图的相似度以给出奖励函数,我们发现 WGAN Loss 是一种比欧几里得距离更好的度量,使得最后画出来的图细节更丰富。

Network Architectures

由于现实世界图像的高度可变性和高度复杂性,我们使用类似于ResNet-18的残差结构作为actor和critic中的特征提取器。actor与批处理归一化(BN)配合良好,但BN不能显着加快critic训练的速度。本文对critic使用WN和Translated ReLU(TReLU)来稳定训练。另外,本文使用CoordConv作为actor和critic的第一层。对于判别器,本文使用与PatchGAN类似的网络结构。本文在判别器中也使用了WN和Translated ReLU(TReLU)。在原始DDPG论文之后,本文使用了软目标网络,这意味着为actor和critic创建一个副本,并通过让他们缓慢地跟踪学习的网络来更新其参数。即分online network和target network。下图是网络结构图:
【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第7张图片

Stroked-based Renderer

Neural Renderer

使用神经网络生成笔画有两个优点:

  • 首先,神经渲染器可以灵活地生成任何类型的笔画,并且比手工制作笔画模拟器更有效。
  • 其次,神经渲染器是可微分的,可以很好地为原始DDPG建模环境,从而提高agent的性能。

具体地,向神经渲染器馈送一组笔画参数,然后输出渲染的笔画图像S。使用图形渲染器程序随机生成训练样本。 神经渲染器可以通过监督学习快速训练并在GPU上运行。 因此,本文获得了一个可区分且快速运行的环境。一些简单的几何渲染可以在没有神经网络的情况下完成,也可以给出渐变。 但神经网络可以帮助本文省略繁琐的公式计算。神经渲染器网络由几个完全连接的层和卷积层组成。 采用Sub-pixel来增加网络中笔画的分辨率。

Stroke Design

【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第8张图片

Training

【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第9张图片

Ablation Studies(对比实验的结果)

在本节中,主要研究组件或技巧(包括基于模型的DDPG,Action Bundle和WGAN奖励)如何影响agent的性能。为简单起见,本部分仅在CelebA上进行实验。

Model-based vs. Model-free DDPG

本文探索了与原始DDPG相比,基于模型的DDPG有多少优势。众所周知,原始的DDPG只能以隐式方式对环境进行建模,并具有对环境的观察和回报。此外,高维动作空间还限制了无模型方法在绘画任务中使用。为了进一步探索无模型方法的功能,我们采用了受PatchGAN启发的方法来改进原始DDPG。本文先将图像分成小块,然后再将这些小块放入critic中,然后使用小块级别的奖励来优化critic。本文将此方法称为PatchQ。 通过在训练中提供更多的监督信号,PatchQ可以提高采样效率并提高agent的性能。

本文在图7(a)中显示了使用不同算法训练的agent的性能。基于模型的DDPG优于原始DDPG和带有PatchQ的DDPG。尽管与基于模型的DDPG相比性能不佳,但具有PatchQ的DDPG却在性能上大大优于原始DDPG。
【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第10张图片

Rewards

【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第11张图片
【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第12张图片

Stroke Number and Action Bundle

绘画的笔画数对于最终的绘画效果至关重要,特别是对于纹理丰富的图像而言。本文训练可以绘制100、200、400和1000笔画的agent,损失曲线如图7(c)所示。据观察,更大的笔画数有助于更好的绘画效果。因为更多的笔画有助于重建画中的细节。

Action Bundle是加快绘画过程的技巧。除此之外,我们还将探讨Action Bundle如何影响agent的性能。本文在图7(b)中显示了Action Bundle的几种设置的损耗曲线。根据损失曲线,每次增加5个笔画的可以获得最佳的效果。

Conclusion

【论文阅读】Learning to Paint with Model-based Deep Reinforcement Learning_第13张图片

论文地址

Learning to Paint with Model-based Deep Reinforcement Learning

你可能感兴趣的:(计算机视觉)