在
上篇中,我們首先介紹了構成強化學習的基本元素,並且藉由 Gilman & Wang 的漫畫主角,小紅莓狐狸的冒險歷程,來輕鬆解說強化學習中 Advantage Actor-Critic (A2C) 演算法。在漫畫中,我們看到了藉由紅莓狐的內在批評者,紅莓狐得已反思過往的決定,並從歷程經驗中做有效的學習。同時,漫畫中也比較了蒙地卡羅(Monte Carlo) 方法,該方法與 A2C 不同之處,在於蒙地卡羅方法並不在歷程仍在進行中時的反思,相對於 A2C,蒙地卡羅方法會對未來可能狀態執行模擬,直到達到終止狀態後,才會回報模擬測試的結果,並以模擬結果作為策略函數的參數預估值。
蒙地卡羅方法,屬於直接估計策略函數參數方法,其缺點在於忽略狀態間的相依關係,以致於該方法的估計值有著高變異的缺點。A2C 則是採取不同的策略來解決高變異的預估問題。在 A2C 的演算法中,其評價函數包含了一個基準狀態價值,在計算某一時間點的狀態價值時,會將實際狀態價值減去基準狀態價值。這個差值,又可用作給定一狀態下,採取該行為,所得到好處的量測值。在 A2C 的演算法中,基準狀態價值通常是由批評者所決定,通常是藉由目前的策略函數所進行的取樣模擬測試來預估,也就是漫畫中戴著帽子 V(S)。
我們可以回顧,在上一篇中,忙碌的小紅莓狐狸,每三個時步就回顧實際的狀態價值和預估狀態價值的誤差。我們同時也了解,小紅莓狐狸是個辛勤的自助學習者,藉由從過往的經驗取樣來進行狀態價值預估,可以降低變異,而得到較為精準的估計。
接著,我們必須了解強化學習中所需要解決的問題。如同我們在上一篇所言,隨著探索環境的展開,小狐狸藉由與環境互動所得的回饋,得已重新更新對環境的認知。經由探索認知而建構的環境資訊,由一開始的四處均等,都不具有比丟一個公平銅板,隨機亂猜佳的情況佳的情況,隨著時間進展的探險歷程,環境資訊在具有高獎勵的區域,如食物充沛處或寶藏藏匿處,開始呈現許多峰值。
小狐狸可以憑著新獲得的環境資訊,來改變自己的行為策略:是要繼續安於目前所找到的高獎勵區域,盡情地享受利用高獎勵區域提供的短期回饋,或是被長期總獎勵爲最佳化目標的評價方程式驅動,決心不停留在目前資源尚豐的區域,為了能收藏更多的食物過冬而繼續探索。
通常,深究或竭盡一個目前最佳狀態,被稱為充分利用資訊(exploitation)。相對於充分利用資訊,則是鼓勵代理人以隨機的方式四處閒逛,尋求目前雖然不是最佳,但卻可以增加整體的遠程效益的狀態。這樣隨機探索(exploration)的方式,有助於代理人不至於短視近利,變成了一個只執行貪婪抉擇的貪婪代理人。然而,過於貪玩四處閒逛的小狐狸,雖然對所處的環境十分的熟悉,卻因為把時間都花在探索上,反而無法善加利用環境中資源較為豐富的環境,以至於整體效益仍舊低於一般著重於短期效益的貪婪抉擇。
這樣的探索或竭盡難題,呈現一個在強化學習中代理人經常需要面對的兩難問題,也因為這個兩難問題,而衍生了不少演算法和損失函數來改進學習的效能。
其中,在漫畫中所用的方法,則是在損失函數裡增加一個數學項,稱為亂度,在物理上又被稱為熵。
物理上的熵(entropy),可以用一鍋預備燒開的開水來比喻。當我們加熱一鍋在常溫下的水,鍋中的爐水獲得了額外的熱能,水分子們開始不安地騷動(可能的分子狀態增加),隨著溫度的升高,水分子們更加活躍,整體看來也更加混亂,有些分子甚至變成了水蒸氣,跳脫了原本液體的狀態,而蒸發到空氣中,成為無法利用的熱能(非封閉系統)。這樣一鍋熱水,我們說是處於高亂度的狀態,或是具有更高的熵。
然而,熵值被應用在資訊上,則是為了衡量對文件加密所需要的最佳密碼長度的問題,由1948 年在貝爾實驗室的夏儂(
Claude Shannon)提出「無雜訊通道編碼定理」,獲得廣泛的應用。與其引用二戰時期,因為不可靠電報傳輸所發展的理論,在此簡單地以英文字母所涵蓋的資訊長度來做解釋。
為了能量度每個編碼的資訊值,夏儂借用了物理上「熵」的概念,並以機率的方式來重新詮釋熵這個物理概念。夏儂認為編碼的資訊容量,可以用編碼出現的機率來量測。
如果你手上有著一本英文字典,你可發現英文字典每個字母開始的字的數量,並不是均等的。也就是說,有些字母會較其他字母更常被使用。我們稱呼這些常被使用的字母,為高亂度,或是低資訊值。因為,出現的頻率太過頻繁,以至於它們在任何脈絡下,都不能提供比隨機更高的資訊(如用於不定冠詞的 "a"),因此提高了不可預測性,也增加了資訊亂度。這個以編碼出現的機率,作為量測的資訊容量,被稱為資訊亂度,在數學形式或意義上都近似物理上的「熵」。
這個資訊亂度是機率的倒數,並取上自然對數。在夏儂原先應用的領域,數位通訊中,基於電腦二元的特性,則是取二的對數,單位也叫做「位元」。取對數,是因為對數函數有一個良好的數學性質,那就是該函數是呈開口向下的,被稱為凹狀(concave) 函數。在這種形狀的函式,有一個良好性質,便是除了 0 之外,皆可微分,且在函數的連續變數區間中,具有唯一最大值的特性。而因為取機率倒數的關係,而改變了對數函數曲線開口的位置,而成爲凸狀(convex)函數,最大值變成了最小值,但唯一極值的特性不變,所有最佳化理論的研究者都皆大歡喜。
在我們小紅莓狐狸的強化學習大冒險中,亂度的使用便是用來鼓勵小紅莓探索還是竭盡目前所在的最佳狀態。如前所述,夏儂已經建立了一套理論,可以利用事件出現的機率量測資訊容量,且此理論的數學模型,具有數學家們熱愛的唯一極值特質,剛好這個極值的所在位置,便是當機率呈現均勻分布的時候。
也就是漫畫中,底下寫著「高亂度」的直方圖,附加以綠色字體標著「鼓勵」探索的字樣。這是因為,當機率呈現均勻分布,也就是其直方分佈圖呈現高散度,表示每個行為都會導致相差無多的獎勵。所以,與其計較那麼一點蠅頭小利的差別而進行竭盡,似乎不是那麼有效率的行為決定,在這樣的情況下,小紅莓狐狸的演算法自然鼓勵代理人採取更為勇敢的行為,以探索更佳的狀態。
同樣的道理,若我們的行為分佈,呈現高度差異的峰值。如漫畫中,左圖上寫著「低亂度」,或用紅色字體標示著「不鼓勵」探索的警告詞語。顯然地,在這個情況下,把所有的資源應用在竭盡呈現高度獎勵值的行為狀態,較有可能獲得豐富的收穫。
我們曾解釋,小紅莓狐狸代理人,如何以反思的方式來增進內在批評者的學習能力,然而批評者如何將已精進的狀態價值評估,驅使內在的行動者,依循所學到的新策略規則來行動呢?在漫畫裡,我們介紹了另一個家族的狐狸,稱為「策略梯度」狐狸。
一個簡單「策略梯度」狐狸,則是使用如「梯度下降」(gradient descent)等方法,直接更新策略函數的參數。梯度下降最佳化方法,會對策略價值,也就是策略函式的輸出,在目前時步作微分,並取微分方向的相反方向,來改進策略函數所預估的參數值。這個微分值,會告訴我們策略價值局部的走向,就像在爬山一樣,梯度可以看作山勢的坡度,藉由觀測山勢的坡度來決定目前該往下走,亦是往上爬。
在漫畫中的「策略梯度」狐狸,只比較局部策略價值的差異,也就是上個狀態和這個狀態的策略價值差距。但是,只觀看局部狀態價值差的「策略梯度」狐狸,
在同樣一個場景中,小紅莓狐狸會計算相對回饋或進步值,並稱之為相對獲利值,或優勢(Advantage)。這個相對獲利值,在 A2C 的方法中,由比較一個基準狀態價值得出。通常,這個基準狀態價值的計算則是以到目前為止的反思預估期望價值來代入。
所以,我們現在可以總結 A2C 強化學習的模型的總損失方程式(loss function)。那就是包括行動損失,狀態價值的損失,和亂度值。這三個數值將會在訓練類神經網路時,透過「反向傳播誤差」(back propagation)的演算法來學習。這三個數值各自量測代理人不同特質的行為輸出,每個數值的複雜度包含許多已知或未知變數間的互動,以至於使用「反向傳播誤差」來作為學習的演算法時造成收斂的困難。
如同,DeepMind 的強化學習研究主持人所指出,人工智慧包括了深度學習和強化學習。深度學習,使得原先落在專家專業知識的特徵工程,出現了自動學習的契機,而進而將機械學習推向減少人工干預的趨勢,並開啟了完全自動化的機械學習架構,包括了學習機械學習的架構本身。
而強化學習,則解決了監督學習中常見的難題,那就是學習標記的取得困難和正確性等。強化學習,如在漫畫中的小紅莓狐狸,利用自助式取樣的方式,利用反思歷程中與環境互動的經驗,代理人得已自行產生學習例子所需的標記,並且繼續進行監督學習。
這樣的學習方式,更近似於所有動物包括智人,我們,的學習方式。如同,DeepMind 近年來透過 AlphaGo 向整個世界宣示,人工智慧已經步入了新的里程。在這個新豎起的里程碑,人工智慧並不只是,需要與大量知識庫連線,並在網路斷線後,其能力可能不超過早期 windows 98 的個人電腦作業系統。在藉由與知識庫連線訓練後,能藉由自我對戰而學習圍棋規則的 AlphaZero 則展現如同實驗室白老鼠一般,透過嘗試與學習的智能,在與資料庫斷線後,仍保有出乎人意料的學習能力。
在今日興起的人工智慧熱潮,其帶來的生活便利性,而促成了人工智慧的平民化。這是演算法的創新與精進,軟體和網路架構設計的階層抽象化,硬體和計算資源快速進展的共同結晶。我們所要擁抱的不僅是各式如雨後春筍般,蓬勃發展的機械學習乃至人工智慧的雲端服務平台,或親民到以拖拉方式,便可快速建立起一個機械學習的分類器。我們更需要擁抱的是,專注在身為人類的獨特性,人工智慧無法取代的部分,被稱為原創及革命性創新的部分。
身為人工智慧即將侵入人們日常生活的未來場景,我們不能只滿足成為使用者,而把人工智慧當作不須理解的黑盒子。身為人,我們必須成為人工智慧領域的創新者和領導者,而非工具的奴隸。讓多年架構人工智慧的理論基礎,跳脫抽象及艱深的數學公式,變得與人工智慧的工具一般親民,這就是這系列文章所要嘗試並且努力的目標。
補充閱讀:
強化學習的演算法類別中,可以依據代理人的策略本身是否是一個可學習的參數,而分爲「主動式」學習,或「被動式」。一個「被動式」的代理人,其策略本身是不可被學習,也就是策略函式本身只是狀態對行動的固定映對,和其他強化學習中的元素,如環境(需要一個完全可觀察的環境)和時間(策略函數並不會隨著時間而對同一狀態輸出不同策略價值)等。
相對於,被動式學習,主動式學習的策略函式本身是可以學習的。也就是,一個「主動學習」的代理人,不僅要如「被動學習」代理人,在給定一策略函示下,學習處於某個狀態時,該採取何種行動會得到最大獎勵,更要學習什麼是最佳的策略函式。
一個「主動學習」的代理人,才具備有「探索」和「竭盡」的能力。而依照損失函數中是否包括「探索」的代價,又可區分學習演算法爲「有-策略」(on-policy)或「無-策略」(off-policy)。A2CS 和 SARSA(State-Action-Reward-State-Action)都屬於 「有-策略」的強化學習演算法。而 Q-Learning 則是「無-策略」的演算法,也就是在其損失函數中,並不將探索的代價,顯性地以單一項包含。
相較於直接引入探索的代價,Q-Learning 仰賴一個 Q 函式(Q function),該函式的輸出為,由目前時步所得的實際的累積獎勵開始,到最後一個時步,所得到的最大獎勵。