您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > 基于深度学习的专家排序方法
1基于深度学习的专家排序方法魏斯超云南机电职业技术学院,昆明,650203摘要:关键词:1引言专家检索是垂直信息检索的研究热点,用以对专家特定人群进行更精确的查询。专家检索是指根据查询和专家的相关度对专家进行排序,将最相关的专家排在前面。其中专家排序方法的好坏对专家检索效果起着至关重要的作用。目前专家排序方法主要包括专家模型排序方法,文档模型排序方法,投票模型排序方法和链接分析模型。针对专家排序不应只计算单个专家的相关性而应该考虑整个专家列表上的排序损失,第三章提出了基于列表的专家排序方法。这种方法在很大程度上提高了专家检索的精度,但存在局限性。该方法采用的神经网络模型由于随机初始化容易陷入局部最小而且训练时间过长,此外浅层的神经网络不能更好的模拟排序函数。近期在机器学习领域研究火热的深度学习最初是由Hinton等人2006年提出的一种深度可信网络模型[45],该算法至今仍是深度学习的主流方法。深度可信网络DBN模型被认为由一层BP网络和若干层RBM堆叠而成,训练过程中训练实例作为底部RBM的输入,下一层RBM的输出作为上一层RBM的输入,由此从低到高逐层训练RBM来构建深度可信网络模型,每层RBM通过反复训练求得最优参数。这一模型绕过直接从整体上训练DBN的高复杂度,而将其转化为对多个RBM层的训练问题。最后通过顶层BP神经网络算法对深度可信网络模型进行整体微调,提高了建模能力。深度学习在语音识别和图像处理上取得了显著的成就。微软亚洲研究院和谷歌的研究员通过使用DNN技术在语音识别上降低了20%~30%的错误率,取得了十几年来突破性的进展。在图像处理领域也降低了10%左右的错误率。深度学习在自然语言处理的诸多领域也得到了广泛的研究和应用。如陈宇[47]等提出的利用深度学习进行中文名实体关系抽取方法,证明了深度学习非常适用于基于高维空间特征的信息抽取任务;又如奚雪峰[48]等提出的利用深度学习机制进行基于语义特征的代词指代消解方法,表明增加RBM2训练层数可以提高系统性能。深度学习方法通过RBM无监督的自训练得到很好的参数来逐层初始化权重,进而构建深度可信网络DBN模型能够很好的克服神经网络的局限。综合上述考虑本文提出了基于深度学习的专家排序方法。2深度学习模型2.1深度可信网络DBNDBN(deepbeliefnets)模型是由多层无监督的RBM(restrictedBoltzmannmachine)网络和一层有监督的反向传播BP网络组成的一种深层神经网络。其结构如图4.1所示。DBN模型在训练过程中主要分为两步:首先分别单独无监督的训练每一层RBM网络,求得每层最优参数,确保特征向量映射时,尽可能多地保留好的特征信息,弱化次要信息和错误信息,即多层RBM对特征集合聚类的过程;然后DBN的顶层的BP神经网络接收最后一层RBM输出的特征向量作为其输入特征向量,进行分类并微调整个DBN模型。图1DBN结构图DBN训练的具体过程是:1.将专家文档的特征向量赋值给底层RBM的可视层作为输入;2.RBM通过自训练求得最佳层内权重参数,并输出隐含层特征;3.低层RBM的输出作为顶层RBM的输入,逐层从低向上传播,直到最顶层RBM;34.BP神经网络接收最顶层RBM的输出作为其输入特征,进行对专家进行分类排序,并微调每层RBM的权重参数。其中RBM网络训练模型是DBN的核心。它通过自训练得到层内最优参数,可以看作是对一个深层BP网络参数的初始化,克服了BP神经网络因随机初始化参数而容易陷入局部最小和训练时间过长等缺点。底层RBM网络接收原始的特征向量,顶层RBM将低层RBM的输出作为其输入,在自底向上的传递过程中,具体的特征向量逐渐转化为抽象的特征向量,在顶层的RBM网络形成更易于分类排序的组合特征向量,而且传递过程中会弱化次要信息和错误信息。深层网络可以更好的逼近排序函数,因此理论上深层网络的排序效果比浅层网络要好。2.2受限玻尔兹曼机RBM自训练过程RBM是DBN的核心,由一个可见层v和一个隐含层h组成。层间的节点两两相连,层内的节点互不相连,其结构如图4.2所示。图2RBM结构图RBM模型在给定可见层单元状态下,各隐含层单元的激活条件是独立的;反之,在给定隐含层单元状态下,可见层单元的激活条件也是独立的。假设RBM模型有n个可视单元和m个隐含单元,W表示可视单元和隐含单元之间的权重矩阵,a表示可视层的偏置向量,b表示隐含层的偏置向量。RBM自训练的目的是确定参数{,,}Wab使联合概率分布(,)pvh。在自训练过程中,首先将可视层向量值映射给隐含单元;然后通过隐含层向量值重建可视单元;重建的新可视单元再次映射给隐含单元,又可以获取新的隐含单元。反复执行这种步骤叫做吉布斯采样。可视层的输入通常是已知的,底层RBM可视层的输入是训练样例,上一层RBM的输入是低层RBM的输出。已知的可视单元的节点值通过公式(1)可求得隐含单位的节点值。41(1)1exp()jjiijiphbvw………………………(1)RBM是对称网络,因此同理可以由已知的隐含单元的节点值通过公式(2)求得第二个状态下可视单元的节点值。1(1)1exp()iijjijpvchw……………………(2)可视层特征向量v和隐含层特征向量h的联合概率分布满足:(,)exp((,))TTThWvbvchpvhEvhe………………(3)其中(,)Evh是可视层特征向量v和隐含层特征向量h的数学期望。通常采用马尔可夫链蒙特卡罗MCMC求使(,)pvh最大的参数。其基本步骤是将可视层和隐含层互为条件,不断的求出更新状态,最后共同趋向平稳状态,此时(,)pvh最大。然后求出最大联合概率分布与初始状态的联合概率分布的斜率。最后利用公式(4)更新参数。(1)()log(,)pvh……………………(4)基于CD准则的RBM模型自训练的过程为:1)根据训练样例确定RBM可视单元和隐含单元个数;设定训练周期T;2)将训练样例向量赋值给RBM可视单元作为输入,并对参数W,a和b进行随机初始化为较小的数;3)利用公式(1)求出所有隐含层单元11(1)jphv;4)利用公式(2)求出第二个状态下所有可视层单元21(1)ipvh;5)再利用公式(1)求出第二个状态下所有隐含层单元22(1)jphv;6)重复上述3)到5)过程T次;7)利用如下公式更新各参数111222((1)(1))TTWWPhvvPhvv;12()aavv;1122((1)(1))bbPhvPhv52.3BP神经网络微调DBN过程BP网络是一种有监督式的学习算法,是DBN模型的最后一层,接收顶层RBM网络的输出作为其输入特征向量,通过与正确结果比较,微调整个DBN模型。本文将Sigmod函数作为BP神经网络节点的求值函数。其训练过程为:1.随机初始化BP神经网络的参数,并设定训练次数;2.接收顶层RBM网络的输出作为其输入特征向量;3.通过权值参数和输入的特征向量求得输出;4.计算BP神经网络的输出与正确结果之间的误差;5.求得每层权重的改变,反向传递自顶向下微调整个DBN网络的权值参数。3实验设计以及结果分析本文通过人工收集11200个专家的支撑文档,其中包括专家的主页,百度百科页,维基百科页和专家博客页五大类文档,构建了中文专家检索查询和候选文档集合。为了验证本文提出的专家排序方法的有效性,设计了如下任务:任务1,检验RBM层对专家排序的影响。任务2,检验每层RBM节点数对专家排序的影响。任务3,验证本文提出的基于深度学习的专家排序方法比传统的排序方法更适合专家排序。3.1深度学习的学习层数对排序结果的影响理论上深度学习的每一层RBM网络会弱化上一层RBM网络产生的错误信息与次要信息,因此通过多层非线性映射提取出的信息,其精度应优于浅层网络输出的信息。为了验证其正确性进行了实验。0.350.40.450.50.550.6DBN3DBN4DBN5DBN6MAPP@5NDCG@5图3RBM层数对专家排序实验效果的影响6从上图中可以看出,初期随着RBM层数增加,MAP、P@5和NDCG@5都在大幅提高,因为深度学习是一个多层神经网络,通过多层映射特征逐层抽象,在从低向上映射过程中错误信息和次要信息逐渐被弱化,最后形成易于排序的抽象特征。3.2每层节点个数对排序结果的影响在深度学习过程中,除了RBM层数决定着排序精度,而且每层RBM结点数对专家排序的效果也有较大影响。为了研究每层RBM选取多少个结点更有利于排序,以及每层RBM之间结点数呈现怎样的规律对排序结果更好,进行了实验。表14组每层RBM节点数第2层第3层第4层第5层第6层A组7656463626B组7055402510C组6040203010D组6535503010表2节点数对专家排序的影响A组B组C组D组MAP0.40910.41450.39210.3876P@50.56130.56890.55170.5482NDCG@50.50290.51280.49010.4873表1是四组每层RBM含有的节点数,第一层RBM网络可视层节点数是由训练样例特征向量的维数决定的,本文中提取86个特征,因此第一层RBM网络可视层单元为86个,在此没有列出。A组设置为随着RBM层数增加,节点数逐渐减小;B组也是随着RBM层数增加,节点数逐渐减小,但B组节点数减小的幅度大于A组;C组和D组的节点数设置没有特定规律,比较随机。从表2可以看出,B组的排序性能要优于A组的排序性能,这是因为随着RBM层数增加,RBM逐层映射的过程是对特征逐渐抽象,弱化次要信息和错误信息的过程。A组与B组的排序效果比C组和D组的排序效果,说明随着RBM层数增加,每层节点数递减的排序效果要更好。3.3不同排序学习方法的比较DBN是一种深层的神经网络,最底层的神经网络接收训练实例的特征向量,7底层神经网络的输出作为高层神经网络的输入,由此自底向上传递,在传递过程中,由最初具体的特征向量逐渐转化为高层的抽象的特征向量,每层RBM确保该层内权重参数达到最优,随着多层神经网络的逐层映射将弱化错误信息和次要信息,在顶层形成更易于排序的抽象特征向量。为了验证本文提出的基于深度学习的排序方法比传统的RankNet、ListNet等方法更适合于专家排序任务进行了如下实验,其中深度学习排序方法中RBM网络是6层。表3不同专家排序方法比较RankNetListNetRankCosine深度学习MRR0.64280.69430.68870.6921MAP0.33510.37580.37180.4145p@50.47160.53170.51490.5689NDCG@50.42050.47290.46550.5128从表3可以看出,ListNet和RankCosine的排序效果要优于RankNet的排序效果,这是因为RankNet优化的是两个文档间的偏序关系,而ListNet和RankCosine是在整个专家列表上进行考虑,最小化的是整个专家列表的最小损失函数;ListNet和RankCosine相比,前者的排序效果更好,说明ListNet更适合专家排序;深度学习排序方法虽然MRR值略低于ListNet的MRR值,但其它评价指标都优于上表中的所有方法,这是因为深度学习排序方法克服了ListNet和RankCosine中神经网络容易陷入局部最小和浅层神经网络不能很好的逼近排序函数的缺点。4本章小结针对神经网络存在的容易陷入局部最小和训练时间过长,本文提出的基于深度学习的专家排序模型很好的解决了上述问题,而且深度学习通过多层非线性网络结构实现了复杂函数逼近,更好的表征排序函数,同时提高了泛化能力。通过实验研究了RBM结点数对专家排序的影响,以及每层RBM结点数符合逐层递减的规律更利于提高排序效果,并验证了基于深度学习的专家排序模型在较大程度上提高了专家排序效果。8参考文献
本文标题:基于深度学习的专家排序方法
链接地址:https://www.777doc.com/doc-2536847 .html