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