發布時間:2022-04-12 16:43:10來源:轉載
一個強化學習算法包括以下幾個部分:Model、Policy、Value Function。對于Model,如果是馬爾科夫決策過程(MDP),一般包括狀態轉移的概率模型,以及一個Reward Model,也就是獎勵的模型。其實不難理解,既然涉及到馬爾科夫鏈,那一般就有轉移概率矩陣;另外這是決策模型,每次決策對應有獎勵,所以還有一個獎勵模型。
其中s_t是當前狀態,s是state的意思,a_t是當前的決策,a是action的意思,它的意思就是一個條件概率,如果當前狀態是s,當前決策是a,那么下一次狀態到s'的概率是多少呢?就是這個條件概率。
另外,做了這個決策,還要獲得相關的獎勵,也就是reward,那么應該是多少呢?本質上是一個條件期望:
它的意思也很顯然,就是當前狀態是s,當前決策是a的情況下,當前的reward(假設為r_t)的期望是多少的意思。
為什么要用到期望呢?因為有時候這個獎勵具有隨機性。
例如現在的狀態是高三了,可以選擇出國,可以選則參加高考;如果選擇出國,這是action,但對應的結果也是隨機的,可能申請到這所學校,可能申請到那所學校;比如申請到前10的概率是10%,申請到前50的概率是50%,或許較終的期望就是申請到第50名左右的學校。因此,不是說做了決策結果就是確定的。
較后一個是Policy,這是比較重要的概念,它的意思可以理解為策略,就是面對當前的狀態,應該如何做決策?
因此,一個policy,可以理解為從狀態到決策的一個映射。
比如狀態的集合記為S,決策(或者說動作)的集合記為A,那么policy就是一個S->A的映射。
Poliyc有確定性的,也有隨機的。
確定性的Policy很好理解,就是面對一個特定的狀態s,對應有一個確定的決策a。
隨機的Policy意思是對于一個特定的狀態s,對應的是一個決策的分布。此時可能是這個action,可能是那個action,不是確定的。
比如下棋,面對同樣的棋局,可能有幾個備選的方案,每次選哪個是隨機的,不是確定的。
應該說,強化學習研究的問題大部分都是隨機性的policy。
一個value function一定跟一個policy有關,或者說是關于這個policy的value function。
比如一個value function設為V,當前狀態假設為s,它計算的是在一定的policy下,未來可以獲得的收益的折現求和之后的期望值。
可以看出比較繞,因為它涉及到了很多的隨機性。
比如對當前狀態s_t=s,未來可以采取的決策是多種多樣的,每種決策對應的結果也是隨機的。比如隨機的policy,對于這種狀態s,它可以采取的action是隨機的;每個action下,得到的收益也是隨機的。這兩重隨機性要考慮。
還有就是折現值,這涉及到一個折現率discount ratio。為什么需要這個折現率呢?如果從金錢的角度,貨幣有時間價值,現在的100塊錢,跟一年之后的100塊錢,肯定不一樣;一年之后的100塊錢折現到現在要有一個折現率。一般來說,如果利率是r,折現率就是1/(1+r),所以,一般折現率是大于零小于1的,特殊情況可以取等號。
如果折現率是0,也就是未來收益不管多少都不算,只算當前收益;
如果折現率是1,也就是未來收益統統都算,而且不需要衰減。
強化學習一般用于玩游戲,會希望不要做一些無用功。比如理論上一個小人可以左走一步右走一步,拖延時間,就是不去打怪獸,也不去吃果子。但如果有折現率,現在吃果子有100分,但拖到幾步之后吃果子只有90分,會迫使機器不會故意拖延時間。
當然,折現率設置不好,也會影響結果。比如下圍棋,如果折現率接近1,可能會放著棋子就是不去吃,錯失良機;如果接近0,可能會類似貪心算法,很快就吃,否則未來吃分數就不高;因此,本質上也是調參玄學。
好了,上面介紹了RL的3個組成部分:model,policy,value function,然后可以分成兩大類:model-based和model-freee。
model-based的意思就是會清楚知道模型,包括馬爾科夫決策模型,獎勵模型等,都會給出來;但可能并不知道policy或value function。
model-free的意思就是連模型都沒有,至于policy和value function,可能知道可能不知道。
比如俄羅斯方塊,其實就4種積木,每種1/4,狀態就是當前的盤面形態,因此狀態轉移概率矩陣是知道的,獎勵模型也是知道的,這就是model-based,但我們并沒有policy,事實上我們的任務就是要設計policy來玩。policy都沒有,那么value function肯定也沒有的。
但絕大多數時候是沒有這么明確的狀態轉移概率的。比如下圍棋,狀態轉移i概率跟決策有關的,但肯定不知道對手如何決策,甚至決策的概率分布也不知道。這個不是隨機的。
俄羅斯方塊的概率分布是確定的,因為4種方塊每個出來的概率都是25%;但對于棋局,每個格子下的概率不是一樣的,可能這個高,可能那個高,不知道的。這種情況下一般可以蒙特卡洛模擬,比如AlphaGo用的蒙特卡洛搜索樹。
當然,也可能不知道model,但知道policy的。比如現在高三,下一步讀大學,我不知道能去哪一所大學,這個概率不知道的;但我的policy是知道的,只能申請啊,只是不知道能申到哪一所。
當然,哪怕model-based,也是需要蒙特卡羅模擬的。哪怕知道了狀態轉移的概率,也要按照這個概率不斷生成隨機樣本來研究。
雅思 托福 GRE ACT SAT GMAT 多鄰國英語測試 英語口語 英語四六級 考研英語 職稱日語 商務英語 公共英語 詞庫 留學 成人英語 AP課程 A-Level SSAT 青少兒英語 OSSD AEAS 個人提升 一級建造師 二級建造師 消防工程師 消防設施操作員 BIM 造價工程師 環評師 監理工程師 咨詢工程師 安全工程師 招標師 注冊電氣工程師 一級注冊建筑師 二級注冊建筑師 裝配式工程師 智慧建造工程師 智慧消防工程師 公路水運檢測師 EPC工程總承包 碳排放管理師 CFA 初中級經濟師 初級會計師 中級會計師 注冊會計師 基金從業 證券從業 稅務師 薪稅師 ACCA FRM 會計實操 CQF 企業合規師 高級會計師 CMA 教師資格 養老護理員 家庭教育指導師 法律職業資格考試 心理咨詢師 健康管理師 保險從業 普通話 育嬰員 人力資源管理 專利代理師 教師招聘 Java開發 思科認證 python開發 Web前端 華為認證 軟件開發測試 linux云計算 大數據 PMP項目管理 影視后期 photoshop 紅帽認證 游戲設計 游戲程序 室內設計 php 產品經理 UI設計 網絡運維