嵌入在机器学习中意味着什么?

数据挖掘 机器学习 神经网络 深度学习 特征选择
2021-10-14 03:14:32

我刚刚在一篇关于深度学习的论文中遇到了一个叫做“嵌入”的术语。上下文是“多模态嵌入”

我的猜测:嵌入某物是提取某物的某些特征,形成一个向量。

我无法得到这个术语的明确含义,这使我无法完全理解作者的想法和模型机制

我查字典并在线搜索,但解释更多基于现实生活的意义,而不是作为机器学习术语的意义。

这就提出了一个更普遍和经常遇到的问题,当你发现一些你不能很好理解的机器学习术语/单词时,你在哪里可以得到解决方案,谷歌的一些具体方法?加入机器学习小组?在堆栈交换中提出问题?

4个回答

在机器学习的上下文中,嵌入是离散变量的低维、学习的连续向量表示,您可以将高维向量转换为该表示。通常,嵌入使 ML 模型更高效、更易于使用,并且也可以与其他模型一起使用。

通常,当我偶然发现我不熟悉的行话时,我会首先求助于 Google,如果找不到,我会联系我的同事和数据科学论坛。

根据所有答案(谢谢)和我的谷歌搜索,我得到了更好的理解,所以我最新更新的理解是:

机器学习或 NLP 中的嵌入实际上是一种从词到向量的映射技术,您可以更好地进行分析或关联,例如“toyota”或“honda”在词中几乎无法关联,但在向量空间中可以设置根据某种程度非常接近,也可以通过设置加强词的关系:king-man+woman=queen。

所以我们可以将男孩设置为(1,0),然后将女孩设置为(-1,0),以表明它们处于同一维度,但含义正好相反。而且所有只是性别不同的名词都可以并列~

我最初的猜测是嵌入是从某些东西中提取特征,这很接近但不够具体。

而对于我最后一点,当你在某个特殊领域遇到一个行话时如何快速获得它的本质含义,我仍然没有找到一个很好的方法,也许一个可以解释该领域行话含义的网站会节省对我们来说是美好的时光。

对我来说,嵌入用于将大稀疏矩阵表示为较小的维度,其中每个维度(特征)表示与嵌入矩阵中其他元素的有意义的关联。

考虑一个 NLP 的例子。每个句子分解成单词(也称为令牌)的地方。这样一组不同的单词构成了 NLP 的词汇表。一般词汇有数百万字。所有这些词都可以唯一地表示为 OneHotEncoding。

OneHotEncoding 表示单词的缺点:

  1. 在大词汇量的情况下,OneHotEncoding 表示需要大量内存,并且计算成本非常高。
  2. OneHotEncoding 用于表示分类值,其中每个实体独立于另一个实体,而词汇表中的单词以相似的含义或其他方式表示某种关联。OneHotEncoding 没有利用该功能进行 NLP。

为了克服这两个问题,我们使用词嵌入,其中每个词以较小的维度表示,其中每个维度代表某种特征,因此每个维度都有一些值。

嵌入是特定单词的向量表示。

在机器学习中,必须将文本内容转换为数字数据才能将其输入算法。

一种方法是一种热编码,但当我们没有大量词汇时它就会崩溃。单词表示的大小随着词汇量的增长而增长。此外,它是稀疏的。

通过嵌入(具有较低维度的固定大小的向量),可以控制单词表示的大小。此外,向量表示存储 b/w 词的语义关系。有预训练的嵌入 Word2Vec、Glove 等可用,可以用作查找。嵌入显着提高了 ML 模型的性能。