Neil Zhu,簡(jiǎn)書(shū)ID Not_GOD,University AI 創(chuàng)始人 & Chief Scientist,致力于推進(jìn)世界人工智能化進(jìn)程。制定并實(shí)施 UAI 中長(zhǎng)期增長(zhǎng)戰(zhàn)略和目標(biāo),帶領(lǐng)團(tuán)隊(duì)快速成長(zhǎng)為人工智能領(lǐng)域最專業(yè)的力量。
作為行業(yè)領(lǐng)導(dǎo)者,他和UAI一起在2014年創(chuàng)建了TASA(中國(guó)最早的人工智能社團(tuán)), DL Center(深度學(xué)習(xí)知識(shí)中心全球價(jià)值網(wǎng)絡(luò)),AI growth(行業(yè)智庫(kù)培訓(xùn))等,為中國(guó)的人工智能人才建設(shè)輸送了大量的血液和養(yǎng)分。此外,他還參與或者舉辦過(guò)各類國(guó)際性的人工智能峰會(huì)和活動(dòng),產(chǎn)生了巨大的影響力,書(shū)寫(xiě)了60萬(wàn)字的人工智能精品技術(shù)內(nèi)容,生產(chǎn)翻譯了全球第一本深度學(xué)習(xí)入門書(shū)《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》,生產(chǎn)的內(nèi)容被大量的專業(yè)垂直公眾號(hào)和媒體轉(zhuǎn)載與連載。曾經(jīng)受邀為國(guó)內(nèi)頂尖大學(xué)制定人工智能學(xué)習(xí)規(guī)劃和教授人工智能前沿課程,均受學(xué)生和老師好評(píng)。
更好的渲染效果,請(qǐng)到 這里 來(lái)
title: RLDM 強(qiáng)化學(xué)習(xí)教程-David Silver
date: 2016-05-31 10:50:57
tags: [rl, reinforcement learning, deep learning, value iteration, policy gradient, DQN, Bellman equation, actor-critic, DeepMind]
我們能夠?qū)⑸疃葘W(xué)習(xí)應(yīng)用在強(qiáng)化學(xué)習(xí)中。使用深度神經(jīng)網(wǎng)絡(luò)來(lái)端對(duì)端表示值函數(shù)/策略/模型,然后借助隨機(jī)梯度下降進(jìn)行參數(shù)更新。
深度值函數(shù)
Bellman 方程
Bellman 期望方程將值函數(shù) 展開(kāi):
Bellman 最優(yōu)方程將最優(yōu)值函數(shù) 展開(kāi):
策略迭代算法求解了 Bellman 期望方程
值迭代算法求解了 Bellman 最優(yōu)方程
非線性 Sarsa 策略迭代
使用參數(shù)為 w 的 Q-network 來(lái)表示值函數(shù)
通過(guò) Q-值的均方誤差來(lái)定義目標(biāo)函數(shù)
我們就有了下面的 Sarsa 梯度
借助 SGD 使用 端對(duì)端優(yōu)化目標(biāo)函數(shù)
深度強(qiáng)化學(xué)習(xí)的穩(wěn)定性問(wèn)題
基本的 Q-學(xué)習(xí)采用神經(jīng)網(wǎng)絡(luò)會(huì)出現(xiàn)振蕩或者發(fā)散的情況
數(shù)據(jù)是序列化的
相鄰的樣本是相關(guān)的,非獨(dú)立同分布的
Q-值微小變化會(huì)導(dǎo)致策略迅速變化
策略可能會(huì)振蕩
數(shù)據(jù)的分布會(huì)從一個(gè)極端搖擺到另一個(gè)極端
獎(jiǎng)勵(lì)和 Q-值的范圍未知
基本的 Q-學(xué)習(xí)梯度會(huì)在反響傳播時(shí)變得很大從而不能穩(wěn)定
深度 Q-網(wǎng)絡(luò)(DQN)
DQN 為深度基于值的強(qiáng)化學(xué)習(xí)問(wèn)題提供了一種穩(wěn)定解決方案
使用經(jīng)驗(yàn)回放
將數(shù)據(jù)之間的關(guān)聯(lián)打破,重回獨(dú)立同分布的設(shè)定下
從過(guò)去的策略中學(xué)習(xí)
使用 免策略 Q-學(xué)習(xí)
凍結(jié) 目標(biāo) Q-網(wǎng)絡(luò)
避免振蕩
將 Q-網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)之間的關(guān)聯(lián)打破
截?cái)嗒?jiǎng)勵(lì)或者正規(guī)化網(wǎng)絡(luò),適應(yīng)到合適的范圍內(nèi)
可以得到健壯的梯度
穩(wěn)定的深度強(qiáng)化學(xué)習(xí)(1):經(jīng)驗(yàn)回放
為了打破關(guān)聯(lián),我們從 agent 自己的經(jīng)驗(yàn)中構(gòu)建數(shù)據(jù)集
根據(jù) -貪婪策略采取行動(dòng)
將轉(zhuǎn)換 存放在記憶
中
從 中隨機(jī)采樣一個(gè)小批量樣本
優(yōu)化 Q-網(wǎng)絡(luò)和 Q-學(xué)習(xí)目標(biāo)之間的均方誤差 MSE,如
穩(wěn)定的深度強(qiáng)化學(xué)習(xí)(2):固定目標(biāo) Q-網(wǎng)絡(luò)
為了避免振蕩,固定在 Q-學(xué)習(xí)目標(biāo)網(wǎng)絡(luò)的參數(shù)
根據(jù)舊的,固定的參數(shù) 計(jì)算 Q-學(xué)習(xí)目標(biāo)函數(shù)
優(yōu)化 Q-網(wǎng)絡(luò)和 Q-學(xué)習(xí)目標(biāo)之間的均方誤差 MSE
周期化地更新固定參數(shù)
穩(wěn)定的深度強(qiáng)化學(xué)習(xí)(3):獎(jiǎng)勵(lì)/值范圍
DQN 截?cái)嗒?jiǎng)勵(lì)在 之間
讓 Q-值不會(huì)過(guò)大
確保梯度完好(well-conditioned)
不能夠區(qū)分獎(jiǎng)勵(lì)的大小
更好的方式:正規(guī)化網(wǎng)絡(luò)輸出
比如,通過(guò) batch 正規(guī)化
連續(xù)行動(dòng)上的策略梯度
使用一個(gè)權(quán)重為 的深度神經(jīng)網(wǎng)絡(luò)
來(lái)表示策略
定義目標(biāo)函數(shù)為總折扣獎(jiǎng)勵(lì)
使用 SGD 來(lái)端對(duì)端優(yōu)化目標(biāo)函數(shù)
即,調(diào)整策略參數(shù) 來(lái)達(dá)到更大的獎(jiǎng)勵(lì)
確定型策略梯度
策略的梯度由下式給出
策略梯度是最大化提升 的方向
確定型 Actor-Critic
使用兩個(gè)網(wǎng)絡(luò)
Actor 是參數(shù)為 的策略
Critic 是參數(shù)為 的值函數(shù)
Critic 為 Actor 提供損失函數(shù)
梯度從 Critic 到 Actor 反向傳播
確定型 Actor-Critic:學(xué)習(xí)規(guī)則
Critic 通過(guò) Q-學(xué)習(xí)估計(jì)當(dāng)前策略的值
Actor 按照提升 Q 的方向更新策略
確定型深度策略梯度(DDPG)
基本的 actor-critic 使用神經(jīng)網(wǎng)絡(luò)會(huì)振蕩或者發(fā)散
DDPG 給出了穩(wěn)定解
對(duì) actor 和 critic 均使用經(jīng)驗(yàn)回放
凍結(jié)目標(biāo)網(wǎng)絡(luò)來(lái)避免振蕩
用于連續(xù)行動(dòng)控制的 DDPG
從原始像素 端對(duì)端學(xué)習(xí)控制策略
輸入狀態(tài) 是前 4 幀的圖像的原始像素的棧
對(duì) 和
兩個(gè)不同的卷積網(wǎng)絡(luò)
在 MuJoCo 中進(jìn)行模擬
基于模型的強(qiáng)化學(xué)習(xí)
學(xué)習(xí)環(huán)境的轉(zhuǎn)移模型:
使用轉(zhuǎn)換模型來(lái)進(jìn)行規(guī)劃
使用轉(zhuǎn)移模型來(lái)查找最優(yōu)行動(dòng)
深度模型
使用深度神經(jīng)網(wǎng)絡(luò)來(lái)表示轉(zhuǎn)移模型
定義目標(biāo)函數(shù)來(lái)評(píng)價(jià)模型的好壞
如,重新創(chuàng)建下一狀態(tài)的比特?cái)?shù)(Gregor et al.)
通過(guò) SGD 來(lái)優(yōu)化目標(biāo)函數(shù)
基于模型的強(qiáng)化學(xué)習(xí)的挑戰(zhàn)
綜合誤差
轉(zhuǎn)換模型的誤差會(huì)整個(gè)軌跡上復(fù)合
長(zhǎng)軌跡的結(jié)尾,獎(jiǎng)勵(lì)就完全錯(cuò)了
基于模型的強(qiáng)化學(xué)習(xí)在 Atari 游戲上無(wú)效(到目前為止)
值/策略的深度神經(jīng)網(wǎng)絡(luò)可以隱式地“規(guī)劃”
網(wǎng)絡(luò)的每層執(zhí)行任意的計(jì)算步驟
n-層網(wǎng)絡(luò)可以向前看 n 步
轉(zhuǎn)換模型是否需要?
圍棋中的深度學(xué)習(xí)
Monte-Carlo 搜索
MCTS 模擬未來(lái)軌跡
構(gòu)建巨大的擁有百萬(wàn)位置的向前搜索樹(shù)
目前最佳 19X19 程序使用的是 MCTS
例如,第一個(gè)強(qiáng)大的圍棋程序 MoGo (Gelly et al.)
卷積網(wǎng)絡(luò)
12 層的卷積網(wǎng)絡(luò)可以訓(xùn)練來(lái)預(yù)測(cè)專家走法
簡(jiǎn)單的卷積網(wǎng)絡(luò)(只看一個(gè)位置,沒(méi)有搜索)
等價(jià)于有 位置的搜索樹(shù)的 MoGo (Maddison et al.)
結(jié)論
強(qiáng)化學(xué)習(xí)為人工智能提供了一個(gè)通用途徑的框架
強(qiáng)化學(xué)習(xí)問(wèn)題可以用端對(duì)端深度學(xué)習(xí)解決
單個(gè) agent 現(xiàn)在可以解決很多挑戰(zhàn)性問(wèn)題
強(qiáng)化學(xué)習(xí) + 深度學(xué)習(xí) = 人工智能
問(wèn)題?
“The only stupid question is the one you never asked.” - Richard Sutton