機器學習之卷積神經網路(一)

2021-09-25 23:33:55 字數 1989 閱讀 1212

計算機視覺(computer vision)

深度學習與計算機視覺可以幫助汽車,查明周圍的行人和汽車,並幫助汽車避開它們。還使得人臉識別技術變得更加效率和精準,我們可以體驗到通過刷臉就能解鎖手機或者門鎖的便捷。當你解鎖了手機,手機上一定有很多分享的應用。在上面,可以看到美食,酒店或美麗風景的。有些公司在這些應用上使用了深度學習技術來向大家展示最為生動美麗以及與我們最為相關的。機器學習甚至還催生了新的藝術型別。

首先,計算機視覺的高速發展標誌著新型應用產生的可能,這是幾年前,人們所不敢想象的。通過學習使用這些工具,可以創造出新的產品和應用。

其次,即使到頭來未能在計算機視覺上有所建樹,但人們對於計算機視覺的研究是如此富有想象力和創造力,由此衍生出新的神經網路結構與演算法,這實際上啟發人們去創造出計算機視覺與其他領域的交叉成果。

分類(識別)

比如給出這張64×64的,讓計算機去分辨出這是乙隻貓。

標檢測,比如在乙個無人駕駛專案中,你不一定非得識別出中的物體是車輛,但你需要計算出其他車輛的位置,以確保自己能夠避開它們。所以在目標檢測專案中,首先需要計算出圖中有哪些物體,比如汽車,還有中的其他東西,再將它們模擬成乙個個盒子,或用一些其他的技術識別出它們在中的位置。注意在這個例子中,在一張中同時有多個車輛,每輛車相對與你來說都有乙個確切的距離。

還有乙個更有趣的例子,就是神經網路實現的風格遷移,比如說你有一張,但你想將這張轉換為另外一種風格。所以風格遷移,就是你有一張滿意的和一張風格,實際上右邊這幅畫是畢卡索的畫作,而你可以利用神經網路將它們融合到一起,描繪出一張新的。它的整體輪廓來自於左邊,卻是右邊的風格,最後生成下面這張。這種神奇的演算法創造出了新的藝術風格,所以在這門課程中,你也能通過學習做到這樣的事情。

但在應用計算機視覺時要面臨乙個挑戰,就是資料的輸入可能會非常大。舉個例子,在過去的課程中,你們一般操作的都是64×64的小,實際上,它的資料量是64×64×3,因為每張都有3個顏色通道。如果計算一下的話,可得知資料量為12288,所以我們的特徵向量x

xx維度為12288。這其實還好,因為64×64真的是很小的一張。

如果你要操作更大的,比如一張1000×1000的,它足有1兆那麼大,但是特徵向量的維度達到了1000×1000×3,因為有3個rgb通道,所以數字將會是300萬。如果你在尺寸很小的螢幕上觀察,可能察覺不出上面的只有64×64那麼大,而下面一張是1000×1000的大圖。

如果你要輸入300萬的資料量,這就意味著,特徵向量x

xx的維度高達300萬。所以在第一隱藏層中,你也許會有1000個隱藏單元,而所有的權值組成了矩陣 w[1

]w^w[1]

。如果你使用了標準的全連線網路,就像我們在第一門和第二門的課程裡說的,這個矩陣的大小將會是1000×300萬。因為現在x

xx的維度為3m3m

3m,3 m3m

3m通常用來表示300萬。這意味著矩陣w[1

]w^w[1]

會有30億個引數,這是個非常巨大的數字。在引數如此大量的情況下,難以獲得足夠的資料來防止神經網路發生過擬合和競爭需求,要處理包含30億引數的神經網路,巨大的記憶體需求讓人不太能接受。

但對於計算機視覺應用來說,你肯定不想它只處理小,你希望它同時也要能處理大圖。為此,你需要進行卷積計算,它是卷積神經網路中非常重要的一塊。

內容推薦:[機器學習與網路安全](

機器學習筆記22 神經網路 卷積神經網路

參考資料 面向機器智慧型的tensorflow實踐 keras example mnist cnn.py keras中文文件 常用層卷積層 卷積理解就是之前影象處理裡用作檢測邊緣 檢測角點的運算元,例如 輸入 12 34 begin 1 2 3 4 end 13 24 核 2 begin 2 end...

深度學習之卷積神經網路

卷積神經網路是一種多層神經網路,擅長處理影象特別是大影象的相關機器學習問題。卷積網路通過一系列方法,成功將資料量龐大的影象識別問題不斷降維,最終使其能夠被訓練。cnn最早由yann lecun提出並應用在手寫字型識別上 minst lecun提出的網路稱為lenet,其網路結構如下 這是乙個最典型的...

深度學習之卷積神經網路

目錄 持續更新 概述 卷積神經網路中啟用函式relu 卷積網路 卷積網路架構 卷積層輸出計算 池化層的輸出計算 卷積神經網路的訓練 卷積層的訓練 pooling層的訓練 卷積神經網路 cnn 一種更適合影象 語音識別任務的神經網路結構 用cnn解決的問題都存在區域性與整體的關係。由低層次的特徵經過組...