基本屬性有環境(標準的為靜態stationary,對應的non-stationary),agent(與環境互動的物件),動作(action space,環境下可行的動作集合,離散or連續),反饋(回報,reward)。
基本的強化模型是乙個馬爾可夫決策過程:
1.一組環境和agent狀態s ;
2.對agent的一組動作,a ;
3. p_a (s,s^` )=pr(s_(t+1)=s^` |s_t=s,a_t=a)是從狀態s到狀態s'在動作a中轉換的概率。
4.r_a (s,s^` )是 s到s^`在動作a中直接的反饋。
5.關於agent觀察描述的規則
規則通常是隨機的。觀察通常涉及與最後一次轉換相關的標量直接獎勵。在許多作品中,agent被假定為觀察當前的環境狀態(完全可觀察性)。如果不是這樣,那麼agent就具有部分可觀察性。有時,agent可以使用的一系列行為是有限的(如果餘額為零,則不能減少)。
強化學習**以不連續的時間步驟與其環境進行互動。在每個時間t,agent都會收到乙個觀察結果o_t,通常包括獎勵r_t。然後它選擇乙個行動a_t從一系列可用的行動中,隨後傳送到環境。環境轉移到新的狀態s_(t+1)和獎勵r_t與過渡有關(s_t,a_t,s_(t+1))決心,決意,決定。強化學習**的目標是收集盡可能多的獎勵。該agent可以選擇任何行動作為歷史的乙個功能,它甚至可以隨機的動作選擇。
當agent的表現與最佳表現的agent的表現相比時,表現的差異就會引起遺憾的概念。為了以最佳方式行動,agent必須為其行動的長期後果(即最大化未來收入)作出推論,儘管與此相關的直接獎勵可能是負面的。
因此,強化學習尤其適用於包括長期與短期報酬權衡的問題。
1. 強化學習是試錯學習(trail-and-error),由於沒有直接的指導資訊,智慧型體要以不斷與環境進行互動,通過試錯的方式來獲得最佳策略。
2. 延遲回報,強化學習的指導資訊很少,而且往往是在事後(最後乙個狀態)才給出的,這就導致了乙個問題,就是獲得正回報或者負回報以後,如何將回報分配給前面的狀態。
一般討論在狀態完全可見和考慮動作的馬爾可夫決策過程的最優策略
model-free和model-based
model-free即為不了解環境,而model-based即為嘗試用模型代表環境。
model-free 的方法有很多, 像 q-learning, sarsa, policy gradients 都是從環境中得到反饋然後從中學習. 而 model-based rl 只是多了一道程式, 為真實世界建模, 也可以說他們都是 model-free 的強化學習, 只是 model-based 多出了乙個虛擬環境,
基於概率是強化學習中最直接的一種, 能通過感官分析所處的環境, 直接輸出下一步要採取的各種動作的概率, 然後根據概率採取行動,所以每種動作都有可能被選中, 只是可能性不同。而基於價值的方法輸出則是所有動作的價值,根據最**值來選著動作, 相比基於概率的方法, 基於價值的決策部分更為確定, 會選價值最高的, 而基於概率的, 即使某個動作的概率最高, 但是還是不一定會選到它。
比如在基於概率的方法有 policy gradients, 在基於價值的方法有 q learning, sarsa 等. 以及結合這兩類方法的優勢之處的actor-critic, actor 會基於概率做出動作, 而 critic 會對做出的動作給出動作的價值, 這樣就在原有的 policy gradients 上加速了學習過程.
回合更新指的是單次學習開始後, 我們要等待單次學習結束, 然後再總結這一回合中的所有轉折點, 再更新我們的行為準則. 而單步更新則是在單次學習進行中每一步都在更新, 不用等待單次學習的結束。
monte-carlo learning 和基礎版的 policy gradients等都是回合更新制, q-learning, sarsa, 公升級版的 policy gradients 等都是單步更新制。因為單步更新更有效率, 所以現在大多方法都是基於單步更新。比如有的強化學習問題並不屬於回合問題。
q為動作效用函式(action-utility function),用於評價在特定狀態下採取某個動作的優劣。q被初始化為乙個可能的任意固定值(由程式設計師選擇)。然後,在每個時間 t**選擇乙個動作a_t並觀察獎勵r_t和乙個新的狀態s_(t+1),這可能取決於以前的狀態s_t和選定的動作,q已更新。演算法的核心是乙個簡單的值迭代更新,使用舊值和新資訊的加權平均:
學習率α決定新獲得的資訊將覆蓋舊資訊的程度。因子為0將使**人不學習任何東西,而因子1將使**人只考慮最新的資訊。在完全確定性的環境中,學習率為a_t=1是最佳的。當問題為隨機時,演算法在一些技術條件下仍然收斂於學習速率,要求它減少到零。在實踐中,通常使用恆定的學習率,例如a_t=0.1對全部t。
折扣因素γ決定未來獎勵的重要性。因子0將使**人「近視」(或短視),只考慮當前的獎勵,而接近1的因素將使其爭取長期的高回報。如果貼現因子達到或超過1,則動作值可能會發生變化
由於q學習是一種迭代演算法,因此在第一次更新發生之前,它隱含地假設乙個初始條件。較高的初始值,也稱為「樂觀初始條件」,可以鼓勵探索:不管選擇什麼動作,更新規則都會使得它的值比其他選項低,從而增加了它們的選擇概率。
強化學習 強化學習基礎
為了應對車載網路中通訊環境快速變化的難題,可以使用強化學習進行解決,這裡對強化學習的基礎進行整理。主要的應用場景為車載網路中資源分配問題。本文源自莫煩python 強化學習章節,有需要請查閱原文 20200413補充了一些內容,來自這篇部落格,是李巨集毅的深度強化學習的筆記。強化學習的主要構成有 a...
強化學習 1 1 0 強化學習介紹
abstract 本文介紹reinforcement learning的具體特點和與其他機器學習演算法不同之處,本文是乙個骨架性的文章,所有專有名詞都保持英文原始單詞,具體內容會在後續中給出詳細解答。keywords reinforcement learning,situation,action,e...
強化學習系列1 強化學習簡介
2015年10月,alphago在和歐洲冠軍進行的圍棋賽上獲得了5 0的完勝,其後的深度強化學習也隨之火了起來。從本期開始開個新坑,一步步把強化學習的內容捋一遍。強化學習 reinforcement learning 是用來解決連續決策問題的一種方法。針對的模型是馬爾科夫決策過程 markov de...