深入理解卷積網絡的卷積

2020-12-04 人工智慧遇見磐創

卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。它們專門處理具有網格狀拓撲結構的數據。例如,時間序列數據和圖像數據可以看作是一個二維像素網格。

歷史

卷積神經網絡最初是由福島核電站在1980年引入的,當時名為Neocognitron。它的靈感來自於Hubel和Weisel提出的神經系統的層次模型。但由於其複雜的無監督學習算法,即無監督學習,該模型並不受歡迎。1989年,Yann LeCun利用反向傳播和Neocognitron的概念提出了一種名為LeNet的架構,該架構被美國和歐洲用於手寫的郵政編碼識別。郵政服務。Yann LeCun進一步研究了這個項目,最終在1998年發布了LeNet-5——第一個引入了我們今天在CNN仍然使用的一些基本概念的現代卷積神經網絡。他還發布了MNIST手寫數字數據集,這可能是機器學習中最著名的基準數據集。在20世紀90年代,計算機視覺領域轉移了它的焦點,許多研究人員停止了對CNN架構的研究。神經網絡的研究經歷了一個寒冷的冬天,直到2012年,多倫多大學的一組研究人員在著名的ImageNet挑戰賽中進入了一個基於CNN的模型(AlexNet),最終以16.4%的錯誤率贏得了比賽。此後,卷積神經網絡不斷向前發展,基於CNN的體系結構不斷贏得ImageNet, 2015年,基於卷積神經網絡的體系結構ResNet的誤差率超過人類水平的5.1%,誤差率為3.57%。

卷積的誤稱

在CNN中廣泛使用的卷積運算是用詞不當的。嚴格地說,所使用的操作是相關,而不是卷積。這兩個操作符都有一點不同,我們將分別討論它們,以理解它們之間的區別。

互相關

相關是在圖像上移動濾波掩碼(通常稱為核)並計算每個位置的乘積和的過程。相關是濾波器位移的函數。換句話說,相關的第一個值對應濾波器的零位移,第二個值對應一個位移,以此類推。

數學公式:

圖3給出了使用F濾波器與圖像I的一維互相關運算的數學公式。假設F具有奇數個元素會很方便,因此我們可以假設F隨其中心移動。我們說F有2N+1的元素,這些索引從-N到N,F(0)是中心元素。

類似地,我們可以將這個概念擴展到下圖所示的2d情況。基本思想是一樣的,除了圖像和濾波器現在是2D。我們可以假設我們的濾波器有奇數個元素,所以它由一個(2N+1)x(2N+1)矩陣表示。

二維的相關運算非常簡單。我們只是取一個給定大小的濾波器,然後把它放在與濾波器大小相同的圖像的一個局部區域上。我們繼續這個操作,在整個圖像中移動相同的濾波器。這也幫助我們實現了兩個非常受歡迎的屬性:

平移不變性:我們的視覺系統應該感知、響應或檢測相同的物體,而不管它出現在圖像的什麼地方。局部性:我們的視覺系統聚焦於局部區域,而不考慮圖像的其他部分發生了什麼。互相關函數具有一個特性,當它應用於離散的單位脈衝(一個二維矩陣,其中只有一個1,其他都是0)時,得到的結果是濾波器的副本,但旋轉了180度。

卷積:

卷積運算與互相關運算非常相似,但有細微的區別。在卷積運算中,首先將核翻轉180度,然後應用於圖像。卷積的基本性質是將一個核與一個離散的單位脈衝進行卷積,在脈衝的位置上得到一個核的拷貝。

我們在互相關部分看到,一個互相關操作產生一個脈衝的拷貝,但是旋轉了180度。因此,如果我們預先旋轉濾波器並執行相同的乘積滑動和運算,我們應該能夠得到期望的結果。

數學公式:利用核函數F對圖像I進行的卷積運算由一維的公式給出。卷積就像相關一樣,只是我們在互相關之前先把濾波器翻轉一下

在二維卷積的情況下,我們水平和垂直翻轉濾波器。這可以寫成:

卷積運算同樣遵循平移不變性局部性的性質。

注意:儘管這兩個操作稍有不同,但是所使用的核是否對稱並不重要。

結論:

在這篇文章中,我們簡要討論了卷積神經網絡的歷史和一些特性。我們討論了卷積這個錯誤的說法,即在各種文本中經常提到的卷積運算其實是互相關運算。這種差別很細微,但卻很有用,每個進入、練習或經驗豐富的計算機視覺領域的人都應該知道。

引用

Deep Learning book by Ian Goodfellow and Yoshua Bengio and Aaron Courville.Digital Image Processing by Rafael C. Gonzalez.Dive into Deep Learning by Aston Zhang, Zack C. Lipton, Mu Li and Alex J. Smola.Correlation and Convolution by David Jacobs.Figure 9 taken from https://towardsdatascience.com/applied-deep-learning-part-4-convolutional-neural-networks-584bc134c1e2.https://spatial-lang.org/convThe meme is taken from 7. https://www.mihaileric.com/posts/convolutional-neural-networks/.

相關焦點

  • 深度| 理解深度學習中的卷積
    有太多的公開課、教程在反覆傳頌卷積神經網絡的好,卻都沒有講什麼是「卷積」,似乎默認所有讀者都有相關基礎。這篇外文既友好又深入,所以翻譯了過來。文章高級部分通過流體力學量子力學等解釋卷積的做法在我看來有點激進,這些領域恐怕比卷積更深奧,所以只需簡略看看即可。以下是正文:卷積現在可能是深度學習中最重要的概念。正是靠著卷積和卷積神經網絡,深度學習才超越了幾乎其他所有的機器學習手段。
  • PyTorch可視化理解卷積神經網絡
    如今,機器已經能夠在理解、識別圖像中的特徵和對象等領域實現99%級別的準確率。生活中,我們每天都會運用到這一點,比如,智慧型手機拍照的時候能夠識別臉部、在類似於谷歌搜圖中搜索特定照片、從條形碼掃描文本或掃描書籍等。造就機器能夠獲得在這些視覺方面取得優異性能可能是源於一種特定類型的神經網絡——卷積神經網絡(CNN)。
  • 理解卷積神經網絡中的輸入與輸出形狀(Keras實現)
    即使我們從理論上理解了卷積神經網絡,在實際進行將數據擬合到網絡時,很多人仍然對其網絡的輸入和輸出形狀(shape)感到困惑。本文章將幫助你理解卷積神經網絡的輸入和輸出形狀。讓我們看看一個例子。CNN的輸入數據如下圖所示。
  • AI入門:卷積神經網絡
    講到AI不得不講深度學習,而講到深度學習,又不能不講卷積神經網絡。如果把深度學習比作中國的網際網路界,那捲積神經網絡和循環神經網絡就是騰訊和阿里級別的地位。今天我們主要討論的卷積神經網絡,到底卷積神經網絡能解決什麼問題,它的結構是怎樣的?是怎麼學習的?應用在哪些具體的產品上?本文將為大家一一解答。
  • 卷積神經網絡的卷積到底是什麼
    打開APP 卷積神經網絡的卷積到底是什麼 人工智慧遇見磐創 發表於 2020-05-05 08:40:00 卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。
  • 從全卷積網絡到大型卷積核:深度學習的語義分割全指南
    本文由淺層模型到深度模型,簡要介紹了語義分割各種技術,雖然本文並沒有深入講解語義分割的具體實現,但本文簡要地概述了每一篇重要論文的精要和亮點,希望能給讀者一些指南。  什麼是語義分割?  語義分割指像素級地識別圖像,即標註出圖像中每個像素所屬的對象類別。
  • 形象理解深度學習中八大類型卷積
    本文總結了深度學習中常用的八大類型的卷積,以非常形象的方式幫助你建立直覺理解,為你的深度學習提供有益的參考。分別是單通道卷積、多通道卷積、3D卷積、1 x 1卷積、轉置卷積、擴張卷積、可分離卷積、分組卷積。
  • 深度卷積神經網絡應用於量子計算機
    另一方面,機器學習,尤其是神經網絡,正在粗略地使用向量和矩陣來理解或處理數據。量子機器學習(QML)旨在使用量子系統對向量進行編碼,並使用新的量子算法對其進行學習。一個關鍵的概念是在許多矢量上使用量子疊加,我們可以同時處理它們。
  • 如何從信號分析角度理解卷積神經網絡的複雜機制?
    機器之心原創作者:Qintong Wu參與:Jane W隨著複雜和高效的神經網絡架構的出現,卷積神經網絡(CNN)的性能已經優於傳統的數字圖像處理方法,如 SIFT 和 SURF。在計算機視覺領域,學者們開始將研究重點轉移到 CNN,並相信 CNN 是這一領域的未來趨勢。但是,人們對成效卓著的 CNN 背後的機理卻缺乏了解。
  • 機器視角:長文揭秘圖像處理和卷積神經網絡架構
    現在,我不僅對深度學習有了全面的理解,還在此基礎上有了好想法,因為我的基礎很紮實。隨意地應用神經網絡是一回事,理解它是什麼以及背後的發生機制是另外一回事。今天,我將與你共享我的心得,展示我如何上手卷積神經網絡並最終弄明白了它。我將做一個通盤的展示,從而使你對 CNN 的工作機制有一個深入的了解。
  • 一文讓你徹底了解卷積神經網絡
    卷積神經網絡(Convolutional Neural Network,CNN)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型圖像處理有出色表現。 它包括卷積層(convolutional layer)和池化層(pooling layer)。
  • 人工智慧之卷積神經網絡(CNN)
    ^_^本文引用地址:http://www.eepw.com.cn/article/201806/381807.htm  20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用於局部敏感和方向選擇的神經元時發現其獨特的網絡結構可以有效地降低反饋神經網絡的複雜性,繼而提出了卷積神經網絡CNN(Convolutional Neural Networks)。
  • 卷積網絡訓練太慢?Yann LeCun:已解決CIFAR-10,目標 ImageNet
    能否深入介紹您的團隊所面臨的實現問題?為了做到這一點,我們必須實現自己的程序語言同時編寫自己的編譯器。早在1987/1988年,我和 Leon Bottou 一同編寫了一個名叫SN的神經網絡模擬器,它是一個包含numerical library的LISP解譯器(多維數組,神經網絡圖形……)。
  • 從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經網絡 (二)
    在從圖(Graph)到圖卷積(Graph Convolution): 漫談圖神經網絡 (一)中,我們簡單介紹了基於循環圖神經網絡的兩種重要模型,在本篇中,我們將著大量筆墨介紹圖卷積神經網絡中的卷積操作。接下來,我們將首先介紹一下圖卷積神經網絡的大概框架,藉此說明它與基於循環的圖神經網絡的區別。
  • 深度學習之卷積神經網絡經典模型
    池化層包含了六個特徵映射,每個映射的像素值為14x14,這樣的池化層非常重要,可以在一定程度上保證網絡的特徵被提取,同時運算量也大大降低,減少了網絡結構過擬合的風險。因為卷積層與池化層是交替出現的,所以隱藏層的第三層又是一個卷積層,第二個卷積層由16個特徵映射構成,每個特徵映射用於加權和計算的卷積核為10x10的。
  • 圓周卷積與直接卷積
    我們都知道在模擬域對於連續信號,時域卷積等於頻域乘積,時域乘積等於頻域卷積,因此對於在時域求兩個信號的卷積,我們可以先對兩個信號做FFT後,然後做乘法,然後求IFFT得到信號在時域的卷積結果。但在數字域對於離散信號是沒有這個性質的,兩個序列的直接卷積不能通過兩個序列的FFT的乘積然後做IFFT得到時域的卷積結果,matlab仿真如下,直接卷積matab代碼,需要對兩個序列分別做7點FFT,然後求IFFT的結果才與時域卷積結果一致。
  • 「相關」與「卷積」的理解和使用
    信號的卷積卷積是兩個時間序列之間一種激勵和響應得出結果的關係。 卷積是可交換,可結合和可分配的。相關積分和卷積積分值有限,都要求二個信號中至少有一個是能量有限信號。當二個信號都為功率信號時,積分結果是無限的,需引入時間平均。
  • 一文了解卷積神經網絡基礎,建議收藏
    今天給大家講一下卷積神經網絡,主要包括四個部分:卷積神經網絡的歷史、全連接層、卷積層和池化層。CNN的英文全稱是Convolutional Neural Network,雛形是LeCun在1998年發明的LeNet網絡結構。
  • 刷臉背後:卷積神經網絡的數學原理
    計算機視覺技術在日常生活中有著非常普遍的應用:發朋友圈之前自動修圖、網上購物時刷臉支付……在這一系列成功的應用背後,卷積神經網絡功不可沒。本文將介紹卷積神經網絡背後的數學原理。
  • 環信人工智慧專家李理:詳解卷積神經網絡
    下面首先介紹Michael Nielsen的部分(其實主要是翻譯,然後加一些我自己的理解)。 前面的話 如果讀者自己嘗試了上一部分的代碼,調過3層和5層全連接的神經網絡的參數,我們會發現神經網絡的層數越多,參數(超參數)就越難調。但是如果參數調得好,深的網絡的效果確實比較淺的好(這也是為什麼我們要搞深度學習的原因)。