Behavior Cloning
Github: https://github.com/bob800530/CarND-Behavioral-Cloning-P3
簡介
正式上路前,課程先讓我們藉由遊戲中的場景,實踐自動駕駛的技術,利用當前的影像,預測方向盤該旋轉的角度,畢竟遊戲中車子亂跑不會怎樣,現實中若是誤動作,那後果可不堪設想。
Project 4課程運用到的技術跟Project 3幾乎一樣,有 類神經網路、深度學習、卷積網路等機器學習演算法,不同的是,大多數的演算法都是由Keras呼叫,在使用上顯得容易許多。
資料的來源
特徵值的來源為行車鏡頭錄製的影像,標籤則是操作的行為
遊戲中的汽車配有三個鏡頭,行進間每個鏡頭都會不斷地收集影像
藉由收集的影像,與當時的操作行為,像是方向盤角度(Steering Angle)、油門(Throttle)、剎車(Break)、速度(Speed)
模型架構及訓練的策略
模型的依然是選用課程推薦的Lenet,對影像作多次的Convolution及Pooling擷取深度的特徵,最後利用類神經演算法進行訓練。
為了避免過度訓練,加入 30%的Dropout Rate,在做類神經演算法,每次只使用30%的特徵值,可避免單一特徵值的權重過高,主導整個模型的訓練結果
訓練結果及心得
當初剛做這個Project時,車子只會在原地打轉,隨著不斷的Debug,才能順利前進,但偶而還是會掉到河裡XD,直到後來使用了三個鏡頭的資料及運用反轉圖片的方法增加資料量後,才順利跑完全程!!
訓練模型的準確度為98.32%,驗證資料的準確度為97.88%