機器學習中的多層前饋神經網路理解


深度學習前饋神經網路被用於各種應用,包括計算機助手、搜尋引擎和機器翻譯。它們是當今使用的幾個重要神經網路的基礎,包括廣泛用於自然語言處理和序列學習的迴圈神經網路,以及廣泛用於計算機視覺應用的卷積神經網路。在本文中,我們將討論多層前饋神經網路。

什麼是前饋神經網路?

最基本型別的神經網路,其中輸入資料僅單向傳播,然後透過輸出節點離開並經過人工神經節點。輸入和輸出層位於隱藏層可能存在也可能不存在的位置。根據這一點,它們進一步細分為單層和多層前饋神經網路。

函式的複雜度與層的數量成反比。它不能向後傳播;它只能向前傳播。在這種情況下,權重保持不變。在傳遞到啟用函式之前,權重會新增到輸入中。

前饋神經網路元件

神經元

人工神經元是神經網路的基本組成部分。以下是神經元的示意圖。

如上所示,它分兩部分工作:首先,它計算其輸入的加權和,然後它使用啟用函式對總和進行歸一化。存線上性啟用函式和非線性啟用函式。此外,神經元的每個輸入都有一個相應的權重。網路必須在訓練階段學習這些引數。

啟用函式

神經元的啟用函式充當輸出處的決策主體。啟用函式確定神經元學習線性決策邊界還是非線性決策邊界。此外,它對神經元輸出具有平滑作用,防止級聯效應使多層後的神經元輸出變得過大。三種最流行的啟用機制如下:

  • Sigmoid - 將輸入值對映到 0 到 1 之間的輸出值。
  • Tanh - 將輸入值對映到 -1 到 1 範圍內的值。
  • ReLu - 此函式僅允許正數透過。負值被分配為 0。

輸入層

此層的節點接收資訊並將其傳遞到網路的其他層。輸入層中的節點數必須等於資料集中特徵或屬性的數量。

輸出層

此層是提供預測的層。對於不同的問題,應在此層中使用不同的啟用函式。對於二元分類任務,我們希望結果為 0 或 1。因此,使用 sigmoid 啟用函式。對於多類分類問題,使用 Softmax(可以將其視為應用於多個類的 sigmoid)。我們可以使用線性單元來解決迴歸問題,其中結果不屬於預定義的類別。

隱藏層

隱藏在輸入和輸出之間的層用於隔離它們。隱藏層的數量將取決於模型的型別。為了實際上傳遞輸入到下一層,隱藏層中的多個節點首先對其進行修改。為了提高預測能力,此網路的權重會不斷調整。

前饋神經網路的工作原理

單層感知器可以表示簡化時前饋神經網路的外觀。當輸入進入層時,此模型將它們與權重相乘。然後透過將加權輸入值累加在一起獲得總和。通常,只要總和超過預設閾值(設定為零),輸出值為 1,如果值總和小於閾值,則通常為 -1。

單層感知器是一種常用於分類的前饋神經網路模型。單層感知器也可以從機器學習中獲益。神經網路可以在訓練期間根據稱為 delta 規則的特徵修改其權重,這使它們能夠將其輸出與預期值進行比較。訓練和學習的結果是梯度下降。多層感知器以相同的方式更新其權重。但是,這被稱為反向傳播。在這種情況下,網路的隱藏層將根據最終層的輸出值進行更改。

多層前饋神經網路

進入複雜神經網路的入口點,其中傳入資料透過多層人工神經元進行路由。每個節點都與下一層中的每個神經元連線,從而形成一個完全連線的神經網路。總共有輸入和輸出層以及多個隱藏層,總共至少三層或更多層。它具有雙向傳播,這意味著它可以向前和向後傳播。

輸入與權重相乘並饋送到啟用函式,在反向傳播期間對其進行調整以最小化損失。權重只是神經網路中機器學習的值。它們根據預測結果和訓練結果之間的差距進行自我調整。在非線性啟用函式之後,Softmax 用作輸出層啟用函式。

結論

最後,前饋神經網路有時被稱為多層神經網路 (MLN)。資訊在神經網路中僅向前流動,首先透過輸入節點,然後透過隱藏層(單層或多層),最後透過輸出節點,這就是為什麼這種模型網路被稱為前饋的原因。

更新於: 2022-10-28

9K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.