2016-07-15 74 views
-2

我想在Keras中复制此文章https://arxiv.org/pdf/1606.07659v1.pdf。它使用自动编码器作为推荐系统。这个想法是掩盖一些已知的值(评级),以便教您的网络预测未知值,同时正确重建其他值。 因此,您有三种评分类型:非屏蔽已知值,已屏蔽已知值(变为0)和未知值(变为0)。 您的损失函数只需包含非屏蔽已知值和已屏蔽已知值的错误,但如果我理解正确,您还需要屏蔽后向传播未知值的输出,以使其不包含在权重更新中(并且它需要是明智的)。链接(forward and back propagation)中附加的图片来自文章教程,并解释前向和后向传播的步骤。Keras - 反向传播输出的大小写屏蔽

你有什么想法如何实现这种情况下明智的掩盖输出或任何其他方式来解决这个问题?

非常感谢!

回答

0

如果两个张量(A,Mask)具有相同的形状或可以广播为相同的形状。然后使用A*Mask来实现元素级掩码。

可以通过document中的K.switch()来实现明智的掩码。例如,如果掩码为0,则K.switch(T.equal(Mask, 0), 0, A)返回0 else明智的元素。