【发布时间】:2016-08-11 10:16:30
【问题描述】:
我们花了很多时间阅读tf.nn.embedding_lookup_sparse的API文档。 embedding_lookup_sparse 的含义很混乱,似乎和embedding_lookup 有很大的不同。
这是我的想法,如果我错了,请纠正我。宽深模型示例使用contrib.layers API 并调用embedding_lookup_sparse 用于稀疏特征列。如果它获得 SparseTensor(例如,国家,它是稀疏的),它会创建实际上用于单主机编码的嵌入。然后调用to_weights_sum 将embedding_lookup_sparse 的结果返回为prediction,并将嵌入返回为variable。
embedding_lookup_sparse 的结果加上bias 成为损失函数和训练操作的logits。这意味着embedding_lookup_sparse 对密集张量执行类似w * x(y = w * x + b 的一部分)的操作。
可能对于 one-hot encoding 或 SparseTensor,embedding_lookup_sparse 中的 weight 实际上是 w * x 的值,因为查找数据始终为 1,无需添加其他 0s。
我说的也很混乱。谁能帮忙详细解释一下?
【问题讨论】:
标签: python tensorflow embedding