「人工智慧 +1」自學 Day3:強化學習 (Reinforcement Learning)
1. 強化學習的核心概念:訓練
「強化學習」是機器學習中的第三種。前兩者是監督式學習、非監督式學習。強化學習與這兩者都不同,與其說是學習,更合適的概念是「訓練」:訓練模型建立特定的決策及採取行動模式。▹定義:強化學習的核心是讓一個代理人 /Agent(也就是模型)**,在一個環境 (Environment) 中,透過反覆試錯來學習如何採取最佳行動,獲得獎勵(Reward),而將獎勵累積至最大化,就是這個代理人被設定進行強化學習的最終目標。
(**註:其實在這裡,我其實認為 Agent 更合適的中文翻譯應該是「行動者」或「主體」,但「代理人」已經是約定俗成的翻譯,所以沿用...)
2.強化學習的關鍵元素
▹代理人 (Agent):學習者、決策者,也就是被訓練的模型(或說一個大型演算法)。
▹環境 (Environment):
進行「強化學習」的場域,是代理人被拋入的世界,代理人在這個世界裡接受訓練。這是由開發者設計、定義&制定的環境模擬器。環境模擬器中會包含:
(a)世界本身:代理人受訓的場域。
(b)運動規則:定義了:(1)這個世界在受到怎樣行動後將產生怎樣的狀態改變(i.e.狀態轉移函數/ State Transition Function);(2)在這個世界裡,代理人能做什麼、不能做什麼。
(c)行動後果:運動規則蘊含了行動導致的結果,根據規則,以及代理人所採取的行動,將產生新的世界狀態,以及代理人會得到相符於規則制定的結果(i.e.獎勵,由「獎勵函數/Reward Function」定義計算)。
▹狀態 (State):
環境在某一時刻的具體情況。在代理人行動前的狀態,將依據代理人的決策與行動,而被改變。而代理人需再評估判斷新的狀態,做出新的決策與行動。
▹行動 (Action):
代理人可以做的選擇與行動。代理人在開始訓練前,會預先知道基本的運行規則,並依據規則採取行動。
→「最佳行動」:代理人所要進行的「強化學習」,就是如何在已知的規則中,運用任何方式(合縱連橫..etc.) 有策略性地採取可以獲得(最多)獎勵的行動。這樣的行動,就是「最佳行動」。
▹獎勵 (Reward):
當代理人採取行動後,環境會依據「獎勵函數/Reward Function」計算得出結果(i.e.數值化評估/ Value Function),給予代理人回饋。在這裡,獎勵作為回饋結果,是中立的,沒有價值性,可能是得分,也可能是扣分。
→最佳行動的「獎勵」:承上,環境的「獎勵函數/Reward Function」是代理人已知的,而這種情況中,代理人也再一次次的決策與行動中,自行進行對「數值化評估/ Value Function」預測,讓自己的每一次行動都更加逼近可以獲得(最多)獎勵的行動**。而,在每一個當前狀態下,那個能帶來最高預測獎勵的行動,就是最佳行動。
(**重要說明:所以「強化學習」除了是訓練代理人建立特定的決策及採取行動模式,就根本來說,更是讓代理人「學習」一套「價值評估系統」,用以協助做出最佳行動的判斷。)
3. 強化學習的運作流程
這是一個不斷循環的過程,代理人會經歷:
▹觀察狀態 (Observation): 代理人觀察自己當前狀態。
▹選擇行動 (Action): 代理人根據當前狀態,選擇一個行動。
▹環境反饋 (Environment Feedback):當代理人行動後,環境根據代理人行動,給予一個新的狀態和一個獎勵。
▹學習與更新 (Learning):根據收到的獎勵,代理人將調整它做選擇&採取行動的策略**。(**註:不同於監督學習,強化學習只有獎勵訊號,沒有標準答案。)
4. 經典案例:AlphaGo**
(**註:AlphaGo 是結合了深度學習-神經網路與強化學習的經典案例。)
在數百萬次的自我對弈,不斷重複循環中,AlphaGo從每一場比賽的最終結果(獎勵)中學習並調整決策策略,最終達到了超越人類的水平。
這也是很好的例證,去說明與監督式學習的不同之處:
在「強化學習」中,沒有需要告知正確答案:「這一步是錯的」或「應該這樣下」;AlphaGo 只需知道最終輸贏,並且也正因如此,它才能自行探索出新的、前所未有的策略。
5. 延伸
▹強化學習的兩大難題:
這兩大難題主要來自於「探索策略(exploration strategy)」的設計。
探索策略是由代理人模型開發者或系統設計者為代理人設計的一套在面對多種可能的選擇時,要如何選擇、決定、採取行動的思考策略。儘管過程中也可能經由學習,使代理人得以進行調整探索策略,但對於這兩個難題助益仍十分有限。
(1)「探索(Exploration)」或「利用(Exploitation)」
與人類學習相同,在強化學習的過程中,代理人最容易遭遇的難題就是:要冒險嘗試新的行動(探索),還是照用過往已知的高獎勵行動(利用)?
(2)「延遲獎勵(Delayed Reward)」
當某些好的行動不會馬上帶來獎勵,而是很久之後才顯現效果,例如圍棋博弈。在這種情況,將使得代理人的強化學習困難度提高。
→這兩大難題目前都已有諸多在優化探索策略的設計嘗試,但尚未有足夠高效的完全解法。不過,對比到人類學習的情境便可想見,要克服很需要信念與持續努力。
▹可能誤區:
(1)「環境設計」的設計邏輯:環境影響著代理人如何做出決策與行動,如果目標是訓練代理人養成最佳策略的思考邏輯、做出最佳行動,那環境設計就非常重要。例如,如果獎勵函數設計不良(ex不一致),可能致使代理人學到奇怪的策略。
(2)「探索策略」的設計取捨:如何設計探索策略是門藝術,如果沒設計好,那麼努力肯定未必可成,例如代理人可能陷入反覆無效的試錯。
(3)極高訓練成本:強化學習的環境模擬成本很高,並且需要龐大的計算資源與時間,應視需求採用不同ML,強化學習不一定比監督學習強大。