深度強化學習課程文件
從Q-Learning到深度Q-Learning
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
從Q-Learning到深度Q-Learning
我們瞭解到,Q-Learning是一種用於訓練我們的Q函式(Q-Function)的演算法,Q函式是一種動作-值函式,它確定了在特定狀態下采取特定動作的價值。

Q來自該狀態下該動作的“質量”(Quality)。
在內部,我們的Q函式由Q表編碼,Q表是一個表格,其中每個單元格對應一個狀態-動作對的值。可以將此Q表視為我們Q函式的記憶或備忘錄。
問題在於Q-Learning是一種表格方法。如果狀態和動作空間不夠小,無法有效地用陣列和表格表示,這就會成為一個問題。換句話說:它不具備可擴充套件性。Q-Learning在狀態空間較小的環境中執行良好,例如:
- FrozenLake,我們有16個狀態。
- Taxi-v3,我們有500個狀態。
但想想我們今天要做的:我們將訓練一個智慧體學習翫《太空侵略者》這個更復雜的遊戲,並以幀作為輸入。
正如Nikita Melkozerov提到的那樣,Atari環境的觀察空間形狀為(210, 160, 3)*,包含0到255的值,因此我們有種可能的觀測值(相比之下,可觀測宇宙中大約有個原子)。
- Atari的單幀由210x160畫素的影像組成。由於影像是彩色的(RGB),因此有3個通道。這就是為什麼形狀是(210, 160, 3)的原因。對於每個畫素,值可以在0到255之間。
因此,狀態空間是巨大的;由於這個原因,為該環境建立和更新Q表將效率低下。在這種情況下,最好的方法是使用引數化的Q函式來近似Q值。 .
這個神經網路將根據給定的狀態,近似該狀態下每個可能動作的不同Q值。這正是深度Q-Learning所做的。
現在我們已經理解了深度Q-Learning,讓我們更深入地瞭解深度Q網路。
< > 在 GitHub 上更新