首页 文章

Keras嵌入层:它们如何工作?

提问于
浏览
4

我开始使用Keras构建神经网络模型 .

我有一个分类问题,其中的功能是离散的 . 为了管理这种情况,标准过程包括使用单热编码转换二进制数组中的离散特征 .

然而,似乎使用Keras这一步骤不是必需的,因为可以简单地使用嵌入层来创建这些离散特征的特征向量表示 .

如何执行这些embeddings

我的理解是,如果离散特征 f 可以假设 k 值,则嵌入层会创建一个包含 k 列的矩阵 . 每次我在训练阶段收到该功能的值(例如 i )时,只会更新矩阵的 i 列 .

我的理解是否正确?

1 回答

  • 4

    人们可能很容易注意到 - 一个 one-hot 向量与 Embedding 矩阵的乘法可以在一个恒定的时间内有效地执行,因为它可以被理解为矩阵切片 . 而这正是 Embedding 层在计算过程中所做的事情 . 它只是使用 gather 后端函数选择适当的索引 . 这意味着您对 Embedding 图层的理解是正确的 .

相关问题