強化學習學習筆記(一) 入門簡介

2021-09-09 07:51:10 字數 2275 閱讀 7887

內容主要參考自莫煩python,很適合入門學習。

強化學習是一類演算法, 是讓計算機實現從一開始什麼都不懂, 腦袋裡沒有一點想法, 通過不斷地嘗試, 從錯誤中學習, 最後找到規律, 學會了達到目的的方法. 這就是乙個完整的強化學習過程.。

q-learning演算法:

q learning 的演算法, 每次更新我們都用到了 q 現實和 q 估計, 而且 q learning 的迷人之處就是 在 q(s1, a2) 現實 中, 也包含了乙個 q(s2) 的最大估計值, 將對下一步的衰減的最大估計和當前所得到的獎勵當成這一步的現實。epsilon greedy 是用在決策上的一種策略, 比如 epsilon = 0.9 時, 就說明有90% 的情況我會按照 q 表的最優值選擇行為, 10% 的時間使用隨機選行為. alpha是學習率, 來決定這次的誤差有多少是要被學習的, alpha是乙個小於1 的數. gamma 是對未來 reward 的衰減值.

將狀態和動作當成神經網路的輸入, 然後經過神經網路分析後得到動作的 q 值, 這樣我們就沒必要在**中記錄 q 值, 而是直接使用神經網路生成 q 值. 還有一種形式的是這樣, 我們也能只輸入狀態值, 輸出所有的動作值, 然後按照 q learning 的原則, 直接選擇擁有最大值的動作當做下一步要做的動作。 

dqn 有乙個記憶庫用於學習之前的經歷。fixed q-targets, 我們就會在 dqn 中使用到兩個結構相同但引數不同的神經網路, ** q 估計 的神經網路具備最新的引數, 而** q 現實 的神經網路使用的引數則是很久以前的.

policy gradients:

policy gradients 直接輸出動作的最大好處就是, 它能在乙個連續區間內挑選動作。起反向傳遞的目的是讓這次被選中的行為更有可能在下次發生,通過reward實現。

actor critic:

actor-critic 的 actor 的前生是pg, 這能讓它毫不費力地在連續動作中選取合適的動作,critic 的前生是 q-learning 或者其他的 以值為基礎的學習法 , 能進行單步更新, 而傳統的 policy gradients 則是回合更新。

拿乙個 critic 去學習這些獎懲機制critic 通過學習環境和獎勵之間的關係, 能看到現在所處狀態的潛在獎勵, 所以用它來指點 actor 便能使 actor 每一步都在更新。

改進版 deep deterministic policy gradient (ddpg) :

dqn 網路加入進 actor critic 系統中, 這種新演算法叫做 deep deterministic policy gradient。最大的優勢就是能夠在連續動作上更有效地學習。deep 顧名思義, 就是走向更深層次。deterministic 就改變了輸出動作的過程, 只在連續動作上輸出乙個動作值。

ddpg 中所用到的神經網路. 它其實和 actor-critic 形式差不多, 也需要有基於 策略 policy 的神經網路 和基於 價值 value 的神經網路, 但是為了體現 dqn 的思想, 每種神經網路都需要再細分為兩個, policy gradient 這邊, 有估計網路和現實網路, 估計網路用來輸出實時的動作, 供 actor 在現實中實行. 而現實網路則是用來更新價值網路系統的. 所以我們再來看看價值系統這邊, 我們也有現實網路和估計網路, 他們都在輸出這個狀態的價值, 而輸入端卻有不同, 狀態現實網路這邊會拿著從動作現實網路來的動作加上狀態的觀測值加以分析, 而狀態估計網路則是拿著當時 actor 施加的動作當做輸入.在實際運用中, ddpg 的這種做法的確帶來了更有效的學習過程。

asynchronous advantage actor-critic (a3c):

a3c 其實是這種平行方式的一種, 它採用的是我們之前提到的a-c 的形式. 為了訓練一對 actor 和 critic, 我們將它複製多份、每個都悄悄告訴actor-critic 自己在那邊的世界玩得怎麼樣, 有哪些經驗值得分享. 然後還能從 這邊再次獲取綜合考量所有副本經驗後的通關秘籍. 這樣一來一回, 形成了一種有效率的強化學習方式。使用 a3c 的方法, 我們可以給他們安排去不同的核, 並行運算,可以大大提高實驗效率。

強化學習簡介

強化學習是機器想裡面非常重要的乙個派別。智慧型體agent會不斷執行一些操作,通過結果來學習,在不同的環境中分別應該採取怎樣的行動。問題來了,目標為什麼是預期累積獎勵最大化?因為,強化學習原本就是建立在獎勵假說的基礎之上。想表現好,就要多拿獎勵。每乙個時間步 time step 的累積獎勵都可以表示...

強化學習 簡介

一 強化學習要素 1 agent 智慧型體 2 environment 環境 3 state 狀態 4 policy 策略 5 action 動作 6 reward 獎勵 二 智慧型體與環境的互動過程 1 在每乙個時刻,環境 environment 都將處於乙個狀態 state 智慧型體 agent...

強化學習入門(一)

在強化學習中,環境狀態的轉移和環境反饋給agent的獎賞是不受agent個體控制的,agent只能通過選擇要執行的動作來影響環境,並通過觀察轉移後的狀態和環境反饋的獎賞值來感知環境,agent的強化學習過程即是通過不斷嘗試各種動作 狀態策略,並通過環境反饋的獎賞不斷調整策略,從而達到在某一環境狀態中...