天天看點

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

雷鋒網ai科技評論按:7月7号,全球人工智能和機器人峰會在深圳如期舉辦,由中國計算機學會(ccf)主辦、雷鋒網(公衆号:雷鋒網)與香港中文大學(深圳)承辦的這次大會共聚集了來自全球30多位ai領域科學家、近300家ai明星企業。雷鋒網最近将會陸續放出峰會上的精華内容,回饋給長期以來支援雷鋒網的讀者們!

今天介紹的這位嘉賓是來自倫敦大學學院的汪軍教授,分享主題為“群體智能”。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

汪軍,

倫敦大學學院(ucl)計算機系教授、網際網路科學與大資料分析專業主任。主要研究智能資訊系統,主要包括資料挖掘,計算廣告學,推薦系統,機器學習,強化學習,生成模型等等。他發表了100多篇學術論文,多次獲得最佳論文獎。是國際公認的計算廣告學和智能推薦系統專家。

人工智能進入2.0時代,多智體互相協作,互相競争就是将來發展的一個方向。汪軍教授從多智體群體的特征切入,介紹了多智體的強化學習特性。具體表現為:在同一環境下,不同的智體既可以單獨處理各自的任務,又可以聯合在一起處理優化一個主要的目标方程,而且會根據具體的情況會有不同的變化。

網際網路廣告中運用到強化學習,效果就比較明顯。通過對投放廣告後的使用者回報的不斷學習,最終就可以快速精準幫助企業找到目标使用者。

在既要競争,又要合作的場景下,ai智體處理起來就比較困難。他們和阿裡合作開發了一套ai打星際争霸的系統,目的就是希望能找到計算量又小,多智體之間又能協同配合的方式。

像一些網約車app,每個使用者終端,司機手上的終端,都可以視為一個智能體,它可以優化資源配置,決定什麼價錢是使用者可以接受的。這些上千萬級的智體是需要一個人工智能合作的系統層面上的分析的。共享單車在這方面的需求尤甚。

汪軍教授講到了一個生物界的self-organisation(自組織)理論,當一些小的智體遵循這個規則的時候,就會展現一個種群的特質。這些模型可以用宏觀的事情解決宏觀的問題,但是缺少一種微觀的方法去觀察這個世界。微觀的東西和宏觀的現象有什麼關系,值得大家以後研究。

lotka-volterra模型,該模型描述的是:互相競争的兩個種群,它們種群數量之間的動态關系。汪軍教授在此模型上做了一個創新,提出了老虎-羊-兔子模型。如果給智體強化學習能力以後,就和lv模型中的猞猁抓兔子的動态顯現十分相似。當智體之間聯合一起優化某一個目标或單獨優化自己的目标,出現這兩種情況的時候,作為一個群體,他們就有了内在的規律。如果找到這些規律,對開發智體模型是非常有幫助的。

以宜家為例:在宜家的的熱力圖上,可以看出商場内的活動是非常平均的,平均的好處是每個地方都放了不同的東西,使用者都兼顧到了。但是如果開發一個強化學習的算法,讓環境也能跟着使用者的變化而變化,把路徑安排最優,自然最好。

以分揀機器人為例:單個智體(機器人)要進行優化,以最快路徑分揀快遞,這個環境未必是最優。根據貨物的統計特性來考量和設計将一些投放的洞放在一起,避免機器碰上,這樣就可以優化這個場景。

以迷宮為例:一個人工智體,需要最快找到出口,分兩個不同的次元,一個是給定一個環境,人工智體通過強化學習找到最優的政策走出來,另一個是當智體的智能水準不再增長,就可以來優化環境,使它最小機率或更難出去。後來發現通過強化學習的人工智體通過智體間的互動就能學會對環境優化。

以下為現場演講全文,雷鋒網做了不改動原意的編輯整理:

大家好!很高興到這裡來跟大家分享我們在ucl做的工作。今天我主要想講的是“群體智能”,潘院士今天早上講了人工智能2.0其中的一個方向,就是有多個智體互相協作、互相競争,甚至是從社會學角度來講,作為一個群體,它的動态系統,它們整個群體的特性是什麼,我希望給大家做一個介紹。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

在我講之前,大概介紹一下ucl是什麼。我經常回國在做報告的時候,大家問你從哪裡來?我說我是ucl來的,大家會說:“是加州大學嗎?”我說:“不是,我們在倫敦,我們學校的中文翻譯叫倫敦大學學院。”我們相對來說還是比較低調的,我們的學術水準在英國還是不錯的,在最近一次評比當中,我們是超過劍橋和牛津的,我們學院有29個諾貝爾獎獲得者,比如說光纖之父高锟當時就在我們學校電子系,當時他的老闆有一個想法是說從理論上證明有一種物質在通訊傳播的時候有一種特性,他就找到了光纖。

今天想聚焦的是強化學習。可能大家都了解alphago,其中裡面核心的一個技術就叫強化學習,它與模式識别的差别是:它相對來說比較容易,當你沒有資料和沒有訓練資料集的情況下,同樣可以工作。這個系統可以直接和環境進行互動,獲得它的回報資訊,在跟它互動當中,它不斷地學,不斷地把智能的東西學出來,是以更加自然,在用到實際場景的情況下也會更加靈活。它主要的特性是:一般來說把它的目标方程定義成一個長期的reward(獎勵)的方式,通過它可以得到一個優化的政策。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

今天重點講的是多智能體的強化學習,就是說在同樣的環境下有一個智能體,當然也可以有很多智能體,它們單獨的和環境進行互動,有一種情況下是它們各自優化自己的目标,但是這些目标之間有些限制,或者是它們聯合起來優化一個主要的目标方程,根據具體的情況它會有不同的變化。

其中有一個方面我們過去做了很多工作,就是網際網路廣告。我們是比較早的在網際網路廣告中用上了強化學習的方法,目前我們可以在10毫秒之内做好決策,我們可以達到每天100億的流量的情況下進行分析,可以幫助廣告主精準投放,在環境互動的情況下,根據投放廣告以後使用者的回報,它有不斷的學習。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

另外一個場景是星際争霸遊戲,這個場景大家比較熟悉,我們通過對星際争霸裡面的英雄的控制,可以找到多智體的規律,可以學習他們怎麼樣合作,怎麼樣和敵人競争,怎麼樣通訊。這個是我們最近幾個月跟阿裡開發的一套人工智能打星際的系統,開發這個系統的其中一個最重要的原因就是想解決人工智能智體之間的通訊問題。當他們想一起合作起來攻打對方的時候,他們必須要有效的合作,我們希望在計算的時候,計算量相對比較小,同時又達到他們的協同目的,這時候我們就用了一個雙向連通的方式,發現它的效果是非常明顯的。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

在目前多智體強化學習的還是研究處于非常初步的階段。今天我大概講兩個方面的問題,第一個是大家目前的研究都是主要集中在少量的多智體之間的協同。如果是上萬個的情況下,效果就不是很明顯,看實際場景,特别是現在有很多這樣的場景,它的人工智體的合作可能需要百萬甚至上千萬級的人工智體。舉個簡單的例子,比如網約車app,每個使用者手上的終端,或者每個司機手上的終端,你可以想象成它是一個智能體,它可以做出決定,到底什麼樣的價錢我可以接受,甚至可以從系統層面給一些什麼機制,能夠把它的資源條線配置設定得比較好,因為有些高峰狀态下,我的計程車比較少,但是需求量又比較大,而在其它的一些時候,可能計程車很多,但是需求量不是很大,怎麼樣調配,有一種機制能夠把這個調配弄均勻。這其實是需要有一個非常大的人工智能合作的系統層面的分析。共享單車的情況更加明顯,你可以想象如果給每個自行車裝了小的晶片或者計算機,它就是一個很智能的東西,可以根據它目前的情況,優化它的分布情況。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

現在如果要做一個強化學習的模型,這個模型必須要可以處理百萬級的智體,應該怎麼去做?我們可以從自然界裡面獲得一些啟發。如果我們去看生态學的研究會發現,很多動物或者植物有它們獨特的性質,特别是在宏觀種群的級别上面,它們有一定的規律,而其中有一個理論叫做self-organisation,它的理論是說一些規律歸結于一些非常簡單的規則,當這些小的智體遵循它的時候,就會展現出一個種群的特質。但是這些模型有一個很顯著的問題,它可以用宏觀的事情解決宏觀的現象,但是缺少一種微觀的方法去觀察這個世界。比如說每個個體有它自己的興趣,有它自己的優化方程,這個微觀的東西和宏觀的現象之間有什麼關系?目前為止大家的研究還是比較少的。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

舉一個簡單的例子,其中有一個比較有名的模型簡稱lv

(lotka-volterra)

模型,這是兩個人的名字組合,一個是數學家、一個是生物學家,以他們的名字命名這個模型。這個模型是在描述在競争的兩個種群的情況下,它們的種群數量之間的動态關系。在自然界裡面,生物學家或者是生态學家發現,種群之間的數量不是一個靜态的過程,其實是一個動态的、互相限制的過程。比如說猞猁是兔子的天敵,假設隻有猞猁和兔子之間的關系,其它的因素不考慮,我們會發現當猞猁的數量提高的時候,兔子的數量相對來說就要降低,當猞猁的數量降低的時候,兔子的數量就會增高,它們就形成了一種互動的關系,這種關系就可以用lv模型描述。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

從我們的角度來考慮,如果人工智能體是智慧的,它形成了一個群落,形成了一個智體的網絡,形成一個種類,它的内在規律是什麼?我們會不會發現跟自然界中一樣的規律呢?或者說它有不同的特性?怎麼樣去學習它們?我們就把強化學習作為每個個體興趣的驅動,把它放到簡單的生物學環境下。我們做一個捕獵的環境,裡面有老虎、羊,老虎來捕羊,這樣可以保持老虎生存下去,羊當然要躲,老虎去逮它。我們把這個模型做大,比如說有100萬頭老虎,我們以内在驅動的方式來驅動,看看種群當中有什麼樣的情況發生。我們用了一個比較簡單的模型,現在用的是一個深度學習和強化學習結合的模型,每個老虎的輸出就是它的移動的方向,還有一個就是它決定是不是和其它老虎一起組成團隊去抓這個羊,還是它單獨抓這個羊。給了它這些決定,我們讓它在這個情況下想,要生存應該怎麼辦,強化學習告訴ta3應該怎麼辦,通過這個基礎上,它就自然而然去學習它的生存的法則。

我們第一個實驗做的是什麼呢?我們不讓它有任何智能,用一個最簡單的情況,讓它的行動随機,或者它的行動不遵循一個學習和環境變化。我們發現很有意思的一點,人工智能或者說我們人為生成的生态系統很快就不平衡了,主要的原因是微觀上沒有一個機制,在老虎這裡沒有動态的過程讓它适應新的環境。

然後我們就給老虎學習的能力,發現它表現出的現象跟自然界裡面的猞猁抓兔子的情況非常相似。有一點也覺得很意外,我們感覺一般來說當你的強化學習達到了最優點,它就停在那個地方。但是這個實驗告訴我們,它是一個動态的平衡,我們把老虎和羊的數量用一個圖反應出來,就會發現它形成一種圈狀的形式,這個形式和這個lv模型非常相似。當然我們的情況是相對來說比那個lv模型要複雜一點,因為lv模型是一次性的一個簡化模型,而我們這個地方考慮了各種情況,可以發現大緻上它們是一個吻合的情況。是以我們發現在種群的情況下,如果有一個人工智體形成了種群,它和自然界有一定的内在聯系。

這個研究很有意思的一點是,當人工智能在普遍被應用的情況下,我們突然發現一個場景,有很多人類,同樣有很多人工智體,它們之間可以通訊,它們之間可以聯合在一起優化某一個目标,或者它們單獨優化它們自己的目标。當出現這種情況的時候,作為一個群體,他們有他們内在的規律,作為我們人類,我們有内在的規律,把這些規律找到,對于我們去開發一些新的模型、新的計算機人工智能的方法是非常有幫助的。

下一個實驗我們做的是觀察它的合作關系,它們能不能生成一個小團隊去一起捕羊。我們把這個問題做得稍微複雜一點,加上了兔子,把兔子加進去之後,我們會發現當兔子數量非常高的時候,老虎種群裡面去合作的數量非常迅速的降低,降低到零。因為兔子相對容易捕獲,老虎不願意組成群去抓羊。當兔子的數量慢慢減少的時候,願意合作的老虎又開始增加了,是以它是一個動态的過程。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

強化學習裡面有一個環境,在标準的強化學習的模型裡面,假設這個環境是不變的,或者說這個環境有它一定的機率在不斷變化,這個機率是不變的,我不一定知道它,但它不是一個designable(可人為設定的),也就是說它不是去設計這個環境,而是更加适應這個環境。但實際情況下發現,很多場景下,這個環境本身也需要一個适應的過程。舉個例子,這是宜家他們的一個購物平面圖,這裡畫的是它的熱力圖,是根據使用者在它的購物商場裡面活動的數量畫的。這是一個非常好的設計,中間是吃飯的地方,人當然會很多,這個熱力圖其它的地方相對是比較平均的,平均的好處是你在各個地方放不同的東西,使用者都兼顧到了,是以從這個分布來講,這是很好的情況。但是這也是要設計的,你不可能說一開始的路徑安排就是最優化的。我們可以開發一個強化學習的算法,讓它強化學習這個環境也能根據這個使用者的變化而變化。這是一個建築系的教授進行的研究,他們做了一個地圖模拟人在店鋪裡面走的情況,根據熱力圖回報到鋪面設計,來優化使用者在這裡面待的時間,或者說最大化使用者可能消費的情況,可以通過那個情況進行一些優化。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

另外一個例子是分揀機器人,它首先是每個單體要進行一些優化,以最快的路徑分揀到每個洞,每個洞對應的都是不同的城市。這個環境不是最優的,有可能這個機器人送到北京的信,另外一個機器人送到南京的信,它們可能會碰上,這個效率就不會很高。根據貨物的統計特性,設計我把南京的洞放在北京旁邊還是放在上海旁邊,是以這個環境也是需要很好的考量和設計的。是以在标準的強化設計下你沒法做設計,于是我們做了一個新的設計,我們叫learning 

to  design  environments(學習設計環境),可以優化這個場景。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

舉一個簡單的例子,假設來設計迷宮,我可以說我有一個人工智體,它的目的就是以最快的效率找到出口。環境是知道你的智體的智能水準,根據你的情況來設計迷宮,使得你最困難或者最小的機率可以出去。是以它們是一個競争的關系。怎麼優化呢?你會發現,它在兩個不同的次元進行。在人工智體的情況下,它給定一個環境情況,想以最快的效率、最優的政策走出來。當你把這個人工智體學到的東西定住以後,你就可以在另外一個次元優化環境,我現在這個人工智體是這樣的屬性,我能不能根據的它的屬性使得它的環境更困難,是以在這兩個次元互相競争、互相疊代,就可以達到優化的情況。這裡舉的例子是迷宮,當然還可以有其它的場景,比如說可以是機器人,也可以是宜家,當然也可以是其它的場景。

我們發現很有意思的是,如圖中所述,左上角是根據不同的人工智體的能力,會發現它學出來的環境是不一樣的,比如說最左上角是我們有最優的一個人工智能體,在這個情況下,我們發現我們學出來這個迷宮的情況是在這個給定的8×8的方塊下,它從入口到出口的路徑是最長的,我們沒有告訴你這個環境就要這樣優化,它通過根據人工智能體之間的互動就學到了這一點。右上角是用了一個dqn模型,這個模型是一個機率性的模型,也就是說這個智體在每次選擇走的時候,它有一定的機率走上走下,有一定的随機性,你會發現在這個情況下,學到的環境有很多岔路,這個岔路就是為了讓有随機的人工智能體陷到一些支路裡面,是以這樣的環境對它來說是最困難的。

UCL計算機系教授汪軍:如何進行大規模多智體強化學習?| CCF-GAIR 2017

大家研究現在的這個趨勢,如果和人的智慧來比的話,其實差的還是非常遠的。我非常同意笛卡兒說的一句話:“機器和人的能力差别非常大,其中有一個最重要的問題是意識(conscience)......”我們現在還不是很清楚,我跟認知學家進行交流,認知學家經常會說,在他們的心裡面有一個夢想,就想研究認知,研究意識,但是他又沒法去研究,因為他沒有一個很好的手段,連意識是什麼東西大家都定義得不是很清楚。雖然我們在人工智能方面,包括強化學習這一塊,做了很多的突破,但是離真正意義上的人工智能還是很遠的,我們還要不斷地進行努力。

我的分享到此結束,謝謝大家!

雷鋒網編輯整理

本文作者:楊文

繼續閱讀