天天看點

人工智能-深度學習-神經網絡深度學習-神經網絡

文章目錄

  • 深度學習-神經網絡
    • 摘要
    • 神經網絡
      • 淺層神經網絡
      • 深層神經網絡
      • 激活函數
      • 反向傳播
        • 損失(loss)
    • 卷積神經網絡
      • 局部感受野
      • 卷積核
      • 共享權值
      • 池化
    • 遷移學習
          • 對抗網絡

深度學習-神經網絡

摘要

機器學習是人工智能的核心,而深度學習又是機器學習的核心。三者關系可用如下圖來表示。

人工智能-深度學習-神經網絡深度學習-神經網絡

人工神經網絡(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經網絡(NNs)或稱作連接配接模型(Connection Model),它是一種模仿動物神經網絡行為特征,進行分布式并行資訊處理的算法數學模型。

首先認識一下人腦的神經元之間的聯系

人工智能-深度學習-神經網絡深度學習-神經網絡

神經網絡仿照人腦的神經元結構之間的聯系,當某個神經元的軸突電信号強度達到一定程度時,就會觸發将信号傳遞到下一個神經元。在傳遞的過程中加上一些對資料處理的操作,進而達到處理傳遞資訊的目的。上面的信号其實就是數值或者多元矩陣。

神經網絡

神經網絡又分為兩種,一種是淺層神經網絡,另一種是深層神經網絡,顧名思義可知,深層神經網絡要比淺層神經網絡複雜。

淺層神經網絡

人工智能-深度學習-神經網絡深度學習-神經網絡

深層神經網絡

人工智能-深度學習-神經網絡深度學習-神經網絡

上面兩圖中的圓圈則代表神經元,連線則代表上一層神經元對下一層神經元的信号傳遞

與淺層神經網絡相比,深層神經網絡具有更複雜的模型結構,并且層次結構較多,神經網絡采用全連接配接的方式将神經元之間的信号進行傳遞,淺層神經網絡則是非全連接配接,或者單層全連接配接。

  • 全連接配接:是上一層的每個神經元都連接配接到下一層所有的神經元
  • 非全連接配接:一個神經元連接配接一個或者下一層的其中幾個神經元

每個神經元連結下一層多個神經元,由于不同神經元對該神經元的信号的Value不同,是以通過設定權重(Weight)的方式來降低或提高該神經元傳遞過來的信号。

其關系滿足 y = Wx+ B

  • w:weight權重,對該神經元的重視(需求)程度,也就是上面所說的資料處理階段,一般總weight(w1+w2+w3)為1
  • x:傳遞過來的信号量的值
  • b:為偏移量,對于線上性分類問題,偏移量是不可或缺的。
人工智能-深度學習-神經網絡深度學習-神經網絡

上圖如果沒有偏移量的話,該直線就會過原點。

人工智能-深度學習-神經網絡深度學習-神經網絡

顯然分類效果就不會好,通過加上一個大于0的偏移量b使得分類器往左平移。

  • y:是權重後的值,激活函數的參數x就是所有y的和
人工智能-深度學習-神經網絡深度學習-神經網絡

激活函數

激活函數是神經網絡模型中上一層神經元到下一層神經元數值的處理,上一層神經元通過線性函數(權重求和)得到的數值y,所有的y也是具有線性函數特性的,激活函數就是将這些數值非線性化,把y當作x帶入到激活函數中。

  • 線性函數關系為 y = Wx + B
  • 非線性函數即不是一條直線的函數,例如幂函數,指數函數,對數函數等
人工智能-深度學習-神經網絡深度學習-神經網絡

激活函數又類似于高等數學中的符号函數(sgn),(sgn不是激活函數)

人工智能-深度學習-神經網絡深度學習-神經網絡
  • x>0,則輸出f(x)=1,傳給下一個神經元
  • x<0,則輸出f(x)=-1,傳給下一個神經元
  • x=0,則輸出f(x)=0,傳給下一個神經元

經典的激活函數是Sigmoid 函數,其函數關系為f(x) = 1/(1-e^x)

人工智能-深度學習-神經網絡深度學習-神經網絡
  • x較大,則輸出f(x)=1,傳給下一個神經元
  • x較小,則輸出f(x)=0,傳給下一個神經元
  • 所有的值均壓縮在-1~1之間

反向傳播

反向傳播的基本思想就是在執行完所有層後,通過計算輸出層與期望值之間的誤差來逆向調整權重參數,進而使損失減小,誤差變小。

損失(loss)

在程式運作過程中,模型生成好之後,會進行模型準确性評估,計算它的損失值,損失值越小,模型就越好。損失函數是計算損失函數的方法,也有一下幾種。

  • 0-1損失函數(0-1 lossfunction):
  • 平方損失函數(quadraticloss function)
  • 絕對損失函數(absoluteloss function)
  • 對數損失函數(logarithmicloss function)或對數似然損失函數(log-likelihood loss function)

卷積神經網絡

卷積神經網絡(Convolutional Neural Network,CNN)是一種前饋型的神經網絡,其在大型圖像處理方面有出色的表現,目前已經被大範圍使用到圖像分類、定位等領域中。相比于其他神經網絡結構,卷積神經網絡需要的參數相對較少,使的其能夠廣泛應用。

首先看下卷積網絡結構流程圖

人工智能-深度學習-神經網絡深度學習-神經網絡

回顧深層神經網絡,因為每個層都是全連接配接的,假設有一個64×64×3的圖像(64×64是二維平面上的像素值,3為第三維RGB的值),每個節點的權重是不同的,則下一層的每個神經元将會計算64×64×3個節點,若下一層有n個節點的神經元則計算量還需乘n,訓練起來較為複雜。

卷積神經網絡主要有三個特點

  • 局部感受野(Local Receptive Fields)
  • 共享權值(Shared Weights)
  • 池化(Pooling)

局部感受野

在動物器官中,大腦皮層有不同的感受區域,如聽覺區,視覺區等,每塊區域都有自己特殊的神經元,當有聽覺信号時會傳到大腦皮層的聽覺區的神經元,是以每個神經元對應的感受區域叫感受野.

那麼在神經網絡中,不同的卷積核會對應不同的感受區域,在卷積時彼此之間無聯系。

卷積神經網絡的卷積層每個節點與上一層某個區域通過卷積核連接配接,而與這塊區域以外的區域無連接配接。

人工智能-深度學習-神經網絡深度學習-神經網絡

從右邊圖可見,每個圓圈代表一個卷積核,每個卷積核隻需要關注自己的局部感受區域。

卷積核

卷積核到底是什麼?那就來觀察一下每個卷積核局部作用域。

人工智能-深度學習-神經網絡深度學習-神經網絡

上圖是取一個卷積和其對應的局部感受野,中間的那一層就是卷積核,3×3的卷積核對源資料中左上角的3×3的矩陣進行點乘,就得到了一個數值,叫做該區域的卷積層的值。然而,這隻是源資料中的部分區域,源資料是7×7的矩陣,是以卷積核再通過移動映射的方式多次卷積,如下圖。

該圖中在卷積層的值與源資料之間還應有個3×3的卷積核,未畫出。

(img-ttGGzQzz-1591919757070)(https://www.cola666.top/media/editor/卷積核_20200318113539058445.gif

人工智能-深度學習-神經網絡深度學習-神經網絡

)]

通過上圖可以看出,如果一個7×7×1像素的圖檔通過一個3×3×1的卷積核卷積,則被卷積後的值為5×5×1 !這裡注意一點,還是以圖檔為例,若是圖檔像素是三維的(彩色圖檔),則像素為7×7×3的圖檔必須使用三維的卷積核,并且第三次元也是3。

  • stride:步長
  • padding:擴充像素,填充像素
  • in:輸入的模式數,
  • out:輸出的模式數
  • W H:卷積核寬度長度

共享權值

每個卷積核連接配接8×8個節點也就64個權重值,然而還有8×8×2個卷積核呢!這裡出現了共享權值,共享權值就是每個卷積核對自己區域的權重比值都是相同的,是以僅需要給出64個權重比值即可,極大的減少了計算量。

池化

池化層也叫采樣層,作用是降低資料次元,主要有兩個池化方式

  • 最大池化
  • 平均池化

以最大池化為例,有4個2×2的矩陣,則取每個矩陣中的最大值作為該矩陣的特征。

人工智能-深度學習-神經網絡深度學習-神經網絡

另一個就是平均池化,就是取矩陣中的平均值來作為該矩陣的特征

遷移學習

對抗網絡

G生成的圖像被D識别為真圖像loss越小,D對于G生成的圖像的判别正确率越高越好

繼續更新,點個關注哦

繼續閱讀