機器學習|深度學習算法模型——人工神經網絡(ANN)


1、什么是人工神經網絡(ANN)

      人工神經網絡的靈感來自其生物學對應物。生物神經網絡使大腦能夠以復雜的方式處理大量信息。大腦的生物神經網絡由大約1000億個神經元組成,這是大腦的基本處理單元。神經元通過彼此之間巨大的連接(稱為突觸)來執行其功能。人腦大約有100萬億個突觸,每個神經元約有1,000個!

         人體神經元模型,下如圖:

  • 接收區(receptive zone):樹突接收到輸入信息。
  • 觸發區(trigger zone):位於軸突和細胞體交接的地方,決定是否產生神經沖動。
  • 傳導區(conducting zone):由軸突進行神經沖動的傳遞。
  • 輸出區(output zone):神經沖動的目的就是要讓神經末梢,突觸的神經遞質或電力釋出,才能影響下一個接受的細胞(神經元、肌肉細胞或是腺體細胞),此稱為突觸傳遞。

      那么,什么是人工神經網絡呢?有關人工神經網絡的定義有很多。這里,芬蘭計算機科學家托伊沃·科霍寧(Teuvo Kohonen)給出的定義:人工神經網絡是一種由具有自適應性的簡單單元構成的廣泛並行互聯的網絡,它的組織結構能夠模擬生物神經系統對真實世界所做出的交互反應。    

          人工神經網絡的結構
              
  • 輸入層:輸入層接收特征向量 x 。
  • 輸出層:輸出層產出最終的預測 h 。
  • 隱含層:隱含層介於輸入層與輸出層之間,之所以稱之為隱含層,是因為當中產生的值並不像輸入層使用的樣本矩陣 X 或者輸出層用到的標簽矩陣 y 那樣直接可見。

      人工神經網絡由一個輸入層和一個輸出層組成,其中輸入層從外部源(數據文件,圖像,硬件傳感器,麥克風等)接收數據,一個或多個隱藏層處理數據,輸出層提供一個或多個數據點基於網絡的功能。例如,檢測人,汽車和動物的神經網絡將具有一個包含三個節點的輸出層。對銀行在安全和欺詐之間進行交易進行分類的網絡將只有一個輸出。

 

2、人工神經網絡(ANN)的運行原理

       人工神經網絡的強大之處在於,它擁有很強的學習能力。在得到一個訓練集之后,它能通過學習提取所觀察事物的各個部分的特征,將特征之間用不同網絡節點連接,通過訓練連接的網絡權重,改變每一個連接的強度,直到頂層的輸出得到正確的答案

      人工神經網絡的核心成分是人工神經元。每個神經元接收來自其他幾個神經元的輸入,將它們乘以分配的權重,將它們相加,然后將總和傳遞給一個或多個神經元。一些人工神經元可能在將輸出傳遞給下一個變量之前將激活函數應用於輸出。

      神經網絡每層都包含有若干神經元,層間的神經元通過權值矩陣 Θl 連接。一次信息傳遞過程可以如下描述:

        - 第 j 層神經元接收上層傳入的刺激(神經沖動);
        - 該刺激經激勵函數(activation function)g 作用后,會產生一個激活向量 aj 。 aji 表示的就是 j 層第 i 個神經元獲得的激活值(activation):

2.1、前向傳播

    刺激由前一層傳向下一層,故而稱之為前向傳遞
     對於非線性分類問題,邏輯回歸會使用多項式擴展特征,導致維度巨大的特征向量出現,而在神經網絡中,並不會增加特征的維度,即不會擴展神經網絡輸入層的規模,而是通過增加隱含層,矯正隱含層中的權值,來不斷優化特征,前向傳播過程每次在神經元上產出的激勵值都可看做是優化后的特征。
                         
 
· 代價函數
             
            
矩陣表示
            
其中, .∗ 代表點乘操作,A∈R(K×m) 為所有樣本對應的輸出矩陣,其每一列對應一個樣本的輸出, Y∈R(m×K) 為標簽矩陣,其每行對應一個樣本的類型。

2.2、反向傳播

      由於神經網絡允許多個隱含層,即,各層的神經元都會產出預測,因此,就不能直接利用傳統回歸問題的梯度下降法來最小化 J(Θ) ,而需要逐層考慮預測誤差,並且逐層優化。用反向傳播法優化預測。首先定義各層的預測誤差為向量 δ(l) :
            
   反向傳播中的反向二字也正是從該公式中得來,本層的誤差 δ(l) 需要由下一層的誤差 δ(l+1) 反向推導。
                      
· 訓練過程
       

3、神經網絡結構的設計

3.1感知器

最簡單的神經網絡結構,不包含隱含層
                    
從形式上看,回歸問題算是感知器的非網絡表達形式。
感知器可以解決邏輯運算問題(01分類問題)-sigmoid函數
多分類問題,添加多個隱層
             

3.2、結構設計

在神經網絡的結構設計方面,往往遵循如下要點:
  - 輸入層的單元數等於樣本特征數。
  - 輸出層的單元數等於分類的類型數。
  - 每個隱層的單元數通常是越多分類精度越高,但是也會帶來計算性能的下降,因此,要平衡質量和性能間的關系。
  - 默認不含有隱藏層(感知器),如果含有多個隱層,則每個隱層上的單元數最好保持一致。
 
· 過程
  - 設計激活函數
           
  - 設計初始化權值矩陣的函數
  - 定義參數展開和參數還原函數
                  Args: hiddenNum 隱層數目
                          unitNum 每個隱層的神經元數目
          inputSize 輸入層規模
          classNum 分類數目
          epsilon epsilon
                  Returns:
          Thetas 權值矩陣序列
- 定義梯度校驗過程
      Args:
        Thetas 權值矩陣
        X 樣本
        y 標簽
        theLambda 正規化參數
      Returns:
        checked 是否檢測通過
- 計算代價函數
      Args:
        Thetas 權值矩陣序列
        X 樣本
        y 標簽集
        a 各層激活值
      Returns:
        J 預測代價 """
- 設計前向傳播過程
           
    """前向反饋過程
      Args:
        Thetas 權值矩陣
        X 輸入樣本
      Returns:
        a 各層激活向量 """
- 設計反向傳播過程
           
1)計算梯度
  Args:
    a 激活值
    y 標簽
  Returns:
    D 權值梯度
2)獲得梯度后,更新權值
"""更新權值
  Args:
    m 樣本數
    Thetas 各層權值矩陣
    D 梯度
    alpha 學習率
    theLambda 正規化參數
  Returns:
    Thetas 更新后的權值矩陣 """
綜上,我們能得到梯度下降過程:
前向傳播計算各層激活值;
反向計算權值的更新梯度;
更新權值;
 
訓練結果將包含如下信息:(1)網絡的預測誤差 error;(2)各層權值矩陣 Thetas;(3)迭代次數 iters;(4)是否訓練成功 success。
 
最后通過預測函數
"""預測函數
   Args:
    X: 樣本
    Thetas: 訓練后得到的參數
    Return: a """

4、神經網絡訓練過程  

       人工神經網絡首先為神經元之間的連接權重分配隨機值。ANN正確而准確地執行其任務的關鍵是將這些權重調整為正確的數字。但是找到合適的權重並不是一件容易的事,特別是當您處理多層和成千上萬的神經元時。

      通過對帶有注釋示例的網絡進行“培訓”來完成此校准。例如,訓練上述圖像分類器,則提供多張照片進行不斷訓練,神經網絡會逐漸調整其權重,以將每個輸入映射到正確的輸出類別

      基本上,訓練期間發生的事情是網絡進行自我調整以從數據中收集特定模式。同樣,對於圖像分類器網絡,當您使用質量示例訓練AI模型時,每一層都會檢測到特定的特征類別。例如,第一層可能檢測到水平和垂直邊緣,第二層可能檢測到拐角和圓形。在網絡的更深處,更深的層次將開始挑選出更高級的功能,例如面部和物體。

神經網絡的每一層都將從輸入圖像中提取特定特征

      當您通過訓練有素的神經網絡運行新圖像時,調整后的神經元權重將能夠提取正確的特征並准確確定圖像屬於哪個輸出類別。

      訓練神經網絡的挑戰之一是找到正確數量和質量的訓練示例。而且,訓練大型AI模型需要大量的計算資源。為了克服這一挑戰,許多工程師使用“ 轉移學習”(一種培訓技術),您可以采用預先訓練的模型,並使用針對特定領域的新示例對其進行微調。當已經有一個與您的用例接近的AI模型時,轉移學習特別有效。

5、神經網絡的好處和局限性

人工神經網絡的特點和優越性:

  • 具有自學習功能
  • 具有聯想存儲功能
  • 具有高速尋找優化解的能力

局限性:

  • 神經網絡需要大量數據
  • 神經網絡在概括方面很不好
  • 神經網絡是不透明的 

6、項目實例

 

參考:

       EO_Admin:https://www.cnblogs.com/geo-will/p/9764573.html

       知乎:https://zhuanlan.zhihu.com/p/111288383


免責聲明!

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



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