NLP系列 6 神經網路基礎

2021-09-23 08:09:01 字數 2209 閱讀 4982

前饋神經網路是一種最簡單的神經網路,各神經元分層排列。每個神經元只與前一層的神經元相連。接收前一層的輸出,並輸出給下一層.各層間沒有反饋。

神經網路的第一層。它接收輸入訊號(值)並將其傳遞至下一層,但不對輸入值執行任何運算。它沒有自己的權重值和偏置值。

隱藏層的神經元(節點)通過不同方式轉換輸入資料。乙個隱藏層是乙個垂直堆疊的神經元集。

它是神經網路的最後一層,接收來自最後乙個隱藏層的輸入。通過它我們可以得到合理範圍內的理想數值。

啟用函式負責為神經網路引入非線性特徵。它把值壓縮到乙個更小範圍。具體範圍依據啟用函式的種類而定。

與線性函式相比,啟用函式能夠對輸入進行非線性變換,將值對映到某乙個區域,可以解決線性不可分的問題,比如感知機無法判斷異或的問題。對於深度神經網路,我們在每一層線性變換後疊加乙個非線性啟用函式,以避免多層網路等效於單層線性函式,從而獲得更強大的學習與擬合能力。

常見的啟用函式有sigmoid、tanh、relu等。

啟用函式的優缺點分析:

sigmoid和tanh啟用函式均需要計算指數,複雜度高,而relu只需要乙個閾值即可得到啟用值。

relu的非飽和性可以有效地解決梯度消失的問題,提供相對寬的啟用邊界。

relu的單側抑制提供了網路的稀疏表達能力。

relu還有可能導致神經元死亡的問題,改進型別有leaky relu。

f (z

)=z & z > 0 \\ az & z \leq 0 \end

f(z)

=(w;x,y)=j(w;x,y)+\fracw^tw

j^(w;x

,y)=

j(w;

x,y)

+2α​

wtw等式右邊的第二項就是正則化的項。

正則化項之前通常還會新增乙個係數,比如上述的α

\alpha

αl1正則化是指權值向量w ww中各個元素的絕對值之和,通常表示為∣∣w

∣∣1||w||_1

∣∣w∣∣1

​l1正則化可以產生稀疏權值矩陣,即產生乙個稀疏模型,可以用於特徵選擇;一定程度上,l1也可以防止過擬合

l2正則化是指權值向量w ww中各個元素的平方和然後再求平方根(可以看到ridge回歸的l2正則化項有平方符號),通常表示為∣∣w

∣∣2||w||_2

∣∣w∣∣2

​l2正則化可以防止模型過擬合。

正則化的更多細節可以參考

如果在訓練集的訓練過程中發現在測試集中的誤差上公升,可以終止神經網路的訓練,將停止時的引數作為網路的最終引數。

dropout可以防止過擬合,另外由於丟棄了部分神經元也可以提高訓練速度。

具體而言是在將神經網路單元以一定的概率丟棄,所以每個batch中訓練的網路都不完全一樣。

可以參考

自適應過程是乙個不斷逼近目標的過程。它所遵循的途徑以數學模型表示,稱為自適應演算法。通常採用基於梯度的演算法,其中最小均方誤差演算法(即lms演算法)尤為常用。

常見的有adagrad、rmsprop、adam等,詳見

batch norm為批歸一化。

批量歸一化方法有效規避了這些複雜引數對網路訓練產生的影響, 在加速訓練收斂的同時也提公升了網路的泛化能力。

隨著網路訓練的進行, 每個隱層的引數變化使得後一層的輸入發生變化, 從而每一批訓練資料的分布也隨之改變, 致使網路在每次迭代中都需要擬合不同的資料分布, 增大訓練的複雜度以及過擬合的風險。

而批量歸一化方法是針對每一批資料, 在網路的每一層輸入之前增加歸一化處理(均值為0, 標準差為1) , 將所有批資料強制在統一的資料分布下。

常採用如下公式:

其中x (k

)x^x(k)

為該層第k個神經元的原始輸入資料, e[x

(k)]

e[x^]

e[x(k)

]為這一批輸入資料在第k個神經元的均值, 根號下的式子為這一批資料在第k個神經元的標準差。

批量歸一化可以看作在每一層輸入和上一層輸出之間加入了乙個新的計算層, 對資料的分布進行額外的約束, 從而增強模型的泛化能力。

利用fasttext模型進行文字分類。

參考:

NLP神經網路

nlp natural language processing 是ai的乙個分支,當前,使用最廣泛的主要神經網路有 迴圈神經網路 卷積神經網路 遞迴神經網路 rnns是處理nlp中普遍存在的動態輸入序列的乙個技術方案。cnns是計算機視覺領域的一項技術,現在也開始應用於語言。文字的cnns只在兩個維...

NLP系列 8 迴圈神經網路(RNN)

人的記憶原理也是與當前輸入和之前的輸入有關的。每個 的結果都會放到下乙個輸入裡進行運算,與下一次的輸入一起來生成下一次的結果。聽到一句話 我來找你 是在沒聽到乙個字或詞的時候大腦都會結合之前聽到的和現在聽到的組合起來,形成語句的理解。下面這種網路與我們的大腦對語句的理解過程很相似。迴圈神經網路,re...

NLP實戰 特徵工程 神經網路

神經網路 類別特徵做count,對於某類中數值型特徵存在區間段劃分的情況也可做count f1權重調整 將某一樣本的部分特徵做成w2v,增加聚類效果,強化近似類別之間的差異 初賽資料跟複賽資料concat 類別特徵一樣且可用 軌跡特徵做diff 差值特徵強時序性 閾值優化 蒙特卡洛搜尋 scipy....