人之所以能適應環境的變化並不斷提高解決問題的能力,其原因是人能通過學習積累經驗,總結規律,以增長知識和才能,從而更好地改善自己的決策和行爲。強化學習的思想來源於人類對動物學習過程的長期觀察。在機器學習範疇,依據從系統中獲得的反饋不同,機器學習可以分爲監督學習,無監督學習和強化學習。
強化學習概念
強化學習要解決的問題:
一個能夠感知環境的自治智能體(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的期望報酬:
用
可用樣本平均法求解
- 貪婪解法:任意時刻t在選擇行爲之前先估計每個行爲的
- ε-貪婪解法:以1−ϵ的概率選擇
早期ε較大,多探索少利用;後期ε較小,多利用少探索
估計價值的過佳初始值
將所有行爲的
只適用於靜態問題,非靜態問題中,早期探索的結果到後期是沒有意義的。
確信上界行爲選擇
衡量行爲的好壞不僅考慮它的
其中
不論行爲的真實
越長。
梯度方法
用
在每一步中,選擇動作
梯度方法的推導reinforcement learning 37-39頁
非靜態問題
非靜態問題產生報酬的概率分佈會變化,在這種情形下,久遠的歷史對當前
- (1−
α )n 逼近0,對初始值不敏感 - i越小,
α(1−α)n−i 越小,對久遠的舊值不敏感