強(qiáng)化學(xué)習(xí)所學(xué)習(xí)的,是當(dāng)我們處在某個(gè)環(huán)境下,我們應(yīng)該做的最好的決策是什么?
假設(shè)我們所處的狀態(tài)(State)是有限的,例如在開(kāi)車(chē)的時(shí)候,前面紅燈還是綠燈,前后左右有沒(méi)有車(chē),這些數(shù)據(jù)可以歸結(jié)為有限多個(gè)狀態(tài)。
假設(shè)前面有車(chē)沒(méi)車(chē),左邊有車(chē)沒(méi)車(chē),前面是紅燈還是綠燈,這樣簡(jiǎn)單的歸類(lèi),我們就有2x2x2 = 8種狀態(tài),狀態(tài)數(shù)量可以任意多,有限即可(甚至對(duì)于無(wú)限個(gè)狀態(tài),我們也可以模糊的歸結(jié)為有限)
每個(gè)狀態(tài)下我們能做的事情(行動(dòng),action)是有限個(gè)的,還是開(kāi)車(chē),我們是直行、還是停下來(lái)等,這也就2種行動(dòng)而已
在有限個(gè)狀態(tài)下,有限個(gè)行動(dòng)下,如果我們想在某種狀態(tài)下選擇一個(gè)最好的行動(dòng),并且如何學(xué)習(xí)到這種選擇,就是強(qiáng)化學(xué)習(xí)的目標(biāo)
例如:前方紅燈,我們應(yīng)該停車(chē)等待,也就是
| 狀態(tài)/動(dòng)作 | 直行 | 等待 |
|---|---|---|
| 紅燈 | 0 | 1 |
| 綠燈 | 1 | 0 |
歸結(jié)為數(shù)學(xué)語(yǔ)言就是,在 狀態(tài) = 紅燈 時(shí),選擇 行動(dòng) = 等待 的收益最大
綠燈時(shí), 行動(dòng) = 直行 的收益最大
每一行是一種狀態(tài),每一列是一種行動(dòng),每個(gè)交叉點(diǎn),是這個(gè)行動(dòng)的收益。假設(shè)我們已經(jīng)有了這張圖表,我們也知道我們當(dāng)前的狀態(tài)(通過(guò)觀察紅綠燈),那么我們只要找到當(dāng)前行,最大值的某個(gè)列的行動(dòng)去做就好了。
所以問(wèn)題就是,我們?cè)趺吹玫竭@張表?
對(duì)于一個(gè)簡(jiǎn)單的問(wèn)題,例如這張表只有10行,5列,50個(gè)元素,人類(lèi)當(dāng)然可以一個(gè)一個(gè)填寫(xiě)最優(yōu)的可能性。不過(guò)假設(shè)狀態(tài)有數(shù)千個(gè),行動(dòng)數(shù)量有數(shù)百個(gè),我們就很難以人力完成這件工作。強(qiáng)化學(xué)習(xí)的一個(gè)簡(jiǎn)單思路,就是填完這張表。
它所希望的就是得到這個(gè)表格(Q-table),或者說(shuō)Q function
在當(dāng)前狀態(tài)下,我們所應(yīng)該選擇的行動(dòng)為:最大的 【Q(狀態(tài),行動(dòng)) for 行動(dòng) in 所有可能的行動(dòng)】
也就是在某個(gè)狀態(tài)那一行,尋找哪個(gè)列(哪個(gè)行動(dòng))的值最大,值最大代表在這個(gè)狀態(tài)下實(shí)行這個(gè)行動(dòng)可以獲取的獎(jiǎng)勵(lì)最大,或者說(shuō)得到的收益最好。
強(qiáng)化學(xué)習(xí)不僅僅學(xué)習(xí)當(dāng)前,也學(xué)習(xí)未來(lái)
我們可以計(jì)算出每個(gè)狀態(tài)下,每個(gè)行動(dòng)的收益(初始化一張Q-table)
這個(gè)初始的收益是不準(zhǔn)確的,我們?cè)趺锤滤?,我們使用?/p>
當(dāng)前行動(dòng)收益 = 真實(shí)收益 + 當(dāng)前行動(dòng)做過(guò)之后下一個(gè)狀態(tài)的最大收益
例如當(dāng)前是紅燈,我們直行的收益就很低(違反交規(guī)),這是當(dāng)前的真實(shí)收益;但是如果我們是救護(hù)車(chē),正在運(yùn)病人,把病人快速運(yùn)到的收益非常高(也就是闖紅燈之后可能帶來(lái)的收益),這個(gè)時(shí)候很可能是:我們應(yīng)該闖紅燈,因?yàn)槲磥?lái)遠(yuǎn)期的收益太高了。
這也是為什么強(qiáng)化學(xué)習(xí)需要學(xué)習(xí)遠(yuǎn)期收益
深度強(qiáng)化學(xué)習(xí)
深度強(qiáng)化學(xué)習(xí)是強(qiáng)化學(xué)習(xí)的深度學(xué)習(xí)版,其實(shí)并不高級(jí)。它使用一個(gè)神經(jīng)網(wǎng)絡(luò)來(lái)代替Q-table,因?yàn)闋顟B(tài)可能太多了(雖然有限,但是數(shù)量太大),不過(guò)依然要求行動(dòng)是有限的(例如幾十種行動(dòng))
我們定義一個(gè)神經(jīng)網(wǎng)絡(luò),輸入是當(dāng)前狀態(tài),輸出是每個(gè)行動(dòng)的收益,我們希望結(jié)果是訓(xùn)練出這個(gè)網(wǎng)絡(luò),每當(dāng)我們輸入一個(gè)狀態(tài)獲得每個(gè)行動(dòng)的收益,然后我們可以從結(jié)果中選擇收益最大的行動(dòng)來(lái)直行,也就是代替Q-table的作用。