您現在的位置是:首頁 > 武術
梳理數百個問題後,我總結出10個數據科學麵試必掌握概念……
- 由 讀芯術 發表于 武術
- 2022-01-13
啟用函式是線性函式嗎
全文共2614字,預計學習時長7分鐘
圖源:Google
深度學習和神經網路並不簡單,但好在面試官能測試的數量有限。在梳理了數百個資料科學麵試問題之後,本文總結出了10個最常出現的深度學習概念。話不多說,讓我們開始吧!
1.啟用函式(Activation Functions)
如果你對神經網路及其結構的還沒有基本瞭解,那麼建議閱讀Terence Shin的文章《神經網路初學者指南》(“A Beginner-Friendly Explanation of How Neural Networks Work”)。
對神經元或節點有基本瞭解之後,你就會發現啟用函式像電燈開關一樣,能夠決定是否啟用神經元。
啟用函式有幾種型別,但是最流行的啟用函式是整流線性單元函式,也稱為ReLU函式。ReLU函式優於S型函式和雙曲正切函式函式,因為它執行梯度下降的速度更快。
請注意,在影象中,當x(或z)很大時,斜率非常小,這會顯著減緩梯度下降,但這種情況不會出現在ReLU函式中。
2.代價函式(Cost Function)
神經網路的代價函式類似於其他機器學習模型的成本函式。它衡量的是神經網路的預測值與實際值相比有多“好”。代價函式與模型的質量成反比——模型質量越高,代價函式越低,反之亦然。
代價函式是最最佳化值。透過縮小神經網路的代價函式,可以獲得模型的最佳權重和引數,從而最大程度地發揮模型的效能。
有幾種常用的代價函式,包括二次方代價(quadratic cost)、交叉熵成本(cross-entropy cost)、指數成本(exponential cost)、Hellinger distance、Kullback-Leibler散度等。
3.反向傳播演算法(Backpropagation)
反向傳播演算法是一種與成本函式密切相關的演算法。具體來說,它是一種用於計算成本函式梯度的演算法。與其他演算法相比,反向傳播速度快、效率高,因而備受歡迎。
在這個演算法中,梯度的計算從權重的最後一層的梯度開始,然後反向傳播到權重的第一層梯度。因此,第k層的誤差取決於k + 1層。“反向傳播”也因此得名。
通常,反向傳播的工作原理如下:
· 計算每個輸入-輸出對正向階段的損失函式
· 計算每對反向階段的損失函式
· 結合各個權重的梯度值
· 根據學習率和總梯度更新權重
4.卷積神經網路(Convolutional Neural Networks)
卷積神經網路(CNN)是一種神經網路,它提取輸入資訊(通常是影象),按照重要程度將影象的不同特徵進行分類,然後輸出預測。CNN優於前饋神經網路的原因在於,它可以更好地捕獲整個影象的空間(畫素)依賴性,這意味著它可以更好地理解影象的組成。
CNN使用一種稱為“卷積”的數學運算。維基百科這樣定義卷積:對兩個函式的數學運算產生了第三個函式,該函式表示一個函式的形狀如何被另一個函式修改。因此,CNN在其至少一層中使用卷積代替通用矩陣乘法。
5.迴圈神經網路(Recurrent Neural Networks)
迴圈神經網路(RNN)是另一種神經網路,能夠攝取各種大小的輸入資訊,因此可與序列資料配合使用,效果極佳。RNN既考慮當前輸入也考慮先前給定的輸入,這意味著相同的輸入在技術上可以基於先前的給定輸入產生不同的輸出。
從技術上講,RNN是一種神經網路,其中節點之間的連線沿時間序列形成有向圖,從而使它們可以使用其內部儲存器來處理可變長度的輸入序列。
6.長短期記憶網路(Long Short-Term Memory Networks)
長短期記憶網路(LSTM)是一種遞迴神經網路,可彌補常規RNN的一大劣勢:短期記憶。
具體來說,如果序列太長,即滯後時間大於5-10個步長,則RNN傾向於忽略先前步驟中提供的資訊。例如,如果我們將一個段落輸入RNN,則它可能會忽略該段落開頭提供的資訊。為了解決這個問題,LSTM誕生了。
7.權重初始化(Weight Initialization)
權重初始化的要點是保證神經網路不會收斂到無效解。如果權重全部初始化為相同的值(例如零),則每個單元將獲得完全相同的訊號,並且每一層的輸出都是一樣的。
因此,你要隨機初始化權重,使其接近零,但不等於零。用於訓練模型的隨機最佳化演算法就要達到這樣效果。
8.批次梯度下降和隨機梯度下降(Batch vs. Stochastic Gradient Descent)
批次梯度下降和隨機梯度下降是用於計算梯度的兩種不同方法。
批次梯度下降僅使用整個資料集計算梯度。特別是對於較大的資料集,它要慢得多,但對於凸或平滑誤差流形來說效果更好。
在隨機梯度下降的情況下,一次使用單個訓練樣本來計算梯度。因此,它的計算速度更快且成本更低。然而,在這種情況下達到全域性最優值時,它趨向於反彈。這會產生好的解決方案,但不是最優解決方案。
9.超引數(Hyper-parameters)
超引數既是調節網路結構的變數,也是控制網路訓練方式的變數。常見的超引數包括:
· 模型架構引數,例如層數,隱藏單元數等…
· 學習率(alpha)
· 網路權重初始化
· 時期數(定義為整個訓練資料集中的一個週期)
· 批次
· 其他
10.學習率(Learning Rate)
學習率是神經網路中使用的超引數,每次更新模型權重時,神經網路都會控制該模型響應估計的誤差調整模型的數量。
如果學習率太低,則模型訓練將進行得非常緩慢,因為每次迭代中對權重進行的更新最少。因此,在達到最低點之前需要進行多次更新。如果將學習率設定得太高,則由於權重的急劇更新,會對損失函式造成不良的發散行為,並且可能無法收斂。
以上就是深度學習中最常出現的10個概念。認真學習這10個概念,將有助於你在深度學習領域奠定堅實的基礎。希望這對你的面試有所幫助。
留言點贊關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範