訂閱
糾錯
加入自媒體

如何在神經網絡中初始化權重和偏差?

介紹

人工神經網絡是受人類神經元工作啟發(fā)的計算系統(tǒng)。它是深度學習的支柱,在幾乎所有領域取得了更大的里程碑,從而帶來了我們解決問題的進化。因此,每個有抱負的數據科學家和機器學習工程師都必須對這些神經網絡有很好的了解。在本文中,我們將討論有關人工神經網絡 (ANN) 的最重要問題,這有助于讓你清楚地了解這些技術,以及數據科學訪談,其中涵蓋了從非常基礎的層面到復雜概念。

1、感知器是什么意思?

感知器也稱為人工神經元,是一種神經網絡單元,它執(zhí)行某些計算以檢測特征。它是一個單層神經網絡,用作線性分類器,同時處理一組輸入數據。由于感知器使用已經標記的分類數據點,因此它是一種監(jiān)督學習算法。該算法用于使神經元一次一個地學習和處理訓練集中的元素。

2、感知器有哪些不同類型?

有兩種類型的感知器:

1. 單層感知器

單層感知器只能學習線性可分離的模式。

2. 多層感知器

多層感知器,也稱為具有兩層或多層的前饋神經網絡,具有更高的處理能力。

3、損失函數有什么用?

損失函數用作準確性的度量,以識別我們的神經網絡是否在訓練數據的幫助下準確地學習了模式。這是通過將訓練數據與測試數據進行比較來完成的。因此,損失函數被認為是衡量神經網絡性能的主要指標。在深度學習中,性能良好的神經網絡在訓練發(fā)生時始終具有較低的損失函數值。

4、激活函數在神經網絡中的作用是什么?

在神經網絡中使用激活函數的原因如下:激活函數背后的思想是將非線性引入神經網絡,使其能夠學習更復雜的函數。沒有激活函數,神經網絡表現為線性分類器,學習輸入數據的線性組合函數。激活函數將輸入轉換為輸出。激活函數負責決定一個神經元是否應該被激活,即是否被激發(fā)。為了做出決定,它首先計算加權和,并進一步添加偏差。因此,激活函數的基本目的是將非線性引入神經元的輸出。

5、列出神經網絡中使用的一些流行的激活函數的名稱。

構建深度學習模型時使用的一些流行的激活函數如下:

Sigmoid 函數

雙曲正切函數

整流線性單元 (RELU) 函數

Leaky  RELU 函數

最大輸出函數

指數線性單元 (ELU) 函數

6、成本函數是什么意思?

在構建深度學習模型時,我們的整個目標是最小化成本函數。成本函數解釋了神經網絡對其給定訓練數據和預期輸出的表現如何。它可能取決于神經網絡參數,例如權重和偏差?偟膩碚f,它提供了神經網絡的性能。

7、反向傳播是什么意思?

反向傳播算法用于訓練多層感知器。它將錯誤信息從網絡末端傳播到網絡內部的所有權重。它允許有效計算梯度或導數。反向傳播可以分為以下幾個步驟:它可以通過網絡轉發(fā)訓練數據的傳播以生成輸出。它使用目標值和輸出值通過考慮輸出激活來計算誤差導數。它可以反向傳播以計算關于前一層輸出激活的誤差的導數,并繼續(xù)計算所有隱藏層。它使用先前計算的輸出導數和所有隱藏層來計算關于權重的誤差導數。它更新權重并重復直到成本函數最小化。

8、如何在神經網絡中初始化權重和偏差?

神經網絡初始化意味著初始化參數的值,即權重和偏差。偏差可以初始化為零,但我們不能用零初始化權重。權重初始化是神經網絡中的關鍵因素之一,因為錯誤的權重初始化會阻止神經網絡學習模式。相反,良好的權重初始化有助于更快地收斂到全局最小值。根據經驗,初始化權重的規(guī)則是接近于零但不能太小。

9、為什么權重的零初始化,不是一個好的初始化技巧?

如果我們將神經網絡中的權重集初始化為零,那么每一層的所有神經元將在反向傳播期間開始產生相同的輸出和相同的梯度。結果,神經網絡根本無法學習任何東西,因為不同神經元之間沒有不對稱的來源。因此,我們在初始化神經網絡中的權重時添加隨機性。

10、解釋梯度下降及其類型。

梯度下降是一種優(yōu)化算法,旨在最小化成本函數或最小化誤差。它的主要目標是根據函數的凸性找到函數的局部或全局最小值。這決定了模型應該朝哪個方向減少誤差。

梯度下降的三種類型:

小批量梯度下降

隨機梯度下降

批量梯度下降

11、解釋梯度下降算法中使用的不同步驟。

用于初始化和使用梯度下降算法的五個主要步驟如下:初始化神經網絡的偏差和權重。將輸入數據通過網絡,即輸入層。計算預期值和預測值之間的差異或誤差。調整值,即神經元中的權重更新以最小化損失函數。我們重復相同的步驟,即多次迭代以確定有效工作的最佳權重。

12、解釋術語“數據規(guī)范化”。

數據標準化是必不可少的預處理步驟,用于將初始值重新縮放到特定范圍。它可以確保反向傳播期間更好的收斂。通常,數據歸一化將每個數據點歸結為減去均值并除以其標準差。由于我們對每一層的輸入進行了標準化,因此該技術提高了神經網絡的性能和穩(wěn)定性。

13、神經網絡中的前向傳播和后向傳播有什么區(qū)別?

前向傳播:輸入被送入網絡。在每一層中,有一個特定的激活函數,在層之間,有代表神經元連接強度的權重。輸入貫穿網絡的各個層,最終生成輸出。反向傳播:誤差函數衡量網絡輸出的準確程度。為了提高輸出,必須優(yōu)化權重。反向傳播算法用于確定如何調整各個權重。在梯度下降法期間調整權重。

14、 詳細解釋不同類型的梯度下降。

隨機梯度下降:在隨機梯度下降中,使用的批量大小為 1。結果,我們得到了 n 個批次。因此,每次訓練樣本后都會更新神經網絡的權重。

小批量梯度下降:在小批量梯度下降中,批量大小必須介于 1 和訓練數據集的大小之間。結果,我們得到了 k 個批次。因此,每次小批量迭代后都會更新神經網絡的權重。

批梯度下降:在批梯度下降中,批大小等于訓練數據集的大小。因此,神經網絡的權重在每個時期之后被更新。

15、 玻爾茲曼機是什么意思?

最基本的深度學習模型之一是玻爾茲曼機,它類似于多層感知器的簡化版本。該模型具有一個可見的輸入層和一個隱藏層——只是一個兩層神經網絡,可以隨機決定是否應該激活神經元。在玻爾茲曼機中,節(jié)點是跨層連接的,但沒有同一層的兩個節(jié)點連接。

16、學習率如何影響神經網絡的訓練?

在選擇學習率來訓練神經網絡時,我們必須非常謹慎地選擇值,原因如下:如果學習率設置得太低,模型的訓練將繼續(xù)非常緩慢,因為我們對權重的變化很小,因為我們的步長由梯度下降方程控制。在達到最小損失點之前需要多次迭代。如果學習率設置得太高,由于步長值較大,權重變化很大,這會導致?lián)p失函數出現不良的發(fā)散行為。它可能無法收斂(模型可以給出很好的輸出)甚至發(fā)散(數據太混亂,網絡無法訓練)。

17、超參數是什么意思?

一旦數據格式正確,我們通常會在神經網絡中使用超參數。超參數是一種參數,其值在學習過程開始之前是固定的。它決定了神經網絡的訓練方式以及網絡的結構,其中包括:隱藏單元數學習率epoch 數等。

18、為什么ReLU是最常用的Activation Function?

ReLU(整流線性單元)是神經網絡中最常用的激活函數,原因如下:

1. 無梯度消失: RELU 激活函數的導數要么是 0,要么是 1,所以它可能不在 [0,1] 的范圍內。因此,幾個導數的乘積也將是 0 或 1,由于此屬性,反向傳播過程中不會出現梯度消失問題。

2. 更快的訓練:具有 RELU 的網絡往往表現出更好的收斂性能。因此,我們的運行時間要短得多。

3. 稀疏性:對于所有負輸入,RELU 生成的輸出為 0。這意味著網絡中較少的神經元被激發(fā)。所以我們在神經網絡中有稀疏而有效的激活。

19、解釋梯度消失和爆炸的問題。

這些是訓練深度神經網絡的主要問題。反向傳播時,在n個隱藏層的網絡中,n個導數將被相乘。如果導數很大,例如,如果使用類似ReLU的激活函數,那么當我們向下傳播模型直到最終爆炸時,梯度的值將呈指數增長,這就是爆炸梯度的問題。

相反,如果導數很小,例如,如果使用 Sigmoid 激活函數,那么隨著我們在模型中傳播,梯度將呈指數下降,直到最終消失,這就是消失梯度問題。

20、優(yōu)化器是什么意思?

優(yōu)化器是用于調整神經網絡的權重、偏差、學習率等參數以最小化損失函數的算法或方法。這些用于通過最小化函數來解決優(yōu)化問題。深度學習中最常用的優(yōu)化器如下:梯度下降隨機梯度下降 (SGD)小批量隨機梯度下降 (MB-SGD)有動量的SGDNesterov 加速梯度 (NAG)自適應梯度(AdaGrad)AdaDeltaRMSpropAdam

21、為什么深度神經網絡比淺神經網絡更受歡迎?

除了輸入和輸出層之外,神經網絡還包含隱藏層。淺層神經網絡的輸入層和輸出層之間只有一個隱藏層,而深層神經網絡則使用多個層。要逼近任何函數,淺層和深層網絡都足夠好且有能力,但是當淺層神經網絡擬合函數時,它需要學習大量參數。相反,深度網絡可以在參數數量有限的情況下更好地擬合函數,因為它們包含多個隱藏層。因此,對于相同的準確度水平,深度的網絡在計算和要學習的參數數量方面可以更加強大和高效。關于深度網絡的另一件重要事情是它們可以創(chuàng)建深度表示,并且在每一層,網絡都會學習新的、更抽象的輸入表示。因此,由于其能夠處理任何類型的數據建模的能力,現代神經網絡已成為首選。

22、過度擬合是每個機器學習從業(yè)者面臨的最常見問題之一。解釋一些避免神經網絡過度擬合的方法。

Dropout:這是一種防止神經網絡過度擬合的正則化技術。它在訓練過程中從神經網絡中隨機丟棄神經元,相當于訓練不同的神經網絡。不同的網絡會以不同的方式過度擬合,因此 dropout 正則化技術的效果將是減少過度擬合,以便我們的模型有利于預測分析。

提前停止:這種正則化技術更新模型,使其在每次迭代時更好地擬合訓練數據。經過一定次數的迭代后,新的迭代會改進模型。然而,在那之后,模型開始過度擬合訓練數據。提前停止是指在該點之前停止訓練過程。

23、神經網絡中Epoch、Batch和Iteration的區(qū)別是什么?

Epoch、迭代和批處理是用于處理梯度下降的數據集和算法的不同類型。所有這三種方法,即 epoch、迭代和批量大小,基本上都是根據數據集的大小處理梯度下降的方法。

Epoch:它代表對整個訓練數據集(放入訓練模型的所有內容)的一次迭代。

Batch:這是指由于計算量大的問題,我們無法一次將整個數據集傳遞到神經網絡中,因此我們將數據集分成幾批。

迭代: 讓我們有 10,000 張圖像作為我們的訓練數據集,我們選擇批量大小為 200。那么一個 epoch 應該運行(10000/200)次迭代,即 50 次迭代。

24、假設我們有一個感知器,其權重對應于三個輸入具有以下值:

W1 = 2;w2 =?4;w3 = 1單元的激活由階躍函數給出:φ(v) = 1 如果 v≥0否則為 0為以下每個輸入模式計算給定感知器的輸出值 y:解決方案:要計算每個給定模式的輸出值 y,我們必須遵循以下兩個步驟:a) 計算加權和:v = Σ i (w  i  x  i  )= w  i  ·x  i  +w  i  ·x  i  +w  i  ·x ib) 將激活函數應用于 v。

每個輸入模式的計算是:

P  1 : v = 2·1?4·0+1·0=2, (2>0), y=φ(2)=1

P  2 : v = 2·0?4·1+1·1=?3, (?3<0), y=φ(?3)=0

P  3 : v = 2·1?4·0+1·1=3, (3>0), y=φ(3)=1

P  4 : v = 2·1?4·1+1·1=?1, (?1<0), y=φ(?1)=0

25、考慮一個前饋神經網絡,它具有2個輸入(label -1和label** -2),并具有全連接層,而我們有2個隱藏層:

隱藏層 1:標記為 3 和 4 的節(jié)點

隱藏層 2:標記為 5 和 6 的節(jié)點節(jié)點 i 和 j 之間連接的權重由 w ij表示,例如 w24是節(jié)點 2 和 4 之間連接的權重。以下列表包含給定網絡中使用的所有權重值:w 13=-2, w 35 =1, w 23 = 3, w 45= -1, w  14 = 4, w 36 = -1, w 24 = -1, w 46=1節(jié)點 3、4、5 和 6 中的每一個都使用以下激活函數:φ(v) = 1 如果 v≥0 否則 0其中 v 表示節(jié)點的加權和。每個輸入節(jié)點(1 和 2)只能接收二進制值(0 或 1)。計算網絡的輸出(y  5和y 6),輸入模式由(node-1 和node-2 分別為0, 0)給出。

解決方案

要找到網絡的輸出,需要計算隱藏節(jié)點 3 和 4 的加權和:v3 =w13 x1 +w23 x2,v4 =w14 x1 +w24 x2然后使用激活函數 φ 找到隱藏節(jié)點的輸出:y 3 =φ(v3 ),y4 =φ(v4 )。使用隱藏節(jié)點 y3和 y4的輸出作為輸出層(節(jié)點 5 和 6)的輸入值,并找到輸出節(jié)點 5 和 6 的加權和:v5 =w35 y3 +w45 y4,v6 =w36y3 +w46 y4。最后,找到節(jié)點5和6的輸出(也使用φ):y5=φ(v5),y6=φ(v6)。輸出模式將為 (y5 , y6 )。對給定的輸入執(zhí)行此計算 – 輸入模式 (0, 0)v3 =?2·0+3·0=0, y3 =φ(0)=1v4 = 4·0?1·0 = 0,y4 =φ(0)= 1v5 =1·1?1·1=0, y5 =φ(0)=1v6 =?1·1+1·1=0, y6 =φ(0)=1因此,對于給定的輸入模式,網絡的輸出是 (1, 1)。

尾注

謝謝閱讀!希望你喜歡這些問題,并能夠測試你對人工神經網絡的了解。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    人工智能 獵頭職位 更多
    掃碼關注公眾號
    OFweek人工智能網
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網安備 44030502002758號