當前位置:
首頁 > 最新 > 人工智慧–Q Learning演算法

人工智慧–Q Learning演算法

人工智慧之Q Learning演算法

前言:人工智慧機器學習有關演算法內容,請參見公眾號「科技優化生活」之前相關文章。人工智慧之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下Q Learning演算法。^_^

TD-learning時序差分大概分了6類。其中,策略行動價值qπ的off-policy時序差分學習方法: Q-Learning(單步),Double Q-Learning(單步)。今天重點介紹Q-Learning演算法

Q Learning演算法是由Watkins於1989年在其博士論文中提出,是強化學習發展的里程碑,也是目前應用最為廣泛的強化學習演算法。

Q Learning演算法概念:

Q Learning演算法是一種off-policy的強化學習演算法,一種典型的與模型無關的演算法,即其Q表的更新不同於選取動作時所遵循的策略,換句化說,Q表在更新的時候計算了下一個狀態的最大價值,但是取那個最大值的時候所對應的行動不依賴於當前策略。

Q Learning始終是選擇最優價值的行動,在實際項目中,Q Learning充滿了冒險性,傾向於大膽嘗試。

Q Learning演算法下,目標是達到目標狀態(Goal State)並獲取最高收益,一旦到達目標狀態,最終收益保持不變。因此,目標狀態又稱之為吸收態

Q Learning演算法下的agent,不知道整體的環境,知道當前狀態下可以選擇哪些動作。通常,需要構建一個即時獎勵矩陣R,用於表示從狀態s到下一個狀態s』的動作獎勵值。由即時獎勵矩陣R計算得出指導agent行動的Q矩陣

Q矩陣是agent的大腦

Q Learning演算法本質:

QLearning屬於TD-Learning時序差分學習。同樣,該演算法結合了動態規劃和蒙特卡羅MC演算法,模擬(或者經歷)一個情節,每行動一步(或多步)後,根據新狀態的價值,來估計執行前的狀態價值。

下面提到的Q-Learning是單步更新演算法。

Q Learning演算法描述:

Q-learning是一個突破性的演算法。

利用下面公式進行off-policy學習,即用公式來表示Q-Learning中Q表的更新:

Q(St,At)←Q(St,At)+α[Rt+1+γmax Q(St+1,a)?Q(St,At)]

其中:

St: 當前狀態state

At: 從當前狀態下,採取的行動action

St+1:本次行動所產生的新一輪state

At+1: 次回action

Rt: 本次行動的獎勵reward

γ為折扣因子,0

α為控制收斂的學習率,0最佳值Q*

1Q-learning單步時序差分學習方法演算法描述

Initialize Q(s,a),?s∈S,a∈A(s) arbitrarily, and Q(terminal, ˙)=0

Repeat (for each episode):

? Initialize S

? Choose A from S using policy derived from Q (e.g. ??greedy)

? Repeat (for each step of episode):

?? Take action A, observe R,S′

?? Q(S,A)←Q(S,A)+α[R+γmaxa Q(S『,a)?Q(S,A)]

?? S←S′;

? Until S is terminal

每個episode是一個training session,且每一輪訓練意義就是加強大腦,表現形式是agent的Q矩陣元素更新。當Q習得後,可以用Q矩陣來指引agent的行動。

Q-learning使用了max,會引起一個最大化偏差(Maximization Bias)問題。

可以使用Double Q-learning可以消除這個問題。

2Double Q-learning單步時序差分學習方法演算法描述

Initialize Q1(s,a) and Q2(s,a),?s∈S,a∈A(s) arbitrarily

Initialize Q1(terminal, ˙)=Q2(terminal, ˙)=0

Repeat (for each episode):

? Initialize S

? Repeat (for each step of episode):

?? Choose A from S using policy derived from Q1 and Q2 (e.g. ??greedy)

?? Take action A, observe R,S′

?? With 0.5 probability:

??? Q1(S,A)←Q1(S,A)+α[R+γQ2(S′,argmax Q1(S′,a))?Q1(S,A)]

?? Else:

??? Q2(S,A)←Q2(S,A)+α[R+γQ1(S′,argmax Q2(S′,a))?Q2(S,A)]

?? S←S′;

? Until S is terminal

Double Q Learning演算法本質上是將計算Q函數進行延遲,並不是得到一條樣本就可以更新價值函數,而是一定的概率才可以更新。由原來的1條樣本做到影響決策變為多條(至少兩條)樣本影響決策。

Q Learning理論基礎:

QLearning理論基礎如下:

1)蒙特卡羅方法

2)動態規劃

3)信號系統

4)隨機逼近

5)優化控制

Q Learning演算法優點:

1)所需的參數少;

2)不需要環境的模型;

3)不局限於episode task;

4)可以採用離線的實現方式;

5)可以保證收斂到qπ。

Q Learning演算法缺點:

1)Q-learning使用了max,會引起一個最大化偏差問題;

2)可能會出現更新速度慢;

3)可能會出現預見能力不強。

註:使用Double Q-learning可以消除問題1);使用多步Q -learning可以消除問題2)和3)。

Q Learning演算法應用:

從應用角度看,Q Learning應用領域與應用前景都是非常廣闊的,目前主要應用於動態系統、機器人控制、工廠中學習最優操作工序以及學習棋類對弈等領域。

結語:

Q Learning一種典型的與模型無關的演算法,它是由Watkins於1989年在其博士論文中提出,是強化學習發展的里程碑,也是目前應用最為廣泛的強化學習演算法。Q Learning始終是選擇最優價值的行動,在實際項目中,Q Learning充滿了冒險性,傾向於大膽嘗試,屬於TD-Learning時序差分學習。Q Learning演算法已經被廣泛應用於動態系統、機器人控制、工廠中學習最優操作工序以及學習棋類對弈等領域。

------以往文章推薦------

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優化生活 的精彩文章:

人工智慧–K-Means演算法
人工智慧–機器人

TAG:科技優化生活 |