您好,登錄后才能下訂單哦!
這篇文章主要介紹“詞向量與Embedding是什么”,在日常操作中,相信很多人在詞向量與Embedding是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”詞向量與Embedding是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
wij
那么,字向量、詞向量這些,真的沒有任何創新了嗎?有的,從運算上來看,基本上就是通過研究發現,one hot型的矩陣相乘,就像是相當于查表,于是它直接用查表作為操作,而不寫成矩陣再運算,這大大降低了運算量。再次強調,降低了運算量不是因為詞向量的出現,而是因為把one hot型的矩陣運算簡化為了查表操作。這是運算層面的。思想層面的,就是它得到了這個全連接層的參數之后,直接用這個全連接層的參數作為特征,或者說,用這個全連接層的參數作為字、詞的表示,從而得到了字、詞向量,最后還發現了一些有趣的性質,比如向量的夾角余弦能夠在某種程度上表示字、詞的相似度。
對了,有人詬病,Word2Vec只是一個三層的模型,算不上“深度”學習,事實上,算上one hot的全連接層,就有4層了,也基本說得上深度了。
等等,如果把字向量當做全連接層的參數(這位讀者,我得糾正,不是“當做”,它本來就是),那么這個參數你還沒告訴我怎么得到呢!答案是:我也不知道怎么得來呀。神經網絡的參數不是取決你的任務嗎?你的任務應該問你自己呀,怎么問我來了?你說Word2Vec是無監督的?那我再來澄清一下。
嚴格來講,神經網絡都是有監督的,而Word2Vec之類的模型,準確來說應該是“自監督”的,它事實上訓練了一個語言模型,通過語言模型來獲取詞向量。所謂語言模型,就是通過前
個字預測下一個字的概率,就是一個多分類器而已,我們輸入one hot,然后連接一個全連接層,然后再連接若干個層,最后接一個softmax分類器,就可以得到語言模型了,然后將大批量文本輸入訓練就行了,最后得到第一個全連接層的參數,就是字、詞向量表,當然,Word2Vec還做了大量的簡化,但是那都是在語言模型本身做的簡化,它的第一層還是全連接層,全連接層的參數就是字、詞向量表。這樣看,問題就比較簡單了,我也沒必要一定要用語言模型來訓練向量吧?對呀,你可以用其他任務,比如文本情感分類任務來有監督訓練。因為都已經說了,就是一個全連接層而已,后面接什么,當然自己決定。當然,由于標簽數據一般不會很多,因此這樣容易過擬合,因此一般先用大規模語料無監督訓練字、詞向量,降低過擬合風險。注意,降低過擬合風險的原因是可以使用無標簽語料預訓練詞向量出來(無標簽語料可以很大,語料足夠大就不會有過擬合風險),跟詞向量無關,詞向量就是一層待訓練參數,有什么本事降低過擬合風險?
最后,解釋一下為什么這些字詞向量會有一些性質,比如向量的夾角余弦、向量的歐氏距離都能在一定程度上反應字詞之間的相似性?這是因為,我們在用語言模型無監督訓練時,是開了窗口的,通過前
個字預測下一個字的概率,這個 就是窗口的大小,同一個窗口內的詞語,會有相似的更新,這些更新會累積,而具有相似模式的詞語就會把這些相似更新累積到可觀的程度。我舉個例子,“忐”、“忑”這兩個字,幾乎是連在一起用的,更新“忐”的同時,幾乎也會更新“忑”,因此它們的更新幾乎都是相同的,這樣“忐”、“忑”的字向量必然幾乎是一樣的。“相似的模式”指的是在特定的語言任務中,它們是可替換的,比如在一般的泛化語料中,“我喜歡你”中的“喜歡”,以及一般語境下的“喜歡”,替換為“討厭”后還是一個成立的句子,因此“喜歡”與“討厭”必然具有相似的詞向量,但如果詞向量是通過情感分類任務訓練的,那么“喜歡”與“討厭”就會有截然不同的詞向量。到此,關于“詞向量與Embedding是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。