91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

對于計算機視覺技術 卷積神經(jīng)網(wǎng)絡功不可沒

電子工程師 ? 來源:fqj ? 2019-04-24 10:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

簡介

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

圖 1:密集連接的神經(jīng)網(wǎng)絡架構

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

數(shù)字照片的數(shù)據(jù)結構

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

圖 2. 數(shù)字圖像的數(shù)據(jù)結構

卷積

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

圖 3. 核卷積的例子

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

圖 4. 用卷積核尋找邊緣

Valid 和 Same 的卷積

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

圖 5. 像素位置的影響

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

跨步卷積

圖 6. 跨步卷積的例子

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

轉(zhuǎn)換到第三個維度

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

圖 7. 立體卷積

卷積層

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

圖 8. 張量維度

連接剪切和參數(shù)共享

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

圖 9. 連接剪切和參數(shù)共享

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

卷積層反向傳播

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

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

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

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

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

對于計算機視覺技術,卷積神經(jīng)網(wǎng)絡功不可沒

圖 11. 全卷積

池化層

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

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

池化層反向傳播

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

圖 13. 最大池化反向傳播

作者:Piotr Skalski

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:刷臉背后,卷積神經(jīng)網(wǎng)絡的數(shù)學原理原來是這樣的

文章出處:【微信號:aicapital,微信公眾號:全球人工智能】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    計算機視覺神經(jīng)網(wǎng)絡資料全集

    CV之YOLOv3:深度學習之計算機視覺神經(jīng)網(wǎng)絡Yolov3-5clessses訓練自己的數(shù)據(jù)集全程記錄(第二次)——Jason niu
    發(fā)表于 12-24 11:52

    卷積神經(jīng)網(wǎng)絡如何使用

    卷積神經(jīng)網(wǎng)絡(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡在工程上經(jīng)歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發(fā)表于 07-17 07:21

    解析深度學習:卷積神經(jīng)網(wǎng)絡原理與視覺實踐

    解析深度學習:卷積神經(jīng)網(wǎng)絡原理與視覺實踐
    發(fā)表于 06-14 22:21

    卷積神經(jīng)網(wǎng)絡模型發(fā)展及應用

    分析了目前的特殊模型結構,最后總結并討論了卷積神經(jīng)網(wǎng)絡在相關領域的應用,并對未來的研究方向進行展望。卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN) 在
    發(fā)表于 08-02 10:39

    深入卷積神經(jīng)網(wǎng)絡背后的數(shù)學原理

    計算機神經(jīng)視覺技術的發(fā)展過程中,卷積神經(jīng)網(wǎng)絡成為了其中的重要組成部分,本文對
    的頭像 發(fā)表于 04-25 14:52 ?4088次閱讀

    卷積神經(jīng)網(wǎng)絡卷積到底是什么

    卷積神經(jīng)網(wǎng)絡是一種特殊的神經(jīng)網(wǎng)絡結構,是自動駕駛汽車、人臉識別系統(tǒng)等計算機視覺應用的基礎,其中基本的矩陣乘法運算被
    的頭像 發(fā)表于 05-05 08:40 ?6339次閱讀

    卷積神經(jīng)網(wǎng)絡原理:卷積神經(jīng)網(wǎng)絡模型和卷積神經(jīng)網(wǎng)絡算法

    一。其主要應用領域在計算機視覺和自然語言處理中,最初是由Yann LeCun等人在20世紀80年代末和90年代初提出的。隨著近年來計算機硬件性能的提升和深度學習技術的發(fā)展,CNN在很多
    的頭像 發(fā)表于 08-17 16:30 ?2368次閱讀

    卷積神經(jīng)網(wǎng)絡概述 卷積神經(jīng)網(wǎng)絡的特點 cnn卷積神經(jīng)網(wǎng)絡的優(yōu)點

    卷積神經(jīng)網(wǎng)絡概述 卷積神經(jīng)網(wǎng)絡的特點 cnn卷積神經(jīng)網(wǎng)絡的優(yōu)點?
    的頭像 發(fā)表于 08-21 16:41 ?4543次閱讀

    卷積神經(jīng)網(wǎng)絡算法原理

    取特征,并且表現(xiàn)出非常出色的性能,在計算機視覺、自然語言處理等領域都有廣泛的應用。在本文中,我們將詳細介紹卷積神經(jīng)網(wǎng)絡的算法原理。 一、卷積
    的頭像 發(fā)表于 08-21 16:49 ?2252次閱讀

    卷積神經(jīng)網(wǎng)絡是什么?卷積神經(jīng)網(wǎng)絡的工作原理和應用

      卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是一種深度學習神經(jīng)網(wǎng)絡,主要用于圖像和視頻的識別、分類和預測,是計算機
    發(fā)表于 08-21 17:03 ?3269次閱讀

    cnn卷積神經(jīng)網(wǎng)絡模型 卷積神經(jīng)網(wǎng)絡預測模型 生成卷積神經(jīng)網(wǎng)絡模型

    cnn卷積神經(jīng)網(wǎng)絡模型 卷積神經(jīng)網(wǎng)絡預測模型 生成卷積神經(jīng)網(wǎng)絡模型?
    的頭像 發(fā)表于 08-21 17:11 ?2190次閱讀

    卷積神經(jīng)網(wǎng)絡模型搭建

    卷積神經(jīng)網(wǎng)絡模型搭建 卷積神經(jīng)網(wǎng)絡模型是一種深度學習算法。它已經(jīng)成為了計算機視覺和自然語言處理等
    的頭像 發(fā)表于 08-21 17:11 ?1710次閱讀

    卷積神經(jīng)網(wǎng)絡模型的優(yōu)缺點

    卷積神經(jīng)網(wǎng)絡模型的優(yōu)缺點? 卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是一種從圖像、視頻、聲音和一系列多維信號中進行學習的深度學習模型。它在
    的頭像 發(fā)表于 08-21 17:15 ?6327次閱讀

    卷積神經(jīng)網(wǎng)絡主要包括哪些 卷積神經(jīng)網(wǎng)絡組成部分

    卷積神經(jīng)網(wǎng)絡主要包括哪些 卷積神經(jīng)網(wǎng)絡組成部分 卷積神經(jīng)網(wǎng)絡(CNN)是一類廣泛應用于
    的頭像 發(fā)表于 08-21 17:15 ?2850次閱讀

    卷積神經(jīng)網(wǎng)絡的工作原理和應用

    卷積神經(jīng)網(wǎng)絡(FCN)是深度學習領域中的一種特殊類型的神經(jīng)網(wǎng)絡結構,尤其在計算機視覺領域表現(xiàn)出色。它通過全局平均池化或轉(zhuǎn)置
    的頭像 發(fā)表于 07-11 11:50 ?2808次閱讀