在上一篇文章 強(qiáng)化學(xué)習(xí)的基本概念 中绷柒,用大白話介紹了強(qiáng)化學(xué)習(xí)的一些基本概念淆珊,尤其是強(qiáng)化學(xué)習(xí)的基本過程。在了解了強(qiáng)化學(xué)習(xí)的基本概念之后健芭,在本篇文章中县钥,筆者將介紹一下馬爾可夫決策過程,用馬爾可夫決策過程來形式化的描述強(qiáng)化學(xué)習(xí)吟榴。
強(qiáng)化學(xué)習(xí)與馬爾可夫決策過程
首先回顧一下Agent與Environment交互的過程魁蒜。
在每一個(gè)時(shí)刻,Agent會(huì)觀察到Environment的狀態(tài)
吩翻。根據(jù)狀態(tài)
兜看,Agent通過決策產(chǎn)生一個(gè)動(dòng)作
,將動(dòng)作
作用在Environment上狭瞎,Environment會(huì)反饋給Agent一個(gè)獎(jiǎng)勵(lì)
细移,并進(jìn)入一個(gè)新的狀態(tài)
。整個(gè)過程不斷重復(fù)熊锭,最終產(chǎn)生一個(gè)交互序列:
從序列中可以看出弧轧,下一個(gè)狀態(tài)不但與上一個(gè)狀態(tài)有關(guān),還與上上一個(gè)狀態(tài)有關(guān)碗殷,甚至追溯到初始狀態(tài)精绎。這樣的一個(gè)相關(guān)性特別強(qiáng)的序列,復(fù)雜到根本無法建模锌妻。
因此代乃,有必要采取某些方式來簡(jiǎn)化這個(gè)狀態(tài)轉(zhuǎn)化過程,建立一個(gè)清晰的模型仿粹。于是搁吓,就引入了經(jīng)典的馬爾可夫決策過程原茅。
馬爾可夫假設(shè)
為了用馬爾可夫決策過程對(duì)強(qiáng)化學(xué)習(xí)進(jìn)行建模,對(duì)強(qiáng)化學(xué)習(xí)作了如下三個(gè)假設(shè)堕仔。
假設(shè)一
環(huán)境狀態(tài)的轉(zhuǎn)化的過程中擂橘,下一個(gè)狀態(tài),僅僅與上一個(gè)狀態(tài)
有關(guān)摩骨,與之前的狀態(tài)無關(guān)通贞。用公式表示如下:
如此一來,環(huán)境狀態(tài)轉(zhuǎn)化的模型就簡(jiǎn)單多了仿吞,在狀態(tài)下采取動(dòng)作
滑频,轉(zhuǎn)到下一個(gè)狀態(tài)
的概率
,可以表示為下面這個(gè)公式:
假設(shè)二
在狀態(tài)時(shí)采取動(dòng)作
的概率僅與當(dāng)前狀態(tài)
有關(guān)唤冈,與其他的要素?zé)o關(guān)。用公式表示如下:
這里的指的是一個(gè)全局的策略银伟,針對(duì)的不是某一個(gè)狀態(tài)或者動(dòng)作你虹。
假設(shè)三
狀態(tài)價(jià)值函數(shù)僅僅依賴于當(dāng)前狀態(tài),用公式表示如下:
這里引入了一個(gè)衰減系數(shù)彤避,這是一個(gè)超參數(shù)傅物,可以自定義。
表示收獲琉预,是馬爾可夫中從某一種狀態(tài)
開始采樣董饰,直到終止?fàn)顟B(tài)時(shí)所有獎(jiǎng)勵(lì)的有衰減的和。強(qiáng)化學(xué)習(xí)的最終目標(biāo)就是最大化收獲圆米。
價(jià)值函數(shù)
在馬爾可夫決策過程中卒暂,有兩種價(jià)值函數(shù)。
- 狀態(tài)價(jià)值函數(shù)
:表示已知當(dāng)前狀態(tài)
娄帖,按照某種策略行動(dòng)產(chǎn)生的長(zhǎng)期回報(bào)期望也祠。
- 動(dòng)作價(jià)值函數(shù)
:表示已知當(dāng)前狀態(tài)
和行動(dòng)
,按照某種策略行動(dòng)產(chǎn)生的長(zhǎng)期回報(bào)近速≌┖伲可以理解為采取動(dòng)作
之后獲得的獎(jiǎng)勵(lì)。
動(dòng)作價(jià)值函數(shù)相對(duì)于狀態(tài)價(jià)值函數(shù)的削葱,它在狀態(tài)價(jià)值函數(shù)的基礎(chǔ)上奖亚,考慮了動(dòng)作帶來的價(jià)值影響。動(dòng)作價(jià)值函數(shù)
表示如下:
貝爾曼方程
基于狀態(tài)價(jià)值函數(shù)進(jìn)一步推導(dǎo)析砸,可以得到如下公式:
這種遞推式就是貝爾曼方程昔字。這個(gè)式子表明一個(gè)狀態(tài)的價(jià)值由當(dāng)前狀態(tài)的獎(jiǎng)勵(lì)和后續(xù)狀態(tài)價(jià)值按一定的衰減比例聯(lián)合組成。
同理干厚,可得到動(dòng)作價(jià)值函數(shù)的貝爾曼方程:
這兩個(gè)方程很重要李滴,后續(xù)的很多算法都基于這兩個(gè)方程螃宙。
狀態(tài)價(jià)值函數(shù)與動(dòng)作價(jià)值函數(shù)的關(guān)系
狀態(tài)價(jià)值函數(shù)和動(dòng)作價(jià)值函數(shù)之間是可以相互轉(zhuǎn)化的。狀態(tài)價(jià)值函數(shù)可以理解為在狀態(tài)的情況下所坯,未采取動(dòng)作之前期望的回報(bào)值谆扎,即所有可能動(dòng)作的獎(jiǎng)勵(lì)之和。如圖所示芹助,白點(diǎn)表示狀態(tài)堂湖,黑點(diǎn)表示動(dòng)作。
動(dòng)作價(jià)值函數(shù)可以理解為在狀態(tài)下状土,采取動(dòng)作
之后无蜂,轉(zhuǎn)變到下一個(gè)狀態(tài)
產(chǎn)生的獎(jiǎng)勵(lì)與下一個(gè)狀態(tài)的期望獎(jiǎng)勵(lì)
之和。
將兩個(gè)公式結(jié)合起來蒙谓,可以得到下面兩個(gè)公式:
最優(yōu)價(jià)值函數(shù)與最優(yōu)策略
強(qiáng)化學(xué)習(xí)的最終目的是通過不斷的訓(xùn)練斥季,找出一個(gè)最優(yōu)的策略,通過這個(gè)
累驮,讓智能體在目標(biāo)環(huán)境中得到最大的收獲酣倾。那么,如何評(píng)價(jià)一個(gè)策略是否比另一個(gè)策略優(yōu)秀呢谤专?只需要比較不同策略下產(chǎn)生的價(jià)值即可躁锡,最大的價(jià)值所對(duì)應(yīng)的價(jià)值函數(shù)被稱為最優(yōu)價(jià)值函數(shù)。
價(jià)值函數(shù)有兩種置侍,所以對(duì)應(yīng)的最優(yōu)價(jià)值函數(shù)也有兩種映之,即:
最優(yōu)動(dòng)作價(jià)值函數(shù)對(duì)應(yīng)的最優(yōu)策略可以定義為:
由狀態(tài)價(jià)值函數(shù)和動(dòng)作價(jià)值函數(shù)之間的關(guān)系,可以得到:
將上面兩個(gè)式子結(jié)合可以得到下面的式子:
這兩個(gè)式子是一個(gè)遞推式蜡坊,一般在實(shí)踐中是通過迭代來求解杠输,具體的算法如Q-learning,Sarsa等算色。通過不斷迭代抬伺,一旦確定了最優(yōu)的價(jià)值函數(shù),對(duì)應(yīng)的最優(yōu)策略也就隨之出現(xiàn)了灾梦。