動手學深度學習 語言模型

2021-10-02 20:14:58 字數 1789 閱讀 8716

語言模型

一段自然語言文字可以看作是乙個離散時間序列,給定乙個長度為t

tt的詞的序列ω1,

ω2,.

..,ω

t,\omega_,...,\omega_}

ω1​,ω2

​,..

.,ωt

​,語言模型的目標就是評估該序列是否合理,即計算該序列的概率。假設序列的每個詞是依次生成的,則:

p (ω

1,ω2

,...

,ωt)

=πt=

1tp(

ωt∣ω

1,..

.,ωt

−1)=

p(ω1

)p(ω

2∣ω1

)...

p(ωt

∣ω1ω

2...

ωt−1

)p(\omega_,\omega_,...,\omega_)=\pi_^p(\omega_ | \omega_,...,\omega_)=p(\omega_)p(\omega_ | \omega_)...p(\omega_ | \omega_\omega_...\omega_)

p(ω1​,

ω2​,

...,

ωt​)

=πt=

1t​p

(ωt​

∣ω1​

,...

,ωt−

1​)=

p(ω1

​)p(

ω2​∣

ω1​)

...p

(ωt​

∣ω1​

ω2​.

..ωt

−1​)

語言模型的引數就是詞的概率以及給定前幾個詞情況下的條件概率。設訓練資料集為乙個大型文字語料庫,如維基百科的所有條目,詞的概率可以通過該詞在訓練資料集中的相對詞頻來計算,例如,ω

1\omega_

ω1​的概率可以計算為:

p ^(

ω1)=

n(ω1

)n

\hat(\omega_) = \frac)}

p^(ω1​

)=nn

(ω1​

)​其中n (ω

1)

n(\omega_)

n(ω1​)

為語料庫中以\omega_作為第乙個詞的文字的數量,n

nn為語料庫中文字的總數量。

p ^(

ω2∣ω

1)=n

(ω1,

ω2)n

(ω1)

\hat(\omega_ | \omega_) = \frac,\omega_)})}

p^(ω2​

∣ω1​

)=n(

ω1​)

n(ω1

​,ω2

​)​其中n(ω

1,ω2

)n(\omega_,\omega_)

n(ω1​,

ω2​)

為語料庫中以ω

1\omega_

ω1​作為第乙個詞,ω

2\omega_

ω2​作為第二個詞的文字的數量。

時序資料的取樣

時序資料的取樣有兩種:隨機取樣和相鄰取樣。

(1)隨機取樣

每次迭代中隨機取樣乙個小批量作為訓練資料。在隨機取樣中,每個樣本是原始序列上任意擷取的一段序列,相鄰的兩個隨機小批量在原始序列上的位置不一定相毗鄰。

(2)相鄰取樣

在相鄰取樣中,相鄰的兩個隨機小批量在原始序列上的位置相毗鄰。

動手學深度學習

線性回歸的基本要素 模型 為了簡單起見,這裡我們假設 只取決於房屋狀況的兩個因素,即面積 平方公尺 和房齡 年 接下來我們希望探索 與這兩個因素的具體關係。線性回歸假設輸出與各個輸入之間是線性關係 price warea area wage age b price warea area wage a...

動手學pytorch 語言模型

假設序列 w 1,w 2,ldots,w t 中的每個詞是依次生成的,我們有 begin p w 1,w 2,ldots,w t prod t p w t mid w 1,ldots,w p w 1 p w 2 mid w 1 cdots p w t mid w 1w 2 cdots w end 例...

動手學深度學習(一)

其中 w1 和 w2 是權重 weight b 是偏差 bias 且均為標量。訓練資料 損失函式 通常,我們用訓練資料集中所有樣本誤差的平均來衡量模型 的質量 w 1,w 2,b 為使訓練樣本平均損失最小的解 優化演算法 b 代表每個小批量中的樣本個數 批量大小,batch size 稱作學習率 l...