1
本文作者: AI研習(xí)社-譯站 | 2018-06-06 11:19 |
雷鋒網(wǎng)按:雷鋒字幕組獲MIT課程團(tuán)隊(duì)授權(quán)翻譯自動(dòng)駕駛課程,視頻鏈接:http://www.mooc.ai/course/483/info
我們?yōu)槟阏砹嗣恳粋€(gè) Lecture 的課程筆記,提煉出每一講的要點(diǎn)精華,推薦結(jié)合課程筆記觀看視頻內(nèi)容,學(xué)習(xí)效果更佳。
原標(biāo)題 MIT 6.S094:Deep Learning for Self-Driving Cars 2018 Lecture 1 Notes
作者 | Sanyam Bhutani
翻譯 | 李瀚 劉徽 整理 | 凡江
*以下所有圖片均來(lái)截取自該課程幻燈片。
深度學(xué)習(xí):為多項(xiàng)人工智能技術(shù)服務(wù)的成套技術(shù),近年來(lái)伴隨著研究的不斷深入和GPU能力的不斷拓展,它也變得更加強(qiáng)大,SDC就是能夠利用這些技術(shù)的系統(tǒng)。
講師致力于研發(fā)能夠理解車內(nèi)和車外環(huán)境的汽車。
主要競(jìng)賽項(xiàng)目:
DeepTraffic:深度增強(qiáng)學(xué)習(xí)(Deep Reinfocement Learning)競(jìng)賽項(xiàng)目,相關(guān)的代碼可在瀏覽器上運(yùn)行。最新的2.0版本允許Multi-Agent培訓(xùn)。
SegFuse:Dynamic Driving Scene Segmentation競(jìng)賽項(xiàng)目。提供原始視頻,汽車根據(jù)實(shí)際動(dòng)力學(xué)原理進(jìn)行運(yùn)動(dòng)。培訓(xùn)集能夠?yàn)槲覀兲峁┞访鎸?shí)況標(biāo)簽、像素級(jí)別標(biāo)簽、場(chǎng)景分割和光流。目標(biāo):比現(xiàn)有的Image Based Segmentation技術(shù)水平更好地反應(yīng)真實(shí)路況。所需:機(jī)器人需要解釋、理解和追蹤場(chǎng)景中的諸多細(xì)節(jié)。
Deep Crash:目標(biāo):使用Deep RL來(lái)規(guī)避High Speed Crash Avoidance(高速防撞系統(tǒng))。培訓(xùn):運(yùn)行1000次, 使用單目視頻作為輸入源,培訓(xùn)一輛汽車模型在30mph以上速度行駛。
DeepTesla: 使用大規(guī)模網(wǎng)來(lái)培訓(xùn)端到端駕駛操作,使用單目視頻作為輸入源進(jìn)行培訓(xùn)汽車。
為什么要自動(dòng)駕駛?
目標(biāo):為自動(dòng)駕駛汽車部署以數(shù)據(jù)驅(qū)動(dòng)的學(xué)習(xí)方式。
這是多個(gè)個(gè)人機(jī)器人的最復(fù)雜最龐大整合。
普遍意義: 路上有大量汽車在行駛。
深度意義: 人類和汽車之間建立更緊密的聯(lián)系。彼此的信任將人類將自己的性命交付給機(jī)器人,將"控制權(quán)"交給汽車。如果深入剖析,確保生命安全是系統(tǒng)運(yùn)行的天然屬性,而且在未來(lái)真的需要測(cè)試系統(tǒng)的極限。
自動(dòng)駕駛汽車: 與其說(shuō)是感知控制終端(Perception-Control)更不如說(shuō)是個(gè)人機(jī)器人(Personal Robot)。面對(duì)各種路況,這些系統(tǒng)還需要通過(guò)交接控制權(quán)來(lái)獲得人類的幫助。而真正意義上,能夠像人類一樣具備動(dòng)態(tài)天然屬性的感知系統(tǒng),至少還要發(fā)展數(shù)十年時(shí)間。
認(rèn)知負(fù)載: 完整連接的卷積神經(jīng)網(wǎng)絡(luò)(CNN)在處理RAW 3D輸入源,分析駕駛員的認(rèn)知負(fù)載,身體姿勢(shì)和疲勞程度。
實(shí)參: 要實(shí)現(xiàn)完全自動(dòng)駕駛,智力需要在某些領(lǐng)域接近人類。
以人類為中心的人工智能方法
建議:在每個(gè)算法設(shè)計(jì)過(guò)程中將人的因素考慮進(jìn)來(lái)。
感知控制可以處理90%以上的情況
人類控制:在10%的場(chǎng)景中占據(jù)主導(dǎo)地位
為何要深度學(xué)習(xí)?
深度學(xué)習(xí)平臺(tái)能夠非常出色地處理大數(shù)據(jù)。屆時(shí)人類的性命直接交付到這些設(shè)備上,因此這項(xiàng)技術(shù)必然需要通過(guò)現(xiàn)實(shí)生活的數(shù)據(jù)進(jìn)行學(xué)習(xí)。
感知/控制端
基于人類的交互和協(xié)作
什么是深度學(xué)習(xí)?
人工智能:能夠?qū)崿F(xiàn)多個(gè)復(fù)雜目標(biāo)
理解/推理:能夠?qū)?fù)雜信息轉(zhuǎn)換成簡(jiǎn)單和實(shí)用的信息。
深度學(xué)習(xí)(表示學(xué)習(xí)或者特征學(xué)習(xí))能夠在沒(méi)有任何解釋的情況下提取源信息,并且構(gòu)建分層表示允許生成各種洞察報(bào)告。
表征學(xué)習(xí)
表征學(xué)習(xí)是非常重要的。例如: Earth Centered Vs Sun Centred。
笛卡爾坐標(biāo)系VS極坐標(biāo)系來(lái)區(qū)分圓形和三角形。
例如: 使用1層隱藏神經(jīng)網(wǎng)絡(luò)來(lái)區(qū)分藍(lán)色和紅色曲線。要實(shí)現(xiàn)這項(xiàng)學(xué)習(xí)(使用源輸入來(lái)生成輸出)效果就是通過(guò)深度學(xué)習(xí)來(lái)完成的。
深度學(xué)習(xí)能夠改善更多的數(shù)據(jù)。
邊緣情境的歸納是深度學(xué)習(xí)目前的主要挑戰(zhàn)。
神經(jīng)網(wǎng)絡(luò)
受到人類生物神經(jīng)的松散網(wǎng)絡(luò)的啟發(fā)而來(lái)。
人類神經(jīng)網(wǎng)絡(luò): 1000億個(gè)神經(jīng)元, 1000 萬(wàn)億個(gè)突觸
目前最頂尖技術(shù)ResNet-52:6000萬(wàn)個(gè)突觸
兩者相差7個(gè)數(shù)量級(jí)
區(qū)別:
人類神經(jīng)網(wǎng)絡(luò)不需要堆棧,而人工神經(jīng)網(wǎng)絡(luò)需要;
人類神經(jīng)網(wǎng)絡(luò)沒(méi)有順序之分,而人工神經(jīng)網(wǎng)絡(luò)存在;
同步學(xué)習(xí)和異步學(xué)習(xí);
未知學(xué)習(xí)和Backprop算法;
處理較慢 Vs 處理較快;
低功耗VS低效率;
相似性:兩者都是大規(guī)模的分布式計(jì)算。
基礎(chǔ)神經(jīng)元是非常簡(jiǎn)單的,但是相互連接的多個(gè)單元能夠應(yīng)用在非常復(fù)雜的案例中。
神經(jīng)元
神經(jīng)元包含了一組具有權(quán)重鄰域的輸入源。
權(quán)重是相乘得來(lái)的。
再添加偏置( bias)。
非線性函數(shù)來(lái)確認(rèn)神經(jīng)網(wǎng)絡(luò)是否被激活。
神經(jīng)網(wǎng)絡(luò)的組合:
前向神經(jīng)網(wǎng)絡(luò)(Feed-forward NN): 已經(jīng)成功應(yīng)用于計(jì)算機(jī)圖形中。
遞歸神經(jīng)網(wǎng)絡(luò)(recursive NN): 能夠自我回溯,且具備記憶。目前已經(jīng)成功應(yīng)用于關(guān)于數(shù)據(jù)的Time Series,這非常接近于人類(因此很難進(jìn)行培訓(xùn))。
普遍性:多元神經(jīng)網(wǎng)絡(luò)可以在給定足夠優(yōu)秀算法的前提下只通過(guò)1個(gè)隱層來(lái)逼近任意函數(shù)。
提供了非常好的算法。
缺陷: 這并不是神經(jīng)網(wǎng)絡(luò)的功勞,而是算法的功勞。
深度學(xué)習(xí)的種類
監(jiān)督學(xué)習(xí):全部使用人工標(biāo)注的數(shù)據(jù);
擴(kuò)展監(jiān)督學(xué)習(xí):所需人工標(biāo)注數(shù)據(jù)和未標(biāo)注數(shù)據(jù)持平;
半監(jiān)督學(xué)習(xí):少量人工標(biāo)注數(shù)據(jù)以及大量未標(biāo)注數(shù)據(jù);
強(qiáng)化學(xué)習(xí):極少量人工標(biāo)注數(shù)據(jù)以及大量未標(biāo)注數(shù)據(jù);
無(wú)監(jiān)督學(xué)習(xí):全部使用未標(biāo)注數(shù)據(jù);
現(xiàn)階段經(jīng)常使用的是1和2。
未來(lái)趨向的和更好的是3、4和5。
深度學(xué)習(xí)影響的領(lǐng)域:
定義和解決一個(gè)具體的問(wèn)題。比如:預(yù)估波士頓的房?jī)r(jià)。
通用目的的人工智能(或者幾乎全部):使用強(qiáng)化學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)。
有監(jiān)督的學(xué)習(xí)
訓(xùn)練階段:1. 輸入數(shù)據(jù)集; 2. 貼標(biāo)簽; 3. 在訓(xùn)練數(shù)據(jù)集上訓(xùn)練。
測(cè)試階段:1. 使用新的數(shù)據(jù)集測(cè)試; 2. 輸入學(xué)習(xí)模型; 3. 結(jié)果輸出。
學(xué)習(xí)
前向運(yùn)算:輸入數(shù)據(jù)集被輸入進(jìn)神經(jīng)網(wǎng)絡(luò)中,并且形成預(yù)測(cè)結(jié)果。
反向傳播:測(cè)量預(yù)測(cè)結(jié)果和期望輸出結(jié)果的偏差,并且計(jì)算結(jié)果誤差。調(diào)參(超參數(shù))以根據(jù)誤差量級(jí)調(diào)整數(shù)值。
我們可以用深度學(xué)習(xí)做什么?
一對(duì)一映射。
一對(duì)多映射。
多對(duì)多映射。
異步多對(duì)多映射。
術(shù)語(yǔ)解釋:
DL=NN (深度學(xué)習(xí)=神經(jīng)網(wǎng)絡(luò))。
DL是ML(機(jī)器學(xué)習(xí))的一個(gè)子集。
MLP:多層神經(jīng)網(wǎng)絡(luò)。
DNN:深度神經(jīng)網(wǎng)絡(luò)。
RNN:循環(huán)神經(jīng)網(wǎng)絡(luò)。
LSTM:長(zhǎng)短期記憶網(wǎng)絡(luò)。
CNN:卷積神經(jīng)網(wǎng)絡(luò)。
DBN:深度置信網(wǎng)絡(luò)。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu):
卷積層
池化層
激勵(lì)層
反向傳播
激活函數(shù)
Sigmoid.函數(shù):存在梯度消失,不以原點(diǎn)為中心。
Tanh.函數(shù): 存在梯度消失。
ReLu.函數(shù): 不以原點(diǎn)為中心。
梯度消失:輸出或者梯度值很小并且學(xué)習(xí)速率很慢。
反向傳播
關(guān)于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程,其主要目的:為了更新權(quán)重和偏差值來(lái)降低損失函數(shù)。
基本任務(wù):
通過(guò)前向傳播,計(jì)算網(wǎng)絡(luò)的輸出值和殘差。
反向傳播計(jì)算梯度。
把一部分權(quán)重的梯度從權(quán)重中去除。
由于這個(gè)過(guò)程是模塊化的,所以它是并行運(yùn)行的。
訓(xùn)練
訓(xùn)練是一個(gè)最優(yōu)化的過(guò)程。
目標(biāo)是通過(guò)更新權(quán)重和殘差使損失函數(shù)最小化。
需要使用技巧的地方:最小單元的梯度下降和隨機(jī)梯度下降。
訓(xùn)練中存在的挑戰(zhàn)
損失函數(shù)是高度非線性的。
梯度消失。
ReLU存在死亡節(jié)點(diǎn):當(dāng)輸入為0的時(shí)候輸出也會(huì)為0。
存在鞍點(diǎn)。
過(guò)擬合:神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練數(shù)據(jù)但是和實(shí)際輸入數(shù)據(jù)擬合失敗。出現(xiàn)的原因是訓(xùn)練殘差較低但是測(cè)試殘差較高。
正則化
有一些通用性的技巧。
設(shè)置驗(yàn)證集:訓(xùn)練數(shù)據(jù)集的子集。
提前結(jié)束訓(xùn)練:為了保存檢查節(jié)點(diǎn)并且評(píng)估神經(jīng)網(wǎng)絡(luò)在測(cè)試集上的運(yùn)行狀況。
Dropout:隨機(jī)丟棄其中一些節(jié)點(diǎn)(和輸入和輸出的節(jié)點(diǎn)一起)
用保持節(jié)點(diǎn)(p)的概率表示。
輸入的節(jié)點(diǎn)p需要更高。
目的:幫助網(wǎng)絡(luò)更好地歸納。
正則化范數(shù)約束項(xiàng)
L2 約束項(xiàng):權(quán)重平方約束項(xiàng):
在偏差沒(méi)有增加的情況下,一直保持較小的權(quán)重值。
避免樣本的擬合錯(cuò)誤。
更平滑的模型。
對(duì)于兩個(gè)類似的輸入,權(quán)重需要進(jìn)行分配。
L1 約束項(xiàng):權(quán)重絕對(duì)值的約束項(xiàng):
允許保持較大權(quán)重。
神經(jīng)網(wǎng)絡(luò)游樂(lè)場(chǎng):運(yùn)用技巧和試驗(yàn)來(lái)實(shí)踐。
深度學(xué)習(xí)引起的突破
改變了什么?
計(jì)算能力的提升。
可實(shí)現(xiàn)大型有規(guī)律的數(shù)據(jù)集。
對(duì)于GPU的利用領(lǐng)域的算法和研究。
軟件和基礎(chǔ)設(shè)施。
經(jīng)濟(jì)支持。
深度學(xué)習(xí)是困難的
人體的復(fù)雜性:
人的視覺(jué):形成了5,4000,0000年的歷史數(shù)據(jù)。
直立行走: 2,3000,0000年的歷史數(shù)據(jù)。
抽象思考:10,0000年的歷史數(shù)據(jù)。
神經(jīng)網(wǎng)絡(luò):
會(huì)增強(qiáng)對(duì)于像素級(jí)樣本的失真,導(dǎo)致預(yù)測(cè)不準(zhǔn)確。
圖像本身的問(wèn)題:光照、姿態(tài)、遮擋和內(nèi)部類別的不同等情況。
物體識(shí)別或分類
目標(biāo):輸入一幅圖像并預(yù)測(cè)輸出。
ImageNet: 1400萬(wàn)種以上的輸入和2。18萬(wàn)種以上的輸出。
ILSVRC比賽:
AlexNet(2012):在準(zhǔn)確性上有了顯著的提高。
Resnet(2015):在識(shí)別的準(zhǔn)確率上擊敗了人類。
巧妙的例子:深度學(xué)習(xí)和"人類普適性的能力"還有差距許多相同的架構(gòu)的應(yīng)用:我們可以根據(jù)需求種類的數(shù)量改變輸出層。
圖像分類。
圖像捕捉。
物體定位。
圖像分割。
FCNN
每個(gè)像素點(diǎn)都被分為一類,然后它輸入一幅圖像,產(chǎn)生另外一幅圖像作為輸出。
目標(biāo):圖像和圖像間的對(duì)應(yīng)。
使用場(chǎng)景:
像素級(jí)的全場(chǎng)景分割。
染色法對(duì)應(yīng)。
物體識(shí)別。
消除背景。
Pix2PixHD:從語(yǔ)義標(biāo)簽中產(chǎn)生高分辨率的寫實(shí)照片。
RNN:用于系列的數(shù)據(jù)集。
使用場(chǎng)景:
手寫體識(shí)別。
圖像捕捉。
視頻描述。
轉(zhuǎn)移的注意力模型。
用可選擇的注意力模型。
主要的突破點(diǎn)
Pong to Pong (2012):更接近通用人工智能。
AlphaGo (2016):可以從人類的專家級(jí)別游戲中學(xué)習(xí)AlphaGo Zero (2017):打敗了AlphaGo和Co,它不需要任何外部數(shù)據(jù)輸入(它通過(guò)和自身對(duì)抗訓(xùn)練進(jìn)行學(xué)習(xí))。
DeepStack (2017):第一次擊敗了專業(yè)的撲克選手(在Heads up Poker中)。
現(xiàn)階段的缺點(diǎn)
很難確定適合的激勵(lì)函數(shù)(以Coast Runner為例), 結(jié)果可能是出乎意料的。
缺乏魯棒性: 在像素中增加噪聲會(huì)導(dǎo)致錯(cuò)誤的預(yù)測(cè)結(jié)果。
現(xiàn)階段的挑戰(zhàn):
遷移學(xué)習(xí):運(yùn)行的表現(xiàn)和工作范圍相關(guān)。挑戰(zhàn):跨領(lǐng)域的遷移學(xué)習(xí)困難。原因:對(duì)于推理過(guò)程的理解或者提取理解的能力。
需要大量的數(shù)據(jù)。
需要經(jīng)過(guò)標(biāo)注的數(shù)據(jù)。
不是完全自動(dòng)的:需要調(diào)節(jié)超參數(shù)。
激勵(lì)函數(shù):很難確定一個(gè)合適的激勵(lì)函數(shù)。
透明程度: 神經(jīng)網(wǎng)絡(luò)的性質(zhì)接近黑盒子 (在我們可視化了隱藏的過(guò)程之后仍然是這樣)。
邊緣處理的情況:深度學(xué)習(xí)不擅長(zhǎng)處理邊緣數(shù)據(jù)的情況(特別是當(dāng)它用于自動(dòng)駕駛)。
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。