《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 刷臉背后,卷積神經網絡的數學原理原來是這樣的

刷臉背后,卷積神經網絡的數學原理原來是這樣的

2019-04-21

計算機視覺技術在日常生活中有著非常普遍的應用:發朋友圈之前自動修圖、網上購物時刷臉支付……在這一系列成功的應用背后,卷積神經網絡功不可沒。本文將介紹卷積神經網絡背后的數學原理。

在自動駕駛、醫療以及零售這些領域,計算機視覺讓我們完成了一些直到最近都被認為是不可能的事情。今天,自動駕駛汽車和無人商店聽起來不再那么夢幻。事實上,我們每天都在使用計算機視覺技術——我們用自己的面孔解鎖手機,將圖片上傳到社交網絡之前進行自動修圖……卷積神經網絡可能是這一巨大成功背后的關鍵組成模塊。這次,我們將要使用卷積神經網絡的思想來拓寬我們對神經網絡工作原理的理解。打個預防針,本文包含相當復雜的數學方程,但是,你也不必為自己不喜歡線性代數和微積分而沮喪。我的目標并不是讓你記住這些公式,而是為你提供一些關于底層原理的直覺認知。


簡介

 

過去我們接觸到了密集連接的神經網絡。那些神經網絡中,所有的神經元被分成了若干組,形成了連續的層。每個這樣的單元都與相鄰層的每一個單獨的神經元相連接。下圖所示的是這樣一個架構。

微信圖片_20190421145954.jpg

圖 1:密集連接的神經網絡架構


當我們基于一個有限的固定特征集合解決分類問題的時候,這種方法是很奏效的——例如,我們根據足球運動員在比賽中記錄的統計數據來預測他的位置。但是,當處理照片的時候,問題變得更加復雜。當然,我們可以把每個像素的亮度視作一個單獨的特征,然后將它作為密集網絡的輸入傳遞進去。不幸的是,為了讓它能夠應付一張典型的智能手機照片,我們的網絡必須包含數千萬甚至上億的神經元。另一方面,雖然我們可以將照片縮小,但是我們也會在這個過程中損失有價值的信息。所以我們馬上就會發現,傳統的策略是沒有用的——我們需要一種新的聰明的方法,來盡可能多的利用數據,但同時還要減少必需的計算量和參數。這就是 CNN 發揮作用的時候了。


數字照片的數據結構


讓我們先花少許時間解釋一下數字圖像的存儲方式。大多數人可能意識到了,圖像實際上就是巨大的數字矩陣。每個數字代表的是一個單獨像素的亮度。在 RGB 模型中,彩色圖片是由 3 個這樣的矩陣組成的,每個矩陣對應著 3 個顏色通道(紅、綠、藍)中的一個。在黑白圖像中,我們僅使用一個矩陣。每個矩陣都存儲著 0 到 255 的數值。這個數值范圍是圖像存儲信息的效率(256 個數值剛好對應一個字節)和人眼敏感度之間的折中(我們僅能區分同種顏色的幾種有限色度)。

微信圖片_20190421150103.jpg

圖 2. 數字圖像的數據結構


卷積


核卷積并不僅僅用在卷積神經經網絡中,它也是很多其他計算機視覺算法的關鍵元素。這個過程是這樣的:我們有一個小的數字矩陣(稱作卷積核或濾波器),我們將它傳遞到我們的圖像上,然后基于濾波器的數值進行變換。后續的特征圖的值要通過下面的公式計算,其中輸入圖像被記作 f,我們的卷積核為 h。計算結果的行列索引分別記為 m 和 n。

微信圖片_20190421150227.png

微信圖片_20190421150215.gif


圖 3. 核卷積的例子


在將我們的濾波器放在選中的像素上之后,我們將卷積核中的每一個數值和圖像中對應的數值成對相乘。最后將乘積的結果相加,然后把結果放在輸出特征圖的正確位置上。我們在上邊的動畫中可以以一個微觀的形式看到這個運算的過程,但是更有趣的是我們在整幅圖像上執行這個運算得到的結果。圖 4 展示了用數個濾波器做卷積的結果。

微信圖片_20190421150345.gif

圖 4. 用卷積核尋找邊緣


Valid 和 Same 的卷積


如圖 3 所示,當我們在用 3x3 的卷積核在 6x6 的圖像上執行卷積時,我們得到了 4x4 的特征圖。這是因為在我們的圖像里面,只有 16 個獨特的位置來放置卷積核。由于我們的圖像的尺寸在每次卷積的時候都會收縮,在圖像完全消失之前,我們只能做有限次的卷積。此外,如果我們注意一下卷積核是如何在圖像上移動的,我們會發現,邊緣的像素會比中央的像素影響更小。這樣的話我們會損失圖片中包含的一些信息,你可以在下圖看到,像素的位置是如何改變它對特征圖的影響的。

微信圖片_20190421150424.gif

圖 5. 像素位置的影響


為了解決這兩個問題,我們可以使用一個額外的邊界來填充圖像。例如,如果我們使用 1 像素的填充,我們將圖像的尺寸增大到了 8x8,這樣,3x3 的濾波器的輸出將會成為 6x6。通常在實際中我們用 0 來做額外的填充。根據我們是否使用填充,我們會進行兩種類型的卷積——Valid 和 Same。命名相當令人費解,所以在這里解釋一下:valid 代表我們使用的是原始圖像,same 代表我們在圖像周圍使用了邊界,因此輸入和輸出的圖像大小相同。在第二種情況下,擴充的寬度應該滿足下面的方程,其中 p 是 padding(填充),f 是濾波器的維度(通常是奇數)。

微信圖片_20190421150549.png



跨步卷積

微信圖片_20190421150614.gif

圖 6. 跨步卷積的例子


在之前的例子中,我們總是將卷積核移動一個像素。但是,步長也可以看做是卷積層的一個參數。在圖 6 中,我們可以看到,如果我們使用更大的步長,卷積會成為什么樣子。在設計 CNN 結構時,如果我們想讓接受域有更少的重疊或者想讓特征圖有更小的空間維度,那么我們可以決定增大步長。考慮到擴充和跨步,輸出矩陣的維度可以使用下面的公式計算:


微信圖片_20190421150643.png


轉換到第三個維度


立體卷積是一個非常重要的概念,它不僅讓我們能夠處理彩色圖像,而且更重要的是,可以在一個單獨的層上使用多個濾波器。最重要的規則是,濾波器和你想在其上應用濾波器的圖像必須擁有相同的通道數。基本上,我們繼續使用和圖 3 類似的示例,盡管我們這次從第三個維度讓矩陣中的數值對相乘。如果我們想在同一張圖像上應用多個濾波器,我們會為每個濾波器獨立地計算卷積,然后將計算結果逐個堆疊,最后將他們組合成一個整體。得到的張量(3D 矩陣可以被稱作張量)滿足下面的方程,其中:n 是圖像的大小,f 是濾波器的大小,n_c 是圖像中的通道數,p 是所用的填充,s 是所用的步長,n_f 是濾波器的數量。

微信圖片_20190421150707.png

微信圖片_20190421150741.jpg

圖 7. 立體卷積


卷積層


使用我們今天所學內容構造一個卷積層的時間到了。我們的方法幾乎與用在密集連接神經網絡上的方法相同,唯一的差別就是不使用簡單的矩陣相乘,這一次我們將會使用卷積。前向傳播包含兩個步驟。第一步是計算中間結果 Z,它是由前一層的輸入數據與張量 W(包含濾波器)的卷積結果,加上偏置項 b 得到的。第二步是給我們的中間結果應用一個非線性的激活函數(我們的激活函數記作 g)。矩陣方程的愛好者將在下面找到合適的數學公式。在下面的插圖中,你可以看見一個小型的可視化,它描述了我們方程中用到的張量的維度。

微信圖片_20190421150818.png

微信圖片_20190421150936.jpg

圖 8. 張量維度



連接剪切和參數共享


在本文開始,由于需要學習的參數數量巨大,我提到密集連接神經網絡在處理圖像方面是很弱的。既然我們已經了解了關于卷積的所有內容,讓我們來考慮一下它是如何優化計算的吧。在下圖中,2D 卷積以一種稍微不同的方式進行了可視化——用數字 1-9 標記的神經元組成接收后續像素亮度的輸入層,A-D 這 4 個單元代表的是計算得到的特征圖元素。最后但同等重要的是,I-IV 是卷積核中的數值——它們必須被學習到。

微信圖片_20190421151008.gif

圖 9. 連接剪切和參數共享


現在,讓我們聚焦于卷積層的兩個重要屬性。第一,你可以看到,連續兩層中,并不是所有的神經元都是彼此相連的。例如,單元 1 僅僅會影響到 A 的值。第二,我們發現,一些神經元會共享相同的權重。這兩個屬性都意味著我們要學習的參數數量要少很多。順便說一下,值得注意的是,濾波器中的每個值都會影響到特征圖中的每個元素——這在反向傳播中是特別重要的。


卷積層反向傳播


任何一個曾經試圖從零編寫自己的神經網絡的人都知道,前向傳播遠遠不到成功的一半。真正有趣的是當你開始反向傳播的時候。現在,我們不必在反向傳播上花心思——深度學習框架都為我們做好了,但是我認為,了解背后發生的東西是很值得的。就像在密集連接神經網絡中一樣,我們的目標是在一個叫做梯度下降的過程中計算導數,然后使用它們來更新參數值。


在計算中我們會使用鏈式法則——這個我在之前的文章中提到過。我們想要評估參數的變化對結果特征圖的影響,然后評估它對最終結果的影響。在開始進入細節之前,讓我們來統一一下將會用到的數學符號——為了讓事情變得容易一些,我會放棄偏導數的完整符號,而會使用下面的簡寫符號。但是請記住,這個符號始終代表代價函數的偏導數。

微信圖片_20190421151045.png

微信圖片_20190421151106.jpg


圖 10. 一個卷積層在前向和反向傳播中的輸入和輸出數據


我們的任務是計算 dW^[l] 和 db^[l]——它們是與當前層的參數相關的導數,還要計算 dA^[ l -1],它們會被傳遞到之前的層。如圖 10 所示,我們以 dA^[ l ] 為輸入。當然,這些對應張量的維度都是相同的,dW 和 W,db 和 b,以及 dA 和 A。第一步就是通過在我們的輸入張量上應用我們的激活函數的導數,得到中間值 dZ^[l]。根據鏈式法則,這個運算的結果在后面會被用到。

微信圖片_20190421151138.png


現在,我們需要處理卷積神經網絡自身的反向傳播,為了達到這個目的,我們會使用一個叫做全卷積的矩陣運算——見下圖。請注意,我們在這里使用的卷積核會提前旋轉 180°。這個運算可以通過下面的公式描述,其中的濾波器記作 W,dZ[m,n] 是一個標量,它屬于從前一層得到的偏導數。

微信圖片_20190421151200.png

微信圖片_20190421151235.gif

圖 11. 全卷積


池化層



除了卷積層,CNN 通常會用到所謂的池化層。它們最早被用來減小張量的大小以及加速運算。這些層是比較簡單的——我們需要將我們的圖像分成不同的區域,然后在每一個部分上執行一些運算。例如,對 Max Pool 層而言,我們會選擇每個區域的最大值,并將它放到對應的輸出區域。與卷積層的情況一樣,我們有兩個可用的超參數——濾波器大小和步長。最后但同樣重要的一點是,如果你對一個多通道的圖像執行池化操作,那么每一個通道的池化應該單獨完成。

微信圖片_20190421151254.gif

圖 12. 最大池化(max pooling)的例子


池化層反向傳播



我們在這篇文章中只討論最大池化反向傳播,但是我們學到的規則是適用于所有類型的池化層的——只需要做微小的調整即可。因為在這種層中,我們沒有任何必須更新的參數,所以我們的任務就是合適地分配梯度。我們記得,在最大池化的前向傳播中,我們選擇的是每個區域的最大值,并將它傳遞到了下一層。所以在反向傳播中也是很清晰的,梯度不應該影響前向傳播中不包含的矩陣的元素。實際上,這是通過創建一個掩膜來完成的,這個掩膜記住了前一階段數值的位置,我們可以在后面轉移梯度的時候用到。

微信圖片_20190421151444.gif

圖 13. 最大池化反向傳播


原文鏈接:https://towardsdatascience.com/gentle-dive-into-math-behind-convolutional-neural-networks-79a07dd44cf9



本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲高清视频的网址| 一二三区精品福利视频| 欧美日韩精品在线观看| 久久综合一区二区| 久久精品国产77777蜜臀| 亚洲综合久久久久| 亚洲午夜精品在线| 一区二区三区日韩在线观看| 99热这里只有精品8| 亚洲精品久久嫩草网站秘色| 久久精品国产99国产精品| 欧美在线播放视频| 欧美一区二区私人影院日本| 小黄鸭精品aⅴ导航网站入口| 亚洲欧美日韩在线不卡| 午夜精品久久久久久久久久久久| 亚洲一区在线免费| 亚洲综合色在线| 午夜精品久久久久久久久| 欧美亚洲在线| 久久精品五月婷婷| 亚洲国产欧美在线人成| 亚洲人精品午夜| 日韩写真在线| 亚洲婷婷综合久久一本伊一区| 一区二区三区高清不卡| 亚洲午夜羞羞片| 欧美怡红院视频| 久久久久久午夜| 玖玖国产精品视频| 欧美激情女人20p| 欧美日韩在线视频一区| 国产精品普通话对白| 国产亚洲欧洲| 在线高清一区| 亚洲精品欧美日韩| 亚洲图片欧美一区| 亚洲综合色激情五月| 久久精品国产久精国产一老狼| 亚洲国产精品v| 亚洲最新视频在线| 香蕉乱码成人久久天堂爱免费| 欧美在线日韩精品| 裸体女人亚洲精品一区| 欧美日韩国产成人高清视频| 国产精品一级久久久| 狠狠色狠狠色综合日日小说| 亚洲国产一区二区视频| 一本久久青青| 性8sex亚洲区入口| 亚洲日本电影在线| 亚洲欧美日韩综合| 久久久综合网站| 欧美另类视频在线| 国产欧美一区二区精品婷婷| 在线日韩精品视频| 亚洲少妇最新在线视频| 久久精品官网| 亚洲视频网站在线观看| 久久精品91| 欧美日韩精品在线视频| 国产日韩在线看片| 亚洲国产你懂的| 亚洲一区bb| 亚洲日韩视频| 欧美亚洲免费高清在线观看| 欧美大尺度在线观看| 国产精品亚洲视频| 亚洲国产成人精品女人久久久| 国产精品99久久久久久人| 亚洲第一毛片| 亚洲欧美日韩爽爽影院| 欧美成人久久| 国产亚洲精品久久飘花| 亚洲精品乱码久久久久久蜜桃91| 午夜视频在线观看一区二区三区| 亚洲精品精选| 久久国产精品久久久久久电车| 欧美激情在线观看| 狠狠久久亚洲欧美| 亚洲午夜一级| 日韩西西人体444www| 久久久噜噜噜久久久| 国产精品多人| 91久久在线| 欧美一区=区| 亚洲欧美制服中文字幕| 欧美精品久久久久久久| 好看不卡的中文字幕| 亚洲欧美不卡| 中文精品视频一区二区在线观看| 理论片一区二区在线| 国产欧美日韩精品丝袜高跟鞋| 亚洲精品资源| 亚洲免费电影在线观看| 久久久久国产成人精品亚洲午夜| 国产精品www网站| 亚洲肉体裸体xxxx137| 亚洲国产影院| 久久久国产成人精品| 国产精品日韩在线播放| 一区二区三区久久网| 99re6这里只有精品| 免费一区二区三区| 极品尤物久久久av免费看| 亚洲欧美日韩国产综合在线| 亚洲欧美卡通另类91av | 久久青草久久| 国产免费观看久久黄| 亚洲天堂男人| 亚洲中无吗在线| 欧美日韩一区二区在线观看| 亚洲日本va午夜在线电影| 亚洲七七久久综合桃花剧情介绍| 久久精品网址| 国产日韩精品一区二区三区| 亚洲尤物在线| 欧美一区二区三区久久精品| 国产精品日日摸夜夜添夜夜av| 一区二区福利| 亚洲一区二区三区精品视频| 欧美日韩视频在线一区二区| 日韩午夜高潮| 亚洲一区3d动漫同人无遮挡| 国产精品夫妻自拍| 在线一区亚洲| 午夜一区不卡| 国产婷婷一区二区| 久久国产主播精品| 久热精品视频在线观看| 在线观看日韩专区| 亚洲区在线播放| 欧美国产成人精品| 亚洲高清不卡一区| 99热在线精品观看| 国产精品成人一区二区| 亚洲特级毛片| 久久国产精品一区二区| 国内自拍一区| 亚洲啪啪91| 欧美另类专区| 在线视频欧美日韩| 西瓜成人精品人成网站| 国产午夜精品理论片a级探花| 久久黄色网页| 欧美高清视频一区| 亚洲久久一区| 羞羞答答国产精品www一本| 国产日韩亚洲欧美综合| 亚洲国产欧美另类丝袜| 欧美日韩精品在线视频| 亚洲一级黄色片| 久久久综合视频| 亚洲欧洲综合| 亚洲欧美日韩综合aⅴ视频| 国产亚洲精品自拍| 亚洲国产99| 欧美日韩一区在线播放| 午夜精品一区二区在线观看| 免费一级欧美在线大片| 夜夜嗨av色一区二区不卡| 欧美在线免费观看视频| 亚洲大胆人体在线| 亚洲视频在线观看免费| 国产欧美一区二区三区沐欲 | 亚洲福利av| 欧美日韩和欧美的一区二区| 午夜精品网站| 欧美经典一区二区三区| 亚洲一区日韩在线| 久色婷婷小香蕉久久| 日韩亚洲视频在线| 久久精品视频在线观看| 最新日韩欧美| 久久av资源网| 亚洲人妖在线| 久久久国产精彩视频美女艺术照福利 | 欧美中在线观看| 欧美日韩国产bt| 午夜久久影院| 欧美久久视频| 欧美在线观看视频在线| 欧美日韩在线视频观看| 亚洲电影免费| 国产精品你懂的| 亚洲美女毛片| 国产一区日韩欧美| 亚洲一区二区成人在线观看| 激情综合网址| 欧美一级艳片视频免费观看| 亚洲精品视频啊美女在线直播| 久久精品亚洲一区| 中文欧美日韩| 欧美日本网站| 亚洲激情影院| 国产亚洲一区二区三区在线播放| 亚洲无线视频| 亚洲国产导航| 久久久久久国产精品mv| 亚洲一级一区|