當前位置:
首頁 > 科技 > DeepMind利用強化學習,訓練智能體編寫圖像生成程序

DeepMind利用強化學習,訓練智能體編寫圖像生成程序

原文來源:DeepMind

作者:Yaroslav Ganin、Tejas Kulkarni、Igor Babuschkin、S. M. Ali Eslami、Oriol Vinyals

「雷克世界」編譯:嗯~是阿童木呀、EVA

通過人類的眼睛來看這個世界,我們會發現,這個世界遠遠不只是我們眼角膜所反射的圖像。比如,當我們看到一座建築並稱讚它的複雜設計時,我們能夠領會到它所需要的工藝。這種通過使用創造事物的工具來解釋事物的能力使我們對世界有了更豐富的理解,也是我們智慧的一個重要方面。

我們希望我們的系統也能夠創造出同樣的關於世界的豐富表徵。例如,當我們觀察一幅畫的圖像時,我們希望它們能夠理解用來創造該畫的畫筆筆觸,而不僅僅是在屏幕上顯示的像素。

在本研究中,我們為人工智慧體配備了與我們用來生成圖像相同的工具,並證明了它們可以推論出數字、字元和肖像是如何被構造的。至關重要的是,它們學會了獨立完成這項工作,並且不需要使用人為標記的數據集。這與最近的研究形成了鮮明的對比——目前的那些研究依賴於從人類的演示中進行學習,這個過程可能會很費時。

我們設計了一個深度強化學習智能體,它可以與計算機繪圖程序進行交互,在數字畫布上繪製筆觸,並改變筆刷的大小、壓力和顏色。這個未經訓練的智能體會以繪製無明顯意圖或結構的隨機筆觸開始。為了克服這一點,我們必須創造一種方式來獎勵這種智能體,從而鼓勵它產生有意義的繪畫。

為了達到這個目的,我們訓練了第二個神經網路,叫做鑒別器,它的唯一目的是預測一個特定的圖畫是由這個智能體產生的,還是從真實的照片數據集中採樣得到的。繪畫智能體會根據它成功地「愚弄」了鑒別器,使其認為自己的畫是真實的程度,而得到獎勵。換句話說,智能體的獎勵信號就是它本身學習的。雖然這類似於生成對抗網路(Generative Adversarial Networks,GAN)中的方法,但它的不同之處在於,在GAN設置中的生成器通常是一個直接輸出像素的神經網路。與此相反,我們的智能體通過編寫製圖程序來與繪畫環境進行交互,從而生成圖像。

在第一組實驗中,該智能體被訓練去生成類似於MNIST數字的圖像:它顯示了數字的樣子,但並沒有顯示出它們是如何被繪製的。通過嘗試生成愚弄鑒別器的圖像,智能體學會了控制筆刷,並操縱它以適應不同數字的風格,這種技術被稱為視覺程序合成。

我們還訓練它對特定的圖像進行重現。在這裡,鑒別器的目的是確定被重現的圖像是目標圖像的副本,還是它是由智能體生成的。這種區分對於鑒別器來說越困難,智能體就越能得到獎勵。

至關重要的是,這個框架也是可解釋的,因為它生成了一系列控制模擬筆刷的動作。這意味著,該模型可以將它在模擬繪畫程序上的所學應用到其他類似的環境中去重現字元,例如在模擬的或真實的機器人手臂上。

此外,也有將這個框架擴展到真實數據集的可能。當智能體被訓練去畫名人的臉時,它能夠捕捉面部的主要特徵,比如形狀、色調和髮型,就像街頭藝術家在使用限定數量的畫筆去畫一幅肖像時所做的那樣:

從原始感覺中恢復結構化的表徵是一種人類很容易擁有並且經常使用的能力。在這項研究中我們展示了,通過讓人工智慧體接觸到我們用來重塑周圍世界的相同工具,是有可能引導它們產生類似的表徵的。通過這樣做,它們學會了生成視覺程序,簡潔地表達出引起它們觀察的因果關係。

儘管我們的研究僅僅是向靈活的程序合成邁出的一小步,但我們預計,類似的技術應該是必要的,從而使人工智慧體具有類似人類的認知、泛化和溝通能力。

論文簡述

近年來,深度生成網路的發展取得了令人印象深刻的卓越成果。儘管如此,但這些模型往往會將其能力浪費在數據集的細枝末節上,這可能是由於其解碼器中的感應偏差較弱。而這正是圖形引擎可以派上用場的地方,因為它們能夠抽象出低水平細節並將圖像表示為高級程序。而當前的結合了深度學習和渲染器的方法受限於手工製作的似然性或距離函數(需要大量的監督),或難以將其推理演算法擴展到更為豐富的數據集中。為了緩解這些問題,我們提出了SPIRAL,一個經過對抗性訓練的智能體,它能夠生成一個由圖形引擎執行的程序,從而對圖像進行解釋和採樣。該智能體的目標是欺騙一個能夠區分真實數據和渲染數據的鑒別器網路,且它是在沒有任何監督的情況下使用分散式強化學習進行訓練的。此外,我們還有一個驚人的發現,即使用鑒別器的輸出作為獎勵信號,是使得智能體能夠在匹配期望輸出呈現結果時取得有意義進展的關鍵所在。據我們所知,這是在具有挑戰性的現實世界(MNIST、OMNIGLOT、CELEBA)和合成3D數據集上所進行的端到端、無監督和對抗反向圖形智能體的第一次演示。該智能體的相關演示視頻可點擊鏈接https://youtu.be/iSyvwAwa7vk查看。

SPIRAL將隨機雜訊或圖像作為輸入,並通過圖形程序合成,迭代地產生貌似真實的樣本或重建。第一行描述了給定隨機雜訊的無條件運行。第二行、第三行和第四行描述了給定帶有手寫字元的圖像、蒙娜麗莎和內置在3D場景中的對象的有條件執行。

可以這樣說,從原始感覺(raw sensations)中恢復結構化表示是一種人類很容易擁有並且經常使用的能力。給定一張手寫字元的圖片,將其分解為筆畫可以更容易對該字元進行分類或重新構想,同樣,了解房間的基本布局可以幫助你對該房間進行規劃、導航和互動。除此之外,這種結構可以用於泛化、快速學習、甚至是與其他智能體進行通信。人們普遍認為,人類是利用模擬來學習這種技能的(Lake等人於2017年提出)。通過用一支筆和一張紙進行實驗,我們了解了我們的手部動作是如何進行從而導致書寫字元的,而通過想像力,我們了解到建築布局是如何在現實中體現出來的。

在視覺領域中,出於場景理解的目的而進行的渲染器的倒置通常被稱為逆圖形(inverse graphics,Mansinghka等人於2013年、Kulkarni等人於2015年提出)。使用逆圖形方法對視覺系統進行訓練仍然攢在很大的挑戰性。渲染器通常期望作為具有序列語義的輸入程序,由離散符號(例如CAD程序中的擊鍵)組成,並且非常長(具有幾十或幾百個符號)。除此之外,將渲染圖像與實際數據進行匹配還會產生一個優化問題,因為黑盒圖形模擬器通常是不可微的。

SPIRAL體系結構。(a)SPIRAL智能體的執行軌跡。該策略輸出程序片段,這些片段在每個步驟中通過圖形引擎R被渲染到圖像中。智能體可以利用這些中間渲染來調整其策略。智能體只在最後一步執行中獲得獎勵。(b)SPIRAL的分散式訓練。

為了解決這些問題,我們提出了一種使用深度強化對抗學習(Deep Reinforced Adversarial Learning)解釋和生成圖像的新方法。在這種方法中,一個經過對抗性訓練的智能體生成視覺程序,然後由圖形引擎執行視覺程序以生成圖像。智能體通過欺騙鑒別器網路從而獲得獎勵,並且在沒有任何附加監督的情況下由分散式強化學習進行訓練。而鑒別器網路本身經過訓練以區分渲染圖像和真實圖像。

我們的貢獻如下:

·我們提出一種經過對抗性訓練的智能體,它可以在視覺程序空間中解釋和生成圖像。至關重要的是,我們所提出智能體的體系結構對視覺程序的語義和域都是不可知的。

·在不需要標籤的情況下將逆圖形縮放到真實世界和過程數據集中,特別是,我們的模型發現了可產生MNIST和OMNIGLOT字元的筆劃、產生名人面孔的畫筆描邊,以及一經渲染後便可重建3D場景圖像的場景描述(如圖1)。

·在對渲染結果和真實數據之間的像素誤差進行優化方面,與直接對像素誤差進行優化相比,利用鑒別器的輸出作為強化學習的獎勵信號所進行的優化結果明顯更好。

·展示了當前最先進的深度強化學習技術,它可以為逆圖形提供縮放路徑,並可能為未來研究中的程序合成帶來更為廣泛的影響。

論文鏈接:https://deepmind.com/documents/183/SPIRAL.pdf

博文鏈接:https://deepmind.com/blog/learning-to-generate-images/


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷克世界 的精彩文章:

Yoshua Bengio團隊發布最新強化學習智能體研究
卡內基梅隆大學使用主題模型,提出了基於知識型的詞義消歧方法

TAG:雷克世界 |