深度学习——Embedding降维处理

610 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第19天,点击查看活动详情


现在许多的深度学习模型在输入时,都需要进行 Embedding 预处理,作为一个基础的知识点,更需要系统整理一下,便于日后理解复习理解。

Embedding

Embedding 本身是拓扑学中的词汇,目前在深度学习的领域中有了广泛的应用,通俗来说,Embedding 就是用一个低维度的向量来表示一个物体 item,也就是将一个高维的原始数据映射为一个低维的表征向量,这个映射就叫做嵌入(Embedding)。

而目前深度学习界中通用的理解,是把低维的表征向量称为 Embedding,也就是从原始数据中提取出来的特征。

Embedding 能够用低维向量表示原始数据,还能保留其含义,依然能表达物体间的潜在关系,这正是 Embedding 能够广为流传的原因。

Word2vec

Word2vec 是“word to vector”的简称,是一个经典的 Embedding 方法,它是一个将词转化为低维向量的一个模型。

image.png

CBOW:对于多个上下文词语,都对应了一个中心词,我们可以根据多个输入词和一个中心词的关系来训练出一个权重矩阵。

Skip-gram:同样,我们也可以根据中心词去预测上下文词。

由这个思路,我们可以利用这个模型,我们输入高维向量,输出也是同样维度的向量,通过更新 W 和 W` 训练使其输出的向量与输入向量相等,

image.png

模型训练好以后,并不会用这个模型处理新的任务,而是使用其中的权重矩阵 W。对于每一个输入词,我们经过权重矩阵 W 计算后,即可得到低维向量。