天天看點

【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

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 LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

(a)在每一步,the policy (aka actor)都會根據畫布和目标圖像給出一組筆畫參數。 渲染器跟據這一組筆畫參數在畫布上渲染筆畫。(b)在學習期間,the evaluator (aka critic)根據目标圖像和渲染的畫布評估動作。 在本文的實作中,policy,evaluator和渲染器都是使用神經網絡實作。

The Model

【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址
  • State and Transition Function:狀态空間由agent可以觀察到的環境中的所有可能的資訊構成。我們将狀态定義為三個部分:畫布,目标圖像和步驟編号。
    【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址
    轉移函數 s t + 1 = t r a n s ( s t ; a t ) s_{t + 1} = trans(st; at) st+1​=trans(st;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
    【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址
    agent觀察狀态 s t s_{t} st​然後給出下一個筆畫的筆畫參數 a t a_{t} at​。The state evolutes based on the transition function
    【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址
  • Reward:獎勵功能用于評估policy做出的動作。 選擇合适的度量來測量畫布和目标圖像之間的差異對于訓練繪畫agent至關重要。 獎勵的設計如下:
    【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址
    為了確定最終畫布類似于目标圖像,應該最大化上述累積獎勵,因為要保證損失越來越小。即最大化累計獎勵Reward:
    【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

Learning

在本節中,将介紹如何使用精心設計的基于模型的DDPG訓練agent。

【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

在原始的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 LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

我們無法使用原始DDPG來訓練一名表現出色的繪畫agent,因為該agent很難在學習過程中很好地模組化由任何類型的真實世界圖像組成的複雜環境。(為什麼不能?因為實驗結果不好嗎?文章中這裡解釋得不是很清楚)

基于模型的DDPG

本文将DDPG與可以基于環境通路漸變的actor稱為基于模型的DDPG。使用基于模型的DDPG進行agent的優化與使用原始DDPG進行的優化不同。

【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

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 LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

Stroked-based Renderer

Neural Renderer

使用神經網絡生成筆畫有兩個優點:

  • 首先,神經渲染器可以靈活地生成任何類型的筆畫,并且比手工制作筆畫模拟器更有效。
  • 其次,神經渲染器是可微分的,可以很好地為原始DDPG模組化環境,進而提高agent的性能。

具體地,向神經渲染器饋送一組筆畫參數,然後輸出渲染的筆畫圖像S。使用圖形渲染器程式随機生成訓練樣本。 神經渲染器可以通過監督學習快速訓練并在GPU上運作。 是以,本文獲得了一個可區分且快速運作的環境。一些簡單的幾何渲染可以在沒有神經網絡的情況下完成,也可以給出漸變。 但神經網絡可以幫助本文省略繁瑣的公式計算。神經渲染器網絡由幾個完全連接配接的層和卷積層組成。 采用Sub-pixel來增加網絡中筆畫的分辨率。

Stroke Design

【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

Training

【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

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 LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

Rewards

【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址
【論文閱讀】Learning to Paint with Model-based Deep Reinforcement LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

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 LearningAbstractIntroductionRelated workPainting AgentStroked-based RendererTrainingAblation Studies(對比實驗的結果)Conclusion論文位址

論文位址

Learning to Paint with Model-based Deep Reinforcement Learning

繼續閱讀