word2vec原理介紹

Word2vec是一種可以進(jìn)行高效率詞嵌套學(xué)習(xí)的預(yù)測(cè)模型浓体。其兩種變體分別為:
● 連續(xù)詞袋模型(CBOW)
● Skip-Gram模型耕姊。

從算法角度看稿饰,這兩種方法非常相似舔稀,其區(qū)別為CBOW根據(jù)源詞上下文詞匯('the cat sits on the')來預(yù)測(cè)目標(biāo)詞匯(例如元镀,‘mat’)绍填,而Skip-Gram模型做法相反,它通過目標(biāo)詞匯來預(yù)測(cè)源詞匯栖疑。

Skip-Gram模型采取CBOW的逆過程的動(dòng)機(jī)在于:CBOW算法對(duì)于很多分布式信息進(jìn)行了平滑處理(例如將一整段上下文信息視為一個(gè)單一觀察量)讨永。很多情況下,對(duì)于小型的數(shù)據(jù)集遇革,這一處理是有幫助的住闯。相形之下,Skip-Gram模型將每個(gè)“上下文-目標(biāo)詞匯”的組合視為一個(gè)新觀察量澳淑,這種做法在大型數(shù)據(jù)集中會(huì)更為有效比原。

譬如: 對(duì)同樣一個(gè)句子:Shenzhen is a nice city。我們要構(gòu)造一個(gè)語境與目標(biāo)詞匯的映射關(guān)系杠巡,其實(shí)就是input與label的關(guān)系量窘。 這里假設(shè)滑窗尺寸為1,
CBOW可以制造的映射關(guān)系為:[Shenzhen,a]—>is,[is,nice]—>a氢拥,[a,city]—>nice
Skip-Gram可以制造的映射關(guān)系為(is,Shenzhen)蚌铜,(is,a),(a,is)嫩海, (a,nice)冬殃,(nice,a),(nice,city)

Skip-Gram詳解:

我們基于成對(duì)的單詞來對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練叁怪,訓(xùn)練樣本是 ( input word, output word ) 這樣的單詞對(duì)审葬,input word和output word都是one-hot編碼的向量。最終模型的輸出是一個(gè)概率分布奕谭。

image.png
skip-gram 模型結(jié)構(gòu):
image.png
Skip-gram: 最終的目標(biāo)就是學(xué)習(xí)這個(gè)隱層的權(quán)重矩陣涣觉,從而形成具體word的詞向量embeddings
image.png
實(shí)際訓(xùn)練中存在的問題:

舉個(gè)栗子,我們擁有10000個(gè)單詞的詞匯表血柳,我們?nèi)绻肭度?00維的詞向量官册,那么我們的輸入-隱層權(quán)重矩陣和隱層-輸出層的權(quán)重矩陣都會(huì)有 10000 x 300 = 300萬個(gè)權(quán)重,在如此龐大的神經(jīng)網(wǎng)絡(luò)中進(jìn)行梯度下降是相當(dāng)慢的难捌。更糟糕的是膝宁,你需要大量的訓(xùn)練數(shù)據(jù)來調(diào)整這些權(quán)重并且避免過擬合鸦难。百萬數(shù)量級(jí)的權(quán)重矩陣和億萬數(shù)量級(jí)的訓(xùn)練樣本意味著訓(xùn)練這個(gè)模型將會(huì)是個(gè)災(zāi)難(太兇殘了)。

可行的解決辦法:

● 將常見的單詞組合(word pairs)或者詞組作為單個(gè)“words”來處理员淫。(因?yàn)橐恍┰~組合起來與分開時(shí)意思完全不同合蔽,譬如New York,United Stated等其他 )
● 對(duì)高頻次單詞進(jìn)行抽樣來減少訓(xùn)練樣本的個(gè)數(shù)满粗。(譬如去掉高頻詞匯the , a, an~等組成的詞對(duì)輸入樣本)
● 對(duì)優(yōu)化目標(biāo)采用負(fù)采樣--“negative sampling”方法辈末,這樣每個(gè)訓(xùn)練樣本的訓(xùn)練只會(huì)更新一小部分的模型權(quán)重,從而降低計(jì)算負(fù)擔(dān)映皆。
事實(shí)證明挤聘,對(duì)常用詞抽樣并且對(duì)優(yōu)化目標(biāo)采用“negative sampling”不僅降低了訓(xùn)練過程中的計(jì)算負(fù)擔(dān),還提高了訓(xùn)練的詞向量的質(zhì)量捅彻。

負(fù)采樣原理:

負(fù)采樣(negative sampling)是用來提高訓(xùn)練速度并且改善所得到詞向量的質(zhì)量的一種方法组去。不同于原本每個(gè)訓(xùn)練樣本更新所有的權(quán)重,負(fù)采樣每次讓一個(gè)訓(xùn)練樣本僅僅更新一小部分的權(quán)重步淹,這樣就會(huì)降低梯度下降過程中的計(jì)算量从隆。

當(dāng)我們用訓(xùn)練樣本 ( input word: "fox",output word: "quick") 來訓(xùn)練我們的神經(jīng)網(wǎng)絡(luò)時(shí)缭裆,“ fox”和“quick”都是經(jīng)過one-hot編碼的键闺。如果我們的vocabulary大小為10000時(shí),在輸出層澈驼,我們期望對(duì)應(yīng)“quick”單詞的那個(gè)神經(jīng)元結(jié)點(diǎn)輸出1辛燥,其余9999個(gè)都應(yīng)該輸出0。在這里缝其,這9999個(gè)我們期望輸出為0的神經(jīng)元結(jié)點(diǎn)所對(duì)應(yīng)的單詞我們稱為“negative” word挎塌。

當(dāng)使用負(fù)采樣時(shí),我們將隨機(jī)選擇一小部分的negative words(比如選5個(gè)negative words)來更新對(duì)應(yīng)的權(quán)重内边。我們也會(huì)對(duì)我們的“positive” word進(jìn)行權(quán)重更新(在我們上面的例子中榴都,這個(gè)單詞指的是”quick“)。
在論文中漠其,作者指出指出對(duì)于小規(guī)模數(shù)據(jù)集嘴高,選擇5-20個(gè)negative words會(huì)比較好,對(duì)于大規(guī)模數(shù)據(jù)集可以僅選擇2-5個(gè)negative words辉懒。
回憶一下我們的隱層-輸出層擁有300 x 10000的權(quán)重矩陣阳惹。如果使用了負(fù)采樣的方法我們僅僅去更新我們的positive word-“quick”的和我們選擇的其他5個(gè)negative words的結(jié)點(diǎn)對(duì)應(yīng)的權(quán)重,共計(jì)6個(gè)輸出神經(jīng)元眶俩,相當(dāng)于每次只更新300*6=1800
個(gè)權(quán)重。對(duì)于3百萬的權(quán)重來說快鱼,相當(dāng)于只計(jì)算了0.06%的權(quán)重颠印,這樣計(jì)算效率就大幅度提高纲岭。
PS:一個(gè)單詞被選作negative sample的概率跟它出現(xiàn)的頻次有關(guān),出現(xiàn)頻次越高的單詞越容易被選作negative words线罕。

Skip-gram 原理詳解paper:
http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末止潮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子钞楼,更是在濱河造成了極大的恐慌喇闸,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件询件,死亡現(xiàn)場(chǎng)離奇詭異燃乍,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)宛琅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門刻蟹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嘿辟,你說我怎么就攤上這事舆瘪。” “怎么了红伦?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵英古,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我昙读,道長(zhǎng)召调,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任箕戳,我火速辦了婚禮某残,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘陵吸。我一直安慰自己玻墅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布壮虫。 她就那樣靜靜地躺著澳厢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪囚似。 梳的紋絲不亂的頭發(fā)上剩拢,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音饶唤,去河邊找鬼徐伐。 笑死,一個(gè)胖子當(dāng)著我的面吹牛募狂,可吹牛的內(nèi)容都是我干的办素。 我是一名探鬼主播角雷,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼性穿!你這毒婦竟也來了勺三?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤需曾,失蹤者是張志新(化名)和其女友劉穎吗坚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呆万,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡商源,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了桑嘶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炊汹。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逃顶,靈堂內(nèi)的尸體忽然破棺而出讨便,到底是詐尸還是另有隱情,我是刑警寧澤以政,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布霸褒,位于F島的核電站,受9級(jí)特大地震影響盈蛮,放射性物質(zhì)發(fā)生泄漏废菱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一抖誉、第九天 我趴在偏房一處隱蔽的房頂上張望殊轴。 院中可真熱鬧,春花似錦袒炉、人聲如沸旁理。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孽文。三九已至,卻和暖如春夺艰,著一層夾襖步出監(jiān)牢的瞬間芋哭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工郁副, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留减牺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烹植,于是被迫代替她去往敵國(guó)和親斑鸦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愕贡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容