1. 程式人生 > >強化學習之最基礎篇

強化學習之最基礎篇

部落格搬家後的第一篇

這些是廢話

最近由於實習公司分享會而研究強化學習知識,因而學了強化學習,為期一週5天的研究(實際就3天,還有2天做PPT,準備,分享等),研究內容偏少,但是基本弄懂了

正式開始

大部分來自於西瓜書的強化學習一章
由於分享時做了ppt,所以以下內容均來自ppt截圖,畢竟懶(沒時間),沒有了播放的動畫效果
同時會附上ppt的備註一丟丟和邏輯思路一丟丟

1

這裡寫圖片描述

2

這裡寫圖片描述

3

這裡寫圖片描述

對於什麼是強化學習,我將根據一個例子來做描述。以種西瓜為例,從一開始的選種、到定期澆水、施肥、除草、殺蟲等工作,通常要等到最後收穫西瓜之後,才知道種的瓜好不好。也就是說,我們在種瓜過程中執行的某個操作時,並不能判斷這個操作能不能種出好瓜,僅能得到一個當前的反饋,比如瓜苗看起來更健壯了。因此我們就需要多次種瓜並且不斷摸索,才能總結一個好的種瓜策略。摸索這個最優的種瓜策略的過程,實際上就是強化學習。(來自西瓜書)

標記延遲解釋,比如目前狀態是缺水,對於監督學習是有標記即動作澆水的,而強化學習沒有此標記,之後會根據環境得到最好的動作澆水,此標記是環境反饋的,卻是延遲的

4

這裡寫圖片描述

智慧體與環境互動的場景

5

這裡寫圖片描述

狀態空間分為無限和有限狀態空間,動作空間有連續型的和離散型的動作,本次分享主要是基於有限狀態空間的離散型動作的分享

從右下角的圖中我們可以看出~強化學習(RL)的資料是序列的、互動的、並且還是有反饋

6

這裡寫圖片描述

策略的優劣主要取決於長期執行這一策略的累積獎賞

從兩種值函式的定義可看出,在V和Q之間進行轉換

其中累計計算獎賞中的rt是指第t步獲得的環境的立即獎賞

公式前面的E是對所有隨機變數取期望(因為同一狀態以概率選擇不同動作,狀態轉移也有多種轉移)

前面所介紹的都是強化學習的基本概念,下面將會介紹強化學習的一些方法和演算法

7

這裡寫圖片描述

有了狀態轉移函式P和獎賞函式R就可以對策略進行評估

8

這裡寫圖片描述

顧名思義是對策略進行不斷迭代,最後取最優的策略π

演算法的累積獎賞函式為T步累積獎賞

第一行最後一項是對每個狀態的狀態值初始為0,為了對每個狀態選擇動作的概率均勻分配

9

這裡寫圖片描述

10

這裡寫圖片描述

我們可以看到蒙特卡羅演算法是在完成一個軌跡後再更新策略的值估計,可以對其進行一定的優化,在每執行一步策略後就進行值函式的更新(下面的Sarsa)

第六行的從右到左推斷,主要是為了儲存空間的優化,從右邊的n個值儲存到左邊的2個值,也就是已嘗試的次數和最近平均獎賞

11

這裡寫圖片描述

名字叫撒爾沙,哈哈

1.對蒙特卡羅的一個改進,(在完成一個軌跡後再更新策略的值估計)改進為(在每執行一步策略後就進行值函式的更新),其他思路基本與蒙特卡羅相符

2.基於y折扣累積獎賞

3.公式(1)中的r是指第i次取樣獲得的全部累積獎賞,並不是一次立即獎賞

4.公式(3)帶入(2)中的r(t+1)項

12

這裡寫圖片描述

13

這裡寫圖片描述

14

這裡寫圖片描述
所謂動機是坦克的前進、後退、轉彎等
演算法類似於Sarsa,做了一點點的改動

15

這裡寫圖片描述

16

這裡寫圖片描述

DQN:利用神經網路Neural Network對狀態-動作對值函式的模擬

17

這裡寫圖片描述

渣渣一枚,大牛勿噴,可指導小弟

由於基本是截圖,所以難免講不清楚,很多細節沒有解釋(嚴格來說並非是分享,而更像是自己的學習的記錄)

若有需求,可互相交流