2016-07-15 69 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明智的元素。