關於人工智能中強化學習的掃盲

前言

對一個認知科學家來說,一個最基本的問題是“如何學習新知識?”。回答這樣一個問題的idea是,人通過學習獲得某種知識,或者擁有某一種技能。而對於機器而言,可以通過學習、訓練去完成更多隻有人能完成的任務,實現真正的人工智能。

雖然目前無法完全回答這個問題,但是有些事實是很清楚的:即在忽略skill的前提下,可以通過與環境的交互進行學習,這是強化學習相對於其他機器學習非常顯著的特點之一。無論人學習駕駛汽車還是嬰兒學習走路,這樣的學習方式都是基於與環境的交互,從交互中學習是學習和智力理論的基礎概念。

關於人工智能中強化學習的掃盲


在維基百科中是這樣介紹強化學習的:強化學習(RL)作為機器學習的一個子領域,其靈感來源於心理學中的行為主義理論,即智能體如何在環境給予的獎勵或懲罰的刺激下(即與環境的交互中),逐步形成對刺激的預期,產生能獲得最大利益的習慣性行為。它強調如何基於環境而行動,以取得最大化的預期利益。通俗的講:就是根據環境學習一套策略,能夠最大化期望獎勵。由於它具有普適性而被很多領域進行研究,例如自動駕駛,博弈論、控制論、運籌學、信息論、仿真優化、多主體系統學習、群體智能、統計學以及遺傳算法。

什麼是強化學習?

首先,做一個簡單的類比。假如你家有一隻寵物,如下圖的小狗。

關於人工智能中強化學習的掃盲

平常你會帶它到附近的公園去玩,但你不是侷限於簡單的遛狗,而是買了一個犬笛(一種訓練響片),訓練它來完成一些遊戲。比如,通過犬笛讓狗坐下,當它完成這個動作之後,你會給它一個獎勵(例如一個好吃的)。這實質上是reinforce你的狗以完成一個good action。隨著時間的推移,小狗會習慣於這種聲音並在每次聽到咔噠聲時做出respond。通過這樣的訓練方式,可以訓練你的狗在需要時完成一個good action。

現在,在這個類比的例子中,用進行如下替換:

l 寵物(狗)變成一個人造agent

l 對狗的獎勵變成獎勵函數

l 一個good action(狗坐下)變成一個result action

以上類比的例子,就是強化學習一個簡單的“模樣”,即是強化學習最典型的一個例子。要在人造agent上實現此功能,需要添加一個反饋循環來強化agent。當所執行的action是正確的,會獎勵它;在錯誤的情況下,會懲罰它。將上圖的狗換成貓咪結構圖為:

關於人工智能中強化學習的掃盲

進一步抽象為:

關於人工智能中強化學習的掃盲

從上圖可以一個典型的強化學習模型的結構包含兩部分:環境和agent,描述包含:

l agent有限的狀態集S,即agent能夠處於多少種轉態,例如在上面的類比中,狗是agent,人則是environment;那麼,轉態state則是人通過犬笛發出不同聲音,給出不同的指令;

l Agent有限的動作集A,例子中則是狗根據人發出的指令需要完成的動作,比如坐下,趴下等;

l 回報函數R,狗完成不同動作之後,人給予不同的獎勵;

l 折扣因子,用來計算累積的回報(reward)r,反映agent在序列決策中考慮未來一段時間回報的折扣;當r=0時,可以認為這個agent“目光短淺”,只考慮了眼前利益;當r接近於1時,可以認為這個學習體“目光長遠”,考慮了將來可能帶來的整體利益。

這是一個序列化過程,在時刻t,agent基於當前狀態St發出動作At,環境做出回應,生成新的狀態S(t+1)和對應的回報R(t+1)。需要強調一點的是,狀態S和回報R是成對出現的。學習體的目標就是,通過更加明智地執行動作,從而最大化接下來的累計獎勵,公式為:

關於人工智能中強化學習的掃盲

當學習體並不是隨機地產生可能的動作,而是經過對過去經歷的思考得來的時,我們可以把這樣的動作稱為策略policy。從數學的角度來講,策略就是由state到action的映射,它有兩種形式,“確定性策略”和“非確定性策略”,前者指給定狀態輸出唯一的確定性動作,後者指給定狀態輸出所有動作的概率。一旦確定了策略時,那麼學習體在每一個時刻都會按照該策略發出新的動作

強化學習的分類

解決強化學習問題,agent可以有多種工具組合,比如通過建立對狀態的value估計來解決問題,或者通過直接建立對策略的估計來解決問題。因此,根據agent內包含的“工具”進行分類,可以把agent分為如下三類:

l 僅基於價值函數的Value Based:在此類agent中,有對狀態的價值估計函數,但是沒有直接的策略函數,策略函數由價值函數間接得到。而這類強化學習又包含基於蒙特卡洛的強化學習,基於時間差分的強化學習等。

l 僅直接基於策略的Policy Based:這樣的agent中行為直接由策略函數產生,agent並不維護一個對各狀態價值的估計函數。這類包括基於策略梯度的強化學習,基於置信域策略優化的強化學習,基於確定性策略的強化學習,基於引導策略搜索的強化學習等。

l 演員-評判家形式Actor-Critic:agent既有價值函數、也有策略函數。兩者相互結合解決問題。

此外,根據agent在解決強化學習問題時是否建立一個對環境動力學的模型,將其分為兩大類:

l 不基於模型的agent:這類agent並不視圖瞭解環境如何工作,而僅聚焦於價值和/或策略函數。

l 基於模型的agent:agent嘗試建立一個描述環境運作過程的模型,以此來指導價值或策略函數的更新。

與其他機器學習的對比

關於人工智能中強化學習的掃盲

l 監督學習是一種目標變量是已知的學習,並且在訓練期間明確使用該信息(監督),即模型在目標的監督下訓練,直接給出預測結果或者未來的輸出,主要用於解決分類問題和迴歸問題。例如,如果想要為手寫數字構建分類模型,則輸入將是圖像集(訓練數據),目標變量將是分配給這些圖像的標籤,即0-9的類。

l 無監督學習是對由目標未知的輸入數據組成的數據集進行推斷。最常見的無監督學習方法是聚類分析,用於探索、分析數據,以發現隱藏的模式或數據分組。其評價是定性或不明確的,不能進行預測。

l 強化學習是在給定某種情況/環境的情況下,機器決定採取什麼動作,以便最大化獎勵。 監督和強化學習之間的區別在於獎勵信號,它簡單地告訴agent採取的行動(輸入)是好還是壞。它沒有告訴agent什麼是最好的行動。 在這種類型的學習中,既沒有訓練數據也沒有目標變量。

強化學習的一些應用

強化學習憑藉其在序列決策問題上的優勢,加之深度學習的巨大成功,使得強化學習在智能決策問題上表現出強勁的勢頭,有望解決通用人工智能。而且,強化學習有著廣泛的使用領域。

PC Games

強化學習廣泛應用於諸如刺客信條(Assasin’s Creed),國際象棋等PC遊戲中,程序可以遊戲者的表現改變它們的動作和方法。例如2016年3月,阿爾法圍棋與圍棋世界冠軍、職業九段棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝。

關於人工智能中強化學習的掃盲

2017年5月,人類棋手“群毆”AlphaGo的大戲開始上演。由時越、羋昱廷、唐韋星、陳耀燁和周睿羊5位世界冠軍組成中國圍棋“天團”,仍沒能抵擋住AlphaGo 。

關於人工智能中強化學習的掃盲

從AlphaGo Fan到AlphaGo zero,基於深度強化學習的網絡結構對於序列決策的能力越來越強,因而在圍棋這種決策非常複雜的遊戲中能夠戰勝並超越人類棋手。這樣的例子還有很多,如2019年1月25日,AlphaStar在《星際爭霸2》人機大戰直播節目中,以10-1的戰績輕鬆戰勝2018 WCS Circuit排名13、神族最強10人之一的MaNa。

機器人

機器人本身就可以作為一個智能體(agent),因此強化學習在機器人上的使用,是一個非常貼切的例子。例如想要機器人模仿人的行為,找到從房子中的一個地方移動到另一個地方,而不會碰到障礙物的最佳路線。因此,重要的是定義分數,遇到障礙並得到負分(懲罰),避免障礙並獲得正分(獎勵)。而它覆蓋的距離越遠,獎勵就越多。目標是在每種情況下最大化整體感知分數。除此之外,利用強化學習學習機器狗跳躍姿勢時的局部線性驅動器參數,學習雙輪機器人的平衡參數等等。

關於人工智能中強化學習的掃盲

庫存管理

通過構建強化學習算法,以減少庫存的運輸時間,以及檢索倉庫中的產品,以優化空間利用率和倉庫運營。

化學

強化學習也可用於優化化學反應。基於強化學習模型優於其他先進的算法,並在“Optimizing Chemical Reactions with Deep Reinforcement Learning”一文中推廣到不同的潛在機制。該應用表現出如何在相對穩定的環境中減少耗時和反覆試驗。

關於人工智能中強化學習的掃盲

強化學習的應用領域還有自動駕駛(自動駕駛載具)、推薦系統(阿里巴巴黃皮書(商品推薦),廣告投放)、問答系統、智能電網(電網負荷調試,調度)、通信網絡(動態路由,流量分配)等等。


分享到:


相關文章: