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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

2.3 词嵌入的特性-深度学习第五课《序列模型》-Stanford吴恩达教授

發(fā)布時(shí)間:2025/4/5 pytorch 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.3 词嵌入的特性-深度学习第五课《序列模型》-Stanford吴恩达教授 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

詞嵌入的特性 (Properties of Word Embeddings)

到現(xiàn)在,你應(yīng)該明白了詞嵌入是如何幫助你構(gòu)建自然語(yǔ)言處理應(yīng)用的。詞嵌入還有一個(gè)迷人的特性就是它還能幫助實(shí)現(xiàn)類比推理,盡管類比推理可能不是自然語(yǔ)言處理應(yīng)用中最重要的,不過(guò)它能幫助人們理解詞嵌入做了什么,以及詞嵌入能夠做什么,讓我們來(lái)一探究竟。

這是一系列你希望詞嵌入可以捕捉的單詞的特征表示,假如我提出一個(gè)問(wèn)題,man如果對(duì)應(yīng)woman,那么king應(yīng)該對(duì)應(yīng)什么?你們應(yīng)該都能猜到king應(yīng)該對(duì)應(yīng)queen。能否有一種算法來(lái)自動(dòng)推導(dǎo)出這種關(guān)系,下面就是實(shí)現(xiàn)的方法。

我們用一個(gè)四維向量來(lái)表示man,我們用 e5391e_{5391}e5391? 來(lái)表示,不過(guò)在這節(jié)視頻中我們先把它(上圖編號(hào)1所示)稱為 emane_{man}eman? ,而旁邊這個(gè)(上圖編號(hào)2所示)表示woman的嵌入向量,稱它為 ewomane_{woman}ewoman? ,對(duì)kingqueen也是用一樣的表示方法。在該例中,假設(shè)你用的是四維的嵌入向量,而不是比較典型的50到1000維的向量。這些向量有一個(gè)有趣的特性,就是假如你有向量 emane_{man}eman?ewomane_{woman}ewoman? ,將它們進(jìn)行減法運(yùn)算,即

eman?ewoman=[?10.010.030.09]?[10.020.020.01]=[?2?0.010.010.08]≈[?2000]e_{man}-e_{woman}=\left[\begin{matrix}-1\\0.01\\0.03\\0.09\end{matrix}\right]-\left[\begin{matrix}1\\0.02\\0.02\\0.01\end{matrix}\right]=\left[\begin{matrix}-2\\-0.01\\0.01\\0.08\end{matrix}\right]\approx\left[\begin{matrix}-2\\0\\0\\0\end{matrix}\right]eman??ewoman?=??????10.010.030.09????????????10.020.020.01??????=??????2?0.010.010.08????????????2000??????

類似的,假如你用 ekinge_{king}eking? 減去 equeene_{queen}equeen? ,最后也會(huì)得到一樣的結(jié)果,即

eking?equeen=[?0.950.930.700.02]?[0.970.950.690.01]=[?1.92?0.020.010.01]≈[?2000]e_{king}-e_{queen}=\left[\begin{matrix}-0.95\\0.93\\0.70\\0.02\end{matrix}\right]-\left[\begin{matrix}0.97\\0.95\\0.69\\0.01\end{matrix}\right]=\left[\begin{matrix}-1.92\\-0.02\\0.01\\0.01\end{matrix}\right]\approx\left[\begin{matrix}-2\\0\\0\\0\end{matrix}\right]eking??equeen?=??????0.950.930.700.02????????????0.970.950.690.01??????=??????1.92?0.020.010.01????????????2000??????

這個(gè)結(jié)果表示,manwoman主要的差異是gender(性別)上的差異,而kingqueen之間的主要差異,根據(jù)向量的表示,也是gender(性別)上的差異,這就是為什么 eman?ewomane_{man}-e_{woman}eman??ewoman?eking?equeene_{king}-e_{queen}eking??equeen? 結(jié)果是相同的。所以得出這種類比推理的結(jié)論的方法就是,當(dāng)算法被問(wèn)及man對(duì)woman相當(dāng)于king對(duì)什么時(shí),算法所做的就是計(jì)算 eman?ewomane_{man}-e_{woman}eman??ewoman? ,然后找出一個(gè)向量也就是找出一個(gè)詞,使得 eman?ewoman≈eking?e?e_{man}-e_{woman}\approx e_{king}-e_?eman??ewoman?eking??e?? ,也就是說(shuō),當(dāng)這個(gè)新詞是queen時(shí),式子的左邊會(huì)近似地等于右邊。這種思想首先是被Tomas MikolovWen-tau Yih還有Geoffrey Zweig提出的,這是詞嵌入領(lǐng)域影響力最為驚人和顯著的成果之一,這種思想幫助了研究者們對(duì)詞嵌入領(lǐng)域建立了更深刻的理解。

(Mikolov T, Yih W T, Zweig G. Linguistic regularities in continuous space word representations[J]. In HLT-NAACL, 2013.)

讓我們來(lái)正式地探討一下應(yīng)該如何把這種思想寫成算法。在圖中,詞嵌入向量在一個(gè)可能有300維的空間里,于是單詞man代表的就是空間中的一個(gè)點(diǎn),另一個(gè)單詞woman代表空間另一個(gè)點(diǎn),單詞king也代表一個(gè)點(diǎn),還有單詞queen也在另一點(diǎn)上(上圖編號(hào)1方框內(nèi)所示的點(diǎn))。事實(shí)上,我們?cè)谏蟼€(gè)幻燈片所展示的就是向量manwoman的差值非常接近于向量kingqueen之間的差值,我所畫的這個(gè)箭頭(上圖編號(hào)2所示)代表的就是向量在gender(性別)這一維的差,不過(guò)不要忘了這些點(diǎn)是在300維的空間里。為了得出這樣的類比推理,計(jì)算當(dāng)man對(duì)于woman,那么king對(duì)于什么,你能做的就是找到單詞w來(lái)使得, eman?ewoman≈eking?ewe_{man}-e_{woman}\approx e_{king}-e_weman??ewoman?eking??ew? 這個(gè)等式成立,你需要的就是找到單詞w來(lái)最大化 ewe_wew?eking?eman+ewomane_{king}-e_{man}+e_{woman}eking??eman?+ewoman? 的相似度,即

Findwordw:argmaxSim(ew,eking?eman+ewoman)Find word w: arg\ max\ Sim(e_w, e_{king}-e_{man}+e_{woman})Findwordw:arg?max?Sim(ew?,eking??eman?+ewoman?)

所以我做的就是我把這個(gè) ewe_wew? 全部放到等式的一邊,于是等式的另一邊就會(huì)是 eking?eman+ewomane_{king}-e_{man}+e_{woman}eking??eman?+ewoman? 。我們有一些用于測(cè)算 ewe_wew?eking?eman+ewomane_{king}-e_{man}+e_{woman}eking??eman?+ewoman? 之間的相似度的函數(shù),然后通過(guò)方程找到一個(gè)使得相似度最大的單詞,如果結(jié)果理想的話會(huì)得到單詞queen。值得注意的是這種方法真的有效,如果你學(xué)習(xí)一些詞嵌入,通過(guò)算法來(lái)找到使得相似度最大化的單詞w,你確實(shí)可以得到完全正確的答案。不過(guò)這取決于過(guò)程中的細(xì)節(jié),如果你查看一些研究論文就不難發(fā)現(xiàn),通過(guò)這種方法來(lái)做類比推理準(zhǔn)確率大概只有30%~75%,只要算法猜中了單詞,就把該次計(jì)算視為正確,從而計(jì)算出準(zhǔn)確率,在該例子中,算法選出了單詞queen

在繼續(xù)下一步之前,我想再說(shuō)明一下左邊的這幅圖(上圖編號(hào)1所示),在之前我們談到過(guò)用t-SNE算法來(lái)將單詞可視化。t-SNE算法所做的就是把這些300維的數(shù)據(jù)用一種非線性的方式映射到2維平面上,可以得知t-SNE中這種映射很復(fù)雜而且很非線性。在進(jìn)行t-SNE映射之后,你不能總是期望使等式成立的關(guān)系,會(huì)像左邊那樣成一個(gè)平行四邊形,盡管在這個(gè)例子最初的300維的空間內(nèi)你可以依賴這種平行四邊形的關(guān)系來(lái)找到使等式成立的一對(duì)類比,通過(guò)t-SNE算法映射出的圖像可能是正確的。但在大多數(shù)情況下,由于t-SNE的非線性映射,你就沒(méi)法再指望這種平行四邊形了,很多這種平行四邊形的類比關(guān)系在t-SNE映射中都會(huì)失去原貌。

現(xiàn)在,再繼續(xù)之前,我想再快速地列舉一個(gè)最常用的相似度函數(shù),這個(gè)最常用的相似度函數(shù)叫做余弦相似度。這是我們上個(gè)幻燈片所得到的等式(下圖編號(hào)1所示),在余弦相似度中,假如在向量 uuuvvv 之間定義相似度:

sim(u,v)=uTv∣∣u∣∣2∣∣v∣∣2sim(u,v)=\frac{u^Tv}{||u||_2||v||_2}sim(u,v)=u2?v2?uTv?

現(xiàn)在我們先不看分母,分子其實(shí)就是 uuuvvv 的內(nèi)積。如果 uuuvvv 非常相似,那么它們的內(nèi)積將會(huì)很大,把整個(gè)式子叫做余弦相似度,其實(shí)就是因?yàn)樵撌绞?uuuvvv 的夾角的余弦值,所以這個(gè)角(下圖編號(hào)2所示)就是Φ角,這個(gè)公式實(shí)際就是計(jì)算兩向量夾角Φ角的余弦。你應(yīng)該還記得在微積分中,Φ角的余弦圖像是這樣的(下圖編號(hào)3所示),所以?shī)A角為0度時(shí),余弦相似度就是1,當(dāng)夾角是90度角時(shí)余弦相似度就是0,當(dāng)它們是180度時(shí),圖像完全跑到了相反的方向,這時(shí)相似度等于-1,這就是為什么余弦相似度對(duì)于這種類比工作能起到非常好的效果。 距離用平方距離或者歐氏距離來(lái)表示: ∣∣u?v∣∣2||u-v||^2u?v2

參考資料:余弦相似度 為了測(cè)量?jī)蓚€(gè)詞的相似程度,我們需要一種方法來(lái)測(cè)量?jī)蓚€(gè)詞的兩個(gè)嵌入向量之間的相似程度。 給定兩個(gè)向量 uuuvvv ,余弦相似度定義如下:

CosineSimilarity(u,v)=u.v∣∣u∣∣2∣∣v∣∣2=cos(θ)(1)CosineSimilarity(u,v)=\frac{u.v}{||u||_2 ||v||_2}=cos(\theta)\tag{1}CosineSimilarity(u,v)=u2?v2?u.v?=cos(θ)(1)
其中 u.vu.vu.v 是兩個(gè)向量的點(diǎn)積(或內(nèi)積), ∣∣u∣∣2||u||_2u2? 是向量 uuu 的范數(shù)(或長(zhǎng)度),并且 θ\thetaθ 是向量 uuuvvv 之間的角度。這種相似性取決于角度在向量 uuuvvv 之間。如果向量 uuuvvv 非常相似,它們的余弦相似性將接近1; 如果它們不相似,則余弦相似性將取較小的值。

圖1:兩個(gè)向量之間角度的余弦是衡量它們有多相似的指標(biāo),角度越小,兩個(gè)向量越相似。

從學(xué)術(shù)上來(lái)說(shuō),比起測(cè)量相似度,這個(gè)函數(shù)更容易測(cè)量的是相異度,所以我們需要對(duì)其取負(fù),這個(gè)函數(shù)才能正常工作,不過(guò)我還是覺(jué)得余弦相似度用得更多一點(diǎn),這兩者的主要區(qū)別是它們對(duì) uuuvvv 之間的距離標(biāo)準(zhǔn)化的方式不同。

詞嵌入的一個(gè)顯著成果就是,可學(xué)習(xí)的類比關(guān)系的一般性。舉個(gè)例子,它能學(xué)會(huì)man對(duì)于woman相當(dāng)于boy對(duì)于girl,因?yàn)?strong>man和woman之間和kingqueen之間,還有boygirl之間的向量差在gender(性別)這一維都是一樣的。它還能學(xué)習(xí)Canada(加拿大)的首都是Ottawa(渥太華),而渥太華對(duì)于加拿大相當(dāng)于Nairobi(內(nèi)羅畢)對(duì)于Kenya(肯尼亞),這些都是國(guó)家中首都城市名字。它還能學(xué)習(xí)big對(duì)于bigger相當(dāng)于tall對(duì)于taller,還能學(xué)習(xí)Yen(円)對(duì)于Janpan(日本),円是日本的貨幣單位,相當(dāng)于Ruble(盧比)對(duì)于Russia(俄羅斯)。這些東西都能夠?qū)W習(xí),只要你在大型的文本語(yǔ)料庫(kù)上實(shí)現(xiàn)一個(gè)詞嵌入學(xué)習(xí)算法,只要從足夠大的語(yǔ)料庫(kù)中進(jìn)行學(xué)習(xí),它就能自主地發(fā)現(xiàn)這些模式。

在本節(jié)視頻中,你見(jiàn)到了詞嵌入是如何被用于類比推理的,可能你不會(huì)自己動(dòng)手構(gòu)建一個(gè)類比推理系統(tǒng)作為一項(xiàng)應(yīng)用,不過(guò)希望在這些可學(xué)習(xí)的類特征的表示方式能夠給你一些直觀的感受。你還看知道了余弦相似度可以作為一種衡量?jī)蓚€(gè)詞嵌入向量間相似度的辦法,我們談了許多有關(guān)這些嵌入的特性,以及如何使用它們。下節(jié)視頻中,我們來(lái)討論如何真正的學(xué)習(xí)這些詞嵌入。

課程板書(shū)

總結(jié)

以上是生活随笔為你收集整理的2.3 词嵌入的特性-深度学习第五课《序列模型》-Stanford吴恩达教授的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。