日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

神经网路语言模型(NNLM)的理解

發布時間:2024/9/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 神经网路语言模型(NNLM)的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用神經網絡來訓練語言模型的思想最早由百度 IDL (深度學習研究院)的徐偉提出[1],NNLM(Nerual Network Language Model)是這方面的一個經典模型,具體內容可參考 Bengio 2003年發表在JMLR上的論文。原文地址:
http://jmlr.org/papers/volume3/bengio03a/bengio03a.pdf

與傳統的估算p(wt∣wt?(n?1),...wt?1)p(w_t|w_{t-(n-1)},...w_{t-1})p(wt?wt?(n?1)?,...wt?1?)不同,NNLM模型直接通過一個神經網絡結構對n元條件概率進行評估,NNLM模型的基本結構如下:

1. 模型原理

1.1 模型輸入:

首先從語料庫中搜集一系列長度為n的文本序列(wt,wt?1...wt?(n?1))(w_t,w_{t-1}...w_{t-(n-1)})(wt?,wt?1?...wt?(n?1)?),然后組成訓練集D,我這里的理解是語料庫就是我們在特定領域搜集的文本語料,同時還要有一個詞典。有了訓練數據和詞典,下面就來看下模型是怎樣進行前向傳播的。

這里先對單個語句序列進行計算,也可以說是單個樣本,比如:w1…wTw_1 …w_Tw1?wT? 其中wt∈Vw_t∈Vwt?V,這里的VVV是所有單詞的集合(即詞典),ViV_iVi?表示詞典中的第 i 個單詞。

1.2 模型參數:

NNLM的目標是訓練如下模型:
f(wt,wt?1,...,wt?n+2,wt?n+1)=p(wt∣w1t?1)f(w_t,w_{t?1},...,w_{t?n+2},w_{t?n+1})=p(w_t|w_1^{t?1})f(wt?,wt?1?,...,wt?n+2?,wt?n+1?)=p(wt?w1t?1?)
其中wtw_twt?表示詞序列中第t個單詞,w1t?1w_1^{t?1}w1t?1?表示從第1個詞到第t個詞組成的子序列。模型需要滿足的約束條件是:

  • f(wt,wt?1,...,wt?n+2,wt?n+1)>0f(w_t,w_{t?1},...,w_{t?n+2},w_{t?n+1})>0f(wt?,wt?1?,...,wt?n+2?,wt?n+1?)>0
  • ∑i∣V∣f(wt,wt?1,...,wt?n+2,wt?n+1)=1\sum ^{|V|}_i f(w_t,w_{t?1},...,w_{t?n+2},w_{t?n+1})=1iV?f(wt?,wt?1?,...,wt?n+2?,wt?n+1?)=1

上面模型的意思是當給定一段序列時,由其前面的(t-1)個詞預測第n個詞的概率。
限制條件一:即是通過網絡得到的每個概率值都要大于0。
而對于第二個限制條件:因為我們的神經網絡模型最終得到的輸出是針對每t-1個詞的輸入來預測下一個,也即是第t個詞是什么。因此模型的實際輸出是一個向量,該向量的每一個分量依次對應下一個詞為詞典中某個詞的概率。所以|v|維的概率值中必定有一個最大的概率,而其他的概率較小。

上面是模型的輸入和輸出,下面說下前向傳播的過程:該模型可分為特征映射和計算條件概率分布兩部分

  • 特征映射:通過映射矩陣 C∈R∣V∣×mC \in R^{|V|×m}CRV×m將輸入的每個詞映射為一個特征向量,C(i)∈RmC(i) \in R^mC(i)Rm表示詞典中第 i 個詞對應的特征向量,其中 m 表示特征向量的維度。這里的映射可以是one-hot。然后將通過特征映射得到C(wt?n+1),...,C(wt?1)C(w_{t?n+1}),...,C(w_{t?1})C(wt?n+1?),...,C(wt?1?)合并成一個 (n?1)m(n?1)m(n?1)m維的向量(C(wt?n+1),...,C(wt?1))(C(w_{t?n+1}),...,C(w_{t?1}))(C(wt?n+1?),...,C(wt?1?)),因為每一個詞是m維的,總共有n-1個詞,所以總共有(n?1)m(n?1)m(n?1)m維。
    也可以說是:一個從詞匯表V到實數向量空間的映射C。通過這個映射得到每個單詞的向量表示。

  • 計算條件概率分布:通過一個函數 g(g是前饋或遞歸神經網絡)將輸入的詞向量序列(C(wt?n+1),...,C(wt?1))(C(w_{t?n+1}),...,C(w_{t?1}))(C(wt?n+1?),...,C(wt?1?))轉化為一個概率分布 y∈R∣V∣y∈R^{|V|}yRV,所以這里的輸出是|v|維的,和詞典的維度是相同的。y中第 i 位表示詞序列中第 n 個詞是 Vi的概率,即:f(i,wt?1,...,wt?n+2,wt?n+1)=g(i,C(wt?n+1),...,C(wt?1))f(i,w_{t?1},...,w_{t?n+2},w_{t?n+1})=g(i,C(w_{t?n+1}),...,C(w_{t?1}))f(i,wt?1?,...,wt?n+2?,wt?n+1?)=g(i,C(wt?n+1?),...,C(wt?1?))

  • 下面詳細介紹下神經網絡的結構,網絡輸出層采用的是softmax函數,如下式所示:
    p(wt∣wt?1,...,wt?n+2,wt?n+1)=eywt∑ieyip(w_t|w_{t?1},...,w_{t?n+2},w_{t?n+1})=\frac{e^{y_{w_t}}}{∑_ie^{y_i}}p(wt?wt?1?,...,wt?n+2?,wt?n+1?)=i?eyi?eywt???

    其中y=b+Wx+Utanh(d+Hx)y=b+Wx+Utanh(d+Hx)y=b+Wx+Utanh(d+Hx),模型的參數 θ=(b,d,W,U,H,C)\theta=(b,d,W,U,H,C)θ=(bdWUHC)。x=(C(wt?n+1),...,C(wt?1))x=(C(w_{t?n+1}),...,C(w_{t?1}))x=(C(wt?n+1?),...,C(wt?1?))是神經網絡的輸入。W∈R∣V∣×(n?1)mW \in R^{|V|×(n?1)m}WRV×(n?1)m是可選參數,如果輸入層與輸出層沒有直接相連(如圖中綠色虛線所示),則可令W=0。

    當輸入層和輸出層沒有直接相連時:
    H∈Rh×(n?1)mH \in R^{h×(n?1)m}HRh×(n?1)m是輸入層到隱含層的權重矩陣,其中h表示隱含層神經元的數目。此時隱藏層運算:h×(n?1)mh×(n?1)mh×(n?1)m(n?1)m×1(n-1)m ×1(n?1)m×1 相乘得到h×1h×1h×1
    U∈R∣V∣×hU∈R^{|V|×h}URV×h是隱含層到輸出層的權重矩陣。d∈Rhd\in R^hdRhb∈R∣V∣b \in R^{|V|}bRV分別是隱含層和輸出層的偏置參數。這時的輸出層運算:∣V∣×h|V|×hV×hh×1h×1h×1相乘得到∣V∣×1|V|×1V×1。

    以上就是前向傳播的過程。

    1.3 模型訓練

    模型的訓練目標是最大化以下似然函數:
    L=1T∑tlogf(wt,wt?1,...,wt?n+2,wt?n+1;θ)+R(θ)L=\frac{1}{T} \sum_t logf(w_t,w_{t?1},...,w_{t?n+2},w_{t?n+1};θ)+R(θ)L=T1?t?logf(wt?,wt?1?,...,wt?n+2?,wt?n+1?;θ)+R(θ),其中θ\thetaθ為模型的所有參數,R(θ)R(\theta)R(θ)為正則化項。

    使用梯度下降算法更新參數的過程如下:
    θ←θ+λ?logp(wt∣wt?1,...,wt?n+2,wt?n+1)?θ\theta←\theta+ \lambda \frac{?logp(wt|wt?1,...,wt?n+2,wt?n+1)}{?θ}θθ+λ?θ?logp(wtwt?1,...,wt?n+2,wt?n+1)?,其中λ\lambdaλ為步長。

    總結:由于NNLM模型使用了低維緊湊的詞向量對上文進行表示,這解決了詞袋模型帶來的數據稀疏、語義鴻溝等問題。顯然nnlm是一種更好的n元語言模型;另一方面在相似的上下文語境中,nnlm模型可以預測出相似的目標詞,而傳統模型無法做到這一點。

    參考:
    https://blog.csdn.net/u010089444/article/details/52624964?ref=myread
    https://www.zhihu.com/question/32275069

    總結

    以上是生活随笔為你收集整理的神经网路语言模型(NNLM)的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。