embedding层和全连接层的区别是什么?

二者概念不太一样embedding目的是把一个高纬的,每个维度上相对稀疏的数据投影到相对低维的,每个维度可以取实数集的数据操作。本质上是用连续空间替代(准)离散空间,以增加空间利用率,减少不必要的parameter。nlp和推荐系统里的embedding,输入数据就是word id或item ID,也就是one hot encoding,输入维度就是词的个数,每个维度上取01,空间利用率极低。这种情况下,一般的embedding的实现方式就是一个用全连层,输入维度高,输出维度低。当然embeddibg也可以用多个全连层加activation层,cnn层,lstm层,以及它们的排列组合来实现。这种情况下,embedding和encoding似乎也没什么区别。不过一般说embedding层,实现方式就是一个没有bias的fc层全连层就是从一个坐标系投影到另外一个坐标系,维度可升可降,可以用来做embedding,也可以干别的

你可能感兴趣的:(人工智能,深度学习,统计学习方法_李航)