人工智慧之卷積神經網絡(CNN)

2021-01-07 電子產品世界

  前言:人工智慧機器學習有關算法內容,請參見公眾號「科技優化生活」之前相關文章。人工智慧之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下卷積神經網絡(CNN)算法。 ^_^

本文引用地址:http://www.eepw.com.cn/article/201806/381807.htm

  20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用於局部敏感和方向選擇的神經元時發現其獨特的網絡結構可以有效地降低反饋神經網絡的複雜性,繼而提出了卷積神經網絡CNN(Convolutional Neural Networks)。

  1980年,K.Fukushima提出的新識別機是卷積神經網絡的第一個實現網絡。隨後,更多的科研工作者對該網絡進行了改進。其中,具有代表性的研究成果是Alexander和Taylor提出的「改進認知機」,該方法綜合了各種改進方法的優點並避免了耗時的誤差反向傳播。

  現在,CNN已經成為眾多科學領域的研究熱點之一,特別是在模式分類領域,由於該網絡避免了對圖像的複雜前期預處理,可以直接輸入原始圖像,因而得到了更為廣泛的應用。



  CNN概念:

  在機器學習中,卷積神經網絡CNN(Convolutional Neural Network)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,可以應用於語音識別、圖像處理和圖像識別等領域。

  CNN引入意義:

  在全連接神經網絡中(下面左圖),每相鄰兩層之間的每個神經元之間都是有邊相連的。當輸入層的特徵維度變得很高時,這時全連接網絡需要訓練的參數就會增大很多,計算速度就會變得很慢。

  而在卷積神經網絡CNN中(下面右圖),卷積層的神經元只與前一層的部分神經元節點相連,即它的神經元間的連接是非全連接的,且同一層中某些神經元之間的連接的權重w和偏移b是共享的,這樣大量地減少了需要訓練參數的數量。



  CNN核心思想:

  CNN模型限制參數了個數並挖掘了局部結構。主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。局部感受視野,權值共享以及時間或空間亞採樣這三種思想結合起來,獲得了某種程度的位移、尺度、形變不變性。通過「卷積核」作為中介。同一個卷積核在所有圖像內是共享的,圖像通過卷積操作後仍然保留原先的位置關係。



  CNN實質:

  CNN在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關係,而不需要任何輸入和輸出之間的精確的數學表達式,只要用已知的模式對卷積網絡加以訓練,網絡就具有輸入輸出對之間的映射能力。卷積網絡執行的是有導師訓練,所以其樣本集是由形如:(輸入向量,理想輸出向量)的向量對構成的。所有這些向量對,都應該是來源於網絡即將模擬的系統的實際「運行」結果。它們可以是從實際運行系統中採集來的。在開始訓練前,所有的權都應該用一些不同的小隨機數進行初始化。「小隨機數」用來保證網絡不會因權值過大而進入飽和狀態而導致訓練失敗;「不同」用來保證網絡可以正常地學習。

  CNN基本結構:

  卷積神經網絡CNN的結構一般包含下面幾層:



  1) 輸入層:用於數據的輸入。

  2) 卷積層:卷積層是卷積核在上一級輸入層上通過逐一滑動窗口計算而得,卷積核中的每一個參數都相當於傳統神經網絡中的權值參數,與對應的局部像素相連接,將卷積核的各個參數與對應的局部像素值相乘之和,得到卷積層上的結果。一般地,使用卷積核進行特徵提取和特徵映射。



  l 特徵提取:每個神經元的輸入與前一層的局部接受域相連,並提取該局部的特徵。一旦該局部特徵被提取後,它與其它特徵間的位置關係也隨之確定下來;

  l 特徵映射:網絡的每個計算層由多個特徵映射組成,每個特徵映射是一個平面,平面上所有神經元的權值相等。特徵映射結構採用影響函數核小的sigmoid函數作為卷積網絡的激活函數,使得特徵映射具有位移不變性。此外,由於一個映射面上的神經元共享權值,因而減少了網絡自由參數的個數。

  卷積神經網絡中的每一個卷積層都緊跟著一個用來求局部平均與二次提取的計算層,這種特有的兩次特徵提取結構減小了特徵解析度。

  3) 激勵層:由於卷積也是一種線性運算,因此需要增加非線性映射。使用的激勵函數一般為ReLu函數:f(x)=max(x,0)。



  4) 池化層:進行下採樣,對特徵圖稀疏處理,減少數據運算量。通過卷積層獲得了圖像的特徵之後,理論上可以直接使用這些特徵訓練分類器(如softmax),但這樣做將面臨巨大的計算量挑戰,且容易產生過擬合現象。為了進一步降低網絡訓練參數及模型的過擬合程度,需要對卷積層進行池化/採樣(Pooling)處理。池化/採樣的方式通常有以下兩種:a)Max-Pooling: 選擇Pooling窗口中的最大值作為採樣值;b)Mean-Pooling: 將Pooling窗口中的所有值相加取平均,以平均值作為採樣值。



  5) 全連接層:CNN尾部進行重新擬合,減少特徵信息的損失。



  6) 輸出層:用於最後輸出結果。

  CNN訓練過程:

  1)向前傳播階段:

  a)從樣本集中取一個樣本(X,Yp),將X輸入網絡;

  b)計算相應的實際輸出Op。

  在本階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練後正常運行時執行的過程。在此過程中,網絡執行的是計算,實際上就是輸入與每層的權值矩陣相點乘,得到最後的輸出結果:

  Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))

  2)向後傳播階段:

  a)計算實際輸出Op與相應的理想輸出Yp的差;

  b)按極小化誤差的方法反向傳播調整權矩陣。

  CNN優點:

  1) 輸入圖像和網絡的拓撲結構能很好的吻合;

  2) 儘管使用較少參數,仍然有出色性能;

  3) 避免了顯式的特徵抽取,而隱式地從訓練數據中進行學習;

  4) 特徵提取和模式分類同時進行,並同時在訓練中產生,網絡可以並行學習;

  5) 權值共享減少網絡的訓練參數,降低了網絡結構的複雜性,適用性更強;

  6) 無需手動選取特徵,訓練好權重,即得特徵,分類效果好;

  7) 可以直接輸入網絡,避免了特徵提取和分類過程中數據重建的複雜度。



  CNN缺點:

  1) 需要調整參數;

  2) 需要大樣本量,訓練最好要GPU;

  3) 物理含義不明確,神經網絡本身就是一種難以解釋的 「黑箱模型」。

  CNN常用框架:

  1) Caffe:源於Berkeley的主流CV工具包,支持C++,python,matlab; Model Zoo中有大量預訓練好的模型供使用;

  2) Torch: Facebook用的卷積神經網絡工具包,通過時域卷積的本地接口,使用非常直觀; 定義新網絡層簡單;

  3) TensorFlow:Google的深度學習框架;TensorBoard可視化很方便;數據和模型並行化好,速度快。

  CNN應用場景:

  應用場景包括機器學習、語音識別、文檔分析、語言檢測和圖像識別等領域。

  特別強調的是:CNN在圖像處理和圖像識別領域取得了很大的成功,在國際標準的ImageNet數據集上,許多成功的模型都是基於CNN的。CNN相較於傳統的圖像處理算法的好處之一在於:避免了對圖像複雜的前期預處理過程,可以直接輸入原始圖像。



  結語:

  卷積神經網絡CNN是近年發展起來,並引起廣泛重視的一種高效識別方法。卷積神經網絡以其局部權值共享的特殊結構在模式識別方面有著獨特的優越性,其布局更接近於實際的生物神經網絡,權值共享降低了網絡的複雜性,特別是多維輸入向量的圖像可以直接輸入網絡這一特點避免了特徵提取和分類過程中數據重建的複雜度。CNN算法在人工智慧之機器學習、語音識別、文檔分析、語言檢測和圖像識別等領域等領域有著廣泛應用。

相關焦點

  • 光學卷積神經網絡加速器:通過光學實現更強大的人工智慧!
    導讀據美國喬治·華盛頓大學官網近日報導,該校和加州大學洛杉磯分校的研究人員與深度科技創業公司 Optelligence LLC 共同開發出一種光學卷積神經網絡加速器,每秒能夠處理拍字節創新近日,美國喬治·華盛頓大學和加州大學洛杉磯分校(UCLA)的研究人員與深度科技創業公司 Optelligence LLC 共同開發出一種光學卷積神經網絡加速器,每秒能夠處理拍字節(1拍字節=2^50位元組)級的大量信息
  • 人工智慧TensorFlow(十三)讀懂CNN卷積神經網絡
    通過往期文章的分享,我們了解了神經網絡的結構,一般分為輸入層,隱藏層,輸出層  CNN卷積神經網絡就是來源於此識別過程來實現。  卷積神經網絡  卷積神經網絡依舊是層級網絡,只是層的功能和形式做了變化,可以說是傳統神經網絡的一個改進。比如下圖中就多了許多傳統神經網絡沒有的層次。
  • 贈書|人工智慧識萬物:卷積神經網絡的前世今生
    在前述章節的基礎上,本章將主要介紹訓練卷積神經網絡和深度神經網絡的重要方法與技巧,深度神經網絡的遷移學習策略,以及如何訓練深度神經網絡以解決實際問題等內容。*文末有贈書福利受20世紀中期興起的神經科學及腦科學研究的啟發,通過模擬生物神經元接收和處理信息的基本特性,研究人員提出並設計了人工神經元。作為計算機科學、生物學和數學的交叉融合,卷積神經網絡已經發展成為計算機視覺領域中最具影響力和有效的基礎技術。
  • 卷積神經網絡的卷積到底是什麼
    打開APP 卷積神經網絡的卷積到底是什麼 人工智慧遇見磐創 發表於 2020-05-05 08:40:00 卷積神經網絡是一種特殊的神經網絡結構,是自動駕駛汽車、人臉識別系統等計算機視覺應用的基礎,其中基本的矩陣乘法運算被卷積運算取代。
  • 從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經網絡 (二)
    在從圖(Graph)到圖卷積(Graph Convolution): 漫談圖神經網絡 (一)中,我們簡單介紹了基於循環圖神經網絡的兩種重要模型,在本篇中,我們將著大量筆墨介紹圖卷積神經網絡中的卷積操作。
  • 從特徵檢測器到視覺轉換器:卷積神經網絡的時代到此結束了嗎?
    圖源:unsplash近十年來,卷積神經網絡一直在全球計算機視覺研究領域發揮著主導作用。但研究者們正在提出一種新方法,想要利用轉換器的功能賦予圖像更深層的意義。轉換器最初是為自然語言處理任務而設計的,主攻神經網絡機器翻譯。後來,谷歌研究院的阿列克謝·多索維斯基(Alexey Dosovitskiy)、盧卡斯·拜爾(Lucas Beyer)等人撰寫了一篇題目為《一幅圖像值得16x16個字符:大規模用於圖像識別的轉換器》的論文,提出了一種名為視覺轉換器(ViT)的架構,該架構可通過轉換器處理圖像數據。
  • 機器學習之神經網絡(1)
    其實神經網絡技術的靈感來自人體內的神經結構。(可以細細體會一下~)由此,神經網絡的理論開始大放異彩,再加上如今硬體設備的發達以及網絡結構的不斷簡化,神經網絡得到了很好的發展。這裡的CNN是Convolutional neural network,中文叫卷積神經網絡。卷積神經網絡是一種前饋神經網絡,通常包含:輸入層,卷積層,激勵層,池化層,全連接層,輸出層。
  • 床長人工智慧教程——關於神經網絡中的故事
    如果翻閱研究文獻,您會發現類似樣式的故事出現在許多有關神經網絡的研究論文中,而且往往證據不足。我們應該如何看待這些故事?在科學的許多部分,尤其是那些處理簡單現象的部分,都有可能為非常籠統的假設獲得非常紮實,可靠的證據。但是在神經網絡中,存在大量的參數和超參數,並且它們之間的交互極其複雜。在如此異常複雜的系統中,要建立可靠的一般性陳述極其困難。
  • 科學家開發卷積神經網絡預測三維基因組
    科學家開發卷積神經網絡預測三維基因組 作者:小柯機器人 發布時間:2020/10/15 15:45:23 格萊斯頓研究所的數據科學和生物技術Katherine S.
  • 人工智慧學習之什麼是人工神經網絡?
    許多人工智慧計算機系統的核心技術是人工神經網絡(ANN),而這種網絡的靈感來源於人類大腦中的生物結構。通過使用連接的「神經元」結構,這些網絡可以通過「學習」並在沒有人類參與的情況下處理和評估某些數據。這樣的實際實例之一是使用人工神經網絡(ANN)識別圖像中的對象。
  • 時間卷積網絡:時間序列的下一場革命?
    我們首先介紹運動檢測的案例研究,並簡要回顧一下TCN架構及其相對於傳統方法(如卷積神經網絡(CNN)和遞歸神經網絡(RNN))的優勢。然後介紹了TCN的幾個新穎應用,包括改善交通預測,聲音事件定位和檢測以及概率預測。TCN簡要回顧Lea等人的開創性工作。(2016)首先提出了基於視頻的動作分割的時間卷積網絡(TCN)。
  • 深度學習概述:NLP vs CNN
    最初的人工智慧和深度學習算法比較簡單,就像我們所知的簡單感知器模型和單層神經網絡一樣。隨著時間的推移和更加專注的研究,我們已經擁有了具有多層結構的複雜神經網絡。一些公司在他們的軟體和服務中使用了LSTMs、GANs、變分自編碼器等算法。本文在以下部分列出了人工智慧領域當前最熱門的技術以及正在研究這些熱門技術的公司。看了這些創新之後,準備好大吃一驚吧。
  • 理解多層CNN中轉置卷積的反向傳播(附代碼)
    紅框是2 * 2輸出圖像綠色框是3 * 3卷積核藍色框是4 * 4輸入圖像「由於我們在對4 * 4圖像執行卷積後得到2 * 2的輸出圖像,因此在執行反向傳播時,我們需要對2 * 2輸出圖像執行一些操作,以獲得具有4 * 4的圖像。」但玉米讓我意識到目標不是恢復原始圖像。 相反,應該是獲得網絡中每個權重的錯誤率。
  • NeurIPS 2020線上分享 | 華為諾亞方舟:超越CNN的加法神經網絡
    目前出現了多種獲得高計算能效深度神經網絡的算法,如從準確度損失極少的預訓練神經網絡中刪除不重要參數或濾波器的權重剪枝方法,以及通過模仿教師模型輸出分布來直接學習學生模型的知識蒸餾方法。另一個獲得高效神經網絡的研究途徑是減少權重和激活值的位寬以降低內存使用和功耗。這類方法有很多,也可以大幅度降低計算複雜度,但生成網絡的性能依然低於 CNN 方法。
  • 今天的卷積網絡,Yann LeCun在93年就已經玩得很溜了
    機器之心報導作者:澤南、張倩卷積神經網絡的成功是否超出了其發明者的想像?Yann LeCun 說:「是的,我們一直在嘗試更加瘋狂的寫法,而它的進步卻從未中斷過。」手寫數字識別是很多人入門神經網絡時用來練手的一個項目,但就是這麼簡單的一個項目,最近在 reddit 上又火了一把,因為在 MIT 計算機科學和人工智慧實驗室,有人挖到了一個「祖師爺」級別的視頻……從這段視頻中我們可以看到,LeCun 在 90 年代初創造的文本識別系統已經達到了驚人的速度和準確率,這在當時的條件下是非常難能可貴的。
  • 模仿人腦視覺處理,助力神經網絡應對對抗性樣本
    今天,深度神經網絡已經成為許多計算機視覺應用的關鍵組成部分,從照片和視頻編輯器到醫療軟體和自動駕駛汽車。神經網絡大致模仿了大腦的結構,已經更接近於像人類一樣看待世界。但是它們還有很長的路要走,而且它們在人類永遠不會犯錯的情況下也會犯錯。這些情況,通常被稱為對抗性樣本,以令人困惑的方式改變了人工智慧模型的行為。對抗性的機器學習是當前人工智慧系統的最大挑戰之一。
  • 用於視頻回歸任務的長期循環卷積網絡
    處理視頻意味著處理圖像,所以這裡需要cnn。但是,有不同的方法來處理時態組件。2、3d CNN這種方法背後的邏輯非常直觀,因為卷積中的第三維可以對應於時間域,從而可以直接從一個網絡學習時空特徵。3、長期循環卷積網絡(LRCN)2016年,一組作者提出了用於視覺識別和描述的端到端可訓練類架構。
  • 大話卷積神經網絡CNN,小白也能看懂的深度學習算法教程,全程乾貨...
    這個定義太大了,反而讓人有點不懂,簡答來說,深度學習就是通過多層神經網絡上運用各種機器學習算法學習樣本數據的內在規律和表示層次,從而實現各種任務的算法集合。各種任務都是啥,有:數據挖掘,計算機視覺,語音識別,自然語言處理等。可能有人會問那麼深度學習,機器學習還有人工智慧的關係是怎麼樣的呢?
  • 百度李偉彬:基於PGL的圖神經網絡基線系統
    人工智慧論壇如今浩如煙海,有硬貨、有乾貨的講座卻百裡挑一。「AI未來說·青年學術論壇」系列講座由中國科學院大學主辦,百度全力支持,讀芯術、paperweekly作為合作自媒體。承辦單位為中國科學院大學學生會,協辦單位為中國科學院計算所研究生會、網絡中心研究生會、人工智慧學院學生會、化學工程學院學生會、公共政策與管理學院學生會、微電子學院學生會。
  • 三種卷積神經網絡模型:Light-CNN,雙分支CNN和預先訓練的CNN
    > 上海電力大學的兩位研究人員最近開發並評估了野生人臉表情識別(FER)的新神經網絡模型。「基於深度卷積神經網絡(CNN)的現有自然面部表情識別方法存在一些問題,包括過擬合,高計算複雜度,單一特徵和有限樣本。」 儘管許多研究人員已經開發了用於FER的CNN方法,但到目前為止,他們中很少有人試圖確定哪種類型的網絡最適合這一特定任務。意識到文獻中的這種差距,永勝和他的同事邵傑為FER開發了三種不同的CNN,並進行了一系列的評估,以確定他們的優勢和劣勢。