什么是卷積神經網絡
以下解釋來源於ujjwalkarn的博客:
卷積神經網絡(ConvNets 或者 CNNs)屬於神經網絡的范疇,在圖像識別和分類領域具有高效的能力。卷積神經網絡可以成功識別人臉、物體和交通信號,從而為機器人和自動駕駛汽車提供視力。
在上圖中,卷積神經網絡可以識別場景,也可以提供相關的標簽,比如“橋梁”、“火車”和“網球”;而下圖展示了卷積神經網絡可以用來識別日常物體、人和動物。最近,卷積神經網絡也在一些自然語言處理任務(比如語句分類)。
因此,卷積神經網絡對於今天大多數的機器學習用戶來說都是一個重要的工具。
卷積操作
“卷積”這一詞在多個領域里都有定義(比如信號處理領域的傅里葉變換中也有卷積)。具體在圖像處理領域,卷積操作是指使用一個小的“模板窗口”對一個圖片中的所有與模板大小相同的區域進行“卷積運算”。“卷積運算”其實很簡單,就是將模板中的每一個數字與圖片中相同大小區域的對應數字(像素值)進行相乘,再求和。具體操作如下圖:
“模板窗口”每移動到一個位置,就和圖片中的對應元素進行一次卷積運算,注意我們一般把“模板窗口”稱為卷積核(kernel)。 比如在第一個位置,圖片上的四個像素值為[[0,0],[1,1]], 而卷積核中的數值為[[-1,1],[-1,1]], 對應元素相乘再求和,得到0-1+01+1-1+11=0
比如在第二個位置,圖片上的四個像素值為[[0,0],[1,0]], 對應元素相乘再求和,得到0-1+01+1-1+01=-1 對圖片中的所有可能位置進行卷積操作,就得到了最終的卷積結果。
使用卷積神經網絡識別交通標志
上文中我們提到過,卷積神經網絡可以成功識別人臉、物體和交通信號。
因此,介紹了卷積神經網絡的基本知識點之后,我要推薦一個“實驗樓”近期新出教程《使用卷積神經網絡識別交通標志》,這同時也是一個在線實驗,大家可以在線上寫代碼,完成這個實驗。
介紹
實驗采用德國交通標志數據集,使用 TensorFlow 實現的卷積神經網絡解決交通標志分類問題。
訓練前對原數據進行了數據擴充保證了訓練集數據類型的平衡,並對數據進行了預處理,來改善特征提取。
使用深度神經網絡分類器作為模型,采用擴充后的平衡數據集進行訓練,其准確率達到 98%以上,可以通過預訓練或者降低學習率對模型進行微調來進一步提高模型性能。
知識點
- 數據預處理
- 數據擴充
- 深度神經網絡分類器
- Tensorflow卷積網絡實現
課程說明
課程基於 Alex Staravoitau 的 開源項目 改編制作,原內容使用 Apache License 2.0 授權協議,實驗樓同時獲得了書面授權。我們對原英文題目內容進行了編譯,以適合中文理解。同時,課程修改了部分解題和單元測試代碼以適應實驗樓在線環境。
你將學到:
適合人群
有 TensorFlow 基礎的同學。
建議先修課程:
注:今天是“實驗樓”高級VIP會員打折最后一天,大家抓緊時間搶購噢,高級會員可免費學習價值9000元的全部編程課。