機械學習理論中,可將學習方式分為兩大類:「監督學習」和「非監督學習」。「監督學習」的方式,就好比學生在學校接受考試一般,在正式考試之前,學生會不斷地練習考古題,或具有正確答案的模擬試題。學生們從練習模擬試題中,與正確答案比對後,逐漸摸索解題所需要的關鍵知識。然而機械學習的理論裡,並沒有一個所謂的老師來監督指引學生學習。而是學生,在這個情境中,便是電腦,藉由伴隨訓練實例的正確分類標示中,學習到能夠增加正確預測率的模型參數。 而非監督學習的方式,在真實世界的例子中,就好似生物學家在對現有的動植物進行分類一般,並沒有一個正確的答案可以告訴生物分類學家,此種動物應該被分到何種類別,全靠生物學家們決定屬於這個類別中的生物應該具有何種特徵。因為每個訓練例子中,不具有正確的分類標示,所以「非監督式學習」的命名,是相對於「監督學習」而言。 雖然,「強化學習」是目標為導向的學習方式,卻與監督學習不同的是,這個目標並無法給予代理人任何有關於正確答案的線索,也就是說,代理人唯一知道的事情是,當它做了某個動作,它所處的環境便會給予獎勵,鼓勵它繼續從事獲得獎勵相關的行為。它無從知道是否別的行為會得到更高的獎勵,因為強化學習不具有和監督學習一般,所有的訓練例子都有正確的分類標示,我們可以特別針對現有的訓練例子,而建立複雜度較高的模型,來達到高達 100 % 的分類正確度。 同時,強化學習又不能被視為非監督學習,由於強化學習中,有獎勵的機制在,會引導代理人以達到特定的目標來作為學習的方式。因為具備較為複雜的學習機制,強化學習在機械學習的領域中,是自成一個門派,主要是以目標為導向並著重於與環境互動的學習方式,在建立模型中,亦考慮短程和長程的獎勵模式,可說是介於監督和非監督學習之間。 在所有機械學習的領域中,強化學習是最接近人類學習的方式。以嬰幼兒舉例,他們觀察(sense),選擇並採取行動(action),然後從過程獲得的獎勵中,繼續往前進的目標(goal)。強化學習一開始是由心理學以及神經科學所使用的動物模型實驗為基礎而發展出的學問。以教導實驗室中的白老鼠,如何學習操作槓桿,來獲得食物為例: 在這個實驗中,白老鼠便是做決定的代理人(agent),其初始狀態(state),因對環境(environment)尚未有任何探索的機會,其行為一開始是隨機且不具有目標取向,直到他們無意間碰觸了特意設置的環境中的槓桿,並從拉扯槓桿的行動(action)中,意外獲得了食物也就是對於此行為的獎勵(reward),在大腦的獎勵機制驅使下,白老鼠們開始採取有目標取向的學習方式,為了能獲得更多的食物獎勵,他們可能會聚集到槓桿旁,不斷地嘗試,直到學會正確拉槓桿的動作為止。 在人工智慧的領域中,強化學習便是以這樣的動物實驗模型作為基礎,而發展成的數學模型。藉由上面的心理學實驗類化,我們可以建構一個簡單的強化學習的模型,主要包含以上所提及的四個元素:環境,代理人,行動和獎勵。 而這四個元素彼此之間的關係,我們可以用一個簡易的示意圖來表示: 片來源:改編自延伸閱讀 [1] 圖二 而從示意圖中,為了要代理人與環境間的互動,也就是箭頭所示意的方向,我們需要額外的數學函數來捕捉圖中各個元素之間的映對關係。這些映射函數可以歸納如下: 建立環境的數學模型,可以決定代理人與環境互動後,代理人所處於的狀態(上圖紅線的部分)。從絕對的角度來看,環境可以分為「未知」或「已知」:未知的環境,代理人並無任何關於環境的先驗知識。相對於未知的環境,在已知的環境中,可看做代理人已對環境內的狀態分佈有了完全的掌控。 若從代理人的角度來看:環境則是可以分為「完全可觀察」以及「部分可觀察」,而一個環境是否是完全可觀察或部分可觀察,則取決於代理人的知覺能力。一個只具有部分可觀察知覺能力的代理人,通常會就若干可能性設置許多不同的內部狀態,來模擬因僅有部分環境資訊揭露,而導致不同結果的不確定性。 環境模型可以影響代理人如何形塑行為策略的方法。鑑於對環境經驗的程度,環境模型可以是能夠事先規劃的,或是經由嘗試錯誤法探索而得知的。 知覺函數(percept)又可稱為代理人函數,該函式會將代理人感知環境的部分,以知覺序列表示,當作輸入,並對應到最有可能的狀態輸出。 獎勵也可以作為代理人知覺的一部分,與隨著歷程改變的環境狀態,被代理人的感知器連續收集。這些資訊則會作為提供學習的訓練材料,而獎勵則需要和作為特徵的其他知覺輸入區隔,因為在強化學習中,獎勵將會成為新的訓練標示。一個能自主學習的代理人,必定要有蒐集內部狀態歷程的能力,並從狀態歷程中歸納出行動策略的規則。 其次,有了狀態序列,代理人應該要採取行動,而有了代理人到環境的互動(上簡圖中綠線的部分): 建立策略(policy)函數,可以讓代理人決定在目前所在的狀態中該採取何種行為。代理人再經由行為與環境互動之後,而獲得獎勵。一個好的策略函數需將代理人的行為與環境所給予的獎勵相關,使代理人在採取行為時,可以依據獎勵的多寡來做決定。然而,獎勵可以在行為之後立即給予(如在實驗室白老鼠中的例子,拉槓桿之後,獎勵立即以食物的形式給予,而鼓勵老鼠繼續從事相似的行為。),或延遲給予。 心理學中一個著名棉花糖實驗中,發現那些可以等待一段時間後,才拿取棉花糖的小孩,能夠培養出自控力,並能在追求長期的目標中獲得較大的機會成功。延遲給予獎勵,可以改變代理人的行為策略,如同棉花糖實驗中所發現一般,實驗中的孩童,不貪心眼前立即的利益,從選擇忍耐的行為中,得到更大的獎賞(在此實驗中,便是第二顆棉花糖)。 策略是一個隨著時間而變動的函數,會因為每個時間點的狀態映對到的行為,所獲得的獎勵而不斷改變策略的選擇方式。而每組狀態對行為的映對,所獲得的獎勵也會因為策略的變化而改變。建構一個能將獎勵與行為有效關聯的策略函數,在強化學習中被稱為獎勵分配問題(credit assignment problem)。 關於代理人產生行為後,由對環境的互動產生獎勵,重新影響代理人(上簡圖藍線的部分),如上所言,代理人和環境的互動經常並不是單一事件,而是在連續時間上的增強學習模式。為了能有效地學習,我們需要一個評價方程式,來決定學習的方向: 建立評價函數(value function),可以決定代理人學習的方式。一個不具有內部學習歷程的代理人,無法從過去的錯誤中學習,而在相同條件的狀態下一再採取同樣的行為,而不具有任何學習能力。這樣的代理人,又被稱為反射型代理人,只對目前所在的狀態所得到的立即獎勵做最佳化,因此不具有任何自主學習的能力。 因此,強化學習所關心的並非短期的獲利,而是更長期的收益。評價函數,可以視為強化學習中,以數學架構長期目標的方式,用以估算獎勵在長時間的歷程中累積的總數。藉由最佳化評價函數,可以引領代理人學習,以達到所設立的遠程目標。 我們可以用 Rudy Gilman 和 Katherine Wang 以小紅莓狐狸為代理人,為強化學習教學,所繪製的漫畫。在此漫畫中,介紹的是 OpenAI 在 2016 所發表的 Asynchronous Advantage Actor Critic 學習方法 (A3C)。A3C 是建構在 Advantage Actor Critic (A2C) ,該方法使用一個基準狀態來計算每一時步中,狀態中所採取的行動所帶來的好處(Advantage)。 就如,Gilman & Wang 的漫畫命名,直覺式強化學習介紹,希望能為不同的讀者們提供更直覺式以及更生活化的解釋方式。 在這篇直覺式強化學習漫畫裡,我們可以想像代理人是一隻在叢林裡尋寶的紅莓狐。而這個紅莓狐則是一個學習型的代理人,因為她的代理人架構中包含了一個內在批評者(critic)和一個內在執行者(actor)。批評者和執行者就像坐在代理人肩上的兩個一動一靜的小精靈們:執行者根據策略,從行動序列中選取較有可能獲得高獎勵的行為來執行。而批評者,則比較像嚴苛的反省者,在代理人完成行為後,由過往的歷程紀錄中學習,並改進選取行為的策略函數。 在漫畫中,紅莓狐所面臨的環境正是大自然給予的環境模型,包括了各式各樣險峻的地形,如峽谷或芬芳的花朵。我們可以隨著小紅莓狐探索環境的歷程,發現她如何以填表格的方式,保持內部狀態的知覺歷史,並完成自主學習。 在學習的初期,環境對代理人紅莓狐而言,大多是未知且需要被探索的,必須需要藉由與環境的互動,才能知道哪裡是危險的地方,而哪裡可以找到寶藏或美味的食物,所以初期的代理人函數,必須靠先驗知識來決定如何採取行動。 先驗知識,可以看做代理人自身的判斷力,如同在漫畫中,在出發時的第一個狀態,紅莓狐的行為策略給予「選擇 A 路徑」的行為較高的偏好值,因為她本身的先驗知識 「A 這條路徑有著美麗的花朵」。不過,在數學模型中,我們可以先驗知識就像學習代理人內在的執行者手裡拿著的骰子,倘若執行者對所知覺所蒐集到的資訊毫無頭緒,那麼執行者擲出的就會是個公平的骰子,每個行動的選擇機率都跟隨機差不了多少,而若代理人有一些在學習前的偏好,那麼執行者擲出的就會是具有偏好的骰子。 事實上,當我們的紅莓狐逐漸地學習熟悉周遭環境,她的行為決定策略骰子就會逐漸偏好某個選項,而非總是隨機地分配可能性。最後,我們需要把探索環境的歷程記錄下來,在漫畫裡,紅莓狐使用的是隨身攜帶的筆記本(?!),本子上則有一個行動表格,表格中每一列包含了每個狀態的資訊。這些資訊包括了,預估狀態價值 [註一],實際狀態價值,誤差,採取的行動,和進入該狀態的行為所增加的獎勵值 [註二]。 在這之前,我們都討論執行者(actor)如何來決定該採取何種行為。我們也討論了執行者在選取行為上的策略,在尚未學習所處的環境前是屬於由先驗知識決定的隨機的骰子,然而這種隨機的骰子若透過經驗的累積,並試著從經驗中學習,就會逐漸形成一些偏好來面對環境某些狀態下,對可預測性結果採取能獲致最大利益的行為。 然而,單是只有執行者隨機的執行行為,只會讓我們的小紅莓狐狸如無頭蒼蠅般亂竄,手中的骰子永遠是隨機,絲毫無法從過去的歷程中學習到任何避免災禍或增加效益的行為模式。倘若,我們能妥善利用代理人肩上的另一位小精靈,批評者(critic),我們就能靠著反思(reflect)過往的歷程來歸納出在何種情境下最合理的行為是哪些。 而策略函數參數預估的方法,我們又可以將學習模型類型 [註三]分為兩種家族:第一種是賭徒型,在漫畫裡又被稱為蒙地卡羅(Monte Carlo)狐狸。第二種則是自學者型,這裡我們仍舊用小紅莓狐狸做代表。 賭徒型的蒙地卡羅狐狸,總是要從頭到尾將歷程完全走過一次後,才開始反省自己在這次歷程中真正的獲益是什麼。然而,因為蒙地卡羅狐狸並不打算浪費時間,反省短期歷程中所做的決定,每一階段都可視為獨立的決定所得到的獲利,所以整個歷程的總獲利可以用相加來表示。 但是,蒙地卡羅狐狸的問題在於,長期的獎勵估算並不準確。也就是說,當我們希望能估計在旅程中,離目前狀態尚遠的可能「狀態價值」。然而,評價方程式,如前所述,是隨著時間而變動,其預估的可靠度會隨著待預估狀態所處的時間長遠而大打折扣,同時也反應環境隨著時間流逝,可能改變某些狀態,因而影響行為對應到應當獲得的獎勵數。 一個最簡單的估算長期評價方程式的數學模型,便是給予時間較長遠的「狀態價值」估算預測,乘上一個隨著時間變化的折扣因子(discouting factor),而使預估「狀態價值」呈現指數下降的趨勢。就像下圖裡,隨著時間的增大(T值)而急速縮小的磨菇就是在說明折扣因子對估算的影響。 所以,我們可以說蒙地卡羅狐狸的獎勵估算是高變異的(High Variance),因為估算的方法帶進了太多的不確定性,以致於我們的蒙地卡羅狐狸,就像一般在蒙地卡羅賭場見到,未曾好好算計評估自身資本的賭徒一般,不是靠著運氣一夜致富,就是極端地落得身無分文。 然而學過貝氏機率的小紅莓狐狸則與賭徒型的蒙地卡羅狐狸不同,她決定每三步就做一次反省,藉由新搜集的觀察,重新更新自己的後設機率,這樣做的好處在於避免使用同一個骰子,來替旅程中所有的狀態做決定。相對的,我們擁有一顆適應性較好的骰子,或者說,一顆配有魔鏡的骰子,這面魔鏡裡住著便是小紅莓狐狸的內在批評者。小紅莓狐狸的內在批評者會根據過往的經驗來當作事實而與過往的預測結果做比較,因而調整骰子擲出的結果的機率分佈,以備在下次遇到相同的情況時能做出獲益更大的行為決定。 這樣利用過往的經驗而形成的訓練例子,被成為自助式取樣估算(bootstrapped estimate)。再次與隨機賭徒型的蒙地卡羅狐狸比較,我們的自學者小紅莓狐狸更顯得謹慎,因為高頻率的回顧反省,我們得已降低總獎勵預估的變異,而讓自學者小紅莓狐狸可以估算一個較蒙地卡羅狐狸更為可靠的估算區間。然而,這樣做的代價,便是將過往經驗的偏差帶入估算中。 顯然地,我們也可以每一步就做一次反省學習,然而這樣的結果,可能會造成計算量負荷過重,另一個缺點則是與過往經驗緊密相連,而無法真正的有效探索其他情境下的狀態,而使每一步決定都深植於過往的經驗所帶入的偏見中。有些強化學習的學者們認為,強化學習通常需要考慮所有可能的路徑,因此大多的學習演算法,如蒙地卡羅模擬,都經歷高變異的估算問題,所以相對於高變異問題,一點偏差似乎是很划算的策略。 至於,我們的自學者小紅莓狐狸是否在往後的旅途靠著她肩上的兩個小精靈批評者和執行者,在自助學習的旅途中,能得到豐碩的結果呢?請讓我們拭目以待吧! 附註: [註一] 這裡所說的「狀態價值」(State Value)或在圖畫中以 V(S) 表示,這裡的價值或 V 都是指評價函數(value function)的輸出。因為評價函數,又是隨狀態變動的函數,所以 V(S) 可以看作以某一狀態 S 當作輸入,得到的值輸出。這個值,通常是到此狀態為止所累積獲得的總獎勵值。而上面長個帽子的 V(S) 則是藉由模擬測試而預估的狀態價值。 [註二] 圖中所指出在第一個狀態,如何將新增加的獎勵與哪一個時步做關聯,正是一個獎勵分配問題,而這裡出現的爭議,應該是因為是否將時步一(狀態一)是為初始狀態。若將第一個時步視為初始狀態,則獎勵應該是分配到在初始狀態採取的行為後的時步,也就是第二個時步。 [註三] 圖中的 OTHER FAMILIES OF MODEL 我將之翻為「模範家庭」,但其根據上下文義應該為「學習模型類型」。 延伸閱讀: [1] Demystifying Deep Reinforcement Learning (英):Intel AI 部落格,第一部分也是鏈結所指向的文章是簡單介紹深度強化學習,並著重在 Q-Learning。