1.Embedding
embedding其实就是一种稠密向量的表示形式。在embedding大行其道之前,onehot比较火。
直观上看,embedding相当于是对onehot做了平滑,而onehot相当于对embedding做了maxpooling。
比如 RGB(三原色,red,green,blue)任何颜色都可以用一个 RGB 向量来表示,其每一维度都有明确的物理含义(和一个具体的物理量相对应)。当然 RGB 这个例子比较特殊,和我们一般意义的 embedding,还不一样,因为 RGB 的特殊性就在,他的每一维度都是事先规定好的,所以解释性很强。而一般意义的 embedding 则是神经网络倒数第二层的参数权重,只具有整体意义和相对意义,不具备局部意义和绝对含义,这与 embedding 的产生过程有关,任何 embedding 一开始都是一个随机数,然后随着优化算法,不断迭代更新,最后网络收敛停止迭代的时候,网络各个层的参数就相对固化,得到隐层权重表(此时就相当于得到了我们想要的 embedding),然后在通过查表可以单独查看每个元素的embedding。
embedding 作为一种新思想,他的意义包含以下几个方面:
- embedding 表示,把自然语言转化为一串数字,从此自然语言可以计算;
- embedding 替代 oneHot极大的降低了特征的维度(天下人苦 oneHot 久矣);
- embedding 替代协同矩阵,极大地降低了计算复杂度。
https://mp.weixin.qq.com/s/7DXVrJUU-PvKiQnipJKVtw