MIT 開了一門只有九小時的課,教你用深度學習構建自動駕駛

雷鋒網 於 21/01/2017 發表 收藏文章

MIT 緊跟時代步伐,開設的 6.S094 課程名為《為自動駕駛構建深度學習》的課程,旨在教學生們為自動駕駛搭建一個深度學習系統,授課者為 Lex Fridman。課程要求學生擁有基本的編程知識(最好是 Python)。

全課只有九節一小時的課程,於 1 月 9 日開課,今天就結課啦。而且!據雷鋒網從議程表上了解到,從開課一直到 1 月 16 日,官網表示會陸續放出 PPT 及視頻文件,雷鋒網會持續關注。

DeepTesla 與 DeepTraffic 就是 MIT 這門課程裏面的兩個重點培訓內容,

引用
  • 前者直接以端到端模型訓練一個自動駕駛的起動模型;
  • 後者以遊戲化的方式模擬汽車在高速公路上行駛,而我們的目標就是(沒有蛀牙)訓練一個神經網絡,利用強化學習控制紅車,並讓它的速度儘可能提升到最快(也就是超車啦!速度與激情)。

那麼首先我們得先補補課,為什麼要採用循環神經網絡呢?主要鑑於它能夠將輸出重新做為輸入再次進入神經網絡中進行訓練,也就是擁有所謂的「記憶」。

強化學習的一個典型例子就是 DeepMind 訓練機器玩 Atari,雖然機器並不知道遊戲規則,但每一次遊戲都能讓機器得到一次分數的反饋,而目標就是讓得分最大化。

美國人每年要浪費 80 億小時在堵車上,因此如果能採用自動駕駛系統,讓老司機們解放雙手,想必真真是極好的。

DeepTesla:特斯拉自動駕駛,我也行

DeepTesla 通過一個簡單的演示呈現卷積神經網絡的端到端轉向。頂端呈現的四個指標呈現的是前向傳遞及後向傳遞所需的時間,以及目前網絡已經訓練的示例,還有網絡的當前狀態(是處於訓練數據?還是在提取數據?)。


下方的圖表呈現的是損失函數,我們都知道,正常狀態下隨着時間的推移,損失函數的值應該會越來越小。


而在編輯器下方還有一個可視化圖層的功能,用户可以在網絡中看到每個圖層的處理情況。如果加載了特斯拉視頻,隨着視頻內容的增加,神經網絡的訓練效果也會變得更好。


下方兩個小的方向盤及旁邊的數值指的是實際值(藍色)與系統預測值(白色)的對比。是不是非常智能


以第一次加載 DeepTesla 為例:我們整個網絡大小為(200,66,3)的輸入層,表示寬度為200,高度66,涵蓋三個通道(紅綠藍)。緊接着有一個卷積層、一個合併層與一個輸出神經元。


ConvNetJS為我們提供了幾種訓練算法,具體能夠在這裏找到

DeepTraffic:讓小車跑得更快

整個 DeepTraffic 遊戲實際上是在網格上運行,但你也可以通過選擇不同的模式,讓網格呈現出來。


每輛車周圍的方格表示的是它自身的速度,而橙色區域指的是該車輛可能的行駛方位。

比如在安全系統中,車輛周圍會出現一個 H 型的區域,橙色表示相對安全,而紅色表示周圍已經有車在附近車道,此時紅色小車不能越到紅色區域。如果你提升了小車的速度,那麼這個區域也會隨之變化,畢竟如果有車擋在你的面前,為了保證安全,你一定會減緩速度(這與我們這個小遊戲的目標相反)。


編程頁面主要分為三塊,一是實時的道路模擬情況,還能調整自己車輛的行駛速度,以提升測試速度;二是編程頁面,在這裏可以修改神經網絡的具體代碼;第三部分會顯示目前神經網絡的狀態,還能將代碼保存、重置或下載。

代碼區的這幾個變量可以控制網絡的輸入大小,更多的輸入也就意味着更復雜的交通環境,也意味着需要更長的學習時間及更大的學習難度。


整個代理由一個名為「learn」的函數所控制,該函數能夠接受當前的狀態(以一個扁平陣列呈現),而所得到的反饋為行車速度,也就是以 mph 為單位的平均速度。


函數最基本的形式(告訴代理,讓車輛維持現狀,不需要變道或減速)大概長這樣:


而既然這是一個追求速度的「比賽」,那麼你需要通過神經網絡控制車輛,比如:


在初始代碼中,已經提供了上述內容。當然,你可以自行對數據進行預處理,並將這些狀態輸入網絡,但不需要在這上面花太多時間。

這個地方就是你施展「才華」的地方——這是一個隱藏層裏的一個神經元示例。

下圖呈現的是最終的迴歸層,它決定了最終的執行環節將會呈現怎樣的結果。


在 Q-Learning 裏還提供了一些其它選擇,可以在 Github 上找到


最後一步就是創建“大腦”。

如果點擊了 run training,那麼可以訓練神經網絡,並以 30 倍於實時的速度實現單線程運行,隨後訓練網絡的結果會以可視化的形式呈現在電腦上,學生們也可以做一些即時反饋和改進。

該網站上的評估鍵可以直接運行同樣的任務,也就相當於小測驗。通過每次 30 分鐘的 10 次運行,最後將計算出每次車輛的平均速度,並取中值做為結果。而且,本地測試的評估會受到其它車輛出現的情況的影響,所以本地的測試只能做為參考。

值得一提的是,Fridman 老師表示這些車都有着安全系統,所以不需要擔心車的反應速度不夠快,它們不會因為你突然操控加速減速而出車禍的。(老師入戲好深……)

Fridman 還在主頁上公佈了一個神經網絡訓練排名榜,目前有三位同學取得了很不錯的成績,甚至還有比老師訓練得好的,太厲害了。


老師説了,如果速度不能提上 60km/h,那你明天就不要來上課了(誤)。不過排行榜今天就截止統計啦,所以大家如果測試了比排行榜更高的分數,歡迎告訴雷鋒網(公眾號:雷鋒網)小編呀,我們會找你做硬創公開課的。

以上只是對 MIT 課程的簡單介紹,雷鋒網會做後續關注。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知



資料來源:雷鋒網
作者/編輯:奕欣

留言


請按此登錄後留言。未成為會員? 立即註冊
    快捷鍵:←
    快捷鍵:→