反向傳播算法——概述

已發表: 2021-10-15

神經網絡一直是人工智能技術世界中最流行的詞。 而在談到神經網絡時,反向傳播是一個值得關注的詞。 反向傳播算法是神經網絡的基本模塊之一。 由於任何神經網絡都需要針對任務的性能進行訓練,因此反向傳播是一種用於訓練神經網絡的算法。 它是監督學習算法的一種形式,用於在人工神經網絡中訓練多層感知器。

典型的編程被認為是插入數據和執行編程邏輯的地方。 當處理完成時,輸出被用戶接收。 但是,這個輸出在某種程度上會影響編程的邏輯。 這就是反向傳播算法所做的。 輸出將影響邏輯並產生更好的輸出。

本文將重點介紹反向傳播算法及其工作過程。

目錄

反向傳播的重要性

反向傳播的重要性在於它在神經網絡中的使用。 神經網絡的設計要求僅在開始時初始化權重。 這些權重是一些隨機值或任何用於初始化權重的隨機變量。 由於權重是隨機插入的,因此權重可能不是正確的。 這意味著權重不適合模型。 模型的輸出可能與預期輸出不同。 結果,存在高誤差值。 但是,減少錯誤總是很重要的,想辦法減少錯誤是一個挑戰。 模型需要經過訓練,無論何時發生這些類型的場景,它都需要相應地更改參數。 並且隨著參數的變化,誤差值會減小。

因此,需要對模型進行訓練,而反向傳播是一種可以訓練模型以使誤差值最小的方式。

神經網絡中反向傳播算法的幾個步驟可以總結如下:

● 誤差計算:計算模型輸出與模型實際輸出的偏差。

● 最小誤差:在此步驟中,將檢查產生的誤差是否被最小化。

● 參數更新:該步驟用於更新模型參數。 如果模型產生非常高的誤差值,那麼它需要更新它的參數,

例如權重和偏差。 重新檢查模型的錯誤,並重複該過程,直到生成的錯誤最小化。

● 最終模型:經過反复的檢查和更新過程,錯誤被最小化,模型現在可以輸入了。 輸入可以輸入到模型中,並且可以分析模型的輸出。

反向傳播神經網絡

在任何神經網絡中,反向傳播算法都會搜索誤差的最小值。 這是通過梯度下降技術或 delta 規則完成的,通過它從權重空間中搜索誤差的最小函數。 一旦確定了減少誤差函數的權重,它就被認為是學習問題的解決方案。 在 1960 年代,當算法首先被引入時,在後來的幾年中,算法的流行度增加了。 通過該算法,可以使用鍊式法則的方法有效地訓練神經網絡。 如果有通過神經網絡的前向傳遞,那麼模型的參數通過其對諸如偏差和權重等參數的調整來執行後向傳遞。 為了使反向傳播算法起作用,首先應該定義神經網絡。

神經網絡模型

如果考慮神經網絡的 4 層模型,那麼它將由層組成; 輸入層,為隱藏層設計了 4 個神經元,為輸出層設計了 1 個神經元。

輸入層:輸入層可以是簡單的,也可以是複雜的。 一個簡單的輸入層將包含標量,而一個複雜的輸入層將由多維矩陣或向量組成。 第一個激活集被認為等於輸入值。

術語激活是指在應用激活函數後產生的神經元的值。

隱藏層:在層 l 中使用某些加權輸入,例如 z^l,在同一層 l 中使用激活 a^l。 為這些層(例如第 2 層和第 3 層)生成方程。

通過使用激活函數 f 計算層的激活。 激活函數“f”是一個非線性函數,它允許網絡學習數據中存在的複雜模式。

形成具有 (n,m) 形狀的權重矩陣,其中數字“n”表示輸出神經元,而“m”表示神經網絡的輸入神經元。 在上述層的模型中,n 的個數為 2,m 的個數為 4。此外,權重下標中的第一個數字應與下一層神經元的索引匹配。 第二個數字應該與網絡前一層的神經元索引匹配。

輸出層:輸出層是神經網絡的最後一層。 它預測模型的價值。 矩陣表示用於簡化方程。

神經網絡的前向傳播及其評估

在定義神經網絡時產生的方程構成了網絡的前向傳播。 它預測模型的輸出。 在前向傳播算法中,所涉及的最後一步是根據預期輸出評估預測輸出。 如果預測輸出是“s”,而預期輸出是“y”,那麼 s 將針對 y 進行評估。 對於訓練數據集 (x,y),x 是輸入,y 是輸出。

成本函數“C”用於評估 s 與 y。 成本函數可能是一個簡單的函數,如均方誤差 (MSE),也可能是一個複雜的函數,如交叉熵。 根據 C 的值,模型知道應該調整多少參數以更接近預期的輸出,即 y。 這是通過反向傳播算法完成的。

反向傳播算法

反向傳播算法反複調整網絡連接中權重,以最小化模型輸出與預期輸出之間的差異。 也正是在反向傳播算法中,可以在網絡中創建新的有用的特徵。

反向傳播算法還旨在減少或最小化網絡的定義成本函數,即 C。這是通過調整參數(如偏差和權重)來完成的。 對參數進行的這種調整是通過對所有這些參數的成本函數梯度來確定的。

函數 C 在點 x 處的梯度定義為 x 中成本函數 C 中的所有偏導數的向量。

對函數值變化的敏感度是通過函數 C 對自變量 x 變化的導數來衡量的。 這意味著它是指示成本函數 C 移動的位置的導數。

參數 x 的變化由梯度定義。 它顯示了最小化 C 所需的參數 x 的變化。鍊式法則用於計算梯度。 它是允許優化參數的梯度。

這就是反向傳播算法在神經網絡的改進和訓練中的工作原理。 它是機器學習方面的重要組成部分。 作為訓練神經網絡的重要組成部分,了解反向傳播算法至關重要。 如果您想成為機器學習和人工智能方面的專家,那麼您可以查看 upGrad 提供的“機器學習和人工智能理學碩士”課程。 任何在職專業人士都有資格參加該課程。 您將通過來自 IIIT 班加羅爾和 LJMU 的專家學院進行培訓。 650 多個小時的內容學習將幫助您為未來的人工智能做好準備。 歡迎對課程有任何疑問。

反向傳播算法中使用的方法是什麼?

反向傳播算法中使用的方法是鍊式法則。

為什麼使用反向傳播算法?

反向傳播算法用於最小化模型的誤差。

反向傳播算法如何最小化網絡的誤差?

反向傳播算法嘗試相應地調整參數,從而使誤差最小化。