embedding层和全连接层的区别

本篇没技术含量,来源于知乎评论:

问题来源:
nn.Embedding输入的是每个词的索引。该层就通过索引返回对应的词向量。
全连接层输入如果是one-hot(向量中只有一位为1),那返回的也是对应的那一行向量。


作者:Hover
链接:https://www.zhihu.com/question/344209738/answer/843929870
Embededding 描述的一种功能,FC描述的是一种结构,二者的划分方式不同Embedding的目的是进行数据的降维和向量化,比如图像用CNN卷了之后也可以叫做Embedding,Auto-Encoder里面前面的那一部分也可以叫做Embedding,LSTM可以视作将状态Embedding等等。所以Embedding描述的是一种功能:数据降维和稠密表示(≈向量化),且通常所指的Embedding是中间的产物,为了方便后面的处理。就算是Word2Vec或者GraphEmbedding等以Embeddind为目标输出的网络,其Embedding作为输出也只能视作整个环节的中间产物,因为必须有下游任务(Link-prediction,Graph Classification,etc)等才有意义而FC描述的是一种结构,我们可以使用FC进行Embedding的功能,但是不是必须的。比如输入10000的one-hot,全连接输出128的vec,此时FC完成了Embedding的功能。后来,CV中使用CNN, NLP中使用SeqModel等都可以视作Embedding。FC Layer组成MLP之后可以直接输出结果,此时就不是用作Embedding,而是直接end-end的输出结果。

embedding层是全连接层的一个特例。设输入向量为x,全连接层的权重参数矩阵为W,则该层的输出向量为y=Wx;只是在embedding层中,x为one-hot向量,例如:[0,1,0,0,0],则线性变换就退化成了一个查表操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值