訂閱
糾錯
加入自媒體

如何在神經(jīng)網(wǎng)絡中初始化權重和偏差?

介紹

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

1、感知器是什么意思?

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

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

有兩種類型的感知器:

1. 單層感知器

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

2. 多層感知器

多層感知器,也稱為具有兩層或多層的前饋神經(jīng)網(wǎng)絡,具有更高的處理能力。

3、損失函數(shù)有什么用?

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

4、激活函數(shù)在神經(jīng)網(wǎng)絡中的作用是什么?

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

5、列出神經(jīng)網(wǎng)絡中使用的一些流行的激活函數(shù)的名稱。

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

Sigmoid 函數(shù)

雙曲正切函數(shù)

整流線性單元 (RELU) 函數(shù)

Leaky  RELU 函數(shù)

最大輸出函數(shù)

指數(shù)線性單元 (ELU) 函數(shù)

6、成本函數(shù)是什么意思?

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

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

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

8、如何在神經(jīng)網(wǎng)絡中初始化權重和偏差?

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

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

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

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

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

梯度下降的三種類型:

小批量梯度下降

隨機梯度下降

批量梯度下降

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

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

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

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

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

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

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

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

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

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

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

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

16、學習率如何影響神經(jīng)網(wǎng)絡的訓練?

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

17、超參數(shù)是什么意思?

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

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

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

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

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

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

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

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

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

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

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

21、為什么深度神經(jīng)網(wǎng)絡比淺神經(jīng)網(wǎng)絡更受歡迎?

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

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

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

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

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

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

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

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

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

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

W1 = 2;w2 =?4;w3 = 1單元的激活由階躍函數(shù)給出:φ(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) 將激活函數(shù)應用于 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、考慮一個前饋神經(jīng)網(wǎng)絡,它具有2個輸入(label -1和label** -2),并具有全連接層,而我們有2個隱藏層:

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

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

解決方案

要找到網(wǎng)絡的輸出,需要計算隱藏節(jié)點 3 和 4 的加權和:v3 =w13 x1 +w23 x2,v4 =w14 x1 +w24 x2然后使用激活函數(shù) φ 找到隱藏節(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因此,對于給定的輸入模式,網(wǎng)絡的輸出是 (1, 1)。

尾注

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

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

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

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

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

暫無評論

暫無評論

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

粵公網(wǎng)安備 44030502002758號