从贪心选择到探索决策:基于强化学习的多样性排序

本文主要介绍发表在SIGIR'2018上的论文

From Greedy Selection to Exploratory Decision-Making: Diverse Ranking with Policy-Value Networkswww.bigdatalab.ac.cn

这篇论文利用强化学习来解决多样性排序问题,整体思路和AlphaGo类似。

  1. Motivation

在信息检索领域一个重要的目标是提供可以覆盖很多topic的检索结果,也就是检索结果的多样性。简单来说就是选择候选文档的一个最小子集,这个子集能够尽可能多的包含subtopic。因为文档是否新颖取决于已经选择的文档,因此这是个NP-hard的问题。一些传统的方法都是把检索多样性看成是基于相关性和新颖性的一个排序问题,这些方法的核心是利用贪心来选择文档,每一次从候选集合中选择一个文档。贪心方法虽然可以加速在线排序,但是可想而知这种方法不可避免的会陷入次优解,因为它每次选择只考虑局部信息,而文档的“贡献"(utility)并不是独立的,是与其他文档相关联的,每次选择一个文档后都会改变候选集合中的剩余文档的utility,理想的解决方法是探索所有文档的排序,但在实际应用中这显然无法实现。得益于AlphaGo的成功,作者提出利用蒙特卡洛树搜索(Monte Carlo tree search-MCTS)来改善MDP模型。新的模型 M^2Div(MCTS enhanced MDP for Diverse ranking)利用一个MDP来对序列文档的选择进行建模,在每次进行选择时,将query和已有文档送给RNN来产生policy和value,policy用来进行文档的选择而value用来估计整体文档排序的质量,比如 \alpha-NDCG@M 。为了防止次优解,作者使用MCTS来探索每个位置的可能的文档排序,由此产生一个对于当前选择的更好的policy。因为MCTS探索了更多未来可能的文档,它给出的policy有更大的概率产生全局最优解。当有了更好的policy后,模型通过最小化loss function来进行调整。

2. MDP和MCTS

马尔可夫决策过程(MDP)是建模序列决策的一个框架,关键部分为States,Action, Policy, Transition和Value。具体的,States S 是状态的集合,在文章中作者定义状态为query、已有文档排序和候选文档的三元组;Action A 是agent可以执行的离散动作集合,可选的动作会依赖于状态s,记为 A(s) ; Policy p 描述agent的行为,它是所有可能动作的一个概率分布,通过最大化长期回报进行优化;Transition T 是状态转移函数 s_{t+1}=T(s_t, a_t) ,也就是根据动作 a_t 将状态 s_t 映射为 s_{t+1} ;Value 是状态值函数 V:S\rightarrow R ,用来预测当前基于policy p下状态s的长期回报。MDP模型中agent和环境在每个时刻 t=0,1,2,... 进行交互,在每个时间步 t agent接收环境的状态 s_t ,然后选择一个动作 a_t\in A(s_t) ,之后 agent进入一个新的状态 s_{t+1}=T(s_t, a_t),强化学习的目标是最大化长期回报,也就是最大化Value V(s_0)

通过MDP做的决策(根据policy选择置信度最大的动作)可能会陷入次优解,理论上我们应该探索所有的决策空间来得到全局最优解,但是这是不现实的。MCTS就是在决策空间中进行启发式的搜索,这样更容易产生比贪心更好的决策序列。给定时刻 t ,policy p 以及值函数 V ,MCTS的目标是找到一个“加强版”的策略来进行更好的决策。MCTS包含四个过程,分别是SelectionExpansionSimulation/EvaluationBack-propagationSelection是从根节点开始,递归的选择一个最优子节点直到到达叶子节点;Expansion 指如果 L 不是一个终止节点,那么为 L 创建子节点并且根据policy选择一个子节点 CSimulation/Evaluation 是从 C 进行一次模拟直到结束。在AlphaGo Zero中使用值函数代替模拟来加速树的搜索。Back-propagation来更新当前序列中的每个节点里的数值。MCTS最终输出一个policy \pi ,这个策略用来在 t 时刻选择动作。MCTS会持续的进行,直到完整的episode生成为止。

3. Algorithm

这一部分介绍 M^2Div模型,模型整体如图

可以看出在每个时间步模型选择一个文档,首先模型通过LSTM来产生 p(a|s_t)V(s_t) ,然后进行搜索,产生加强版的策略,之后根据策略选择动作并进入下一个状态。

3.1定义文档排序的MDP

定义候选文档全集为 X=\{x_1,x_2,...,x_M\} ,每个文档通过doc2vec模型转化为向量,在时刻 t ,状态为 s_t=[q, Z_t, X_t] ,其中 q 为query, Z_t=\{x_{(n)}\}_{n=1}^t 是已选择的文档, X_t 是候选文档,在初始状态( t=0 ), s_t=[q,\phi,X] , \phi 为空集;动作 A(s_t) 是可以选择的动作集合,也就是对应每一个候选文档;状态转移 Ts_{t+1}=T(s_t, a_t)=T([q,Z_t,X_t],a_t)=[q,Z_t\oplus\{x_{m(a_t)}\},X_t\backslash \{x_{m(a_t)}\}]\\ 其中 \oplus 为将 x_{m(a_t)} 添加到 Z_t 中, \backslash 为将 x_{m(a_t)}X_t 去除。每次选择新的文档query是保持不变的,新文档添加到 Z_t 的末尾;值函数 V 用来估计整体排序的质量,通过学习 V 来近似评价指标,比如 \alpha-NDCG@M 。具体的,值函数 V 的计算如下 V(s)=\sigma(\langle w, LSTM(s)\rangle+b_v)\\ LSTM 的输入为query和已有文档的向量表示,输出为cell state向量与output vector的concatenate,也就是 LSTM(s)=[h_t^T,c_t^T]^T ;有了值函数,可以计算policy p ,计算方法如下 p(a|s)=\frac{exp\{x_{m(a)}^T U_\rho LSTM(s)\}}{\sum_{a'\in A(s)}exp\{x_{m(a')}^T U_\rho LSTM(s)\}}\\ 其中 U_\rho 为参数,最终的策略函数 p(s)p(s)=\langle p(a_1|s),...,p(a_{|A(s)}|s)\rangle

3.2 MCTS

有了值函数和策略函数后,作者提出使用MCTS来进行改进,也就是在每个时刻 t ,根据值函数 V 和策略函数 p 进行MCTS搜索得到更好的策略 \pi 。因为MCTS探索整体的排序空间,所以 \pi 比上式得到的 p 会选择更好的动作。具体算法为

Selection阶段( line 3 - line 7),每次搜索都从根节点 s_R 开始选择最大化upper confidence bound的文档。注意这个根节点并不是树的根节点,而是t 时刻的状态。最大化upper confidence bound的标准为 a_t = argmax_{a}(Q(s_t,a)+\lambda U(s_t,a))\\

a_t 的定义可以看出,Q(s_t,a) 是动作值函数,可以看做选择某个动作的回报,考虑的是“利用”,而 U 更倾向于“探索”,也就是更喜欢访问次数少的节点, \lambda\geq0 ,是平衡因子,U(s_t,a) 定义为 U(s_t,a)=p(a|s_t)\frac{\sqrt{\sum_{a'\in A(s_t)}N(s_t,a')}}{1+N(s_t,a)}\\

p(a|st) 是策略函数 p(s_t) 的预测概率, N(s_t,a) 是节点的被访问次数。上式是PUCT算法的一个变体。

Evaluation and expansion阶段( line8 - line 19),当到达一个叶节点 s_{L} 时,如果是episode的结尾,那么可以用已有的评价指标进行评估,比如 \alpha-NDCG@M ,否则可以用值函数来评估 V(s_L) 。如果 s_L 可以展开,那么对每个动作构建新的节点并且初始化,也就是 line 11- line 16。

Back-propagation and update( line 20 - line 28)中,我们更新 QN Q(s,a)\leftarrow \frac{Q(s,a)\times N(s,a)+V(s_t)}{N(s,a)+1}\\ N(s,a)\leftarrow N(s,a)+1\\

本质上 Q(s,a) 是每次从状态 s 选择动作 a 的对应的值函数的相加再求平均,也就是 Q(s,a) = \frac{1}{N(s,a)}\sum_{l} V(s_l) ,文中的公式是增量更新的形式。在Algorithm 1的 line 29 - line 32,根据已有的 N(s_R, a) 来计算 \pi \pi(a|s_R)=\frac{N(s_R,a)}{\sum_{a'\in A(s_R)}N(s_R,a')}\\

3.3 利用强化学习训练网络

有了更好的策略 \pi 后,在每个时刻 t 都使用 \pi_t 进行文档选择。当候选集合为空或者已经满足挑选文档个数时不再进行文档的排序,此时利用已有的文档排序,可以和真实的文档计算评价指标,用 r 表示。所有时刻的状态和MCTS的策略组成 E=\{(s_t, \pi_t)\}_{t=1}^T ,我们要优化的目标为 l(E,r)=\sum_{t=1}^{|E|}((V(s_t)-r)^2+\sum_{a\in A(s_t)}\pi_t(a|s_t)log\frac{1}{p(a|s_t)})\\ 第一项为平方误差,希望值函数在每个状态的值都和 r 接近;而第二项是为了让LSTM输出的策略与MCTS得到的策略更接近。loss function形象化表示如下图

整体算法如下

可以看出针对每个query,在每个时刻选择文档时,利用MCTS来进行选择。当结束排序后,根据排序结果以及每个时刻的策略 \pip 进行模型的更新,最终得到一个训练好的LSTM模型。

3.4 Online ranking

MCTS是比较耗时的,在线上进行排序的时候可能会对服务有不小的压力。作者提出了Online ranking的方法,就是在排序时不再进行MCTS,直接用LSTM输出的策略。作者用实验验证了不使用MCTS的时候模型仍然会高于baseline。这得益于训练时MCTS的贡献,MCTS使模型能够输出更精确的策略。

3.4 与AlphaGo Zero的不同

虽然受到了AlphaGo Zeor的启发,但 M^2Div 与之还是有不同的。作者总结了三点,第一使任务的形式化不同。围棋是两人进行博弈,状态是棋盘以及落子位置,而多样性排序只需要每次挑选一个文档。第二是监督信息不同,在围棋中监督信息是最后的输赢,而在多样性排序中监督信息是各种多样性的评价指标。第三是网络模型不同,AlphaGo Zero使用了残差网络而排序使用了LSTM,这也是由于任务不同而有不同的选择。

4. Experiment

作者与其他算法进行了对比,实验结果如下

可以看出在测试阶段使用MCTS的效果最好。除此之外,作者还对比了在没有MCTS的排序中使用策略还是使用值函数,随着训练迭代的增多,使用策略效果会更好

一个可能的原因是 \alpha-NDCG@M 的优化相对困难,尤其是在训练的初期。

5. 结束语

这篇文章利用强化学习来进行多样性排序,与已有方法相比效果由明显的提升。用AlphaGo算法的整体框架来解决序列排序问题确实也比较自然,尤其是文档之间还会互相的影响。这种方法也可以应用到其他序列生成的任务中,最直接的比如导航时路线生成,理想状况下是可以根据路况来选择道路的。强化学习应用很广,期待能在更多的场景下发挥作用。

原文:https://zhuanlan.zhihu.com/p/56053546

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对话系统聊天机器人的设计艺术(上)

前言关于本文的阅读方式:这不是一篇学术综述,也不是单纯的科普文,而是试图从目标出发来渐进式的思考对话系统的设计,顺便科普。因此本文不适合跳读,也不适合5分钟式浏览,而是适合在夜深人静的时候一个人...…

鲍捷 | 知识表示——面向实战的介绍

本文转载自文因互联 2016 年 6 月份组织的第一期北京知识图谱学习小组 Wiki。 知识表示(Knowledge Representation,KR,也译为知识表现)是如何将结构化数据组织,以便于机器处理和人的理解的方法。从结构推导出新的结构&…

]搜索引擎的文档相关性计算和检索模型(BM25/TF-IDF)

搜索引擎的检索模型-查询与文档的相关度计算1. 检索模型概述搜索结果排序时搜索引擎最核心的部分,很大程度度上决定了搜索引擎的质量好坏及用户满意度。实际搜索结果排序的因子有很多,但最主要的两个因素是用户查询和网页内容的相关度,以及网…

对话系统(任务型、检索式、生成式对话论文与工具串讲)

Motivation 对话是一个很大的概念,有非常非常多的子问题,刚入坑的小伙伴很可能迷失在对话的一小块区域里无法自拔,本文就是为解决这一类问题的。希望读者在看完本文后,可以理清楚对话的每个概念为什么而存在,以及它在整…

综述 | 知识图谱向量化表示

本文作者:窦洪健,2016级研究生,目前研究方向为推荐系统、文本生成,来自中国人民大学大数据管理与分析方法研究北京市重点实验室。 本文收录于RUC AI Box专栏,为该专栏特供稿件(https://zhuanlan.zhihu.com/…

强化学习扫盲贴:从Q-learning到DQN

本文转载自知乎专栏「机器学习笔记」,原文作者「余帅」,链接https://zhuanlan.zhihu.com/p/358829371 本文学习目标1. 复习Q-Learning;2. 理解什么是值函数近似(Function Approximation);3. 理解什么是DQN&…

肖仰华 | 基于知识图谱的可解释人工智能:机遇与挑战

本文转载自公众号知识工场,整理自 2017 年 10 月 13 日肖仰华教授在 CIIS2017 中国智能产业高峰论坛上所做的报告。 肖仰华:很高兴有机会跟大家一起分享《基于知识图谱的可解释人工智能:机遇与挑战》。 刚才刘总的报告中提到了机器和人类将来…

对话系统的设计艺术(完结)

Motivation对话是一个很大的概念,有非常非常多的子问题,刚入坑的小伙伴很可能迷失在对话的一小块区域里无法自拔,本文就是为解决这一类问题的。希望读者在看完本文后,可以理清楚对话的每个概念为什么而存在,以及它在整…

2018届校招面经精选

https://www.zhihu.com/question/23259302 牛客网​已认证的官方帐号819 人赞同了该回答最好的办法就是看看别人是怎么准备的,通过别人的面经来反思自己如何准备。针对应届生校招面试 “机器学习” 相关岗位的情况,牛妹为大家整理了一批面经&#xff0c…

白硕 | 知识图谱,就是场景的骨架和灵魂

本文转载自公众号恒生技术之眼 知识图谱,目前已在全世界得到了重视和应用,成为当下人工智能热的一个重要组成部分。它究竟是怎样的一种技术?它的应用场景在哪里?未来国内企业该如何发展?让我们一起来聊聊。 从知识图谱…

您的DST大礼包请查收

本文转载自刘冲大佬(知乎id:呜呜哈)的知乎文章,链接:https://zhuanlan.zhihu.com/p/40988001除本文外,作者还写了很多对话相关的良心好文!做对话的小伙伴千万不要错过这位良心答主噢(&#xffe…

LSTM长短记,长序依赖可追忆(深度学习入门系列之十四)

摘要:如果你是一名单身狗,不要伤心,或许是因为你的记忆太好了。有时,遗忘是件好事,它让你对琐碎之事不再斤斤计较。然而每当自己记不住单词而“问候亲人”时,也确实气死个人。于是你懂得了如何控制好什么信…

技术动态 | 清华大学开源OpenKE:知识表示学习平台

本文转载自公众号机器之心,选自 THUNLP。 清华大学自然语言处理实验室近日发布了 OpenKE 平台,整合了 TransE、TransH、TransR、TransD、RESCAL、DistMult、HolE、ComplEx 等算法的统一接口高效实…

多任务学习时转角遇到Bandit老虎机

注:本文的正文干货转载并少量修改自大佬覃含章(知乎id同名,知乎必关的数值优化大佬啊啊)的一篇知乎回答,链接https://www.zhihu.com/question/53381093/answer/562235053一个转角事情是这样的,最近小夕在做…

NLP13-LDA引发的一系活动

摘要: 目标是想了解也学习LDA,寻找学习LDA相关资料,学习LDA相关的概率基础,对于LSI,pLsa,LDA作为主题模型的对比;然后到LDA本身,对LDA相关的概率基础进行学习。把相关资料疏理与集合起来。

王昊奋 | 从聊天机器人到虚拟生命:AI技术的新机遇

本文转载自公众号中国人工智能学会。 10月12-13日,第七届中国智能产业高峰论坛在佛山开幕,在NLP与服务机器人专题论坛上,深圳狗尾草CTO王昊奋发表了主题为《从聊天机器人到虚拟生命:AI技术的新机遇》的精彩演讲。 以下是王昊奋老师…

【Java】如何理解Java中的异常机制?

1 异常的概念 程序在执行过程中出现非正常线性,导致JVM非正常停止异常不是语法错误 2 异常的分类 Throwable是所有错误或异常的超类Exception是编译期间异常(写代码时IDE会报错)RuntimeException时运行期异常,程序运行时出现的…

文本匹配相关方向总结(数据,场景,论文,开源工具)

Motivation 前不久小夕在知乎上写了一个回答《NLP有哪些独立研究方向》,于是有不少小伙伴来问分类和匹配的参考资料了,鉴于文本分类的资料已经超级多了,就不写啦(不过分类相关的tricks可以看之前写的这篇文章《文本分类重要tricks…

机器学习】LDA线性判别分析

【机器学习】LDA线性判别分析1. LDA的基本思想2. LDA求解方法3. 将LDA推广到多分类4. LDA算法流程5. LDA和PCA对比【附录1】瑞利商与广义瑞利商线性判别分析 (Linear Discriminant Analysis,LDA)是一种经典的线性学习方法,在二分类问题上因为最早由[Fish…

科普 | 动态本体简介

本文转载自知乎专栏知识图谱和智能问答。 1 近年来,随着语义Web的兴起,本体技术受到了广泛关注。很多大型跨国公司都开始研究本体技术。谷歌于2012年提出了知识图谱的项目,旨在利用本体技术来提高搜索的精度和更智能化的知识浏览。国内的互联…