一种在离散数据上使用对抗模型的方法与流程

专利2022-06-29  86


本发明涉及机器学习领域,尤其是对抗模型在离散数据上的训练方法。



背景技术:

推荐系统通过对用户的历史反馈记录建模,然后向用户推荐个性化的物品。隐式反馈数据中只含有用户与物品的交互记录,但是已交互的物品并不代表用户喜欢,可能是用户的误点击;未交互的物品中可能存在用户喜欢的物品。因此隐式反馈数据中含有大量噪声。生成式对抗模型可以从无标签数据中学习数据的真实分布,具有建模隐式反馈数据的潜力。但是原始的生成式对抗模型是针对连续数据(如图像)的,并使用梯度下降的方法优化模型。推荐系统中物品是离散数据,不能直接使用生成式对抗模型建模。现有解决方法是将物品推荐视为一个策略,然后使用策略梯度优化模型。但是在推荐系统中,基于策略梯度的对抗模型具有训练不稳定、收敛缓慢且时间复杂度高等问题。



技术实现要素:

针对建模隐式反馈数据的需求和现有方法的缺点,本发明引入注意力机制,构建一个整体可微的对抗模型,其目的是提高对抗模型在离散的物品推荐数据上的稳定性和收敛速度,更高效的建模用户的隐式反馈数据。

为了对本发明更清楚、完整地描述,此处使用物品推荐作为具体的实例解释本发明,但并不用于限定本发明。

为了更好的对用户和物品建模,推荐系统通常将其映射到一个隐语义空间中,使用特征向量表示用户和物品;该类模型统称为隐语义模型。

物品的特征向量表示物品的特征,向量元素的值表示物品是否拥有该特征及显著程度。用户的特征向量表示用户的喜爱偏好,向量元素的值表示用户对物品特征的喜欢程度。

基于上述隐语义空间的特点,本发明结合用户对物品的注意力评分和物品的特征向量,使用注意力机制生成一个新的特征向量,该向量保留了用户所喜欢物品的特征,因此该特征向量可以被视为一个个性化的“虚拟物品”。

本发明中生成式对抗模型包含两部分:生成器和判别器。

对于给定用户,本发明中生成器的目的是对所有物品生成合理的注意力评分;本发明中判别器的目的是判断生成注意力评分的合理性或正确性。

由上述描述可知,在本发明中,生成器的输入是一个用户,输出是该用户对每个物品的注意力评分;判别器的输入是生成的注意力评分,然后将其与物品的特征向量结合,生成一个虚拟物品。基于该虚拟物品,判别器可以对注意力评分的合理性做出判断。

判别器假设用户对隐式反馈中已交互物品的喜欢程度大于生成的虚拟物品,并基于该假设计算模型的损失。判别器的目标是区分用户对已交互物品与虚拟物品的喜欢程度,需要最小化模型损失。生成器的目标是生成合理的注意力评分,然后使用注意力机制生成用户喜欢的虚拟物品,需要最大化模型损失。因此,判别器与生成器的训练是一个对抗的过程。

然而,使用所有物品的特征向量生成虚拟物品的时间复杂度较高,当物品数量较大时,模型的训练过程会非常耗时。

在大多数真实的推荐场景中,物品的流行度是服从长尾分布的,用户对大部分物品并不感兴趣或不关心。这部分物品对训练模型提供较少的信息,对模型的优化帮助有限。

为了降低模型时间复杂度,提升训练效率,本发明使用自适应采样获得少量但含有丰富训练信息的物品用于生成虚拟物品。

基于上述描述,本发明的训练步骤主要如下:

(1)固定生成器的参数,训练判别器:

遍历用户隐式反馈数据,对于每个用户-物品交互记录,做如下操作:

(1-1)使用生成器生成用户对所有物品的注意力评分;

(1-2)根据当前生成器的状态自适应地采样得到少量但还有丰富训练信息的物品;

(1-3)根据采样得到的物品的注意力评分和特征向量,生成虚拟物品;

(1-4)使用判别器计算用户对已交互物品和虚拟物品的成对损失;

(1-5)通过最小化(1-4)中的损失,优化判别器的参数;

(2)固定判别器的参数,训练生成器:

遍历用户隐式反馈数据,对于每个用户-物品交互记录,做如下操作:

(2-1)通过步骤(1-1)至步骤(1-4)计算成对损失;

(2-2)通过最大化(2-1)中的损失,优化生成器的参数。

(3)重复步骤(1)和步骤(2)直至模型收敛。

模型收敛之后,生成器已经成功地从用户的隐式反馈数据中建模用户的行为偏好。

对于给定用户,生成器能够合理地给出该用户对所有物品的注意力评分,将物品按照注意力评分从大到小排序,向用户推荐排序列表中排名靠前的物品。

由上述训练过程可知,本发明使用注意力机制生成虚拟物品,在离散数据上构建了一个可微的对抗模型,因此可以使用基于梯度的方法,端到端的训练对抗模型。本发明能够提升对抗模型在离散数据上训练的稳定性和收敛速度。

物品的流行度服从长尾分布,大部分物品对于模型的优化帮助较小。本发明使用自适应的采样方式,将该先验知识融入到对抗模型的训练过程中,降低了模型的时间复杂度,提高了训练效率。

采用本发明提供的上述方法,可以提高对抗训练在离散数据上训练的稳定性、收敛速度和训练效率。

采用本发明提供的上述方法,能够更准确有效地为用户推荐喜爱的物品。

附图说明

为了更清楚的说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图简单地介绍。

图1是本发明的模型示意图;

图2是本发明以矩阵分解模型作为生成器和判别器的模型结构图;

图3是本发明中对抗模型的训练流程图;

图4是本发明的学习曲线图。

图5是本发明和对比算法训练时间的对比。

具体实施

图1是本发明的模型示意图。以下将结合具体实例及附图对本发明的技术方案进行清楚、完整地描述。此处的实例与描述仅用于解释本发明,并不用于限定本发明。

令u和i分别表示用户和物品的集合,m和n分别表示用户和物品数量。使用矩阵s表示用户与物品的交互记录:sui=1表示用户u和物品i存在交互记录,否则sui=0。

令矩阵p和q表示生成器中用户和物品的特征矩阵,其中pu和qi表示用户和物品的特征向量,b表示所有物品的偏置向量,bi表示物品i的偏置。令矩阵w和v表示判别器中用户和物品的特征矩阵,其中wu和vi表示用户和物品的特征向量,c表示所有物品的偏置向量,ci表示物品i的偏置。

图2是本发明以矩阵分解模型作为生成器和判别器的模型结构图,以矩阵分解模型作为实例,本发明的详细步骤如下:

步骤(1)固定生成器的参数,训练判别器:

遍历用户-物品交互记录s,对每个用户-物品交互记录(u,i)做如下操作:

步骤(1-1)生成器的目标是根据排序评分为每个用户提供一个个性化的推荐列表。令ru表示所有物品的评分向量,其计算方式如下:

其中,b为物品偏置向量,t为矩阵转置操作。

步骤(1-2)将所有物品的评分向量归一化为概率分布向量:

其中τ是调控参数,k=1,2,…,n。

步骤(1-3)以步骤(2)中的概率向量,随机采取少量物品,将采样得到的物品集合记为eui。

步骤(1-4)将eui中物品的评分矩阵归一化为注意力评分:

步骤(1-5)判别器的目标是判断生成器生成的注意力评分是否合理。从物品的角度来说,注意力评分表示用户对物品特征的喜欢程度。因此,基于隐语义空间的特点,可以结合注意力评分和物品特征向量生成一个新的特征向量:

其中,wk是物品k的特征向量。w’j是生成的特征向量,称为虚拟物品,该虚拟物品保留了用户所喜欢物品的特征。

步骤(1-6)虚拟物品的偏置计算如下:

其中ck是判别器中物品k的偏置。

步骤(1-7)基于生成的特征向量和偏置,判别器对虚拟物品的评分为:

步骤(1-8)计算判别器对已交互物品i的评分:

步骤(1-9)计算已交互物品与虚拟物品的成对损失:

l=-lnσ(yui-y′uj)(8)

步骤(1-10)固定生成器的参数,使用梯度下降算法最小化步骤(1-9)中的成对损失,优化判别器的参数。

步骤(2)固定判别器的参数,训练生成器:

遍历用户-物品交互记录s,对每个用户-物品交互记录(u,i)做如下操作:

步骤(2-1)通过步骤(1-1)计算生成器对所有物品的评分。

用户的偏好更多地表现在已交互物品上,为保证采样得到的已交互物品的数量,在训练生成器时,本发明对已交互物品和未交互物品的采样分别进行。

步骤(2-2)将用户u已交互物品的评分转为已交互物品的概率分布:

其中,τ是调控参数,i∈su ,su 表示用户u已交互物品的集合。

步骤(2-3)将用户u未交互物品的评分转为未交互物品的概率分布:

其中,τ是调控参数,j∈su-,su-表示用户u未交互物品的集合。

步骤(2-4)根据步骤(2-2)和步骤(2-3)中的物品概率分布,分别采取已交互物品和未交互物品,将采样得到的物品集合记为eui。

步骤(2-5)通过步骤(1-4)至步骤(1-9)计算已交互物品和虚拟物品的成对损失。

步骤(2-6)固定判别器的参数,使用梯度上升算法最大化步骤(2-5)中的成对损失,优化生成器的参数。

步骤(3)如果模型收敛,则终止训练,否则执行步骤(1)至步骤(2)。

本发明的训练流程如图3所示。

在物品推荐阶段,对于给定用户,使用生成器计算所有物品的注意力评分,将物品根据注意力评分降序排序,然后向用户推荐排序列表中排名靠前的物品。

图4是本发明在四个数据集上的学习曲线,其中aacf是本发明公开的算法。图中横坐标是训练的迭代次数,纵坐标是推荐性能的评价指标ndcg。该图展示了本发明公开算法优越的稳定性和收敛速度。

图5是本发明公开算法与对比算法训练时间的对比。本发明公开算法的具有更少的训练收敛时间。

本领域的技术人员容易理解本发明中的实施例。以上所述仅为本发明的基本实现的实例而已,并不用以限制本发明。


技术特征:

1.一种在离散数据上使用对抗模型的方法,其特征在于:对抗模型的生成器被视为一个注意力网络,其目标是建模用户的历史反馈数据,生成用户对物品的注意力评分;判别器的目标是判断生成注意力评分的正确性或合理性。

2.根据权利要求1所述的对抗模型,其特征在于,将生成器的目标由离散的物品推荐转换为连续的注意力评分生成。

3.根据权利要求1和2所述的对抗模型,其特征在于,使用注意力机制和注意力评分在隐语义空间中生成虚拟物品,该虚拟物品保留了用户喜欢物品的特征。因此判别器可以通过判断用户对虚拟物品的喜欢程度来判断注意力评分的正确性。

4.根据权利要求1和3所述的对抗模型,其特征在于,以连续空间中的虚拟物品为媒介,判别器提供的训练信息能够可微地传递给生成器,判别器和生成器都可以使用基于梯度的方法训练。

5.模型高效训练的关键在于使用自适应采样降低生成虚拟物品的时间复杂度。物品流行度服从长尾分布,通过融入该先验知识,减少大量无效的运算,提高训练效率。

6.根据权利要求5所述的高效训练模型的方法,其特征在于,使用自适应采样降低模型时间复杂度,采样概率为:

其中,τ是调控参数,su 和su-表示用户u已交互物品的集合和未交互物品集合。记采样得到的物品集合为eui。

7.根据权利要求2和6所述的对抗模型,其特征在于,物品的注意力评分计算方式为:

8.根据权利要求3和7所述的对抗模型,其特征在于,生成虚拟物品的方式为:

9.根据权利要求3和8所述的对抗模型,其特征在于,用户对虚拟物品评分的计算方式为:

10.根据权利要求4和9所述的对抗模型,其特征在于,模型关于已交互物品和虚拟物品的损失计算:

l=-lnσ(yui-y′uj)

11.根据权利要求1和5所述的对抗模型,其特征在于,模型整体是可微的,判别器和生成器的参数都能使用基于梯度的算法高效地优化。

技术总结
本发明公开了一种在离散数据上使用对抗模型的方法。本发明中的模型包含两部分,生成器和判别器。其中,生成器被视为一个注意力网络,用于建模数据的特征并生成注意力评分;判别器用于判断生成注意力评分的正确性。以物品推荐为具体实例,生成器的目标是建模用户的历史反馈数据,生成合理的注意力评分,然后与物品的特征向量结合,在隐语义空间中生成一个特征向量(虚拟物品),该特征向量保存了用户喜欢物品的特征。判别器假设用户对已交互物品的偏爱大于虚拟物品。生成器和判别器的训练是一个对抗的过程:生成器通过最大化损失函数,生成用户喜欢的虚拟物品,以此生成合理的注意力评分;判别器通过最小化目标函数达到区分用户对虚拟物品和已交互物品的偏好。因为生成虚拟物品的过程是可微的,本发明中对抗模型的参数可以使用基于梯度的算法进行端到端地优化。

技术研发人员:叶阳东;孙中川;吴宾
受保护的技术使用者:郑州大学
技术研发日:2020.01.14
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-23565.html

最新回复(0)