久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Word2vec之公式推導(dǎo)筆記 | PLM's Notes | 好好學習,,天天筆記

 Clay*more 2021-12-18

cs224n word2vec 簡介和公式推導(dǎo)

https://plmsmile./2017/11/02/cs224n-lecture2-word2vec/#

Word meaning

詞意

詞的意思就是idea,,如下:

  • 詞匯本身表達的意義

  • 人通過詞匯傳達的想法

  • 在寫作,、藝術(shù)中表達的意思

  • signifier - signified(idea or thing) - denotation

傳統(tǒng)離散表達

傳統(tǒng)使用分類學去建立一個WordNet,其中包含許多上位詞is-a和同義詞集等,。如下:

上義詞同義詞
entity, physical_entity,object, organism, animalfull, good; estimable, good, honorable, respectable

離散表達的問題:

  • 丟失了細微差別,,比如同義詞:adept, expert, good, practiced, proficient, skillful

  • 不能處理新詞匯

  • 分類太主觀

  • 需要人力去構(gòu)建和修改

  • 很難去計算詞匯相似度

每個單詞使用one-hot編碼,,比如hotel=[0,1,0,0,0][0,1,0,0,0],,motel=[0,0,1,0,0][0,0,1,0,0],。 當我搜索settle hotel的時候也應(yīng)該去匹配包含settle motel的文章,。 但是我們的查詢hotel向量和文章里面的motel向量卻是正交的算不出相似度,。

分布相似表達

通過一個單詞的上下文去表達這個單詞,。

You shall know a word by the company it keeps. --- JR. Firth

例如,下面用周圍的單詞去表達banking

government debt problems turning into banking crises as has happened in saying that Europe needs unified banking regulation to replace the hodgepodge

稠密詞向量

一個單詞的意義應(yīng)該是由它本身的詞向量來決定的,。這個詞向量可以預(yù)測出的上下文單詞,。

比如lingustics的詞向量是[0.286,0.792,?0.177,?0.107,0.109,?0.542,0.349][0.286,0.792,?0.177,?0.107,0.109,?0.542,0.349]

詞嵌入思想

構(gòu)建一個模型,,根據(jù)中心單詞wtwt,,通過自身詞向量,去預(yù)測出它的上下文單詞,。 p(contextwt)=?p(context∣wt)=? 損失函數(shù)如下,,w?tw?t表示wtwt的上下文(負號通常表示除了某某之外),如果完美預(yù)測,,損失函數(shù)為0,。 J=1?p(w?twt)J=1?p(w?t∣wt)

Word2Vec

在每個單詞和其上下文之間進行預(yù)測。

有兩種算法:

  • Skip-grams(SG): 給目標單詞,,預(yù)測上下文

  • Continuous Bag of Words(CBOW):給上下文,,預(yù)測目標單詞

兩個稍微高效的訓練方法:

  • 分層softmax

  • 負采樣

課上只是Naive softmax。兩個模型,,兩種方法,,一共有4種實現(xiàn)。這里是word2vec詳細信息,。

Skip-gram

對于每個單詞wtwt,,會選擇一個上下文窗口mm。 然后要預(yù)測出范圍內(nèi)的上下文單詞,,使概率P(wt+iwt)P(wt+i∣wt)最大,。

目標函數(shù)

θθ是我們要訓練的參數(shù),目標函數(shù)就是所有位置預(yù)測結(jié)果的乘積,,最大化目標函數(shù): J(θ)=Tt=1?mjmp(wt+jwt;θ),tjJ′(θ)=∏t=1T∏?m≤j≤mp(wt+j∣wt;θ),t≠j 一般使用negative log likelihood負采樣教程,。

最大化目標函數(shù),就得得到損失函數(shù),。對于對數(shù)似然函數(shù),,取其負對數(shù)就可以得到損失函數(shù),再最小化損失函數(shù),,其中TT是文本長度,,mm是窗口大小: J(θ)=?1TTt=1?mjmlogP(wt+jwt)J(θ)=?1T∑t=1T∑?m≤j≤mlog?P(wt+j∣wt)

  • Loss 函數(shù) = Cost 函數(shù) = Objective 函數(shù)

  • 對于softmax概率分布,,一般使用交叉熵作為損失函數(shù)

  • 單詞wt+jwt+j是one-hot編碼

  • negative log probability

Word2vec細節(jié)

詞匯和詞向量符號說明:

  • uu 上下文詞向量,,向量是dd維的

  • vv 詞向量

  • 中心詞匯tt,對應(yīng)的向量是vtvt

  • 上下文詞匯jj ,,對應(yīng)的詞向量是ujuj

  • 一共有VV個詞匯

計算p(wt+jwt)p(wt+j∣wt),, 即: p(wjwt)=softmax(uTj?vt)=exp(uTj?vt)Vi=1exp(uTi?vt)p(wj∣wt)=softmax(ujT?vt)=exp?(ujT?vt)∑i=1Vexp?(uiT?vt) 兩個單詞越相似,點積越大,,向量點積如下: uT?v=Mi=1ui×viuT?v=∑i=1Mui×vi softmax之所以叫softmax,,是因為指數(shù)會讓大的數(shù)越大,小的數(shù)越小,。類似于max函數(shù),。下面是計算的詳細信息:

一些理解和解釋:

  • wtwt是one-hot編碼的中心詞匯,,維數(shù)是(V,1)(V,1)

  • WW是詞匯表達矩陣,維數(shù)是(d,V)(d,V),,一列就是一個單詞

  • Wwt=vtWwt=vt 相乘得到詞向量vtvt ,,(d,V)?(V,1)(d,1)(d,V)?(V,1)→(d,1)dd維向量去表達了詞匯t

  • WW′,, W?vt=sW′?vt=s,,(V,d)?(d,1)(V,1)(V,d)?(d,1)→(V,1) , 得到 語義相似度向量ss

  • 再對ss進行softmax即可求得上下文詞匯

  • 每個單詞有兩個向量,,作為center單詞向量和context單詞向量

偏導(dǎo)計算

設(shè)oo是上下文單詞,,cc是中心單詞,條件概率如下: P(oc)=exp(uTo?vc)Vi=1exp(uTi?vc)P(o∣c)=exp?(uoT?vc)∑i=1Vexp?(uiT?vc) 這里只計算logPlog?Pvcvc向量的偏導(dǎo),。

θθ向量表示所有的參數(shù),,有VV個單詞,dd維向量,。每個單詞有2個向量,。參數(shù)個數(shù)一共是2dV2dV個。

向量偏導(dǎo)計算公式,,x,ax,a 均是向量 ?xTa?x=?aTx?x=a?xTa?x=?aTx?x=a 函數(shù)偏導(dǎo)計算,,鏈式法則y=f(u),u=g(x)y=f(u),u=g(x) dydx=dydududxdydx=dydududx 最小化損失函數(shù)J(θ)=?1TTt=1?mjmlogP(wt+jwt),jmJ(θ)=?1T∑t=1T∑?m≤j≤mlog?P(wt+j∣wt),j≠m 這里只計算vcvc的偏導(dǎo),,先進行分解原式為2個部分??vclogP(oc)=??vclogexp(uTo?vc)Vi=1exp(uTi?vc)=??vclogexp(uTo?vc)1???vclogVi=1exp(uTi?vc)2??vclog?P(o∣c)=??vclog?exp?(uoT?vc)∑i=1Vexp?(uiT?vc)=??vclog?exp?(uoT?vc)?1???vclog?∑i=1Vexp?(uiT?vc)?2 部分1推導(dǎo) ??vclogexp(uTo?vc)=??vcuTo?vc=uo??vclog?exp?(uoT?vc)=??vcuoT?vc=uo 部分2推導(dǎo) ??vclogVi=1exp(uTi?vc)=1Vi=1exp(uTi?vc)???vcVx=1exp(uTx?vc)=1A?Vx=1??vcexp(uTx?vc)=1A?Vx=1exp(uTx?vc)??vcuTx?vc=1Vi=1exp(uTi?vc)?Vx=1exp(uTx?vc)ux=Vx=1exp(uTx?vc)Vi=1exp(uTi?vc)?ux=Vx=1P(xc)?ux??vclog?∑i=1Vexp?(uiT?vc)=1∑i=1Vexp?(uiT?vc)???vc∑x=1Vexp?(uxT?vc)=1A?∑x=1V??vcexp?(uxT?vc)=1A?∑x=1Vexp?(uxT?vc)??vcuxT?vc=1∑i=1Vexp?(uiT?vc)?∑x=1Vexp?(uxT?vc)ux=∑x=1Vexp?(uxT?vc)∑i=1Vexp?(uiT?vc)?ux=∑x=1VP(x∣c)?ux 所以,,綜合起來可以求得,單詞o是單詞c的上下文概率logP(oc)log?P(o∣c) 對center向量vcvc的偏導(dǎo): ??vclogP(oc)=uo?Vx=1P(xc)?ux=???vclog?P(o∣c)=uo?∑x=1VP(x∣c)?ux=觀察到的?期望的 實際上偏導(dǎo)是,,單詞oo的上下文詞向量,,減去,所有單詞xx的上下文向量乘以x作為cc的上下文向量的概率,。

總體梯度計算

在一個window里面,,對中間詞匯vcvc求了梯度, 然后再對各個上下文詞匯uouo求梯度,。 然后更新這個window里面用到的參數(shù),。

比如句子We like learning NLP。設(shè)m=1m=1

  • 中間詞匯求梯度 vlikevlike

  • 上下文詞匯求梯度 uweuweulearningulearning

  • 更新參數(shù)

梯度下降

有了梯度之后,,參數(shù)減去梯度,,就可以朝著最小的方向走了。機器學習梯度下降 θnew=θold?α??θoldJ(θ),θnew=θold?αΔθJ(θ)θnew=θold?α??θoldJ(θ),θnew=θold?αΔθJ(θ) 隨機梯度下降

預(yù)料會有很多個window,,因此每次不能更新所有的,。只更新每個window的,對于window t: θnew=θold?αΔθJt(θ)θnew=θold?αΔθJt(θ)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多