0
本文為 AI 研習社編譯的技術博客,原標題 :
The Future with Reinforcement Learning?—?Part 1
作者 | Hunter Heidenreich
翻譯 | Disillusion、lyminghaoo
校對 | 醬番梨 整理 | 菠蘿妹
原文鏈接:
https://towardsdatascience.com/the-future-with-reinforcement-learning-part-1-26e09e9be901
強化學習的未來——第一部分
想像這樣一個世界:每個計算機系統都根據你的個性而特別定制。它可以學習到你如何與他人溝通,以及你希望他人如何與你溝通的細微差別。與計算機系統的交互將比以往任何時候都更加直接,從而使得科技水平如火箭般推進。在未來強化學習成為常態的情況下,你將可能看到這些結果的出現。
在這篇文章中,我們將對強化學習進行分解,并對強化學習系統的一些組成部分進行剖析。
如果你之前從未聽說過強化學習(RL),不要急!這個概念非常直觀。從很高的層次上看,強化學習只是:智能體(agent)基于從環境(environment)接收到的反饋信號,學習如何與環境進行交互。 這與其它機器學習方法不同,在那些方法中,智能體可以在訓練過程中看到正確答案。但在強化學習中,我們可以認為,我們的智能體只得到了一個讓它知道自己的表現如何的分數。
讓我們通過一個電子游戲來表達這個思想。假設我們有一個玩“超級瑪麗”的電腦程序。它學習控制角色,并通過變化的畫面接收來自環境的反饋。基于我們成功(或失敗)的算法,它可以學習到如何與環境交互,并利用接收到的反饋來改進。
為了學習所處的環境,我們需要探索!要想知道“板栗仔”(圖中怪物)是壞的,而道具是好的,唯一的方法就是通過試錯和反饋。
強化學習試圖模仿人類或其他智慧生物與新環境交互的方式:試錯法。它是在計算機科學、心理學、神經科學、數學等許多領域研究成果的基礎上誕生的。雖然強化學習在今天的工業界中并不常見,但它的潛在影響是巨大的。
強化學習確實是許多領域的交匯點,它在優化和行為心理學領域有著悠久的歷史。
這個潛力,就是我將要為你展示的。
我們已經接觸了強化學習玩電子游戲的經典例子。現在,讓我們繼續使用“超級瑪麗”的例子,同時進一步深入挖掘這個概念的思想和相關詞匯。
智能體:馬里奧
首先,我們有了智能體(agent)。我們的智能體是我們的算法和程序。它是一切操作的“大腦”。它將與我們的環境進行交互。在這個例子中,我們的智能體是馬里奧,他會負責所有的控制。
我們的智能體:馬里奧
環境:游戲等級
智能體存在于一個環境(environment)的內部。環境就是我們玩的“超級瑪麗”的等級。畫面中的敵人和方塊構成了這個世界。時間在流逝,分數在上升(至少我們希望如此!)。我們的智能體的目標是與環境進行交互,從而獲得獎勵。
我們的環境:一個簡單的等級
動作:跳躍、閃避和前進
什么是獎勵?我們的智能體如何獲得它?嗯,我們的智能體必須和環境交互。它可以從可選動作列表中選擇一個合法的動作來完成交互。可能我們的智能體“馬里奧”決定向上跳,或者向左/右移動。也可能有火球道具,所以智能體決定發射一個。關鍵是,這些動作中的每一個都將影響到環境,并且導致一定的改變。我們的智能體可以觀察到這個改變,使用它作為反饋信號,并從中學習到一些東西。
人類可能用這個接口來執行動作并影響環境
狀態:馬里奧+動作+環境=狀態
我們的智能體觀察到的改變就是環境狀態的改變。智能體觀察到的新狀態將會產生“獎勵”信號。把智能體做的動作、狀態的改變、和從狀態改變中獲得的潛在獎勵三者結合起來,智能體就開始為他們要探索的環境建立了一個可行的模型。
狀態包含了從我們所觀察到的環境中發生的所有信息。比如我們的人物在哪里,我們當前的分數,以及畫面中的敵人,所有這些都與我們當前的環境有關。
獎勵:分數 + 保持活著
如果智能體學習到,當它跳起并落在敵人上面的時候,它的分數會增加,并且不會再被這個敵人殺死,這一定是一件值得學習的事情!它還可以學到,如果馬里奧掉進洞里,游戲就結束了,未來也沒有機會獲得更多的分數或贏得關卡。這些都是智能體隨著時間增加可能學到的東西,與環境的交互越多,它學習到的就越多。
在“超級瑪麗”中,一個衡量獎勵的好方法可能就是分數了!
上述內容包括了一個強化學習問題中所有主要組成部分的介紹。這個章節中需要記住的重要內容有:智能體、環境、動作、狀態和獎勵,并嘗試在腦中對這些內容進行一個可用的定義。
如果你更習慣看圖學習,這張圖片很好地把這些概念聯系在了一起。
所有部分組合在一起,構成了一個智能體如何從它所處的環境中學習!
現在我們已經理解了一些基本詞匯,我們可以用它去學習一個智能體是如何工作的。一個智能體如何決定它應該做什么動作,來最大化它將會得到的獎勵?
我們需要分析理解兩個主要的分支:強化學習智能體的需要,以及它的子元素。
強化學習智能體必須學習去決策,在一個充滿不確定性的環境中什么是一個好的動作。收到的反饋是從觀察到的狀態變化中得到的延時獎勵信號,可以從中計算出獎勵。智能體必須能夠探索這種不確定性,并對獎勵的原因進行推理。要做到這一點,智能體需要有三個簡單的東西:動作、目標和感知。
動作
動作是智能體可以在任何給定時刻對環境進行操作的序列。通過執行一個動作,智能體會影響它所處的環境并改變它的狀態。如果不能做到這一點,智能體永遠不能主動地影響狀態,也不能從它的積極或消極地影響環境的行為中獲得任何可解釋的獎勵,甚至不能學會在未來采取更好的動作。
一個人可能對Atari控制器采取的動作序列。
目標
目標指我們如何定義獎勵信號。我們是否要根據游戲中的分數定義獎勵?還是完成一個關卡?什么是好的和壞的動作?在強化學習的背景下定義目標時,我們必須考慮這些問題。這關乎我們如何激勵智能體完成一項任務。
一個簡單的目標設定。一個人該怎么從開始到結尾?
感知
智能體用感知來觀察環境。在電子游戲環境中,也許可以使用計算機視覺技術來觀察屏幕上的對象,以及當我們的智能體做出動作時,這些對象是如何變化的。也許我們可以用光學字符識別(OCR)技術來觀察分數。關鍵是,如果智能體不能感知環境,就不能推斷它的動作如何影響了環境。因此,我們需要感知來監控我們交互的環境。
現在,我們可以轉換到RL系統的子元素:策略、獎勵信號、值函數和環境最優模型。
策略
策略是我們RL智能體的核心。這是我們的智能體在給定環境當前狀態下的行為方式。以及在給定狀態下所采取的行動。在生物學中,我們可能把策略看作一個有機體如何根據它所受到的刺激做出反應。我們的智能體觀察環境的狀態,策略就是它們學到的行動。好的策略會帶來積極的結果。
我們的策略將規定在給定環境狀態下智能體將做什么。我們可以看到在這策略是給定一個格子,我們的智能體將朝某個方向移動。
獎勵信號
獎勵信號指我們如何衡量智能體的成功。它是衡量我們在實現目標方面有多成功的數字指標。獎勵信號可以是積極的或消極的,這樣我們的智能體就可以判斷一個行為是好是壞,亦或是中性的。這些可以是視頻游戲中的分數,或是智能體的存活狀況。關鍵是,我們的智能體接收這些獎勵信號,衡量當前目標的完成表現如何,并基于這些反饋來制定其策略,以便它可以進一步改變環境,從而最大化未來可能獲得的獎勵。
我們可以把它看作是之前目標圖像中隱藏獎勵的映射。只有通過探索環境,智能體才能知道踩在目標格子上得到的獎勵是1!
值函數
我們可以把獎勵信號看作是判斷一個行為是好是壞的即時指標。然而,強化學習不僅僅是關于即時的正面或負面結果。而是通過長期的計劃來最好地完成一項任務。為了對這種長期性能建模,我們引入了一個稱為值函數的概念。值函數是對我們的智能體長期成功可能性的估計。這很難估計和測量的,但它是我們RL問題最關鍵的部件之一!在不確定的環境中,我們的智能體將在多次迭代中不斷修改其對值的估計,學習如何更好地塑造策略和行為,以接管長序列的行為和狀態。
由智能體形成的值函數的可視化。當它對自己所處的狀態下可能得到的長期獎勵越來越確定時,它就能想出應對這一挑戰的辦法。
最后,我們的強化學習系統可能要為環境建模。我之所以說“可能”,是因為并非所有強化學習智能體都會為環境建模。一些智能體只是簡單地通過反復試錯來學習,通過好的評價函數和策略組合來構建一定程度上隱式的環境模型。其它智能體可以顯式地創建環境的內部模型,允許智能體根據它希望直接執行的動作,來預測結果狀態和獎勵。這似乎是一種非常好的方法,但是在高度復雜的環境中,構建這樣的內部模型是極其困難的,所以智能體通常不會選擇這種策略。
當智能體探索一個環境時,它可以構建一個周圍世界的3D解釋,以幫助它推斷未來可能執行的動作。
有了這些基本概念,我們就可以開始展望未來了,計算機系統將根據我們的行為和反應來學習,并根據我們的個性進行調整。如同我們上面例子中的智能體“馬里奧”,我們可以設想未來的計算機系統能夠讀取我們的行為和反應,就像人物“馬里奧”讀取環境一樣。當它讓我們越高興,以及讓我們越快實現我們的目標時,它會得到更多的獎勵。很容易看出,這種未來的結果可能是在我們的能力范圍內的。
所有這些加在一起,使我們對強化(學習)系統如何運作有了一個基本的概念。這個高層的基礎將對我們文章的第二部分有所幫助,我們將討論如何強化學習與其他類型機器學習的比較,以及我們認為在形式化一個強化學習問題時的一些(關鍵的)因素。文章的第三部分中,我們將看到一些強化學習領域最近的成就和開放的研究問題。
觀看動態的“超級瑪麗”游戲!看看你能否識別出強化學習場景中需要的所有元素。(請在英文欄點擊鏈接)
MarI/O - Machine Learning for Video Games
https://youtu.be/qv6UVOQ0F44
如果你喜歡閱讀這篇文章,請給我留言,或者向我的 GoFundMe 捐款,幫助我繼續我的機器學習研究!
最初于 2018 年 8 月 8 日發表在 recast.ai 上。
想要繼續查看該篇文章相關鏈接和參考文獻?
長按鏈接點擊打開或點擊底部【強化學習的未來--第一部分】:
https://ai.yanxishe.com/page/TextTranslation/1369
AI研習社每日更新精彩內容,觀看更多精彩內容:雷鋒網雷鋒網雷鋒網
自然語言處理中的詞表征(第二部分)
等你來譯:
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。