當下熱門的神經網絡是什么東西?


一文告訴你, 當下熱門的神經網絡是什么東西?

目錄引索

  • 簡單神經網絡
    • 感知機
    • 神經網絡特點
    • softmax
    • 交叉熵
  • 卷積神經網絡
    • 卷積
    • 激活函數
    • 池化
    • 全連接
  • Tensorflow playground 演示

簡單神經網絡

神經網絡就是模擬人的神經元進行信號(信息)收集、傳遞、處理的過程。

以人體對於溫度的感知為例:

感知機

  1. 定義: 有n個輸入數據,通過權重與個數據之間的計算和,比較激活函數結果,得出輸出。
    • sum = w1x1+w2x2+w3x3+......
  2. 應用: 容易解決與、或問題, 分類問題。
  • 與問題: 所有輸入為1,則為1
  • 或問題: 只要有一個為1,則為1
  • 亦或問題:相同為0,不同為1 (使用2條直線來划分,即2個感知機)
  1. 感知機與邏輯回歸的對比
  • 感知機是求和以后進行一個簡單的閾值判斷,而邏輯回歸是通過一個sigmoid激活函數函數轉化為[0,1]的值。

神經網絡定義

當一個感知機不能解決問題的時候,會用多個感知機來構成網絡。
感知機 --> 神經元
多個神經元構成的網絡 --> 神經網絡
神經網絡是一個多分類問題,得出屬於全部類別的每一個概率,誰的概率大,就是誰。

神經網絡特點

  • 由輸入層(1個)、隱藏層(n個)、輸出層組成(1個)
  • 輸入向量的維度和輸入神經元的個數相同 (不是個數)
  • 同一層的神經元之間沒有連接
  • 每個連接都有權重 (類似於線性回歸)
  • 第N層與N-1層的所有神經元全連接(最后一層全連接)

神經網絡結構

  1. 結構: 權重、神經元等
  2. 激活函數: 增強網絡的非線性,簡單理解,沒有激活函數,只能畫直線分割數據點;增加激活函數,可以用曲線來划分。
  • ReLu, Tanh, sigmoid等
  1. 學習規則: 網絡中的權重,如何隨着時間(或者說是迭代)來進行自我調整。 包括正向傳播和反向傳播。
  • 正向傳播(前向傳播): 輸入經過一層層計算,(w1x1+w2x2+...) 得出輸出結果
  • 反向傳播:總誤差是由不同的權重產生的,將誤差按權重的比例進行分割,向后傳遞,例如某個節點的總誤差是0.5,它是由上2個節點傳播而來,對應的權重比例為1:4, 則這兩個節點分攤誤差為0.1和0.4,依次向前傳遞。最終通過誤差值來調整各節點的權重。

神經網絡的判定 (softmax)

  1. 為什么需要softmax?
  • 神經網絡是解決多分類問題,但是它的輸出僅僅就是一個值,使用一個函數來划分出概率,對目標類別都會輸出一個概率,而目標特征一般都使用one-hot編碼,通過對比不同類別的概率得出結果。
  1. softmax表達式

神經網絡算法的優化

【不同算法的對比】

損失衡量策略:交叉熵損失(對數似然損失的推廣)

深度神經網絡

深度神經網絡與單一隱藏層神經網絡的區別在於深度,隨着神經網絡深度增加,節點所能識別的特征也越來越復雜。

卷積神經網絡

什么是卷積神經網絡

  1. 卷積神經網路是深度神經網絡的一種類型,如AlexNex, VGG, GoogLeNet, ResNet, 它是為了解決全連接網絡的一些缺點而存在:
  • 參數太多,計算量大
  • 沒有利用像素之間的位置信息,(圖片識別每個像素與周圍像素關系緊密)
  • 層數限制
  1. 卷積神經網絡的特點在於隱藏層分為卷積層和池化層(下采樣層)
  • 卷積層:通過在原始圖像上進行平移來提取特征(帶着權重偏移,乘加運算)
  • 池化層:通過特征后稀疏參數來減少學習到的參數,降低網絡的復雜度。(最大池化,平均池化)

神經網絡發展歷史

卷積層 (Convolutions)

  1. 過濾器(filter),是一個帶有權重的觀察窗口,通常為1* 1, 3* 3, 5 *5 的結構,權重與圖片中的數值(RGB)做線性回歸, (乘加運算),最終得出一個結果。
  2. 步長 (strides):過濾器在圖片上每次平移的像素點數量
  3. 0填充 (padding): 當過濾器移動至圖片邊緣以外的處理方式
  • same: 越過邊緣取樣,取樣面積與輸入的圖像像素相同
  • valid: 不越過邊緣取樣,取樣的面積小於輸入圖像的像素寬度。

單通道圖片卷積操作(灰度圖片)

注: 當有多個過濾器進行觀察時,過濾器攜帶的權重是不一樣的,但是其步長和零填充方式一致。有多少個過濾器,最終的結果有多少個。

多通道圖片的卷積操作(RGB圖片)

激活函數

  1. 為什么要增加激活函數:
  • 增加網格的非線性分割能力
  • 在進行梯度求導時,沒有非線性,多次求導后,梯度就消失了。
  1. 常見的激活函數
  • sigmoid = 1/(1+e^(-x)) , 多次求導運算量大, 對於深層次網絡,反向傳播時容易出現梯度爆炸。
  • relu: max(0, x)

池化層(Pooling) 也稱為下采樣(Subsampling)

Pooling層的主要作用是特征提取,通過去掉Feature map中不重要的樣本,進一步減少參數數量。
常見的Max Pooling 取 2*2 , 2步長, 也可以指定padding

Dropout & Inception

  1. dropout : 隨機丟棄一部分數據,防止過擬合,增強泛化能力 (一般用於大型網絡)
  2. Inception: 一組特定的卷積結構,可以參考GoogLeNet

全連接層 (Full Connected層)

卷積池化可以理解為做特征工程,后面的全連接相當於做特征加權。
全連接層在神經網絡中起到了 “分類器”的作用。

【拓展】對神經網絡的直觀認識

使用tensorflow的playground演示
http://playground.tensorflow.org


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM