迅速了解Embedding层的作用

在阅读深度学习类论文的时候,经常会见到embedding这个名词,却一直不知道其具体含义是什么,遂查询了很多资料,终于明白了其作用,记录于此,希望能帮助对此同样疑惑 的人。

1、在讲embedding之前必须要先说一下独热编码(one-hot),如果你已经对其有一定了解,可以跳过这一段。

独热编码(one-hot)的作用很简单,就是把特征全都用0、1来表示,直接看个例子:
有四类人:老年人、中年人、青年、幼儿
将其用独热编码进行表示
老年人:1000
中年人:0100
青年:0010
幼儿:0001

可以看到每一类人都有一个一维数组(列表)与之对应,这个对应数组的特点就是只有一位是1,其余全是0。

经过one-hot,我们原有的一位数组(列表)

[‘老年人’,‘中年人’,‘青年’,‘幼儿’]

转化为了一个二维稀疏矩阵

[
[1000]
[0100]
[0010]
[0001]
]

看到这里,有部分长得比较帅的人可能就会问了:为什么要这么转换呢?
因为计算简单
没错,稀疏矩阵做矩阵运算的时候,只需要把1对应位置的数相乘求和就行,要比列表计算简单的多。one-hot编码的优势就是计算方便快捷、表达能力强。

此时,另一部分长得比较帅的人可能会问:有得必有失,独热编码的副作用是什么呢?
空间占用过大
比如我要统计某网络交易平台的商品,那得成千上万件,再经过独热编码,那空间大的还得了?

那该怎么解决空间过大的问题呢?
——Embedding!

2、Embedding的作用
先来看张图片
(图片来自https://spaces.ac.cn/archives/4122)
在这里插入图片描述
这是一个简单的矩阵乘法,一个2 x 6的矩阵,然后乘上一个6 x 3的矩阵后,变成了一个2 x 3的矩阵。
注意注意注意!
就仅仅利用一个简单的矩阵相乘,一个12个元素的矩阵变成了6个元素的矩阵,瞬间缩小一半。

介,就是embedding层的作用——降维
而降维的原理就是矩阵乘法。在卷积网络中,也可以理解为特殊全连接层操作,跟1x1卷积核有异曲同工之妙。

而且通过合适的变换,embedding还能体现出距离的远近,这是one-hot做不到的。
比如做电影统计时Embedding(超人)和Embedding(蝙蝠侠)之间的距离就会很接近,但 Embedding(超人)和Embedding(名侦探柯南)的距离就会远一些。

看到这,你对于embedding的作用应该有一个大概的了解了,想具体理解其作用,还得去探究卷积神经网络的各种中间过程,以及反向传播理论。embedding会随着你的认知而越来越清晰,现在理解个大概功能也就可以啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值