0
本文作者: AI研習(xí)社-譯站 | 2018-04-24 16:38 |
雷鋒網(wǎng)按:喜歡機器學(xué)習(xí)和人工智能,卻發(fā)現(xiàn)埋頭苦練枯燥乏味還殺時間?油管頻道 Arxiv Insights 每周精選,從技術(shù)視角出發(fā),帶你輕松深度學(xué)習(xí)。
翻譯 | 鄭前 字幕 | 凡江 整理 | 吳璇
本期 Arxiv Insights 將重點介紹機器學(xué)習(xí)中的子領(lǐng)域“強化學(xué)習(xí)”,也是機器人最具智能前景的方向之一。
? 強化學(xué)習(xí)解讀視頻
有監(jiān)督學(xué)習(xí) VS 強化學(xué)習(xí)
在常見的機器學(xué)習(xí)應(yīng)用中,人們會運用有監(jiān)督學(xué)習(xí),也就是給神經(jīng)網(wǎng)絡(luò)模型一個輸入,但模型輸出結(jié)果已成定局。因此你可以利用反向傳播算法計算梯度,以訓(xùn)練此網(wǎng)絡(luò)產(chǎn)生結(jié)果。
在監(jiān)督學(xué)習(xí)的情況下,如果要訓(xùn)練一個會玩吃雞的神經(jīng)網(wǎng)絡(luò),你需要找一個吃雞高手玩好幾個小時,然后獲得一個數(shù)據(jù)集,包括了所有的幀。比如玩家看到的屏幕,以及他在游戲中的鍵盤操作(如,向上或向下)。隨后將這些數(shù)據(jù)輸入到一個非常簡單的神經(jīng)網(wǎng)絡(luò)中,便可以輸出向上或向下的行為。利用反向傳播這類算法對人類玩家數(shù)據(jù)集進行訓(xùn)練,可以訓(xùn)練出模擬人類玩家操作的神經(jīng)網(wǎng)絡(luò)。
但這種方法有兩種明顯的缺陷。第一,如果你想進行監(jiān)督學(xué)習(xí),就必須有一個數(shù)據(jù)集來訓(xùn)練,但訓(xùn)練數(shù)據(jù)集本身就不容易了。另一方面,如果你訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,僅僅是模仿人類玩家的操作,那么這個模型在玩游戲時,成績肯定不會比人類選手高。
強化學(xué)習(xí)讓智能體更聰明
想訓(xùn)練一個AlphaGo Zero,能夠擊敗世界頂級選手?從理論上,不能運用監(jiān)督學(xué)習(xí)。那么,有什么方法可以讓智能體主動來玩游戲?這時候強化學(xué)習(xí)就有用了。
實際上,強化學(xué)習(xí)的框架與監(jiān)督學(xué)習(xí)框架非常相似,仍舊有輸入幀,并通過神經(jīng)網(wǎng)絡(luò)模型運行模型,輸出各種人類操作。唯一的區(qū)別是,我們不知道目標標簽是什么,不知道在什么情況下,要進行向上或向下的鍵盤操作,因為這里沒有數(shù)據(jù)集去訓(xùn)練。
在強化學(xué)習(xí)中,將輸入幀轉(zhuǎn)換為輸出動作的網(wǎng)絡(luò),被稱為策略網(wǎng)絡(luò)。一個最簡單的訓(xùn)練策略網(wǎng)絡(luò)的方法,被稱為策略梯度。策略梯度中的方法是,從一個完全隨機的網(wǎng)絡(luò)開始,并向其提供游戲產(chǎn)生的一個幀,它隨機產(chǎn)生操作,然后再將該動作輸入到游戲中,游戲繼續(xù)產(chǎn)生下一幀,如此循環(huán)下去。
用強化學(xué)習(xí)教智能體玩游戲
這個例子中的網(wǎng)絡(luò),可以是一個全連接網(wǎng)絡(luò),但可以在這里運用卷積,現(xiàn)在你的網(wǎng)絡(luò)會輸出兩個數(shù)字向上和向下的概率。當你訓(xùn)練時,其實是在分布中抽樣,你不需要總是重復(fù)特定的操作,智能體可以一定程度上隨機地探索環(huán)境,并幸運地發(fā)現(xiàn)更高的回報和更好的行為。
現(xiàn)在我們想讓智能體自主學(xué)習(xí)唯一的反饋是,我們在游戲中給它一個記分牌,當智能體擊中目標時,它會獲得+1的回報,如果未擊中目標,它會收到-1的懲罰。智能體的目標就是優(yōu)化策略,以盡可能多的獲取回報。因此為了訓(xùn)練策略網(wǎng)絡(luò),我們首先要收集大量記錄,然后將游戲的幀輸入到網(wǎng)絡(luò)中,再隨機選取動作,重新反饋到游戲中,就產(chǎn)生了很多隨機的游戲操作。
由于智能體沒有經(jīng)過訓(xùn)練學(xué)習(xí),它在大多數(shù)時候都會失敗,但是有時候智能體隨機選取了一系列行為,并擊中了目標,智能體將會獲得獎勵。重點是對于每一局游戲,無論想要正獎勵還是負獎勵,我們都可以計算梯度,它使智能機在后續(xù)更多的選擇某些動作。
策略梯度要做的就是對于得到正回報的局,我們使用正的梯度,以增加該類操作未來發(fā)生的可能性,但當我們得到了負的回報,就會使用相同數(shù)值的負梯度,負號會使失敗局采取的所有操作在未來發(fā)生的可能性下降。結(jié)果就是,在訓(xùn)練策略網(wǎng)絡(luò)時導(dǎo)致負回報的行為,在未來會逐漸過濾掉,而導(dǎo)致正回報的行為會越來越多的出現(xiàn)。從某種意義上說,這就是智能體正在學(xué)習(xí)如何玩游戲的過程。
相關(guān)資料推薦:
- "Pong from Pixels - Karpathy": http://karpathy.github.io/2016/05/31/rl/
- Concept networks for grasp & stack (Paper with heavy reward shaping): https://arxiv.org/abs/1709.06977 雷鋒網(wǎng)雷鋒網(wǎng)
雷鋒字幕組正在招募中,掃描下方二維碼,備注“雷鋒字幕組+姓名”加入我們。雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。