• 沒有找到結果。

結合 SOM 與 Q-learning

第五章 自組織增強式學習模型

5.1 結合 SOM 與 Q-learning

我們使用 Reinforcement Learning 的 Q-learning 演算法來與 SOM 結合。

SOM 具有將連續空間轉化為離散空間的表示能力[32]。我們用 SOM 來將連 續的輸入空間量化成為離散的表示方式,以做為 Reinforcement Learning 在狀 態輸入端的一個中介層。SOM 會將連續的輸入空間映射到 Q-table 所要用的 狀態空間中。Q-table 的狀態空間是離散的,每一個神經元代表 Q-table 裡狀 態欄的一個狀態,所以 SOM 神經元的數量就代表了 Q-table 所具有的狀態數 量,我們將此 SOM 稱為輸入層(input map)。這樣的作法就如同之前我們所 觀察到 F5 區域的功能,它預先轉化了輸入訊息,取得物體的可操作特性

(affordance),然後再傳送訊息給運動機制做出合適的行為。

還有一個 SOM 則被用來當作 Reinforcement Learning 的動作輸出端的中 介層,我們將它稱為行動層(action map);這個 SOM 被用來表示行動空間,

裡面的每一個神經元則代表 Q-table 的一個行動欄位,所以行動層有多少個神 經元就會有相同的基本行動數量。

35

輸入層使用常見的 SOM 演算法。任何狀態空間中的輸入向量,在經過 輸入層的 SOM 映射後,具有最短歐氏距離的神經元會勝出,此勝出神經元 表示 Q-table 裡狀態欄的索引值。Q-table 獲取輸入狀態後,接下來便依照 Q-learning 演算法,從 Q-table 的行動欄挑選出一個合適的行動。與輸入層 SOM 的作法類似,該行動的索引值表示行動層 SOM 的一個神經元單位。挑選合 適行動的方法是:如果 Q-learning 是正在探索 Q-table 的階段時,那麼就會有 一定的機率會選擇一個隨機的行動,否則就會挑選具有最高 Q-value 的行動。

5.1.1 建議動作與擾動動作

從 Q-table 所挑選出的行動,它的索引值對映到行動層的 SOM神經單元,

將此神經元的權重向量取出,此權重向量就是用來當作學習系統實際輸出行 動的基礎,我們稱這個挑選出的權重向量為“建議動作(proposed action)”。

建議動作不會立即輸出給系統,還必須再加入一個隨機的雜訊擾亂因素,而 成為一個“擾動動作(perturbed action)”,這個擾動動作才是學習系統實 際上所做出的輸出動作。

如果系統採取擾動動作後,所得到的收益比採用建議動作時預期傳回的 估計還要更大的話,那表示這個擾動動作是更優秀的行動,也代表這次行動 層的探索是成功的,所以行動層的 SOM 可以朝著擾動動作更新(用原始 SOM 的方法),否則就不對行動層進行任何學習。

在上面兩種情況下,Q-table 的 Q-value 值則都會進行更新,所以每一步 都會使 Q-table 朝著更正確的方向前進。

如果概括地說明,這個模型可以當作是一個標準的 Q-learning 演算法,

其中離散的狀態空間以動態的輸入層 SOM 其中的一個神經元來表示,而離 散的行動空間,也是動態的行動層 SOM 中的一個神經元來表示。輸入層代

36

表了取樣過的狀態資訊,而行動層隨機的探索行動空間,也有利於明顯的改 善學習效能,到此為止,模型大致的架構將如圖 13 所示。

圖 13:自組織增強式學習模型示意架構圖

5.1.2 Neighborhood Q-learning

因為 SOM 裡存在著自然的拓撲關係,我們必須將相近的神經元它們所 對映的狀態與行動空間下的 Q-value 值也要產生相似的拓撲關係;也就是除 了 SOM 具有拓撲關係之外,Q-table 也必須存在著相似的拓撲關係,如此可 以改進 Q-learning 使這個演算法更加可靠。因而,我們不只要更新挑選出來 的 Q-value,對其所有相近的 Q-value 也都要進行更新。

更新的方式是乘上輸入層與行動層這兩個相鄰函式的乘積,如下:

37

𝑄(𝑠𝑡, 𝑎𝑡) ← 𝑄(𝑠𝑡, 𝑎𝑡) + 𝛼 ∗ 𝜂(𝑡) ∗ [𝑟𝑡+ 𝛾 𝑚𝑎𝑥

𝑎 𝑄(𝑠𝑡+1, 𝑎) − 𝑄(𝑠𝑡, 𝑎𝑡)]

在上面的式子中,𝛼 是學習速率因子,𝑟𝑡 是在步驟 𝑡 下所得到的獎懲值;𝛾 是折扣率(discount factor)。 𝜂(𝑡) 所代表的即是兩個 SOM 的相鄰函式乘積,

我們稱它為 Q-neighborhood,同樣也是一個隨著時間遞減的函式。我們將此 修改後的 Q-learning 稱為 Neighborhood Q-learning。