對學習/理解 Word2Vec 有幫助的材料
之前面試被面到了,加上一直不是很理解詞嵌入的工作方式,所以這段時間找了不少相關的資料想把這玩意兒搞明白。理解還是有限,就不自不量力自己寫一篇了(就算寫也是把已有的文章揉一揉,不敢說是自己的理解),把看過覺得比較有用的材料整理出來,作為一則記錄。
一篇英文的博客也做了類似的整理(http://textprocessing.org/getting-started-with-word2vec)。
本篇則主要記錄中文的資料和必要的英文資料。
理解 Word2Vec 主要是理解一些概念和實踐技巧:
概念包括詞的分散式表示、詞嵌入、神經網路的語言模型,這些內容網上解析 W2V 的幾乎都涉及到了,找個靠譜的看一遍即可;Word2Vec 的主要貢獻不在演算法,而在於對以上方法做了一定的簡化和速度上的改進,就像原文中說的現在單機可在一天內訓練億級語料,這就是 CBOW 和 Skip-Gram、Hierarchical Softmax、Negative Sampling 等等內容了。
1.作者的論文:
https://arxiv.org/pdf/1301.3781.pdf
https://arxiv.org/pdf/1310.4546.pdf
源碼下載:
https://code.google.com/archive/p/word2vec/
2.[NLP] 秒懂詞向量Word2vec的本質
適合對重要概念建立一點印象。
https://zhuanlan.zhihu.com/p/26306795
口氣很大,但寫得著實不錯。文中整理的材料我也會在下方重複。也推薦自己挑選閱讀。
我覺得作為博文而非論文來說,最重要的甚至不是「不出錯」,而是「說人話」。只看學術論文,很多關鍵細節都淹沒在公式里了,但對於一些問題來說,重要的可能不是這些公式。深度學習領域的「let data talk」尤其體現了這一點。
3.Rong Xin 的工作
講解視頻:https://www.youtube.com/watch?v=D-ekE-Wlcds
文章:word2vec Parameter Learning Explained(https://arxiv.org/abs/1411.2738)
PPT:https://docs.google.com/presentation/d/1yQWN1CDWLzxGeIAvnGgDsIJr5xmy4dB0VmHFKkLiibo/edit#slide=id.ge79682746_0_438
Demo:https://ronxin.github.io/wevi/
推薦先看視頻,然後把論文理解一遍。
4.有道的 Deep Learning Word2Vec 筆記
這篇可能更適合開發人員學習,我看得比較費勁……
5.來斯為的博客和博士論文
http://licstar.net/archives/category/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86
6.計算所某直博大佬的博文,源碼解析
http://www.cnblogs.com/neopenx/p/4571996.html
7.詞向量的來龍去脈
http://ruder.io/word-embeddings-1/
Ruder 的系列博文,非常清晰。
有了比較充足的認識以後,接下來可以看看代碼或者自己用一下 Tensorflow 或 Gensim 的訓練版本了。
實踐方面,可參考來斯為的博士論文。
魔鬼在細節中,果然不假。尤其是[6]指出的皮果提文章中的問題,我反覆讀源碼才稍微有了點體會,依然不敢說看懂。所以代碼才是硬道理啊……


※當機器學習遇上運動鞋:摩擦,在這光滑的地上摩擦
※用 OpenCV 檢測圖像中各物體大小
TAG:AI研習社 |