2018 08 03 強化學習

2021-08-22 15:21:17 字數 2668 閱讀 6538

強化學習包含多種演算法,比如有通過行為的價值來選取特定行為的方法, 包括使用**學習的 q learning, sarsa, 使用神經網路學習的 deep q network, 還有直接輸出行為的 policy gradients, 又或者了解所處的環境, 想象出乙個虛擬的環境並從虛擬的環境中學習 等等.

1. model-free 中, 機械人只能按部就班, 一步一步等待真實世界的反饋, 再根據反饋採取下一步行動. 而 model-based, 他能通過想象來預判斷接下來將要發生的所有情況. 然後選擇這些想象情況中最好的那種. 並依據這種情況來採取下一步的策略。model-based可以看作model-free的強化學習,它只是多了一道程式, 為真實世界建模。

2.基於概率是強化學習中最直接的一種, 他能通過感官分析所處的環境, 直接輸出下一步要採取的各種動作的概率, 然後根據概率採取行動, 所以每種動作都有可能被選中, 只是可能性不同。 而基於價值的方法輸出則是所有動作的價值, 選擇最**值的動作。 而基於概率的, 即使某個動作的概率最高, 但是還是不一定會選到他。

另外,對於選取連續的動作,基於價值的方法是無能為力的。

actor-critic結合了兩類方法的優點,actor 會基於概率做出動作, 而 critic 會對做出的動作給出動作的價值, 這樣就在原有的 policy gradients 上加速了學習過程。

3. 回合更新指的是開始後, 要等待結束, 然後再總結這一回合中的所有轉折點, 再更新的行為準則.。而單步更新則是在進行中每一步都在更新, 不用等待結束。因為單步更新更有效率, 所以現在大多方法都是基於單步更新. 比如有的強化學習問題並不屬於回合問題。

q learning可以看作乙個決策過程,它根據 q 表來選取最大的那個來對當前行為進行決策。

q learning通過如下規則更新q表。

sarsa和q learning類似,只不過sarsa的更新規則有點差別

lambda是乙個動作影響力隨距離衰變的引數,取值在0到1之間。sarsa其實是sarsa(0)。

dqn結合了神經網路和q learning,它使用神經網路來生成q值,而不是使用表來儲存。

dqn 有乙個記憶庫用於學習之前的經歷,每次 dqn 更新的時候, 可以隨機抽取一些之前的經歷進行學習。隨機抽取這種做法打亂了經歷之間的相關性, 也使得神經網路更新更有效率。fixed q-targets 也是一種打亂相關性的機理, 如果使用 fixed q-targets, 我們就會在 dqn 中使用到兩個結構相同但引數不同的神經網路, ** q 估計 的神經網路具備最新的引數, 而** q 現實 的神經網路使用的引數則是很久以前的. 

policy gradients策略梯度,與q learning不同,它不通過分析獎勵值, 直接輸出行為。所以它能夠在乙個連續區間內挑選動作, 而基於值的, 比如 q-learning, 不適合在無窮多的動作中計算價值, 從而選擇行為。

由於policy gradients直接輸出行為,所以它沒有「誤差」一說。在做出行為後,它通過獎懲資訊來決定是加強對當前輸出行為的選擇,還是進行削弱。(回合制,回合結束後才有獎懲資訊)

可以把這裡的actor看作policy gradient,critic看作q learning。actor負責決策,做出行為,然後由critic對actor的行為進行評價。critic 通過學習環境和獎勵之間的關係, 能看到現在所處狀態的潛在獎勵, 所以用它來指點 actor 便能使 actor 每一步都在更新, 如果使用單純的 policy gradients, actor 只能等到回合結束才能開始更新。

actor-critic 涉及到了兩個神經網路, 而且每次都是在連續狀態中更新引數, 每次引數更新前後都存在相關性, 導致神經網路只能片面的看待問題, 甚至導致神經網路學不到東西。

ddpg與actor-critic類似,但是它使用了兩個網路——估計網路和現實網路。

a3c 是一種平行方式, 它採用的是actor-critic形式,使用並行的方式訓練練多對,然後再將並行訓練的這些actor和critic總結到一起,形成最終的一對 actor 和 critic。

強化學習 強化學習基礎

為了應對車載網路中通訊環境快速變化的難題,可以使用強化學習進行解決,這裡對強化學習的基礎進行整理。主要的應用場景為車載網路中資源分配問題。本文源自莫煩python 強化學習章節,有需要請查閱原文 20200413補充了一些內容,來自這篇部落格,是李巨集毅的深度強化學習的筆記。強化學習的主要構成有 a...

強化學習 1 1 0 強化學習介紹

abstract 本文介紹reinforcement learning的具體特點和與其他機器學習演算法不同之處,本文是乙個骨架性的文章,所有專有名詞都保持英文原始單詞,具體內容會在後續中給出詳細解答。keywords reinforcement learning,situation,action,e...

強化學習系列1 強化學習簡介

2015年10月,alphago在和歐洲冠軍進行的圍棋賽上獲得了5 0的完勝,其後的深度強化學習也隨之火了起來。從本期開始開個新坑,一步步把強化學習的內容捋一遍。強化學習 reinforcement learning 是用來解決連續決策問題的一種方法。針對的模型是馬爾科夫決策過程 markov de...