神經網絡學習筆記-01-基本概念


神經網絡學習筆記-01-基本概念

基本概念

  • Artificial Neural Network - 基於神經元的計算方向。
    一個人工神經網絡系統一般包含多個層,每層包含多個神經元(也稱為節點)。
    • 第一層是輸入層。
      基本上沒有什么計算功能,主要是將輸入數據映射到每個節點上。
    • 中間的層次為隱藏層。
      每層都會有一個輸出,包含了本層每個節點的輸出數據。
      每層的輸出數據,也是下一層的輸入數據。
      每層的每個節點會對輸入數據分別計算,產生不同的計算結果。
    • 最后一層是輸出層。
      輸出層的每個節點對應一個分類,計算這個分類的概率。最終輸出概率最高的分類。

即使百萬級的神經單元,也只相當於一只蠕蟲的計算能力。

  • Predication Function - 預測函數。
    機器學習的結果就是找到這個預測函數。
    在分類問題中,就是找到預測函數的權值(w,b)。

  • Activation Function - 激活函數
    神經網絡中的一個重要概念。原意是模擬大腦神經元是否激活。
    在神經網絡設計中,其作用是:轉換神經元的權值輸出值為神經元的輸出值。
    通俗的理解:權值輸出值\(f(x) = wx + b\)的結果是\(x\)\(f(x)\)上的值,這個不是我們要的分類結果。
    激活函數\(K\)的作用是將計算\(y = K(f(x))\),將權值輸出值轉換為分類值
    下面是常用的激活函數:

    • For the hidden layer
      • TanH
      • sigmoid
      • ReLUs
    • For the output layer
      • softmax
  • Forward Propagation - 正向傳播
    在訓練過程中,通過輸入數據產生輸出數據。

  • Back Propagation - 反向傳播
    在訓練過程中,根據計算結果和期望結果的偏差,重新調整各個神經元的權值。
    這個方面有很多算法可以選擇。

  • Regularization - 正規化
    一種避免多度訓練(overfitting)的方法。多度訓練會導致訓練結果對噪音數據過度敏感。
    理論上來說,對當前的預測函數,根據它的復雜度,計算一個懲罰值。通過懲罰值來調整預則函數的權值。

  • Gradient Descent - 梯度下降
    反向傳播中,用於調整權值的一個概念,表示計算調整的方向和大小。

  • Loss Function - 損失函數
    在分類問題中,一種計算方法,計算因不准確預測而導致的代價。

訓練過程

  • 初始化 -> (正向傳播 -> 反向傳播 -> 正規化 -> 梯度下降 -> 重復訓練)

人話就是:
初始化: 隨便產生個預測函數(w b)。
正向傳播:先算一下。
反向傳播: 有偏差(廢話)。
正規化: 讓偏差變得好看點。
梯度下降:把預測函數(w b)向偏差的方向挪一下。
重復訓練:把上面的過程來上500遍。

  • 訓練圖
Neural NetWork - Training Process Neural Network - Training Process I Initialize {w1, b1, w2, b2} FP Forward Propagation I->FP x L Calculate Loss FP->L y' BP Back Propagation L->BP L(cross-entropy loss) GD Gradient Descent BP->GD {ΔL/Δw1, ΔL/Δb1, ΔL/Δw2, ΔL/Δb2} GD->FP iterate {w1, b1, w2, b2} UVW Result: {w1, b1, w2, b2} GD->UVW

神經網絡示意圖

Neural Network Neural Network cluster0 Data cluster1 Input Layer cluster2 Hidden Layer tanh(xw1 + b1) cluster3 Output Layer softmax(xw2 + b2) cluster4 Output Data IL_In Data->IL_In (x_1,...,x_i) map IL_n j IL_Out IL_n->IL_Out x1_j IL_m . IL_m->IL_Out ... IL_2 2 IL_2->IL_Out x1_2 IL_1 1 IL_1->IL_Out x1_1 IL_In->IL_n x1_j IL_In->IL_m ... IL_In->IL_2 x1_2 IL_In->IL_1 x1_1 HL_1_In IL_Out->HL_1_In (x1_1,...,x1_j) HL_1_n n HL_1_Out HL_1_n->HL_1_Out a1_n HL_1_m . HL_1_m->HL_1_Out ... HL_1_3 3 HL_1_3->HL_1_Out a1_3 HL_1_2 2 HL_1_2->HL_1_Out a1_2 HL_1_1 1 HL_1_1->HL_1_Out a1_1 HL_1_In->HL_1_n HL_1_In->HL_1_m HL_1_In->HL_1_3 HL_1_In->HL_1_2 HL_1_In->HL_1_1 OL_In HL_1_Out->OL_In (a1_1,...,a1_n) OL_n m OL_Out OL_n->OL_Out p(y_m) OL_m . OL_m->OL_Out ... OL_1 1 OL_1->OL_Out p(y_1) OL_In->OL_n OL_In->OL_m OL_In->OL_1 Result y OL_Out->Result argmax

參照


免責聲明!

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



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