深度学习中Embedding层的作用
使用Embedding的原因:
-
使用One-hot 方法编码的向量会很高维也很稀疏。假设我们在做自然语言处理(NLP)中遇到了一个包含2000个词的字典,当时用One-hot编码时,每一个词会被一个包含2000个整数的向量来表示,其中1999个数字是0,要是我的字典再大一点的话这种方法的计算效率岂不是大打折扣?
-
训练神经网络的过程中,每个嵌入的向量都会得到更新。如果你看到了博客上面的图片你就会发现在多维空间中词与词之间有多少相似性,这使我们能可视化的了解词语之间的关系,不仅仅是词语,任何能通过嵌入层 Embedding 转换成向量的内容都可以这样做
Embedding的作用:1.降维 使用one-hot会导致稀疏矩阵过于庞大,浪费资源,这个时候通过Embedding进行降维
2.升维 对低维的数据进行升维时,可能把一些其他特征给放大了,或者把笼统的特征给分开了