论文浅尝 | 神经协同推理

论文笔记整理:叶橄强,浙江大学计算机学院,知识图谱和知识推理方向。Paper link:https://arxiv.org/abs/2005.08129Github link:htt...
摘要由CSDN通过智能技术生成

论文笔记整理:叶橄强,浙江大学计算机学院,知识图谱和知识推理方向。


Paper link: 

https://arxiv.org/abs/2005.08129

Github link: 

https://github.com/Scagin/NeuralLogicReasoning

背景:推荐任务

推荐作为一种认知智能任务(Cognition Intelligent Task)而非感知智能任务(Perception Intelligent Task),不仅需要数据的模式识别和匹配能力,还需要数据的逻辑推理能力。因此,本文的核心思想是在可微神经网络和符号推理之间建立桥梁,前者对应于模式识别和匹配能力,后者对应于逻辑推理能力,然后使这两者在共享体系结构中进行优化和推理。

例如,在某个真实场景中,用户曾经购买了一台笔记本电脑。对于用户而言,他更有可能在未来购买更多有关笔记本电脑的配件,例如笔记本电脑包等,而不是希望继续购买类似的笔记本电脑。在这个例子中,「用户希望购买笔记本电脑配件」的行为需要通过逻辑推理才能够得到,这是符合真实场景的用户需求的推荐;如果只是运用简单的模式识别和匹配,很可能得到「用户希望购买类似的笔记本电脑」这样错误的预测。如下图所示。

图1用户购买笔记本电脑的示例图

协同过滤(Collaborative Filtering, CF)是推荐系统的一种重要方法,该算法能够根据用户以前的记录预测用户未来的偏好,其中的相似度匹配函数是人工设计定义的。早期的协同过滤算法,例如基于用户的和基于项目的协同过滤算法,将原始用户项目评分矩阵中的行和列向量作为用户和项目的表示向量(即嵌入向量),利用人工设计的加权平均函数作为匹配函数f(·),计算出每个用户u与商品候选项v之间的关联度。具体如图2(a)所示,其中u表示用户,v表示商品。

更多研究进一步探索了协同过滤算法。其中一种方法是学习更好的嵌入,将时间和位置等上下文信息加入其中来学习信息嵌入,或者加入文本、图像或者知识图谱等各种异构信息源来丰富嵌入向量;另一种方法是使用更好的匹配函数。例如,用向量平移代替内积进行相似性匹配,或基于度量学习在线性空间中学习距离函数,甚至基于神经网络学习非线性空间中的通用匹配函数。参考图2(b),其中a、b、c表示加入的更加丰富的信息。

但是,本论文认为,推荐作为一种认知任务而非感知任务,不仅需要模式学习和匹配的能力,还需要认知推理的能力,因为用户未来的行为可能不仅仅是由其与用户先前行为的相似性驱动的,而是由用户的认知推理程序决定下一步该做什么。因此本论文提出了新的思路,将每个用户的行为记录视为一个逻辑蕴涵规则,然后将逻辑表达式等价地转换为基于逻辑神经模块的神经体系结构,最后将可微神经网络和符号推理这两者在一个共享的体系结构中进行优化和推理。参考图2(c),引入了逻辑推理运算。

图2不同的协同过滤算法框架结构比较图

概述

首先,本文模型利用模块化逻辑神经网络(Modularized Logical Neural Networks, MLNN)在共享架构中集成了嵌入学习和逻辑推理的能力。其次,逻辑正则化器(Logical Regularizer)学习每一个基本的逻辑运算,包括:AND与(∧)、OR或(∨)、NOT非(∨)。一个感知任务R。然后,推荐问题可以形式化为在给定用户先前行为的情况下,估计未来行为v为真的概率,每个用户的行为记录被视为一个逻辑蕴涵规则,如(a∨b)∧c→v。最后,基于命题逻辑推理规则,将逻辑表达式(用户先前的行为)归结为评估正确或错误(T/F)问题。

本文的主要贡献如下:

1.提出了一种新的神经逻辑推荐框架,将符号逻辑推理和连续嵌入学习联系起来。

2.引入了逻辑正则化器作为约束来规范神经网络的行为。

3.根据给定的逻辑表达式动态构造网络结构,使逻辑先验加入到神经网络结构中。

4.实验部分,在几个真实的推荐数据集上进行实验,以分析和评估框架的行为,并得到不错的结果。


方法

本文方法分为四个步骤:首先,利用反馈推理(Reasoning with Feedback),将推荐任务形式化为一个逻辑推理问题;其次,利用逻辑模块(Logical Module),根据给定的逻辑表达式,将逻辑运算动态组合成神经网络;接着,利用逻辑正则化器(Logical Regularizer), 对神经模块的行为进行正则化约束,使之按照预期的逻辑规则进行运算;最后,运用特定的学习算法,来训练整个逻辑神经网络模型。

1.反馈推理

反馈推理(Reasoning with Feedback)分为隐式反馈推理和显式反馈推理。

(1)对于隐式反馈推理(Reasoning with Implicit Feedback),只知道用户是否与某个项目交互,而不知道用户是否喜欢该交互项目。假设一个用户的交互历史是项目a、b和c(,那么推荐项目v与否的问题就归结为判断以下蕴涵语句是真是假的问题:

在表达式中,逻辑变量a表示“用户喜欢项目a”的事件,而¬a表示“用户不喜欢项目a”的事件。因此,通过将每个变量都代表一个命题,我们就能够对这些变量进行命题推理,使用简单的合取逻辑表达式来判断用户先前的行为是否意味着用户喜欢一个新的项目v。。

基于蕴含表达式的定义(x → y ⇔ ¬x ∨ y),上述逻辑表达式可以仅使用基本逻辑运算和(∧)、或(∨)、非(¬)来表达:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值