本文主要是介绍深度学习入门篇:说人话,到底什么是Embedding,为什么要引入它,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先来看看谷歌的解释,应该是网上能找到最棒的版本了。
Embedding是一个相对低维的空间,可以将高维向量转换到其中。Embedding使得机器学习更容易在大规模的输入上进行,比如表示单词的稀疏向量。理想情况下,Embedding通过将语义相似的输入紧密地放置在Embedding空间中来捕获输入的一些语义。Embedding可以跨模型学习和重用。
这个解释已经很通俗易懂了,但我相信对于很多机器学习小白来说还是有点儿摸不着头脑。
废话不多说,直奔主题。先来看两句话。
人每天都要吃饭。
人每天都要喝水。
以上两句话,除了吃饭和喝水不一样,完全相同。吃饭和喝水之间有没有某种相似性?它们都是动物每天所必须进行的活动。这两个词在句子中还有一个相似点,那就是都处于“人每天都要”这个词组旁边。这似乎便启发了我们一件事,是不是可以通过某个词所在的文本语境,来给这个词赋予意义。
例如,我们要定义吃饭,可以从网上爬取数以万计带着吃饭二字的文段。
吃饭是人摄入负熵维持耗散体系的主要方式。
人人都想要健康,而健康身体的一个重要基础,是按时吃饭。
……
我们可以定义一组向量,用这个词所嵌入的环境来定义这个向量的值。这样的编码方式与传统的one-hot编码相比,节约了大量的空间。并且在Embedding向量空间中相邻的点,还具有相近的含义。
而Embedding具体的编码过程,需要用到神经网络,我们下期再讲。
这篇关于深度学习入门篇:说人话,到底什么是Embedding,为什么要引入它的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!