怎樣從零開(kāi)始訓(xùn)練一個(gè)AI車(chē)手?
說(shuō)起來(lái)你可能不信,訓(xùn)練AI司機(jī)跟馴貓是一個(gè)道理……
允中 發(fā)自 凹非寺
量子位 | 公眾號(hào) QbitAI
如何快速理解強(qiáng)化學(xué)習(xí)的概念?
馴只貓就行。
比如下面這位爺,巨皮。
整天就是跑酷、尿炕、抓沙發(fā),搞到人頭皮發(fā)麻、心態(tài)爆炸。
直到你忍不了了,決定對(duì)它進(jìn)行殘酷的貓德教育。方案是:
以后在家,每當(dāng)它表現(xiàn)出一次守貓德的行為,就獎(jiǎng)勵(lì)一根貓條;
而每當(dāng)它皮一次,你就立刻撲過(guò)去,咬它的頭……
這樣反復(fù)拉扯兩個(gè)月之后,你的貓?jiān)僖膊桓移ち恕?/p>
這個(gè)過(guò)程里發(fā)生的事情,就是“強(qiáng)化學(xué)習(xí)”:
一個(gè)智能體(你的貓)在與環(huán)境(有你的你家)互動(dòng)的過(guò)程中,在獎(jiǎng)勵(lì)(貓條)和懲罰(咬頭)機(jī)制的刺激下,逐漸學(xué)會(huì)了一套能夠最大化自身收益的行為模式(安靜,躺平)。
所以其實(shí),養(yǎng)貓跟搞人工智能,道理是一樣的。
強(qiáng)化學(xué)習(xí)最著名的代表當(dāng)然是AlphaGo:幾萬(wàn)盤(pán)棋,左右互搏,最后無(wú)師自通成了獨(dú)步天下的圍棋之神。
如果把AlphaGo看作上面例子里的貓,那在訓(xùn)練里,決定它能否獲得“貓條”的每盤(pán)棋最終的對(duì)弈結(jié)果——贏了就有好東西吃,輸了就要被吃(bushi)。
另外,DeepMind開(kāi)發(fā)出過(guò)一個(gè)能在57款雅達(dá)利游戲上都超越人類玩家的智能體,背后依靠的同樣是強(qiáng)化學(xué)習(xí)算法。
不過(guò)這里的獎(jiǎng)勵(lì)和懲罰機(jī)制就要根據(jù)不同的游戲來(lái)具體設(shè)計(jì)了。比如玩最簡(jiǎn)單的吃豆人,就可以對(duì)每次吃到豆子的行為進(jìn)行獎(jiǎng)勵(lì),對(duì)撞到幽靈gg的狀況給予懲罰。
而除了在游戲領(lǐng)域天空海闊之外,強(qiáng)化學(xué)習(xí),其實(shí)還能拿來(lái)搞自動(dòng)駕駛。
如何訓(xùn)練AI司機(jī)
為了更方便地說(shuō)明這件事怎么實(shí)現(xiàn),這里我們借用一個(gè)道具:來(lái)自亞馬遜云科技的Amazon DeepRacer。
一輛看上去很概念的小車(chē),跟真車(chē)的比例是1比18。車(chē)上安裝了處理器、攝像頭,甚至還可以配置激光雷達(dá),為的就是實(shí)現(xiàn)自動(dòng)駕駛——
當(dāng)然,前提就是我們先在車(chē)上部署訓(xùn)練好的強(qiáng)化學(xué)習(xí)算法。
算法的訓(xùn)練需要在虛擬環(huán)境中進(jìn)行,為此Amazon DeepRacer配套了一個(gè)管理控制臺(tái),里面包含一個(gè)3D賽車(chē)模擬器,能讓人更直觀地看到模型的訓(xùn)練效果。
有了這套東西,我們就能自己嘗試從零開(kāi)始訓(xùn)練一個(gè)AI司機(jī)。
具體怎么做呢?重點(diǎn)來(lái)了:
假設(shè)這是模擬器里的一條完全筆直的賽道,以及虛擬環(huán)境里的Amazon DeepRacer賽車(chē)。
我們的目標(biāo)是讓賽車(chē)以最短的時(shí)間沖刺到終點(diǎn)——那么對(duì)于這條賽道而言,最好的選擇就是讓車(chē)盡量沿著中線跑,避免因繞路或出界而導(dǎo)致增加時(shí)長(zhǎng)。
為此,我們可以把賽道切分成多個(gè)網(wǎng)格,然后給這些網(wǎng)格賦予不同的分?jǐn)?shù):
靠近中間的,給更高的分;在兩側(cè)的,稍微意思一下;超出賽道范圍的部分屬于無(wú)效區(qū)域,如果碰到,就要從頭再來(lái)。
開(kāi)跑之后,一開(kāi)始,賽車(chē)并不知道哪一條是最佳路線,只是在像無(wú)頭蒼蠅一樣四處亂撞,很多時(shí)候還會(huì)沖出賽道。
但后面,隨著試錯(cuò)的次數(shù)越來(lái)越多,在獎(jiǎng)勵(lì)函數(shù)的“指揮”下,賽車(chē)會(huì)逐漸探索出一條能夠獲得最高累積分?jǐn)?shù)的路線。
理想狀況下,一段時(shí)間的訓(xùn)練、迭代之后,算法就會(huì)學(xué)會(huì)“直線”最快這條真理。
而再把算法部署到車(chē)上,我們就能收獲一輛會(huì)跑直線的賽車(chē)。
當(dāng)然跑直線只是一種最簡(jiǎn)單的情形,實(shí)際的賽道一般都更加復(fù)雜,很多時(shí)候沿中心線跑也并不是最快的路線,為此我們就需要調(diào)整訓(xùn)練的策略和獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)。
實(shí)際操作中,具體函數(shù)的編寫(xiě)同樣通過(guò)Amazon DeepRacer的管理控制臺(tái)完成。
在寫(xiě)函數(shù)之前,我們可以在上面調(diào)整模型的超參數(shù),然后定義它的行動(dòng)空間,規(guī)定賽車(chē)行駛的速度和轉(zhuǎn)向時(shí)的角度,甚至……還能選擇賽車(chē)的皮膚,等等。
Amazon DeepRacer這一整套服務(wù),蠻像一套入門(mén)強(qiáng)化學(xué)習(xí)的可視化教學(xué)工具,新手跟著提示也能一步步做下來(lái),大家如果有興趣,不妨自己試試。
挑戰(zhàn)吉尼斯?
當(dāng)然,既然說(shuō)了是賽車(chē),自然要追求速度,越快越好。
而如果你想測(cè)試一下,自己“培養(yǎng)”出來(lái)的AI司機(jī)到底夠不夠快的話……
亞馬遜云科技官方還搞了比賽,讓把大家訓(xùn)練的AI司機(jī)全都拉出來(lái),比一比,看看誰(shuí)才是真正的秋名山車(chē)神。
這個(gè)聯(lián)賽是一個(gè)全球范圍內(nèi)的正經(jīng)比賽。18年開(kāi)始辦第一屆,辦到現(xiàn)在,總共有超過(guò)10萬(wàn)人參加。從線上模擬到線下實(shí)體比賽,都有。
比賽在全球的機(jī)器學(xué)習(xí)開(kāi)發(fā)者圈子里已頗有名氣。去年,還跟F1搞過(guò)聯(lián)名,喊來(lái)了當(dāng)時(shí)雷諾車(chē)隊(duì)的車(chē)手里卡多,跟大伙一塊開(kāi)車(chē)。
而中國(guó)區(qū)也為中國(guó)的開(kāi)發(fā)者建立了專門(mén)的Amazon DeepRacer聯(lián)賽。
今年中國(guó)區(qū)聯(lián)賽分為了兩個(gè)賽季,每個(gè)賽季的月賽根據(jù)賽道的難易程度和模型訓(xùn)練難度的不同,分成了大眾組和專業(yè)組。月賽組別排名靠前的選手,會(huì)有機(jī)會(huì)晉級(jí)到下一組別或參加線下比賽。
當(dāng)然,比賽都有獎(jiǎng)品。耳機(jī)、鍵盤(pán)、音箱……什么亂七八糟的都有;
而如果你一不小心拿了個(gè)賽季總冠軍的話,那恭喜你,你可以白嫖一張去拉斯維加斯的機(jī)票(還有酒店、大會(huì)門(mén)票)。
Amazon DeepRacer聯(lián)賽的報(bào)名是免費(fèi)的,也沒(méi)有職業(yè)要求。只不過(guò)如果你沒(méi)滿16周歲就來(lái)卷,就得需要監(jiān)護(hù)人允許了……
今年的比賽還在進(jìn)行中,現(xiàn)在在官網(wǎng)上注冊(cè)了賬號(hào),就會(huì)自動(dòng)獲得亞馬遜云服務(wù)上10個(gè)小時(shí)的訓(xùn)練時(shí)間,并且可以申請(qǐng)價(jià)值30美元的“點(diǎn)卡”。
與之同時(shí),亞馬遜云科技官方還在搞一個(gè)“挑戰(zhàn)吉尼斯世界紀(jì)錄”的活動(dòng),目標(biāo)是突破4387這個(gè)參賽人數(shù)數(shù)字,申請(qǐng)成為全世界“最大規(guī)模的機(jī)器學(xué)習(xí)競(jìng)賽”。
今年的每個(gè)參賽選手都會(huì)成為紀(jì)錄的一部分——甚至,每人都有機(jī)會(huì)得到一張吉尼斯世界紀(jì)錄的挑戰(zhàn)證書(shū)。
至于這次挑戰(zhàn)的最終結(jié)果,會(huì)在十月份公布。
到時(shí),今年的亞馬遜云科技線上中國(guó)峰會(huì)將在10月開(kāi)啟,會(huì)上除了公布Amazon DeepRacer吉尼斯挑戰(zhàn)結(jié)果,還會(huì)有云計(jì)算領(lǐng)域的眾多大咖做分享,以及相關(guān)的技術(shù)成果展示。
目前,線上峰會(huì)已經(jīng)開(kāi)啟報(bào)名,海報(bào)和鏈接在此:
報(bào)名鏈接(或點(diǎn)擊閱讀原文):
https://summit.awsevents.cn/2022/signin?source=gh/ZsR4xii4TX2Vs20QVMuBJ8myz/eb2C54wsCCG96M=&tab=1&type=2