類神經網路自組織增強式學習模型

88  Download (0)

Full text

(1)

國立臺灣大學電機資訊學院資訊工程學系 碩士論文

Department of Computer Science and Information Engineering

College of Electrical Engineering and Computer Science

National Taiwan University Master Thesis

類神經網路自組織增強式學習模型

Self-Organizing Reinforcement Learning Model

汪昌賢

Uang Chang-Hsian

指導教授:劉長遠 博士 Advisor: Liou Cheng-Yuan, Ph.D.

中華民國 100 年 7 月

July, 2011

(2)

i

誌謝

在此特別感謝撰寫論文期間老師與朋友們的鼓勵與支持,感謝劉長遠老 師的指導以及建議,讓我能專心地研究這個領域,還有研究室劉俊緯學長的 熱心幫忙,幫助我預演並且在報告內容與時間上給我一些很有用的建議,最 後口試時也擔當助理,寫下一些口試委員提出的問題讓我回去再做參考。

在模型的雙節倒單擺實驗裡曾經一度找不到好的回饋機制與控制方法,

感謝友人石位聖能以他的經驗提供有用的方案,讓實驗首次得到重大的突破。

於撰寫簡報期間,感謝我的好友許毓恩的支持與協助,讓簡報能在短時間內 檢閱與編修完成產出。在整個研究過程中,感謝亞格斯工作室的伙伴許瑋倫 幫忙處理工作室外部的一切事務,讓我不用再煩惱工作室的運作內容。

雖然作研究很艱苦,壓力很大,但不時地有收到好友呂皓渝、洪郡瑜、

彭郁雅、毓恩等去看展覽或出遊時寄給我的明信片,給我加油打氣祝我研究 順利,很感謝他們。這期間也感謝過去大學的一些好友們像李晉緯、顏雅琪、

李雅婷(小雅)、邱于倩、王麗雅、黃千慧、柯孟宏、葉彤山還有包含上面提 到的一些好友等等,偶爾會上來台北或邀約我南下出遊散心聊天,抒解壓力;

要感謝的人很多,也感謝一些在遠方的朋友像曾瑞敏、郭晟宏、吳懿芹、張 嘉珉、陳眉期、陳眉雅、洪偲云、王逸欣、林禹璁、楊捷等所給予我的祝福。

一路走來能夠進入臺大就學,最源頭應該要感謝的人是我的國小啟蒙老 師紀宗偉,雖然從小就對電腦有興趣,不過是因為他我才能實際地接觸到電 腦這方面的教育,也奠定了基礎。之後要感謝大學期間的孫光天與林信志老 師還有臺南大學的黃秀霜校長與成功大學的陳響亮教授,因為與他們相處讓 我更加成長了許多,也感謝臺南大學其它的教授們的幫忙,讓我能順利進入 研究所階段繼續努力。最後要感謝我的家人,提供我學習的資源與空間。

(3)

ii

摘要

在這篇論文中主要提出了一種增強式學習(Reinforcement Learning, RL)

的運動行為控制模型,該模型是由大腦皮質層的組織原則做為啟發,基於大 腦 皮 質 層 上 的 感 覺 和 運 動 區 域 功 能 來 做 模 擬 。 自 組 織 映 射 圖 網 路

(Self-Organizing Maps, SOM)已經被證明在模擬腦皮質的拓撲功能上非常 有效,利用這個特性做為外部環境的狀態對該模型激刺的一個感覺中介層,

同樣的,也做為運動行為輸出的中介層,然後模型內使用一種具有相鄰函式

(neighborhood function)的 SARSA Q-learning 演算法。由於有了 SOM 做為 中介,原始的增強式學習在連續空間上所造成的查表過大問題得以解決,最 後該模型能夠將連續空間上的狀態對映到連續的運動行為空間上。

關鍵字:增強式學習,自組織映射圖網路,Q-learning,SARSA,Unsupervised learning

(4)

iii

Abstract

In this thesis, we propose a motor control model based on reinforcement learning (RL). The model is inspired by organizational principles of the cerebral cortex, specifically on cortical maps and functional hierarchy in sensory and motor areas of the brain. Self-Organizing Maps (SOM) have proven to be useful in modeling cortical topological maps. The SOM maps the input space in response to the real-valued state information, and a second SOM is used to represent the action space. We use a neighborhood update version of the SARSA Q-learning algorithm, and the SOM is a practical tool for Q-function to avoid representing in a large tabular form when the state or action space is continuous or very large. The final model can map a continuous input space to a continuous action space.

Keyword: Reinforcement learning, Self-Organizing Maps, Q-learning, SARSA,

Unsupervised learning.

(5)

iv

目錄

誌謝 ... i

摘要 ... ii

Abstract ... iii

目錄 ... iv

圖目錄 ... vii

表目錄 ... x

第一章 緒論 ... 1

1.1 背景 ... 1

1.2 動機與目的 ... 2

1.3 論文架構 ... 2

第二章 腦模型 ... 3

2.1 FARS 模型 ... 3

2.1.1 可操作特性(Affordances)與行為導向知覺 ... 3

2.1.2 物體的表徵與獼猴腦皮質的反應 ... 5

2.2 MOSAIC 模型 ... 6

2.2.1 前置選擇與回饋選擇 ... 7

第三章 增強式學習 ...10

3.1 增強式學習模型 ...10

3.1.1 策略(Policy) ... 11

3.1.2 行為價值(Value) ...12

3.2 Temporal Difference Learning (TD) ...12

3.2.1 TD(0)方法 ...13

3.3 Q-Learning ...13

(6)

v

3.3.1 One-step Q-learning ...14

3.3.2 SARSA Q-learning ...17

3.3 歸納 Q-table 的連續空間 ...17

第四章 自組織神經網路 ...19

4.1 自組織神經網路(Self-Organizing Map, SOM) ...19

4.1.1 Kohonen’s SOM 背景 ...19

4.1.2 完成自組織的要點 ...20

4.2 基本的 SOM 演算法 ...23

4.2.1 SOM 實例 ...26

4.3 SOM 的實作方式 ...27

4.3.1 拓撲保存 ...29

4.4 SOM 與大腦的關係 ...33

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

5.1 結合 SOM 與 Q-learning ...34

5.1.1 建議動作與擾動動作 ...35

5.1.2 Neighborhood Q-learning ...36

5.2 SRLM 演算法 ...37

5.3 二維軌跡取物實驗...42

5.4 倒單擺系統實驗 ...49

5.4.1 倒單擺系統 ...49

5.4.2 倒單擺系統的動力學模型 ...51

5.4.3 單節倒單擺實驗 ...56

5.4.4 雙節倒單擺實驗 ...61

第六章 結論 ...66

6.1 討論 ...66

(7)

vi

6.1.1 方法討論 ...66

6.1.2 延遲獎勵問題 ...69

6.2 未來工作 ...70

6.3 結論 ...71

參考文獻 ...72

(8)

vii

圖目錄

圖 1:大腦的功能區域 ... 5

圖 2:Reinforcement Learning 模型:代理人在每一步的訓練下進行 一個動作,環境會更新狀態並定義一個獎懲值給代理人 ... 11

圖 3:Q-table: 表格裡每個元素就是每個 state-action pair 的行為價 值 ...15

圖 4:大腦皮質地圖 ...20

圖 5:一組二維陣列的神經元。陰影區域表示符合相近神經元的範 圍 ...21

圖 6:側抑制現象。左邊第二神經元雖然有強度 10 的光線輸入,但 側抑制後只剩下強度 6 的輸出 ...22

圖 7:左邊的紅色感覺比右邊的鮮豔,其實都是一樣的 ...23

圖 8:一維 SOM 具有 100 個神經元的訓練結果 ...26

圖 9:一維 SOM 具有 200 個神經元的訓練結果 ...27

圖 10:一個二維 SOM 呈現出三維輸入空間裡的資料形態(取自[30]) ...28

圖 11:方盒距離 ...31

圖 12:一維與二維 SOM 在二維輸入空間上對映的效果 ...32

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

圖 14:自組織增強式學習模型演算法流程 ...41

圖 15:二維軌跡模擬,以兩個關節的機械手臂獲取目標物。手臂有 兩個轉動自由度,末端為一個感應器,檢測與目標物的距離 42 圖 16:代理人的任務是學習如何從回饋訊息中將目標位置轉化為手 臂角度 ...43

(9)

viii

圖 17:經過 50000 個步驟後的學習曲線,太快的退火速度會使得學 習效能不佳 ...45 圖 18:太快的退火速度會使得結果不如預期,左圖為行動層 SOM,

將每個單元輸出後得到右邊手臂的軌跡 ...45 圖 19:訓練完成後的輸入層 SOM,顏色對映到行動層 SOM ...46 圖 20:訓練完成後的行動層 SOM,依照神經元的拓撲順序著色;

右圖為輸出後的手臂軌跡 ...46 圖 21:Q-table 的 Q-value 等高線表示圖,每一格代表一個 Q-value

值 ...47 圖 22:在二十維的行動空間中也明顯地保存了拓撲的訊息(取自[1])

...48 圖 23:進行 20 次的實驗後,Neighborhood Q-learning 與常見

Q-learning 的平均學習曲線與誤差範圍 ...48 圖 24:單節直線型倒單擺系統 ...50 圖 25:單節旋轉型倒單擺系統 ...50 圖 26:倒單擺系統的分類,本次實驗採用旋轉倒單擺與旋轉雙倒單

擺(取自[34]) ...51 圖 27:單節倒單擺,直線型與旋轉型的模擬環境相同,差異在旋轉

型使用的是圓形軌道,所以不會有移動限制的問題。(取自[36]) ...52 圖 28:有 n 個相連單擺的多節倒單擺系統 ...53 圖 29:單節倒單擺系統,單擺設定為一根細長且無空氣阻力之擺錘

...57 圖 30:單節倒單擺訓練紀錄,在第 1117 次訓練時已成功完成 10000

次的操作 ...59

(10)

ix

圖 31:單節倒單擺實驗之 Q-table,有許多 Q-value 仍然維持在初始 值 ...60 圖 32:新獎懲值計算方式的訓練紀錄,僅在第 159 次訓練就成功完

成了 10000 次的操作 ...61 圖 33:雙節倒單擺系統,此系統是下擺與上擺比例為 1:3 之雙節倒

單擺系統 ...61 圖 34:雙節倒單擺訓練紀錄,在第 2081 次訓練時已成功完成 10000

次的操作,在訓練後期則幾乎都完成了 10000 次的成功操作 64 圖 35:雙節倒單擺實驗之 Q-table,可看出每個 Q-value 都已經被探

索過且許多狀態已經有最佳的動作解 ...65 圖 36:在訓練完成後,實際進行模擬測試,不約束 10000 次操作後

結束,代理人可以一直持續地操作到 30000 次以上的步驟仍維 持倒單擺不倒下 ...65 圖 37:本研究提出的模型與各種學習方法的比較表。√ 表示該方

法符合左邊的要項,× 表示不符合,△ 表示該方法對此要項 是否非常符合仍有待討論 ...68

(11)

x

表目錄

表 1:圖 11 中黑點與勝出單元的距離表 ...31

表 2:二維軌跡模擬參數設定表 ...44

表 3:單節倒單擺系統實驗參數 ...57

表 4:單節倒單擺代理人模型參數表 ...58

表 5:雙節倒單擺系統實驗參數 ...62

表 6:雙節倒單擺代理人模型參數表 ...63

(12)

1

第一章 緒論

1.1 背景

機器學習可以普遍地劃分為“監督式學習”、“非監督式學習”與“增強式學 習(Reinforcement Learning, RL)”。監督式學習需要有明確的輸入與對照的 輸出以供比對,實際上它的任務就是做一對一的映射處理,而非監督式學習 則不需要輸出的比對資料,它會自動從這些輸入範例中找出其潛在類別規則,

當學習完畢並經測試後,也可以將之應用到新的案例上。增強式學習利用回 饋的訊號來評估對應的輸出,且經由探索和嘗試錯誤來將選擇的行動最佳化,

在某種義意上 Reinforcement Learning 被認為是中介於監督式學習與非監督 式學習之間[1],因為學習範本可直接由時間相鄰的輸入序列中獲得,不用像 監督式學習需要對照的輸出以供比對,使得這種方法很適合應用在即時的學 習,例如各種即時控制的策略學習上[2]。

Q-learning 演算法就是一種常見的 Reinforcement Learning 實際應用的演 算法[3],藉由建立每一個狀態對應每一個動作的 Q 值查詢表(Q-table),

Q-learning 可以順利的處理存在少量離散狀態與動作空間的問題上。但當處 理的問題是一個連續的大量狀態與動作空間時,所建立的 Q-table 就會變得非 常巨大而難以使用,而導致此種狀態-動作建立查詢表的方法便顯得不可行 [4]。同樣的,在以往的 Q-learning 設計中,需要預先分割好輸入空間的分群 設定,這不一定適合所有的系統,而且通常須對系統做深入的分析或實驗嘗 試,才能進行正確的分割,所以如何對系統做輸入資訊的取樣也是一個課題 [5]。

(13)

2

1.2 動機與目的

Reinforcement Learning 中的 Q-learning,在許多實驗中證實是非常有效 且不需精密運算的自動控制學習方法,但必需使用連續空間做為輸入或輸出 項目時,就會牽扯到 Q-table 過大的問題,為了解決這類問題,往往會對資料 做分段,但如何分段就變成了一個研究的課題,除了嘗試多次的實驗之外,

另一種方式就是去模擬腦皮質神經元模型,將自組織神經網路(SOM)與 Reinforcement Learning 做結合,在輸入輸出階段先經由神經網路自行調整對 映的離散空間,便可減少 Q-table 過於龐大的現象。本論文接續陸羿所提出的 階層映射學習模型進行改進與研究,該論文的架構做為本研究的啟發,提出 另一種新的自組織學習模型。

1.3 論文架構

本篇論文共分為六個章節,第一章為緒論,簡介研究動機與論文架構。

第二章講述腦模型為本研究的衍生基礎,說明大腦的神經元特性與腦模型,

包含了 FARS 與 MOSAIC 模型。第三章節與第四章節為技術原理,包含增強 式學習(TD 方法、Q-learning 與 SARSA Q-learning)及自組織神經網路。章 節講述理論背景與演算法,還有實際範例。第五章節描述本研究的自組織增 強式學習模型,結合 SOM 與 Reinforcement Learning 演算法,並應用於不同 的實驗上,實驗包含一個二維軌跡取物實驗,與倒單擺系統實驗,然後會進 行結果分析。第六章節為討論與結論,比較各種學習方式與討論一些關於此 架構需加強改進的方法、產生的問題及未來設計考量的方向,最後對本研究 做出結論。

(14)

3

第二章 腦模型

這個章節我們提供兩種計算模型,兩種模型皆與神經處理訊息的運動控 制方式有關,而且這些大腦模型的研究充分地讓我們了解大腦的不同區域對 運動控制之間的關係。在本節中,我們指出這些模型對本研究的控制模型有 哪一些方面的啟發。

2.1 FARS 模型

FARS 模型是由 Fagg、Arbib、Rizzolatti 與 Sakata 在 1996 年所提出,該 模型直接以獼猴腦神經生理學上的觀察為基礎,也可以幫助我們理解大腦內 不同層次的組織結構。它顯示了大腦裡是如何進行自組織(self-organization)

來收斂到一種模組化的架構,有許多研究提出的一些控制機制的模型基本上 就是以 FARS 模型為基礎。

2.1.1 可操作特性(Affordances)與行為導向知覺

可操作特性(affordance)是一個術語,也稱為「預設用途」、「支應性」

或「能供性」,指一件物品實際上是用來做何種用途,或被認為會有什麼用途 的特性;也就是說在物品的某個方面,具有讓人明顯知道該如何使用它的特 性。例如“門”提供「打開」的功能,“椅子”提供「支撐」的功能。人們 得知如何使用物品有一部分來自認知的心理學,另一部分來自物品的外形,

而且這一特性常透過視覺上的線索傳達出來。

首次提出這個術語的是 Gibson(1995),他表示可操作特性的訊息提取功 能在經過視網膜後就開始被進行,不需要經過特別或繁複的訊息處理方式

(15)

4

[11]。對 FARS 模型來說,可操作特性是非常重要的,因為它可以省略了需 要耗費許多時間的視覺處理過程。

要了解 FARS 模型,我們必須先了解模型內不同的單元是如何關聯到獼 猴大腦的區域身上。這項研究由 Andrew Fagg 和 Michael Arbib 開始做起,他 們的實驗檢查猴子大腦裡面有參與視覺行動過程的區域,然後他們發現,在 這些區域做出行動前,腦前皮質部位產生了活化的反應。在基本地了解不同 的區域間如何的互動後,他們提供了一些延伸的模型來說明這些不同區域的 合作模式,而且會完成以下的任務:

1. 從研究者提供的物體中提取出相關的視覺訊息(可操作特性)。

2. 在物體與環境的情況中選擇一個適當的“握”的動作。

3. 進行“握”的動作。

參考圖 1,這個模型著重在 AIP(腦前內頂葉區)與 F5 區(下皮質運動 層)對物體與行為動作的資訊編碼,在 FARS 模型裡,AIP 被認為負責提取 來自視覺的串流訊息,而 F5 區則負責選擇一個合適的抓握動作並控制它的 運作。Fagg(1996) 證明了這個計算模型可以模擬在這些區域(AIP 與 F5 區)

裡觀察到的腦神經元運作。

(16)

5

圖 1:大腦的功能區域

2.1.2 物體的表徵與獼猴腦皮質的反應

獼猴大腦頂葉皮質的頂下小葉(Inferior Parietal Lobule, IPL)會從枕顳區

(occipito-temporal areas)接收視覺刺激,另外也會從 V3 與 V2 區周邊的視 野接收刺激。IPL 可以依功能細分為 7a 與 7b 區、第二體感區(SII)與數個 小區域,這些小區域埋在內頂溝(intra-parietal sulcus)裡,包含有橫向內頂 溝區(lateral intra-parietal area, LIP)、腹內頂溝區(ventral intra-parietal area, VIP)與 AIP 區。這些區域都專門負責特別的體感功能[8],包括:

 LIP:參與眼睛的掃視(當關注到一個物體時,會從快速的眼動來取 得訊息)。

 7a:負責眼睛注視的功能。

 7b:負責聯繫。

 AIP:負責“抓”的動作。

(17)

6

AIP 區域會從頂葉其它的區域取得訊息,接受感興趣的物體的資訊,例 如位置、方向、形狀與大小。

F4 與 F5 區就像額葉(frontal lobe)的運動區域,也會有類似模組化的組 織,具體來說,FARS 模型與 F4 和 F5 區域有關,都有涉及了驅幹運動(F4 區)與末肢運動(F5 區)的控制。F5 區域主要連接 AIP 和中樞運動區(precentral motor area)裡負責手部運動的功能[15]。

在這裡我們不再進一步地去詳細探討 FARS 模型,因為我們的重點不是 完全直接模擬這些區域的模型,我們想要的是對大腦的模型、組織與神經元 有一個概念。

假設大腦是像 FARS 模型這樣各個模組間互動的結構,細胞之間用興奮 或抑制的機制來連結,這種競爭機制很類似於自組織演算法(self-organizing algorithms);另外一個從 FARS 模型觀察到的重點是如何及時的做出合適的 運動行為。假設 FARS 模型是正確的,這些區域又是如何組織成一個模組?

這些細胞又是如何學習立即地對一個特定的動作類型做編碼?現在有一些研 究 論 文試著解決這 些問題 , 這些 研 究採用 自組織演 算法與 增 強式 學習

(Reinforcement Learning, RL)來做為解決的方法,也是本研究提出模型的 主要理論背景。

2.2 MOSAIC 模型

在這裡我們大概地簡介 MOSAIC 模型。該模式是由日本的 ATR Human Information Research Laboratories 所發展的。MOSAIC 模型是用來當作行為選 擇(action selection)與運動控制(motor control)的一種架構。我們會介紹 這個模型是因為它是一種對行為選擇與運動控制的學習很有效率的架構。從 該模型可以知道動作的選擇處理過程必須被劃分成兩個不同的處理步驟:基

(18)

7

於感覺訊息的前置選擇(feedforward selection),與基於運動結果的回饋選擇

(feedback selection)。MOSAIC 模型背後的基本概念就是大腦包含了許多成 對的事前預測(forward predictor)與事後控制(invers controller)模組,這 些模組在學習與使用的過程中緊緊地相互作用。例如:觀察到一個物體,然 後大腦選擇一個它認為適當的行為作用在這個物體上;這就是前置選擇的過 程,也就是事前預測模組所負責處理的事情。如果選擇出來的行動是要去推 動這個物體,但該物體卻竟然比想像中預期的更重了,大腦必須再增加肌肉 的力量來做調整。這種根據回饋的訊息做出適應就是事後控制模組處理的部 份。

2.2.1 前置選擇與回饋選擇

前置選擇的事前預測模組必須要劃分成幾組,每組分別學習它們所經歷 過的經驗[17]。事前預測模組包含了 𝓃 個模組,每一個模組會接收目前的狀 態 𝓍𝑡 與目前的運動指令 𝑢𝑡 做為輸入。第 𝒾 個事前預測模組的輸出是 𝑥̂𝑡+1𝑖 ,在時間 𝓉 的下一個預測狀態就是:

𝑥̂𝑡+1𝑖 = Φ(𝜔𝑡𝑖, 𝑥𝑡, 𝑢𝑡)

上式中,𝜔𝑡𝑖 是一個逼近函式參數,就像類神經網路(neural network)

裡的權重一樣。預測的狀態會和實際的下一個狀態比較,以計算出每一個事 前預測模組的 likelihood(預測相似度)。每個模組的預測誤差為(𝑥𝑡− 𝑥̂𝑡𝑖), 基於這個預測誤差,每第 𝒾 個模組產生的 𝓍𝑡 所代表的 likelihood 計算為:

𝑙𝑡𝑖=𝑃(𝑥𝑡|𝜔𝑡𝑖, 𝑢𝑡, 𝑖) = 1

√2𝜋𝜎2−|𝑥𝑡−𝑥𝑡𝑖|22𝜎2

(19)

8

上式中 𝓍𝑡 是系統的實際狀態。求出的 likelihood 值之後必須以 softmax 函式做正規化:

𝑙𝑡𝑖

𝑛𝑗=1𝑙𝑡𝑗

每個模組的值會在 0 到 1 之間,所有正規化過後的 likelihood 值加總和 為 1。有較大的 softmax 值的模組會有比較低的預測錯誤,且該模組會更適合 用來代表目前系統的行為。這個值也讓模組有一個適度的競爭學習方式,因 為其中擁有較大 softmax 值的模組,就越可以從他們的錯誤中學習。

事前預測模組在提供資訊的同時,運動也正在進行,可是當這些行動都 不能被預測時,它並不會產生一個任意隨機的行動。為了彌補這個缺點,

MOSAIC 模型包含了一個責任預測機制(responsibility predictor, RP)。RP 模 組會取得 𝑦𝑡 做為輸入,𝑦𝑡 是環境感知的訊息,並且其於這個訊息,RP 產 生一個事前機率(prior probability),𝜋t𝑖,表示在給定的情況下的第 𝒾 個模 組的事前機率值。

𝜋𝑡𝑖 = 𝜂(𝛿𝑡𝑖, 𝑦𝑡)

上式 𝛿𝑡𝑖 是逼近函式 𝜂 的參數。之後事前機率與該模組產生的 likelihood 值套用貝式定理結合:

λ𝑡𝑖 = 𝜋𝑡𝑖𝑙𝑡𝑖

𝑛𝑗=1𝜋𝑡𝑗𝑙𝑡𝑗

(20)

9

λ𝑡𝑖 表示第 𝒾 個模組的事後機率(posterior probability)。事後機率被稱 為責任訊號(responsibility signals),它們組成 RP 的訓練訊號,事前機率進 行預測然後從事後機率進行學習。

RP 機制被稱為事前機率,它們會在執行動作行為前先被計算出來,不過 計算過程只會使用到環境的資訊,並不會使用到執行動作後所產生的環境回 饋。一旦選擇好要進行的動作後,事前預測模組的預期錯誤值(likelihood)

就會被計算出來。正規化過後的事前機率與 likelihood 的乘積就是事後機率,

RP 能夠學著確保事前機率更接近事後機率值,從而保證有更好的行動選擇方 式。

到這裡基本上已經說明了組成 MOSAIC 原始模型的核心元素,每個模組 可以用不同的相似函數來實做,並且在每個模組裡的學習方式也可以被劃分 成不同的學習演算法。MOSAIC 模型的結構啟發了本研究的模型;其中,處 理輸入與輸出的部份兩者是非常接近的。

(21)

10

第三章 增強式學習

增強式學習(Reinforcement Learning, RL)是種從環境的互動中,不斷 地嘗試不同的行動,找尋最佳策略的一種學習方法。 已經有許多不同的 Reinforcement Learning 演算法被提出來, 而其中最廣泛的主要有三種:

TD(temporal difference learning)、Q-learning 與 SARSA Q-learning。這個章節 大致地介紹這三種演算法,章節最後導入神經元的概念,將 Reinforcement Learning 與人類大腦的學習方式連接起來。

3.1 增強式學習模型

增強式學習要處理的問題就是如何從環境的互動中學習,達成我們要的 目標。Richrd S. Sutton 和 Andrew G. Barto 是兩個主要解釋 Reinforcement Learning 的學者,在他們的書中提到[19]:增強式學習是最有效的理解我們 所要解決問題的方法。在 Reinforcement Learning 模型裡,決策機制或學習的 單元被稱為“代理人(agent)”,與代理人產生互動的是代表需要解決問題 的所有外在因子,稱為“環境(environment)”,代理人與環境的互動界面 如圖 2。

代理人必須持續地接收狀態(state)後,選擇一個動作(action)送到環 境裡面進行,然後環境回應這些動作改變它的狀態,並且也負責提供行動後 的獎懲值(reward)給代理人,獎懲值可以是正或負數,用以說明該行動的 優良程度,然後代理人再重新依照環境的狀態選擇動作繼續下一步訓練。代 理人的首要任務就是將獎懲值一直往好的方向提升,久而久之不斷地將選擇 的行動最佳化,然後從學習中找出最佳的行動策略。

(22)

11

圖 2:Reinforcement Learning 模型:代理人在每一步的訓 練下進行一個動作,環境會更新狀態並定義一個獎懲值給 代理人

Reinforcement Learning 實際上就是模擬生物在學習事物的過程,例如小 孩子在剛開始學走路時,一開始不知道怎麼控制雙腿的肌肉,也不知道如何 調整腳的角度,但是每次的嘗試且失敗跌倒後,自然就會吸取教訓,再經過 反覆的學習,跌倒了許多次之後,就學會了如何平衡,也知道如何施予腿部 肌肉的力量,藉由過去的經驗可以不斷的強化自身的能力,就是增強式學習 技術的主要精神。

3.1.1 策略(Policy)

在每個步驟 𝑡 時,代理人從環境的狀態 𝑠𝑡 去對照或隨機選出一個動作 𝑎 ,𝑎 ∈ 𝐴(𝑠𝑡),𝐴(𝑠𝑡) 是指在該狀態下所有可以選擇的動作集合。如上面所 說的,代理人選擇動作的方法就稱為代理人的策略(policy),它們以 𝜋t 表 示,𝜋𝑡(𝑠, 𝑎) 表示在步驟 𝑡 時依照狀態 𝑠 所選擇出來動作 𝑎 的機率值。一

State Agent

Environment

Actions

Reward

(23)

12

個優秀的策略會隨著訓練將獎懲值往更好的方向提升。為了完成學習過程,

代理人要能夠探索(explore)各種環境的狀態,但過度的探索可能會導致學 習效果變得非常低。通常較佳的方式是在剛開始學習階段時,讓代理人儘量 的進行探索環境狀態,然後在學習已經有不錯的結果後,限制探索的程度。

要控制探索的程度,通常會運用ε-greedy 演算法來解決,ε-greedy 也 是 greedy 演算法的一種,只是在其過程中會有一定機率利用隨機的方式去探 索[18]。使用一個機率變數,ε,它代表探索因子(exploration factor),而且 0 ≤ ε ≤ 1。代理人可能有 ε 的機率會選擇進行隨機的探索行動,但也有 1 − ε 的機率會選擇最佳的動作(由 𝜋𝑡(𝑠, 𝑎) 定義)。為了在學習階段能夠進 行探索的行動,所以我們保持 ε 在一個較大的值[19]。

3.1.2 行為價值(Value)

在環境裡,一個特定的狀態 𝑠 下所挑選出來的動作 𝑎 ,我們稱它為一 個“狀態-行動組(state-action pairs)”,以 (𝑠, 𝑎) 表示。為了評估這個狀 態-行動組的優良程度,所以定義了一個價值觀函式(value function),用來 將狀態-行動組對映到行為價值(value):(𝑠, 𝑎) → 𝑉(𝑠, 𝑎)。當與環境互動的 時候,代理人必須更新這個函數值,依照環境給予的獎懲來反映出挑選的動 作對學習有多少進展。如何更新這個函數值是 Reinforcement Learning 問題的 核心。

3.2 Temporal Difference Learning (TD)

增強式學習的演算法可大方向地分成三種,LMS(least mean squares)、

ADP(adaptive dynamic programming) 與 TD(temporal difference learning) 三種 [20]。LMS 方法為隨機選取行動,再計算到達目標的所有獎懲值,然後再算

(24)

13

出其各個狀態下達到目標的行為價值平均數,其缺點為需要非常久的計算時 間;ADP 方法則是在給定特定的估計模式之下,每次行動後重覆的計算每一 個狀態的行為價值,但在狀態空間大的情形下會難以計算[20]。

TD 方法可以只從對環境互動的經驗中學習,甚至從一個沒有任何環境 訊息的狀態下開始。TD 在早期的增強式學習與人工智慧上占有重要的地位,

並取得了一些成功的應用(如跳棋學習程序),但一直沒有統一的形式化體系 與理論基礎,直到 Sutton 首次提出了 TD(λ)演算法[21]。

3.2.1 TD(0)方法

TD(λ)演算法是一種多步學習預測(multi-step learning prediction)方法,

參數λ是決定演算法性能的一個關鍵參數。在 𝜆 = 0 時,TD(0)方法藉由過 去上一步的經驗,調整可以讓任務完成的行為價值 𝑉(𝑠𝑡)。在第 𝑡 + 1 個步 驟時,取得獎懲值 𝑟𝑡 ,然後立即更新行為價值 𝑉(𝑠𝑡)。由於只考慮當前時 刻下的前一步經驗,所以可以稱為是單步 TD 學習法(one-step temporal difference learning)。TD(0)方法更新行為價值的公式為[20]:

𝑉(𝑠𝑡) ← 𝑉(𝑠𝑡) + 𝛼[𝑟𝑡+ 𝛾𝑉(𝑠𝑡+1) − 𝑉(𝑠𝑡)]

在觀察到狀態 𝑠𝑡+1 後,立刻利用取得的獎懲值 𝑟𝑡,並且加上折扣過的 下一個狀態的行為價值 𝛾𝑉(𝑠𝑡+1),來更新目前的行為價值 𝑉(𝑠𝑡)。參數 𝛼 是 步驟大小參數(step-size parameter),這個參數值保持不變,設定成一個常數。

3.3 Q-Learning

(25)

14

Q-Learning 與 SARSA 演算法皆是建立在 TD 方法的基礎之上的演算法,

藉由嘗試錯誤與延遲獎懲來不斷的重複計算 Q-value,Q-value 即之前所提的 行為價值,Q-value 越大代表選擇此一行動對於完成任務的機會越大,因此以 Q-value 大小來決定各個狀態與行動的機率值,讓代理人可以藉由過往經驗選 擇目前環境狀態下最佳的行動。

Q-learning 已經被證明是一種非常有用的增強式學習技術,是一種無策 略(off-policy)的 TD 控制演算法[22]。Q-learning 的學習方式類似 TD 方法 [3]。

3.3.1 One-step Q-learning

最簡單的 Q-learning 方法被稱為 one-step Q-learning(單步 Q-learning),

即從 TD(0)的基礎改良而來。圖 3 為 Q-learning 所使用的 Q-table,裡面在狀 態欄(state)與行動欄(action)所對應的狀態-行動組表示各個元素的 Q-value。

圖中將它們表示成一種價值觀函式(action-value function),這個函式設計成 儘量逼近求出最佳的 Q-value,因為是一個獨立的策略(使用 max future value),

因此 Q-learning 為分類為 off-policy 的 Reinforcement Learning 演算法。該函 式逼近最佳解的做法是以一步一步漸近的方式,因此 Watkins(1989) 也將 Q-learning 當成一種增量動態規劃(incremental dynamic programming),收斂 唯一的要求就是不斷的更新狀態-行動組。

(26)

15

圖 3:Q-table: 表格裡每個元素就是每個 state-action pair 的行為價值

Q-learning 演算法的學習階段為[3]:

1. 觀察目前的狀態 𝑠𝑡。 2. 挑選並完成動作 𝑎𝑡

3. 觀察後來產生的狀態 𝑠𝑡+1。 4. 取得獎懲值 𝑟𝑡

5. 更新 𝑄(𝑠𝑡, 𝑎𝑡),公式如下,其中 𝛼 為學習速率因子:

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

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

上式中,𝑟𝑡 是完成動作 𝑎𝑡 後所得到的獎懲值,𝛾 是折扣因子(discount factor),𝑚𝑎𝑥𝑎𝑄(𝑠𝑡+1, 𝑎) 為最大化未來值(max future value)。在一般動態環 境中,輸入的狀態會隨著代理人所做的舉動改變,為了將整個一連串行動的 過程進行優化,而不是只單單針對一個 Q-value 值,所以會將 Q-value 加上最 大化未來值(max future value)。在經由 𝑎 動作產生新的狀態 𝑠𝑡+1 時,利

𝑠1 𝑄(𝑠1, 𝑎1) 𝑄(𝑠1, 𝑎2)

𝑄(𝑠1, 𝑎𝑛) 𝑄(𝑠𝑚, 𝑎𝑛)

𝑠2 𝑠𝑚

𝑎1 𝑎2

𝑎𝑛

𝑄(𝑠𝑚, 𝑎1)

(27)

16

用新狀態得到下一步可能的最佳 Q-value(也就是取出狀態 𝑠𝑡+1 下最大的 Q-value 值),然後依據經驗對該值的信任度乘上一些折扣來優化目前這一步 的 Q-value 值與整個一連串行動下來的 Q-value 值。

從這個公式明顯可見 Q-value 會隨著每一步因為中括號內的式子而進行 變動,且存在著遞迴的關係,隨著步驟越久,在每一步所挑選出來的 Q-value 就可以越優化。優化行為最簡單的方法就是每一步都採取最大的 Q-value,但 為了克服任何不利於 Q-table 的初始條件與予許 Q-table 能適應動態的環境,

也要偶爾選擇一些屬於次級的行動,來增進未來可以有更高的成效。這就是 之前所講的探索(exploration)。探索時會有一定的機率隨機的挑選出一個行 動 𝑎𝑡,通常探索的機率會隨著學習程度漸漸減少。

以 pseudo-code 來表示 Q-learning[19]:

Initialize 𝑄(𝑠𝑡, 𝑎𝑡) arbitrarily Repeat (for each episode):

Initialize 𝑠

Repeat (for each step of episode):

Choose a from 𝑠 using policy derived from 𝑄 Take action 𝑎, observe 𝑟, 𝑠′

𝑄(𝑠𝑡, 𝑎𝑡) ← 𝑄(𝑠𝑡, 𝑎𝑡) + 𝛼[𝑟𝑡+ 𝛾 𝑚𝑎𝑥𝑎𝑄(𝑠𝑡+1, 𝑎) − 𝑄(𝑠𝑡, 𝑎𝑡)]

𝑠 ← 𝑠′

Until 𝑠 is terminal

有許多情況 Q-table 可能會沒有辦法完成收斂,例如當狀態與行動空間非 常大或者是連續的情況下,所以某種歸納的方式是必要的。已經有許多不同

(28)

17

的研究方法來歸納 Reinforcement Learning 的超大或連續狀態空間,包括使用 類神經網路方法[23],或 SOM 方法[24]。

3.3.2 SARSA Q-learning

SARSA 是 State-Action-Reward-State-Action 的縮寫,SARSA Q-learning 幾乎與一般的 Q-learning 完全相同,是一種 on-policy 的 Q-learning 演算法。

在 Q-learning 中行為選擇策略與 Q-function 是相互獨立的,而 SARSA 則以嚴 格的 TD 學習形式,將行為選擇與 Q-function 的遞迴關係一致化。

與 Q-learning 唯一的差別在更新 Q-value 的 Q-function 公式:

𝑄(𝑠𝑡, 𝑎𝑡) ← 𝑄(𝑠𝑡, 𝑎𝑡) + 𝛼[𝑟𝑡+ 𝛾𝑄(𝑠𝑡+1, 𝑎𝑡+1) − 𝑄(𝑠𝑡, 𝑎𝑡)]

上式中 𝑎𝑡+1 是在下一個狀態 𝑠𝑡+1 所會做出的行動,𝑄(𝑠𝑡+1, 𝑎𝑡+1) 不 一定是最大的 Q-value 值。這種方式確保一連串長時間的隨機動作也能得到 優化效果。

3.3 歸納 Q-table 的連續空間

上一節提到 Q-table 存在著可能會過度龐大的收斂問題,在狀態與行動空 間非常大或者是連續的情況下,需要某種歸納方式。歸納連續空間的方法,

有一種可能就是直接對空間做一個離散的切割,然後產生狀態與行動的分段 編碼,讓代理人學習從每個狀態選擇一個合適的動作,如 Peng 與 Williams 的倒單擺實驗[25];但也有人提出,應該將這種適應連續空間的舉動也視為 代理人在學習過程中的一部份,也就是代理人應該自己具備處理分割連續空 間的能力[26]。

(29)

18

本研究的自組織增強式學習模型,除了可以將連續空間映射到離散空間 之外,自我調適連續空間對應的映射也是學習過程中的一部份,特別是該模 型也具有保存和探索離散空間的內在對映結構,詳細的細節會在第五章節中 提出。

(30)

19

第四章 自組織神經網路

4.1 自組織神經網路( Self-Organizing Map, SOM)

自組織神經網路(Self-Organizing Map, SOM)最早是由 Teuvo Kohonen 在 1981 年提出[27],是一種競爭型神經網路,採用非監督式學習進行網路訓 練。作者藉由大腦皮質的神經網路啟發出 SOM 的研究發展,大腦皮質具有 一種自組織的特性,能夠自組織成“皮質地圖(cortical maps)”。雖然它的 靈感是來自於大腦皮質,但它的概念大部分還是從更廣泛的自組織特性研究 中為基礎所產生。SOM 廣泛地應用於分類、排序與樣本檢測等方面,下面主 要就 SOM 的基本形式做敘述。

4.1.1 Kohonen’s SOM 背景

在過去已經有許多對大腦組織進行深入的研究,在大腦皮質中的細胞群 存在著廣泛的自組織現象,將皮質劃分成不同的感知區域。處於不同區域的 神經元有不同的功能,例如,有些模組是專門負責處理視覺,有些處理聽覺,

有些則是處理身體的訊息處理。

每個區域對不同感官的輸入訊息具有敏感性,從而形成大腦中各種不同 的感知路徑,這些區域整齊地以拓撲方式排列在腦皮質裡,即相似功能的神 經元會安排在鄰近的區域裡,然後將皮質形成一塊一致性高的次區域,這些 在皮質內的次區域組織被稱為“皮質地圖(cortical maps)”[27],如圖 4

在每個人之間,皮質地圖的形成方式大致類似,但不完全相同,有些研 究表示組織皮質地圖的方式是由基因來做決定的,但是也有證據指出矛盾的 地方;例如,如果有一個病患遭受到腦部的外傷,大腦裡的某個部份失去作

(31)

20

用,但大腦內自組織的功能可以將受損部份的感知能力,重新移轉到別的區 域去。

Kohonen 解釋這種現象是一種神經可塑性,自組織特性並不完全來自於 遺傳,他用一些例子來證明自組織特性主要是受到感知訊息的控制,所以會 依照訊息來做組織的改變[27],而且有很大的程度是依賴後天的學習與訓 練。

圖 4:大腦皮質地圖

觀察大腦裡的皮質地圖與它們所具有的知識內容,是 Kohonen 原始理論 背後所要研究的動機,Kohonen 還提到,多年來他所研究的成果,讓他相信 同樣的自組織功能也可以應用到各種不同的訊息表示上。

4.1.2 完成自組織的要點

從 Kohonen 在 2001 年所出的“Self-Organizing Maps”一書中,我們提 出幾個在 SOM 上要完成自組織的重要條件[27]。

(32)

21

假設圖 5 是一個二維陣列的一組神經元,每一個神經元代表一組數值 𝑚𝑖 的集合,我們將這個集合稱為一個模組。每一個模組可以由它所接收到 的訊息修改數值,輸入的訊息為 𝑥。Kohonen 規定必須以下三個要點都有滿 足才能產生 SOM:

圖 5:一組二維陣列的神經元。陰影區域表示符合相近神 經元的範圍

1. 傳遞輸入訊號給各個神經元

2. 挑選勝出神經元(winning neuron)

3. 調整與勝出神經元之間相近的元素

詳細解說如下:

傳遞輸入訊號給各個神經元:每個神經元必須設定成可以在同一時間內,

接收相同的輸入訊號。

Input

……

Winning Neuron

(33)

22

挑選勝出神經元:在這裡必須設定一種機制,讓每個神經元可以在接收 到輸入訊號後開始互相競爭。其中最匹配輸入信號的神經元要有較強的反應,

並且要會抑制其它的元素,從而成為勝出神經元。競爭的機制、匹配的方式 與抑制的功能,可以用各種不同的方法來進行。舉例而言,匹配的方式可能 是一種簡單的歐氏幾何距離算法(Euclidean distance)或使用內積算法;而 抑制的機制可能是採用側抑制(lateral inhibition)或使用簡單的極大化函式

(maximization function)等等。

所謂的側抑制,簡單來說就是在某個神經元受到刺激而產生興奮時,再 刺激相近的神經元,而後者所發生的興奮會對刺激的神經元產生抑制的作用 [27]。如圖 6,每個神經元所受到的刺激不僅影響輸出,也影響其它周遭神 經元的輸出。以左側第二個神經元為例,雖然接收了強度 10 的光線輸入,但 因為其左右兩個神經元的側抑制作用,最後神經元的輸出變成強度 6。最常 見的現象就是眼睛的視覺錯覺,如圖 7,左邊的紅色感覺比右邊的鮮豔,或 左邊的黑比較右的還深,其實都是一樣的紅色。

圖 6:側抑制現象。左邊第二神經元雖然有強度 10 的光線 輸入,但側抑制後只剩下強度 6 的輸出

(34)

23

圖 7:左邊的紅色感覺比右邊的鮮豔,其實都是一樣的

調整與勝出神經元相近的元素:在勝出神經元附近的元素會被進行更新,

使這些元素的模組更接近當時輸入的訊號。一般常用的方式是以神經元間的 歐氏幾何距離來做為是否符合相近元素的標準。

有這些預設的要素條件後,神經元之間就會越來越像輸入的訊息。具有 拓撲關係的相近元素,也會開始彼此相似。

4.2 基本的 SOM 演算法

由 Kohonen(1982) 提出的 SOM,他描述 SOM 是非線性(nonlinear)、有 順序的、可以平滑映射高維度資料到一個低維度、整齊的神經元上[27]。

原始的 SOM 演算法在該書中也被稱為增量 SOM 演算法(Incremental SOM algorithm)。它具有遞迴性質,且每次遞迴只有一小群神經元會被進行 更新。在圖 5 中,我們提出一個二維 SOM,裡面有 𝑛 個神經元。其中每個 神經元 𝑖 都有一個對應的模組 𝑀𝑖 = (𝑢𝑖1, 𝑢𝑖2, ⋯ , 𝑢𝑖3)𝑇 in ℝ𝑛

(35)

24

所有模組在開始進行遞迴步驟前都必須初始化為一個值。如果沒有預先 設定的必要,這些模組的值可以隨機地初始化,如果有一些輸入資料的樣本 可用,這些值也可以隨機地從樣本裡面取得。但現實生活中的應用,初始值 以人為啟發的方式會更有助於收斂,減少學習時間。

SOM 演算法可以描述為以下幾個步驟:

1. 初始化 𝑀𝑖 2. 抽取輸入樣本

3. 將輸入與所有模組比較

4. 挑選最佳匹配元素,即勝出神經元(Winning Neuron)

5. 更新與勝出神經元相近的模組 6. 重覆步驟 2,直到收斂完成。

在第三步,使用的比較方式常見的是使用歐氏距離:‖𝑥 − 𝑀𝑖‖ 。具有最 短歐氏距離的就是最匹配輸入訊息的神經元:

‖𝑥 − 𝑀𝑐‖ = min{‖𝑥 − 𝑀𝑖‖}

一但選出勝出神經元,在符合相近範圍(neighborhood size)內的神經元 就會開始進行更新。相近神經元會縮短與輸入訊息之間的歐式距離,然後逼 近輸入訊息:

𝑀𝑖 = 𝑀𝑖 + ℎ𝑐𝑖(𝑡) ∗ (𝑀𝑖− 𝑥)

(36)

25

上式中 ℎ𝑐𝑖(𝑡) 為相鄰函式(neighborhood function),相鄰函式可以定義 成各種公式,只要能保證它符合收斂的準則:ℎ𝑖(𝑡) → 0 when 𝑡 → ∞。比較 常用的相鄰函式是高斯公式(Gaussian form):

𝑐𝑖(𝑡) = 𝛼(𝑡)𝑒

‖𝑟𝑐−𝑟𝑖2 2𝜎2(𝑡)

上式中,𝛼(𝑡) 是學習速率的函式,必須符合 0 < 𝛼(𝑡) < 1;𝜎(𝑡) 這個 函式表示相鄰區域的寬度,也就是相鄰區域的大小程度。𝛼(𝑡) 與 𝜎(𝑡) 兩個 函式都必須隨著時間而遞減。

學習速率函式可以是線性、指數或與 𝑡 成反比的式子,例如:

 α(𝑡) = 0.5(1 −100𝑡 )

 α(𝑡) = 0.5ℯ−𝑡

 α(𝑡) =0.9𝑡

Kohonen 建議,在前 1000 次的學習步驟中,α(𝑡) 必須小於或等於 0.2 [28]。

要選擇一個好的學習速率函式,往往都是從實驗的經驗中來獲得,根據經驗,

在約 1000 步之後,SOM 就已經開始有一個大致上的拓撲排列。因此,在大 約 1000 步之後,學習速率等參數必須降低到可以讓 SOM 慢慢收斂,讓它符 合輸入層的拓撲資訊。在 1000 步之前,α(𝑡) 則必須保持在常數狀態,所以 α(𝑡) 必須要慢慢地變小,Kohonen 建議使用 𝛼(𝑡) = 𝐴

𝑡+𝐵 的形式來產生令人 滿意的結果,上式中 𝐴 與 𝐵 必須明確指定一個數值 [27][29]。

(37)

26

4.2.1 SOM 實例

這裡舉一個 SOM 自組織的實際模擬例子。在這個例子中,有一個三角 形的輸入空間。三角形的底與高均為一個單位長,如圖 8 與圖 9。輸入的資 料樣本是在三角形空間裡面均勻的隨機座標值,每一個點都有相同的出現機 率。從圖 8 可以看出,這個一維的 SOM 裡,100 個神經元收斂後,已經散 佈在三角形的輸入空間中。神經元的分佈覆蓋在三角形上,保有輸入空間的 拓撲資訊。

圖 9 是另一個具有 200 個神經元的一維 SOM,一樣也準確地呈現出輸 入空間的拓撲資訊,在這兩個實例當中,我們可以看到 SOM 準確地將二維 空間映射到一維空間中。

圖 8:一維 SOM 具有 100 個神經元的訓練結果

(38)

27

圖 9:一維 SOM 具有 200 個神經元的訓練結果

4.3 SOM 的實作方式

這個章節詳細的說明在實作 SOM 演算法時的設定與所用到的公式。在 標準的 SOM 中,通常會包含一個單元(神經元)陣列,一般常見的是一維 或二維的陣列,這些單元會依照順序地排列,每個單元會有自己的排列位置 資訊,以及與它相鄰的單元連接[30]。

每一個單元 𝑡 的內容實際上是一個權重向量(weight vector),以 𝑤 表 示:

𝑤𝑡 = [𝑤1𝑡, 𝑤2𝑡, ⋯ , 𝑤𝐷𝑡]

其中 𝐷 是 SOM 的輸入資料維度,SOM 的訓練目是要找到一組合適的 權重配置,使 SOM 網路可以散佈在輸入數據的輸入空間中;也就是說,權 重的配置必須要盡可能地反映出輸入數據的散佈拓撲關係。在很多情況下,

(39)

28

即使輸入空間是很高的維度,SOM 陣列的維度往往會比輸入空間的維度要還 低,在這種情況,SOM 就可以當作是一種降維技術。

如圖 10,以 Kohonen 所作的例子,左邊是原始的二維 SOM 在物理空間 下正常呈現的狀態,是初始的 SOM 排列方式;右邊是三維輸入空間上的 SOM 網路訓練結果,以各單元的權重做為座標值。在這個例子裡,二維 SOM 很 適合用來呈現三維的資料,因為在輸入空間裡,這些資料恰好平貼地在這個 二維的 SOM 表面上[30]。

圖 10:一個二維 SOM 呈現出三維輸入空間裡的資料形態 (取自[30])

學習過程中要找出一組合適的權重配置,方法很簡單,給定輸入向量 𝑥:

𝑥 = [𝑥1, 𝑥2, ⋯ , 𝑥𝐷]

輸入向量 𝑥 與每個單元 𝑡 的距離有兩種距離公式可以使用計算:

(40)

29

Manhattan Distance (曼哈頓距離):

∑|𝑥𝑑− 𝑤𝑑𝑡|

𝐷

𝑑=1

Euclidean Distance (歐氏距離):

∑(𝑥𝑑− 𝑤𝑑𝑡)2

𝐷

𝑑=1

算出每一個單元與輸入數據的距離後,具有最短距離的單元,表示該單 元與目前輸入數據越相近,因此它就被視為勝出單元(winner)。接下來勝出 單元的權重要進行更新,以更接近輸入數據:

𝑤𝑤𝑖𝑛𝑛𝑒𝑟 = 𝑤𝑤𝑖𝑛𝑛𝑒𝑟+ 𝛼(𝑥 − 𝑤𝑤𝑖𝑛𝑛𝑒𝑟)

上式 𝛼 是學習速率,如此在經過一連串反覆的學習與調整權重後,將 每一個單元的權重以座標方式繪出,輸入數據越密集的部份,會比稀疏的部 份獲取更多的 SOM 單元。所以從權重空間分佈,便可反映出輸入數據的分 佈形態[30]。

4.3.1 拓撲保存

SOM 的另一個重要特性,就是除了更新勝出單元,其相近的單元也要進 行更新,是否符合相近單元的定義是依照勝出單元與其它單元之間的物理距

(41)

30

離 或拓 撲距 離決 定 。SOM 會使用相鄰函式( neighborhoods function),

𝜓(𝑤𝑖𝑛𝑛𝑒𝑟, 𝑡),來定義該單元與勝出單元之間的相近程度,然後將此函式值 作為調整權重值的係數:

𝑤𝑡 = 𝑤𝑡+ 𝛼𝜓(𝑤𝑖𝑛𝑛𝑒𝑟, 𝑡)(𝑥 − 𝑤𝑡)

常見的相鄰函式是:

𝜓(𝑤𝑖𝑛𝑛𝑒𝑟, 𝑡) = 𝑚𝑎𝑥(0 , 1 − (𝑑𝑤𝑖𝑛𝑛𝑒𝑤𝑡 /(𝑁 + 1)))

上式中,𝑁 是該 SOM 指定符合相近單元的距離範圍,各單元與勝出單 元間的距離在此距離內才符合相近單元的條件,一但超出此範圍,相鄰函式 便會得到 0 的數值,表示該單元不會被更新。

𝑑𝑤𝑖𝑛𝑛𝑒𝑤𝑡 是各單元與勝出單元的距離,距離的取得有三種:

1. 物理空間中,各單元間排列的實際距離長度 2. 拓撲關係上的連結長度

3. 方盒距離

相鄰函式較適合採用第 2 與第 3 種距離計算方式。方盒距離是以擴散的 層級來計算,以圖 11 為例,中心勝出單元外的第一層有 6 個單元,距離為 1,

以此類推,第三層將有 24 個單元,距離為 3;另外以此圖為例,符合相近單 元的距離範圍 𝑁 為 3。

(42)

31

如果以圖中標示黑色的單元與勝出單元做比較,與勝出單元的距離計算 如表 1。

圖 11:方盒距離

表 1:圖 11 中黑點與勝出單元的距離表

距離方式 距離長度

1.實際距離 √2

2.連結距離 2

3.方盒距離 1

最後圖 12 顯示不同維度的 SOM 在同樣二維輸入空間中所產生的對映 效果[30]。

Winner

第一層 第二層 第三層

(43)

32

圖 12:一維與二維 SOM 在二維輸入空間上對映的效果

(44)

33

4.4 SOM 與大腦的關係

SOM 常被用來模擬各種生物的腦皮質地圖功能。在 CORMAP 模型裡[31],

SOM 被用來模擬蝙蝠的聽覺皮質層,蝙蝠使用調頻信號的回聲定位牠們飛行 路徑上的物體。牠們的聽覺皮質顯示出具有拓撲的組織,即神經元是根據牠 們接收的輸入信號頻率,拓撲地排列神經元。

Palakal(1995) 使用多行的 SOM 來模擬出類似於蝙蝠聽覺皮質的組織 [31]。這個實驗也證明了,在動物的腦皮質裡,一定存在著類似 SOM 自組織 的訊息處理方式。

本研究依照腦模型理論,衍生出模擬腦運作的學習模型,採用 SOM 做 為訊息自組織的功能,再傳導訊息給增強式學習系統,詳細模型在下一章節 會提出。

(45)

34

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

此章節開始介紹本篇論文的模型設計,以及實驗的應用,並進行研究成 果分析。自組織增強式學習模型(Self-Organizing Reinforcement Learning Model, SRLM)是利用 SOM 與 Reinforcement Learning 的結合所產生,有許 多研究提出各種類神經網路與 Reinforcement Learning 的結合方法,包括倒傳 遞類神經網路結合 Reinforcement Learning [30] 、樹狀 SOM(TS-SOM)結 合 Reinforcement Learning [6],與 Fuzzy 結合 Reinforcement Learning [4]等等。

而本篇則以 SOM 與 Reinforcement 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 的一個行動欄位,所以行動層有多少個神 經元就會有相同的基本行動數量。

(46)

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 中的一個神經元來表示。輸入層代

(47)

36

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

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

5.1.2 Neighborhood Q-learning

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

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

(48)

37

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

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

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

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

5.2 SRLM 演算法

參考圖 14 的演算法流程圖,經由加入 Q-neighborhood 所修改後的完整 SRLM 演算法,以均為二維的輸入與行動空間為例如下:

1. 從系統取得的狀態輸入向量 𝐼 = (𝐼1, 𝐼2) ,將它放入輸入層的SOM,

得到一個勝出單元,𝑠𝑗

2. 挑選出行動層的勝出單元,𝑎𝑘

𝑎𝑘 = {One with best Q-value for state, 𝑠𝑗 with probability 1 − 𝑝 Random action with probability 𝑝

3. 將 𝑎𝑘 的權重向量 (𝑢𝑘1, 𝑢𝑘2) 取出成建議動作(proposed action)。

4. 加入擾亂元素成擾動動作(perturbed action):

(𝑢𝑘1 , 𝑢𝑘2 ) = (𝑢𝑘1+ 𝑟𝑎𝑛𝑑𝑜𝑚(−1,1) ∗ 𝜀 , 𝑢𝑘2+ 𝑟𝑎𝑛𝑑𝑜𝑚(−1,1) ∗ 𝜀)

5. 將擾動動作 (𝑢𝑘1 , 𝑢𝑘2 ) 輸出到系統中更新環境。

6. 取得環境所提供的獎懲值 𝑟。

(49)

38

7. 從環境中取得新狀態向量 𝐼

8. 以向量 𝐼 更新輸入層 SOM(以一般的 SOM 方法):

𝑤𝑚1 ← 𝑤𝑚1+ 𝜆𝑆∗ 𝜓𝑆(𝑗, 𝑚, 𝑁𝑆)(𝐼1− 𝑤𝑚1) 𝑤𝑚2 ← 𝑤𝑚2+ 𝜆𝑆∗ 𝜓𝑆(𝑗, 𝑚, 𝑁𝑆)(𝐼2− 𝑤𝑚2) For all state units, 𝑚.

9. 將新狀態向量 𝐼 放入輸入層 SOM 取得 𝑠𝑗。 10. 挑選下一個新狀態的預期動作:

𝑎𝑘 = {One with best Q-value for state, 𝑠𝑗 with probability 1 − 𝑝 Random action with probability 𝑝

11. 如果 𝑟 + 𝛾𝑄(𝑠𝑗, 𝑎𝑘) > 𝑄(𝑠𝑗, 𝑎𝑘) 就表示擾動動作優於建議動作,所 以可以朝著擾動動作向量來更新行動層:

𝑢𝑛1← 𝑢𝑛1+ 𝜆𝐴∗ 𝜓𝐴(𝑘, 𝑛, 𝑁𝐴)(𝑢𝑘1 − 𝑢𝑛1) 𝑢𝑛2← 𝑢𝑛2+ 𝜆𝐴∗ 𝜓𝐴(𝑘, 𝑛, 𝑁𝐴)(𝑢𝑘2 − 𝑢𝑛2) For all action units, 𝑚.

12. 更新所有的 Q-value,採用 SARA Q-learning 方式,使用 Neighborhood Q-learning 方法:

𝑄(𝑠𝑚, 𝑎𝑛) ← 𝑄(𝑠𝑚, 𝑎𝑛) + 𝛼 ∗ 𝜓𝑆(𝑗, 𝑚, 𝑁𝑆) ∗ 𝜓𝐴(𝑘, 𝑛, 𝑁𝐴)

∗ [𝑟 + 𝛾𝑄(𝑠𝑗, 𝑎𝑘) − 𝑄(𝑠𝑚, 𝑎𝑛)]

For all states units 𝑚, and actions units 𝑛.

(50)

39

13. 將 𝑠𝑗 與 𝑎𝑘 做為下一步訓練要用的 𝑠𝑗 與 𝑎𝑘 ,回到步驟 3。

在上面的演算法裡面,𝑢𝑘𝑖 指的是行動層 SOM 裡第 𝑘 個單元的第 𝑖 個 權重,同樣地,𝑤𝑚𝑖 則是輸入層 SOM 的權重。𝑟𝑎𝑛𝑑𝑜𝑚(−1,1) 從 [-1,1] 的 範圍間產生擾動動作的隨機雜訊(也可以使用 Gaussian noise),𝜀 則作為探 索行動空間的控制量。𝑠𝑗 是接著 𝑠𝑗 之後會出現的狀態,𝑎𝑘 是在 𝑠𝑗 下挑選 的一個預期的行動,每一次的輸入向量訓練後所產生的新狀態 𝑠𝑗 與預期行 動 𝑎𝑘 都會變成下一步訓練要用的 𝑠𝑗 與 𝑎𝑘

採用 SARSA 方式,依照下一步會選擇的行動,求出下一步可能會預期 到的 Q-value 值 𝑄(𝑠𝑗, 𝑎𝑘) 來對整個一連串的行動過程優化,如果學習過程 已經到了末期,沒有再進行探索的必要,那麼就會使用最大化函式來取得該 值(即一般正常的 Q-learning 方法):

𝑄(𝑠𝑗, 𝑎𝑘) ← 𝑚𝑎𝑥

𝑎 𝑄(𝑠𝑗, 𝑎)

𝜆A 是行動層的學習速率,𝜆𝑆 則是輸入層的學習速率,𝛼 是 Q-learning 的 學 習 速 率 。𝜓𝑆(𝑗, 𝑚, 𝑁𝑆) 是輸入層的勝出神經元 𝑗 在符合相近範圍

(neighborhood size) 𝑁𝑆 裡的相近單元 𝑚 所具有的 neighborhood value,𝜓𝐴 則是屬於行動層的 neighborhood value。

一種簡單的線性相鄰函式可以像:

𝜓𝑆 (𝑗, 𝑚, 𝑁𝑆 ) = max (0, 1 − [𝑑/(𝑁𝑆+ 1)])

Figure

Updating...

References

Related subjects :