在開始之前個人覺得有必要把概念給大家說清楚,用大寫字母表示一類事物的集合,用小寫字母表示一類事物的實例。
在強化學習中出現術語解釋
- Agent: 是學習主體也就是機器或者說是智能體,agent 通過觀察環境(Environment),觀察到就是環境具體的 state ,也就是當前的環境一個快照。AlphaGo 就是 Agent
- Environment: Agent 所處環境,Agent 是無法控制環境,也可以理解爲 Agent 的對手,Agent 不斷通過跟環境進行抗爭來進行學習從而戰勝環境,環境還會 Agent Reward 不能簡單理解 Environment 爲對抗
- State 就是環境的一個快照,也就是 Agent 所觀察到的
- Action 是 Agent 根據當前 state 爲了獲得更高 reward 採取行動
- Reward 是在某個 state 給予 Agent 反饋,也就是獎罰
推薦 《Reinforcement Learning An Introduction》
在隨後強化學習分享中我們會介紹一下內容,其實無論在機器學習,我們需要學習如何通過抽象將實際問題轉化爲數學模型,然後我們在想用什麼方法來解決問題。其實這裏要說一件事,就是爲什麼老師喜歡在給出答案前,讓學生自己思考,然後嘗試給出答案,其實並不期望你個給出正確答案,其目標是在於讓你加深對答案印象,因爲當人發現實際期望(自己答案)差別很大時,印象會很深刻
強化學習
- 微軟小 bing
- AlphaGo
- 自動學習
基於價值選行爲的算法
- Q learning(基於表格)
- Sarsa
- Deep Q Network (基於神經網絡)
基於選行爲
Policy Gradients
經典條件反射
經典條件反射又稱巴甫洛夫條件反射,簡單就是一搖鈴就給 dog 食物,這樣當搖鈴即使沒有喂 dog 食物,狗也會流口水(這裏流口水錶示 dog 開心也就是得到 reward)。也就是通過 dog 通過反射方式在搖鈴和食物建立關係。
State 表示狀態,dog 和搖鈴就是一個狀態,需要花一些時間和精力來通過訓練。
Value 就是表示 us 和 cs 間關係的強弱,這個關係強弱是 dog 建立的,所以是主觀。
-
reward 表示 dog 對狀態反應,也就是 dog 在這種 state 下是否開心。
state(s) value(v) reward(r) 鈴,食物 饞: v(鈴) >0 好事 拒絕給食物,電擊 恐懼: v(電擊) < 0 不好事 CS US 期望 結果 CS(Conditioned stimuli state) 搖鈴 state 就是 dog 並不瞭解的,也就是不是天生會有好感的狀態。
US(Unconditioned stimuli State)食物就是 US 是 dog 天生就對其有好感的條件刺激,那麼對於 dog US 就是本身就具有 reward 效果
在這裏 state 和 reward 是客觀的條件,value 是主觀的,可以改變的,這裏鈴並沒有 Reward,因爲 dog 不會天生對搖鈴有任何感覺。需要定義 value 是通過學習可以改變 Value。我們不斷通過搖鈴給 dog 食物來更新 value 值。value 表示 US 和 CS 之前關係的強弱。value 是 dog 將食物和鈴建立關係,所以是主觀的東西。
RW(Rescorla-Wagner) Model
- , 爲是或否,取值 1 和 0
- A 爲學習速率,有關 A 爲學習速率,應該小於 1 大於 0
當 us 和 cs 值都爲 1 表示 us 和 cs 同時出現,在開始
爲 0 , 爲 1 那麼就等於 加上一個乘以一個係數,我們希望通過訓練,而且這是一個迭代過程,每一次都是上一次 進行增加的。解釋一下這個公式吧,這裏
表示對於搖鈴的值,默認爲 0 因爲 dog 對搖鈴沒有什麼感覺,而 給事物的值卻是 1 表示 dog 喜歡事物,一看到食就會流口水。A 表示學習速率這裏取值應該爲 0 到 1 之間,也大說明 dog 學習越快,如果爲 1 表示 dog 聽見一次搖鈴給食物後就學會了搖鈴會給食物。這顯然不對的。這個公式並不難而且很好理解,簡單解釋一下,V(cs)默認爲 0 當搖鈴和給食物同時出現 1 * 學習率(例如 0.2) 就會更新 V(cs) 爲 0.2 下一次就會更新 0.36 。操作性條件反射
在經典條件反射中 dog 並不需要做任何動作 Action 就可以得到獎勵,我們現在進一步思考一下,例如我們都看過馬戲團表演,給 dog 10 元 100 元,如果 dog 能夠根據主人或觀衆說出數字找到對的卡片便可以得到獎賞。這一次 dog 在給卡片的狀態下,做出選擇正確 action 會根據 action state 得到 reward。
state(s) | action(a) | reward(r) |
---|---|---|
10 元和 100 元 | 選擇 10 元 | 食物 |
10 元和 100 元 | 選擇 100 元 | 給不食物 |
CS US | 期望 | 結果 |
這是 reward 是取決於 Action 這是我們如何來定義 value,
例如我們給 5 卡片希望 dog 對應位置支持 5 這是給出獎勵,追女朋友
- state 她的心情
- action 根據 state 採用不同 action
- 根據 state 和 action 得到不同 reward
接下來我們嘗試將 Alpha Go
- reward 是取得勝利
- state 棋盤狀態
- action