文中首先将一些context信息以编码、压缩、拼接等形式导出用户、物品、时间的embeedings(较为常规),然后以张量分解的形式估计评分。

 

本文有几个亮点可以借鉴:

1)神经网络复杂度计算(分别分析各个子模块);

2)简单数学证明(借助数学转换说明一个方法是另一个方法的特例)

3)基于数学表达式的形式,简化模型(减少参数,张亮外积->n-Mode Tensor product:通过n-Mode减少原来输入层的参数,从而简化MLP的复杂度)

4)利用生成对抗学习进行负采样(*)

其思想在于:利用生成器生产(选择)具有迷惑性的负样本(预测评分与真实正样本接近的负样本)

->辨别器:尽可能在自己的模型下,让正样本估值变大、负样本估值变小(基于生成器选择的负样本);

->生成器:尽可能让自己选择的负样本(在自己模型下估值较大的负样本),也可以在辨别器下(前一轮训练完成的辨别器)得到较大的估值。

->训练方法:

基于初始化生成器,选择在生成器中估值最大的负样本(针对每一个正样本,在候选负样本池当中选择一个负样本);

基于上述正负样本对,训练辨别器(辨别器的目标则是让刚才选的负样本估值尽可能小);

基于训练好的辨别器,就可以找到当前情况下,最具迷惑性的负样本(即在辨别器中估值较大的负样本)

基于上述的负样本,再反过来训练生成器(即增大这些负样本在生成器中的估值)

 

 

 

 



留言

登录 请先登陆, 再留言!