MIT 6.S094· 深度學習 L4 | 學霸的課程筆記,我們都替你整理好了

.. 雷鋒網按:雷鋒字幕組獲MIT課程團隊授權翻譯自動駕駛課程,視頻鏈接:http://www.mooc.ai/course/483/info

我們為你整理了每一個 Lecture 的課程筆記,提煉出每一講的要點精華,推薦結合課程筆記觀看視頻內容,學習效果更佳。

原標題 MIT 6.S094: Deep Learning for Self-Driving Cars 2018 Lecture 4 Notes: Deep Learning for Human Sensing

作者 |  Sanyam Bhutani             

翻譯 | 姚秀清、程倩、郭蘊哲、王禕、朱茵                           整理 | 凡江


這裡是 MIT 6.S094:自動駕駛汽車課程(2018)的第四課的筆記

所有的圖片均來源於自於課程的幻燈片。

計算機視覺:告訴計算機去理解世界


計算機視覺,到目前為止都是深度學習。並且大部分成功理解圖片含義的案例都是使用神經網絡。

  • 監督學習:人類提供已標記的數據。而神經網絡通過從原始感知數據到圖片分類的映射來完成圖片的解析和完整性檢測,這個過程應該在測試集上表現良好。

原始感知數據:對於機器,圖片是以數字形式存在。以通道 1 或通道 3 的數值數組組成的圖片作為神經網絡的輸入,而輸出則通過回歸或圖片分類來產生不同的類別。

我們必須謹慎的對待感知層容易和困難的假設。

人類視覺 Vs 計算機視覺

  1. 視覺皮層的結構是分層的。當信息從眼睛傳遞到大腦時,形成了越來越高階的表示。這是深度神經網絡在圖像背後的表現。越來越高的表示通過分層形成。早期的圖層採用原始像素來尋找邊緣。通過連接這些邊來進一步發現更多的抽象特徵。最後,找到更高階的語義含義。

  2. 深度學習對於計算機視覺來說比較難。

  • 照明變化是駕駛中最大的挑戰。

  • 姿態變化:神經網絡並不擅長於描述姿勢。2D 平面中對象的顏色和紋理在旋轉時是有很大差異的。


  • 類間變量:對於分類而言,不同種類之間存在許多不同的變量,且各變量之間的差別較小。

  • 遮擋:當一個物體的局部被其他物體遮擋時,我們需要通過人眼來識別被遮擋的物體。

  • 哲學上的歧義:圖像分類不等於理解。

  • 無監督學習

  • 強化學習。


圖像分類管道



任一種類間不同類別的圖像擁有各自的存儲路徑。路徑下存有不同類別的多個範例。任務:存儲一個新的圖像到其對應的存儲路徑下。

著名數據集:

  • MNIST

  • ImageNet

  • CIFAR-10

最簡潔的數據集之一,包含 10 個類別,通常用於卷積神經網絡。

簡單的例子:

  • 將兩張圖片上的像素強度矩陣進行相減,並對其每一像素的差值進行加和。若結果值較高,則兩張圖片的內容不同。

若採用這套方法,能得到 35% 的 L2 微分精度和 38% 的 L1 微分精度,比隨機的圖像識別方式高 10% 的精確度。


K 近鄰:

我們嘗試找到與 K 類別最為相似的圖像並將其存入 K 類別的存儲路徑下,來代替匹配整個數據庫的搜索方式。將 K 值設置在 1--5 之間,看不同 K 值對整個匹配和存儲過程的影響。

  • 當 K 等於 7 時,我們達到了 30% 的準確率。

人類級別的準確率是 95% 的準確率。

使用卷積神經網絡,我們達到了 97.75% 的準確率。

  • 每個輸入信號經過加權、偏置和強化

  • 然後將處理后的信號輸入進一個非線性激活函數

  • 將越來越多的層級進行組合,形成一種深層次的神經元網絡。

  • 神經元網絡的訓練方式是預先做出判斷,通過評估預先判斷與實際值之間的差距,然後降低其中導致差值因素的權重,增加其中得出正確結果因素的權重。

  • 10 種情況輸入將會得到 10 種不同的結果

  • 當所代表的類別得到信號時,神經元會產生興奮

  • 激活值最高的類別將產生輸出

卷積神經網絡


CNNs 的工作效率很高,如學習大量數據和大量對象的複雜任務。

「調參空間的不變性」:

圖片中左上角和右下角的物體相同,我們知道圖片中有相同的特徵。

卷積操作 :在這裡我們使用了 3 維卷積操作代替全連接層。所以在該卷積操作中,輸入和數據均為 3 維向量。

使用滑動窗口對圖片進行滑動,從而對圖像切片。對滑動窗口應用用同樣的權重來生成輸出。我們可以生成很多這樣的濾波器。

每個濾波器的參數是共享的(如果某一特徵在一個地方有用,則它在所有地方都有用),這使得參數縮減成為了一個很重要的工作。重複使用的特徵如下:

  • 深度:濾波器的數量。

  • 步長:使用濾波器時候移過的像素長度。

  • 填充:在圖像邊界進行卷積操作時進行填 0 處理。

一個例子:

  • 左邊的列:3 個輸入通道(RGB)。

  • 濾波器 W0:2 通道濾波器,每個濾波器的大小為 3x3。

  • 3x3 大小的濾波器參數是需要通過學習得到的。

  • 通過在圖片上滑動來獲得輸出內容。

  • 這些操作的目的是要輸出內容。


卷積操作

  • 輸入圖像。

  • 使用單獨的卷積濾波器生成卷積圖像。

  • 使用不同的其他濾波器生成邊緣。

  • 從而檢測到任意組合的圖案並且生成輸出數據。

  • 應該有和濾波器等量的輸出,來表示找到的圖案。

  • 任務:從分類任務中學習到有用的所需圖案。

  • 卷積濾波器隨着層數增加,擁有越來越高級的表示。

  • 從邊界圖案開始,最終可以表達圖像中擁有語意的內容。

  • 丈量圖像:池化。使用卷積操作的結果作為輸入,同夥壓縮信息來減少圖像的分辨率,比如說在 Max-Pooling 中使用最大值作為池化之後的值。

  • 注意:涉及到場景分割時,「空間分辨率的縮減」對結果具有不好的影響,但是該操作可以更好地在圖像中尋找高代表性的表現,從而有助於對圖像分類。

  • 卷積神經網絡由很多這樣的卷積層組成。

  • 全聯接層可以讓我們將上述操作應用於特定的區域。

ImageNet 跟蹤研究

  • 任務:對規模最大的圖像數據集分類,14M+ 圖像,21K+個類別,並含有子類

  • 提供了檢查類間、類內分類效果的好機會。

  • 網絡:

  • AlexNet 2012:里程碑式的進步

  • ZFNet 2013

  • VGGNet 2014

  • GoogLeNet 2014

初始模塊介紹

想法:不同大小的卷積濾波器為網絡提供了不同的值,進行不同的卷積和連接。

更小的卷積核: 高分辨率的紋理信息。

更大的卷積核:更加抽象的特徵信息。

結果:參數更少,表現更好。

  • ResNet 2015

設計靈感:通過增加網絡深度,提升模型的表現性。

「殘差塊」可以使設計者訓練深度更深的網絡。

殘差塊:

- 重現一個簡單的網絡塊,類似 RNNs。

- 在轉化之前傳遞輸入數據,並具有學習權重的能力。

- 每一層使用前一層的輸入,原始數據和未轉換的數據學習新的參數。

  • CUImage 2016

  • SENet 2017

擠激網絡:

- 通過在卷積單元的每個信道上添加一個參數的方式,網絡會基於其被傳入的特徵自主地對信道上的權重進行調整。

- 目的:讓網絡學習每個獨立信道上的權重。

- 注意:由於它會依據內容來選擇使用的過濾器,因此這種方法適用於任何架構。

  • ILSVRC 分類挑戰賽評估

前 5 大猜想。

人類的錯誤率是 5.1%

於 2015 年被打破。

  • 膠囊網絡:

- 設計靈感:考慮一下什麼樣的假設會被網絡所所製造出來,什麼樣的信息會被丟掉。

- 由於卷積神經網絡的空間限制,它會丟棄掉複雜物體和簡單物體之間的層級。

- 未來的挑戰:如何設計出旋轉工作的神經網絡。

  • 改變神經網絡的最後一層來實現這些網絡。

物體識別

注意:卷積神經網絡構造了一個基於卷積的像素級激活熱力圖。

場景理解

  • 目標:為現實世界的場景,將二維投射的每個像素進行分類。

  • 挑戰:在像素級別上進行邊界標記。

  • 使用案例:

- 物品邊界的精確提取對醫學上和駕駛上都意義重大。

- 在駕駛方面,將這些信息與傳感器中的信息進行整合,之後將語義知識與現實世界的三維坐標進行整合,以此來對周圍環境的邊界進行準確的標記。

  • FCN 2014:

- 對預訓練好的網絡 ImageNet,改變其目標。

- 使用解碼器代替全連接層,通過圖片升採樣的方式來構造熱力圖。

- 為了將升採樣的粒度細化提升,會跳過一些連接。

  • SegNet 2015:

- 已被應用到駕駛環境中。

  • 空洞卷積 2015:

- 使用卷積操作代替池化操作大大降低了分辨率。

- 當必須得持續捕捉空間窗口時,Gridding 維護了局部高解析度的紋理。

  • DeepLab v1,v2 2016:

    - 疊加條件隨機場 (CRFs): 將通過觀察底層圖像強度來平滑分割進行後置處理。

切分的關鍵

  • 全量卷積網絡

  • 條件隨機森林

  • 空洞卷積

ResNet-DUC 2017:

  • 在學習放大特徵上,採用密集上採樣卷積來代替雙線性插值。

  • 複合空洞卷積:

從輸入到輸出的過程中,卷積被依次展開。

  • 竅門:放大特徵的參數

神經光流網絡

在此討論的方法均忽略與機械人相關的時序動態。

  • 流能夠幫助輸入圖片中的像素

  • 光流會生成像素移動的方向和移動量級,由此我們可以拿到第一楨檢測到的信息並且將其向前傳播。

  • 對於「彩色書籍標註」任務來說,神經光流網絡的處理非常慢(1 張圖片需要 90 分鐘)。

  • FlowNetS-將兩張圖片融合,將結果作為輸入。

  • FlowNetC-分別卷積,與連接層進行結合

  • 挑戰:穿過時間的圖片分割。

FlowNet 2 2016:

結合了 FlowNetC 與 FlowNetS 的特性

  • 生成更平滑的流場。

  • 保留了更多動作細節。

  • 運行速度為 8–140 楨每秒。

  • 步驟:

- 將網絡模型融合為一個方法。

- 對數據集事件進行排序

分段融合

數據集:

  • 1080p 的原始駕駛視頻呈現在 8K 360 度的視頻中。


  • 每一幀的地面實況訓練集

  • SOTA 分段輸出

  • 光流

任務:

  • 使用最初的地面實況視頻分段,該分段來自 SOTA 網絡並且改善該分段。

  • 使用該網絡的輸出幫助更好地傳輸信息,我們能找到使用臨時信息的方法么?


博客原址 https://hackernoon.com/mit-6-s094-deep-learning-for-self-driving-cars-2018-lecture-4-notes-computer-vision-f591f14b3b99

添加雷鋒字幕組微信號(leiphonefansub)為好友

備註「我要加入」,To be an  AI  Volunteer ! 雷鋒網(公眾號:雷鋒網)雷鋒網

雷鋒網雷鋒網


想在手機閱讀更多Google資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems