引言
本着“凡我不能创造的,我就不能理解”的思想,本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架,该框架类似PyTorch能实现自动求导。
💡系列文章完整目录: 👉点此👈
要深入理解深度学习,从零开始创建的经验非常重要,从自己可以理解的角度出发,尽量不适用外部框架的前提下,实现我们想要的模型。本系列文章的宗旨就是通过这样的过程,让大家切实掌握深度学习底层实现,而不是仅做一个调包侠。
本文我们来探讨word2vec。本文介绍word2vec词嵌入,它一种稠密向量模型,向量的元素值是实数,甚至可以是负数。
值得注意的是,word2vec是一种静态嵌入(static embeddings)模型,即为词典中的单词生成的是固定嵌入,而不是像BERT那样根据上下文生成动态嵌入。
看完本文,你应该可以一次性掌握word2vec的原理以及实现。
word2vec
word2vec是一种高效的训练词向量的模型。它的想法直接,如果两个单词的上下文相似,那么这两个单词(词向量)也应该是相似的。比如,“A dog is running in the room"和"A cat is running in the room”。这两个句子,只是"cat"和"dog"不同,word2vec认为它们是相