強化學習筆記01,02——強化學習問題和Multi-arm Bandits

人之所以能適應環境的變化並不斷提高解決問題的能力,其原因是人能通過學習積累經驗,總結規律,以增長知識和才能,從而更好地改善自己的決策和行爲。強化學習的思想來源於人類對動物學習過程的長期觀察。在機器學習範疇,依據從系統中獲得的反饋不同,機器學習可以分爲監督學習,無監督學習和強化學習。

強化學習概念

強化學習要解決的問題:
一個能夠感知環境的自治智能體(Agent),如何通過學習選擇能夠達到目標的最優動作,即強化學習Agent的要解決的問題就是學習從環境到動作的映射。

強化學習的特徵:
(1)Agent不是靜止的、被動的等待,而是主動的對環境做出試探;
(2)環境對試探動作反饋的信息是評價性的(好或壞,獎勵還是非獎勵);
(3)Agent在行動-評價的環境(迭代)中獲得知識,改進行動方案以適應環境,達到預期目的。

那麼,有了強化學習的特徵,我們就能知道強化學習的模型了。

強化學習把學習看作試探評價過程,基本模型如圖所示:
這裏寫圖片描述
強化學習的目的就是尋找一個最優策略,使得Agent在運行中所獲得的累計報酬值最大。

強化學習對應四元組:
E = < X, A, P, R >

  • 策略(A):定義了Agent在給定時刻的行爲方式, 直接決定了Agent的動作,是強化學的核心。
  • 回報函數(R):Agent在對環境做出動作之後,環境對動作好壞的評價。(有正有負)
  • 值函數(X):Agent從該狀態起所能積累的回報的總和。(長遠計算)
  • 轉移函數(P):將環境從當前狀態轉移到另一個狀態的概率函數。
  • 環境模型(E):是強化學習系統的一個可選的組成部分。

回報函數和值函數
兩者的區別:回報是環境給的立即評價,而值函數則是隨後一系列狀態所對應的累積。
兩者的聯繫:沒有回報就沒有值函數,最優化值函數的目的是爲了獲得更多回報。
事實上,幾乎所有的強化學習算法都是如何有效最優化值函數。

Multi-arm Bandits

在狀態動作空間足夠小時,可以表示成表格方式求解,適用的問題有K-Armed Bandits問題和有限馬爾科夫判決過程。
問題抽象
你需要在k個選項中做出選擇,選定後環境會根據你的選項給出報酬。然後再選擇,一直重複下去。你的目標是在有限時間內最大化報酬
特點

  • 屬於強化學習問題,使用評估反饋而不是指導反饋。評估反饋與採取的行爲有關,評估行爲的好壞,但不清楚是不是最好的行爲。指導反饋與行爲無關,總是指向最佳的行爲。例如神經網絡的訓練,按定製好的規則更新,總是指向收斂點,不評估此次更新的好壞。
  • 非關聯性。只涉及一種情景,不需要考慮不同行爲與不同情景的關聯。
  • 靜態。選項不變。環境針對每個行爲生成報酬的概率分佈不變。
  • 有限時間。

可用貪婪算法求解,首先我們定義行爲的價值(Action-Value Methods)
行爲的價值
t時刻選擇行爲a的期望報酬:

q(a)=E[Rt|At=a]

Qt(a) 表示對q(a) 的估計.
可用樣本平均法求解Qt(a)
這裏寫圖片描述
- 貪婪解法:任意時刻t在選擇行爲之前先估計每個行爲的Qt ,然後選擇Qt 最大的行爲。
- ε-貪婪解法:以1−ϵ的概率選擇Qt 最大的行爲,以ϵ的概率從其餘的行爲中隨機(一般是等概率地)選一個。
早期ε較大,多探索少利用;後期ε較小,多利用少探索

估計價值的過佳初始值

將所有行爲的Q1 設置爲大於最大可能報酬的值,能在問題早期激勵探索。只要行爲a沒被選擇過,Qt(a) 一定是當前最大的
只適用於靜態問題,非靜態問題中,早期探索的結果到後期是沒有意義的。
這裏寫圖片描述

確信上界行爲選擇

衡量行爲的好壞不僅考慮它的Qt ,還考慮該行爲是潛在最佳行爲的可能性
這裏寫圖片描述
其中Nt(a) 表示在t時間段內動作a被選擇的次數,c>0決定探索的程度。如果Nt(a)=0 ,則動作a是最可能被選擇的動作。
不論行爲的真實q 是多少,所有行爲每隔一段時間總會被挑選一次。q 越小,被選擇的間隔時間
越長。
這裏寫圖片描述

梯度方法

Ht(a) 表示t時刻對行爲a的偏愛,則a被選擇的概率爲:
這裏寫圖片描述
在每一步中,選擇動作At 並且獲得回報Rt ,則Ht(a) 更新:
這裏寫圖片描述
R¯¯¯ 是所有已有報酬的均值。α 是步長參數。 R¯¯¯ 作爲baseline,如果某個動作的報酬比baseline高,則採取該動作的概率將增大。反之亦反。
梯度方法的推導reinforcement learning 37-39頁

非靜態問題

非靜態問題產生報酬的概率分佈會變化,在這種情形下,久遠的歷史對當前Qt 的估計參考價值不大,估計當前Qt 時,對歷史加權。 最常用的加權方式如下:
這裏寫圖片描述
α(0,1] ,隨着n增大:

  • (1−α )n 逼近0,對初始值不敏感
  • i越小,α(1α)ni 越小,對久遠的舊值不敏感
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章