信息检索16神经网络方法-PPT.ppt
第16讲NeuralIR基于深度神经网络的IR模型2017/10/091提纲 上一讲回顾 深度神经网络(DNN)基础 词向量 Neural IR Model2提纲 上一讲回顾 深度神经网络(DNN)基础 词向量 Neural IR Model34上一讲回顾(待)上一讲回顾(待)4提纲 上一讲回顾 深度神经网络(DNN)基础 词向量 Neural IR Model5神经元6激活函数7激活函数上述激活函数特点Sigmoid:两端饱和区梯度极小;输出不以0为中心;指数函数计算代价大。Tanh:两端饱和区梯度极小;输出以0为中心;指数函数计算代价大。ReLU:在激活值大于0时不存在梯度极小的情况;输出不以0为中心;计算代价小;收敛速度快。除了上述三种激活函数,还有其它一些激活函数,如Maxout,LeakyReLU,ELU等。激活函数对参数的学习过程影响较大,需要根据情况适当选择。8现代信息检索 大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点9神经元组合成为神经网络最简单的多层神经网络多层感知机(Multi-LayerPerceptron,简称MLP)由多个神经元组成,一些神经元的输出作为另一些神经元的输入。10Softmax归一化11参数的学习12参数的学习目标:学习一组网络参数,使得预测y与实际标签y的误差(损失)最小。BP算法:即反向传播算法,是学习神经网络参数的一个重要方法,给定一个样本(x,y),包含如下两个过程:前向计算(forward):根据输入x,计算网络的输出y;反向计算(backward):计算网络预测y与标签y之间的误差(损失)关于网络各参数的梯度;主要应用求导的链式法则。梯度下降算法:BP算法只是得到了误差(损失)关于网络参数的梯度,而梯度下降算法定义了网络参数的更新方式,如SGD:其它常见的参数更新方式:Momentum,Adam,Adagrad,RMSprop等在实际应用中,一般是同时使用一组样本(一个batch)来对网络参数进行更新。另外还有一些二阶的方法:牛顿法,共轭梯度,BFGS13正则化为什么需要正则化?一般的学习算法都是通过最小化训练集上损失函数来得到的,若训练数据的数据量较小或者分布不均,对于容量较大的模型而言,则学习到的模型会过度拟合训练数据分布而与真实分布有一定的差距,所以需要正则化来防止学习到的模型过度拟合训练数据分布,从而增强模型的泛化能力。若想要进一步了解,请参考偏差-方差分解理论。L1与L2正则机器学习中常用的正则方法,通过在损失函数中增加模型参数的1-范数或2范数项来约束模型参数的范围:一般认为L1正则会使得模型参数的某些维度变为0,因此具有特征选择的作用;14正则化L1与L2正则图解:L1正则(右),L2正则(左)图中同一个蓝色环上的损失相同,中心点损失最小;红色环上模相等,原点处模最小,为0;黑色点为解,在黑色点处损失的减小与模的增加达到临界点,即损失的继续减小不能弥补模增加的部分,导致它们的和反而增加了。15正则化DNN中常用的正则化方法数据集增强:通过对已有的数据样本做特定的变换来构造新的样本。噪声鲁棒性:通过往输入、权重或者标签中注入噪声来达到正则化的效果。提前终止:通过引入验证集,训练到验证集上误差达到最小时,则停止训练。参数共享:通过使网络的不同部分共享参数达到正则化效果,参数共享减小了模型的假设空间。Bagging集成方法:训练若干模型,然后由这些模型对输出进行表决,以此来减小泛化误差。Dropout:通过对神经元以一定概率进行丢弃达到正则化效果,通常认为是Bagging的一种近似。16卷积神经网络(CNN)17卷积神经网络(CNN)卷积图解输入:32x32x3;卷积核:5x5x3,1个;输出:28x28x1,步长:118卷积神经网络(CNN)池化(Pooling):池化的总体思想是使用某一位置的相邻输出的总体统计特征来代替网络在该位置的输出。常见池化方式:max-pooling,min-pooling,average-pooling,sum-pooling。以下用max-pooling举例19卷积神经网络(CNN)Max-pooling图解卷积层的三个过程:卷积:卷积核对输入的线性变换激活:激活函数对卷积核输出的非线性变换池化:对激活输出进行进一步调整两个参数:filter的大小,stride:filter移动的步长20池化的特点近似不变性:当输入做少量平移时,输出不会发生变化;近似不变性使得网络更多地关注某些特征是否出现而不关心其具体的位置;由于近似不变性,网络能够容忍一些微小的噪声或者扰动。卷积和池化带来的好处主要有:减少参数,减少噪声21循环神经网络(RNN)循环神经网络(RNN):一种用来专门处理序列数据的神经网络。一个序列当前的输出与前面的输出有关网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出在实践中,为了降低复杂性往往假设当前的状态只与前面的几个状态相关22循环神经网络(RNN)23循环神经网络(RNN)24循环神经网络(RNN)一些常见的RNN结构:25循环神经网络(RNN)26循环神经网络(RNN)27循环神经网络(RNN)28循环神经网络(RNN)若忽略遗忘门控信号,普通RNN与LSTM信息流如下:可以看到,若f对输入的梯度很小,则经过几个单元的反向传播后,梯度就消失了;LSTM通过将当前状态通过相加的方式直接传递到下一个单元,减轻了梯度消失的问题。而遗忘门的作用则是让网络自行学习是否需要记住很早以前的状态信息;除了LSTM结构,还有一些其它门控结构来处理RNN中的梯度消失问题,如GRU,请同学们自行查询相关资料。29DNN基础:总结DNN(深度神经网络):一种多层的神经网络,采用一个或多个隐藏层学习数据暗含的特征,从而得到更好的数据表示两种常见的DNN结构CNN(卷积神经网络):应用于类似网络结构数据,例如图像矩阵使用卷积和池化减少参数,减少噪声RNN(循环神经网络):应用于序列数据隐藏层之间的节点有连接梯度爆炸(特征值1)与消失(特征值1):引入LSTM后面介绍如何应用于信息检索30参考资料UFLDL教程:GoodfellowI,BengioY,CourvilleA.DeeplearningM.MITpress,2016.cs231nslides:JozefowiczR,ZarembaW,SutskeverI.AnempiricalexplorationofrecurrentnetworkarchitecturesC/Proceedingsofthe32ndInternationalConferenceonMachineLearning(ICML-15).2015:2342-2350.LiptonZC,BerkowitzJ,ElkanC.AcriticalreviewofrecurrentneuralnetworksforsequencelearningJ.arXivpreprintarXiv:1506.00019,2015.BishopC.Bishop,C.M.:PatternRecognitionandMachineLearning.SpringerM/StatSci.2006:140-155.注:本小节所有图均来自上述材料,为了简洁未一一注明,特此说明。31提纲 上一讲回顾 深度神经网络(DNN)基础 词向量 Neural IR Model32Word2Vec基于神经网络的一种用于训练词向量的模型Mikolovetc.,arXiv2013两种模型CBOW和Skip-Gram衍生出句向量训练模型Para2VecWord2Vec在NLP和IR领域具有广泛应用33CBOW模型Continuous Bag-of-WordsContinuous Bag-of-Words(CBOWCBOW)模型)模型基本思想为根据上下文信息来预测词项基本思想为根据上下文信息来预测词项三层网络结构三层网络结构输入层(输入层(InputInput):词项的上下文信息):词项的上下文信息投影层(投影层(ProjectionProjection):整合上下文信息):整合上下文信息输出层(输出层(OutputOutput):预测词项):预测词项目标函数目标函数训练算法训练算法梯度下降法梯度下降法34Skip-gram模型Continuous Skip-GramContinuous Skip-Gram(Skip-Skip-GramGram)模型)模型基本思想为根据词项来预测上下文信息基本思想为根据词项来预测上下文信息三层网络结构三层网络结构输入层(输入层(InputInput):词项的信息):词项的信息投影层(投影层(ProjectionProjection):恒等变换):恒等变换输出层(输出层(OutputOutput):预测词项的上下文信息):预测词项的上下文信息目标函数目标函数训练算法训练算法梯度下降法梯度下降法35Para2Vec用于训练句向量的模型Leetc.,ICML2014基本思想与Word2Vec相同,Para2Vec利用特殊词项Paragraphid标记每一篇文档,训练词向量时,Paragraphid作为该文档中每一个词的上下文的一部分参与词向量的训练,最后Paragraphid的向量用于表示整个文档。36词嵌入词/句嵌入的生成初始时模型为每一个词项分配一个随机参数向量,然后利用随机梯度下降法对CBOW或Skip-Gram模型的目标函数进行优化,不断地对每一个词项的参数向量进行调整,模型训练结束时最终的参数向量即作为词项的嵌入(WordEmbedding)。重要特性度量词项间的相似性SummerWinter,StrongPowerful,ChinaTaiwan词嵌入在向量运算中保持语义关联Word2Vec/Para2VecvsLDAWord2Vec/Para2Vec训练时考虑了词项的上下文信息LDA训练时仅基于词项的统计信息IR中的应用:文档的相关性取决于文档上下文内容37词嵌入:总结建立词的上下文网络模型,训练得到权重参数权重参数向量即为所谓词嵌入向量的维度k:一个重要的参数权重参数:表示每一维的重要性语料中每一个单词最终由一个k维(语义)向量表示38参考资料T.Mikolov,etal.EfficientEstimationofWordRepresentationsinVectorSpace.arXiv preprint arXiv:1301.3781(2013).Q.Le,andT.Mikolov.DistributedRepresentationsofSentencesandDocuments.ICML.Vol.14.2014.MikolovT,SutskeverI,ChenK,etal.DistributedrepresentationsofwordsandphrasesandtheircompositionalityC/Advancesinneuralinformationprocessingsystems.2013:3111-3119.39提纲 上一讲回顾 深度神经网络(DNN)基础 词向量 Neural IR Model 开源工具及代码40相关背景信息检索(IR):给定用户查询,返回相关文档,满足用户信息需求传统IR模型如TFIDF基于查询词项的分布进行文档相关度评分词频分布:Log词频全局分布:IDF近年来,深度神经网络(DNN)在自然语言处理(NLP)领域得到了广泛应用已有一些研究人员对DNN在IR领域的应用进行了一定的探索,涌现了一批基于DNN的检索模型这一类模型通常称为NeuralIRModel41现有NIR模型的常用架构基本思想:基于Word2Vec产生单词和文档的向量表示,基于DNN提取文档-查询特征/匹配信号,然后输入一个前馈网络或LearningtoRank算法产生最终的文档相关度评分现有NIR模型之间的区别主要在于怎样利用DNN得到可以用于文档排序的特征/匹配信号IR相对于其它机器学习任务的难点在于相关性的主观性对于不同查询、不同任务,文档的相关性是不同的使用部分查询训练得到的排序模型,难以应用到其它查询PointwiseLearningtorank算法也有类似的问题,因而产生了Pairwise算法因此通常采用查询文档之间wordpair的相似度矩阵抵消查询之间相关性定义的差异转化为图,可以使用CNN、RNN也有一些早期的工作先用DNN学习得到查询和文档的表示,再计算相似度,即representation-based方法,不过效果不好,最近的工作都是基于相似度矩阵,即interaction-based方法。42MatchPyramidPangetc.,Neu-IR2016背景与基本思想:在文本匹配的过程中,需要考虑各种层次的匹配信号,包括单词层次、短语层次以及句子层次等等;卷积神经网络(CNN)结构在计算机视觉(CV)领域的成功表明其能够很好地胜任这种复杂多层次信号的提取;对于给定两段待匹配文本,可以构建一个单词-单词相似度矩阵,把该矩阵视为一张伪图像,则CNN可以直接应用于文本匹配过程中的不同层次匹配信号的提取。43MatchPyramid模型结构给定两段文本,首先计算一个基于单词-单词相似度的匹配矩阵(matchingmatrix),之后一些级联卷积神经网络(CNN)层作用于该匹配矩阵逐步获取更高层次的匹配信号(短语层次、句子层次等),最后一个MLP网络结构作用于最后一个CNN层的输出,得到给定文本最终的匹配分数。MatchPyramid模型结构来源:Pangetc.,Neu-IR201644MatchPyramid实验设置Poolingsize对模型的影响45MatchPyramid实验设置与baseline的比较:QL,BM25,DSSM,CDSSM,ARC-I,ARC-IIPoolingsize对模型的影响Similarityfunction对模型的影响:指示函数(Ind),点积(Dot),余弦相似度(Cos),高斯核(Gau)Kernelsize对模型的影响实验结果46MatchPyramid实验结果实验结论相比所有其它基于DNN的检索模型,MatchPyramid具有更好的效果,且能够取得与传统检索模型接近的结果。Poolingsize太大或大小均不好,对于查询,近似取查询长度的中位数,对于文档,近似取平均段长度比较合适。对于Similarityfunction,使用高斯核能得到最好效果,指示函数能够得到与高斯核相近的结果,余弦相似度稍微差点,点积与前三者差距较大。对于指示函数相似度,KernelSize对模型效果影响不大;对于高斯核相似度,一个合适大小的KernelSize能取得更好的结果。47DRMM(DeepRelevanceMatchingModel)Guoetc.,CIKM2016背景与基本思想:现有的基于DNN的检索模型将检索任务视为两段文本的匹配任务,更多地关注语义匹配(SemanticMatching),即所谓软匹配;相比普通的文本匹配任务,检索任务更需要关注相关性匹配(RelevanceMatching);通过显式地对精确匹配信号(ExactMatchingSignals),查询词重要度(QueryTermImportance),以及多样匹配要求(DiverseMatchingRequirement)进行建模,得到的模型更加适合于检索任务48基本算法步骤构建查询(q)文档(d)相似度矩阵对每一行(即每一个查询词)统计矩阵中相似度数值的分布区间计数(Count)取0,0.1,0.2,1.011个点,对应不同强度的匹配信号Count取对数(LCH),然后输入到前馈网络每个查询词对应一个前馈网络Softmax(前馈网络输出评分*IDF),线性加和得到文档最终评分49模型结构给定查询q和文档d,对于q中的每一个词,计算其与d中每个词余弦相似度,统计落在给定各个区间的数目,将得到的向量输入到一个MLP网络,得到d关于该查询词的评分,最后将d关于q中各个词的评分线性加权得到d的相关性评分。各个查询词的权重由一个Softmax结构给出,输入为查询词的词向量或者逆文档频率。DRMM模型结构来源:Guoetc.,CIKM201650实验设置与baseline比较:QL,BM25,DSSM,CDSSM,ARC-I,ARC-II,MatchPyramid余弦相似度计数变换方式与查询词权重计算方式对模型的影响:直接使用计数(CH),除以总数(NH),取对数(LCH);输入查询词向量(TV),输入查询词逆文档频率(IDF)实验结果51实验设置与baseline比较:QL,BM25,DSSM,CDSSM,ARC-I,ARC-II,MatchPyramid余弦相似度计数变换方式与查询词权重计算方式对模型的影响:直接使用计数(CH),除以总数(NH),取对数(LCH);输入查询词向量(TV),输入查询词逆文档频率(IDF)实验结果52DRMM实验结论DRMM的效果优于所有baselines,包括传统检索模型QL和BM25,是第一个能够取得比传统检索模型更好效果的基于DNN的检索模型但是传统模型并未使用诸如PRF的重排策略基于LCH和IDF的模型效果最好LCH:匹配信号的Count取LogIDF:TermGating线性加权权重某种程度上借鉴了传统模型的TFIDF结构53DuetMitraetc.,背景与基本思想:现有的许多模型学习文本的分布式表示(DistributedRepresentation),然后在潜在语义空间对查询和文档进行匹配;传统检索模型中词通常离散的或者说局部的表示,对于给定查询,文档是否相关通常由查询词的精确匹配(ExactMatching)来决定;本文假定以上两种方式是互补的,通过对这两种方式进行结合,期望能得更好的效果。54模型结构模型由两部分组成:局部模型(localmodel)以及分布式模型(distributedmodel)。局部模型输入为查询与文档的单词-单词相似度矩阵,相似度由单词one-hot表示的余弦值衡量,经过CNN层、全连接层和Dropout层,最终输出一个标量评分;分布式模型输入为查询和文档的n-graph表示,它们的n-graph表示各自经过CNN层或全链接层,得到中间表示,然后对它们的中间表示求HadamardProduct得到一个矩阵,此矩阵经过全连接层和Dropout层,也输出一个标量评分。最终局部模型和分布式模型输出的评分求和得到最终的评分。来源:Mitraetc.,55Duet实验设置与baselines的比较:LSA,BM25,DM,QL,DRRM,DSSM,CDSSM,DESMDuet模型与LocalModel与DistributedModel的比较使用人工判定的不相关文档训练与使用随机采样作为不相关文档训练对比实验结果56Duet实验结果实验结论Duet组合模型要比单独的Local模型以及Distributed模型的效果好,说明精确匹配与潜在空间的匹配的确是互补的。使用人工判定的不相关文档训练要比使用随机采样不相关文档训练的效果好57K-NRM(Kernel-basedNeuralRelevanceModel)Xiongetc.,SIGIR2017背景与基本思想:现有的基于分布式表示(distributedrepresentations)的文档排序方法还很少取得成功;查询词与文档词的精确匹配是一种强相关信号,然而软匹配(soft-match)也是一种不可忽视的弱相关信号;本文使用查询词与文档词的分布式表示相似度(如词向量余弦相似度)来构建翻译矩阵(translationmatrix),一种新的kernel-pooling技术用来提取多层次的软匹配(soft-match)特征,这些软匹配特征可以输入learning-to-rank层获取最终排序评分。58模型结构EmbeddingLayer将单词映射为其分布式表示;查询词与文档词之间的相似度构成TranslationMatrix;将K个核作用于每个查询词对应的TranslationMatrix的一行,得到每个查询词对应的K维软匹配特征,求和得到最终的RankingFeatures;一个Learning-to-rank层作用于最终的特征得到最终的排序评分。使用RBF核函数将矩阵每一行转化为一个对数评分Soft-TF取=0,0.1,0.2,1.011个点,对应不同强度的匹配信号59实验设置与baselines比较:LM,BM25,RankSVM,Coor-Ascent,Trans,DRMM,CDSSM3中不同的TestLabels:与TrainingLabels使用相同的模型(Testing-Same);与TrainingLabels使用不同的模型(Testing-DIFF);直接使用用户点击(Testing-RAW)Sougo数据实验结果60实验设置与baselines比较:LM,BM25,RankSVM,Coor-Ascent,Trans,DRMM,CDSSM3中不同的TestLabels:与TrainingLabels使用相同的模型(Testing-Same);与TrainingLabels使用不同的模型(Testing-DIFF);直接使用用户点击(Testing-RAW)实验结果模型结构61实验设置与baselines比较:LM,BM25,RankSVM,Coor-Ascent,Trans,DRMM,CDSSM3中不同的TestLabels:与TrainingLabels使用相同的模型(Testing-Same);与TrainingLabels使用不同的模型(Testing-DIFF);直接使用用户点击(Testing-RAW)实验结果模型结构62实验设置与baselines比较:LM,BM25,RankSVM,Coor-Ascent,Trans,DRMM,CDSSM3中不同的TestLabels:与TrainingLabels使用相同的模型(Testing-Same);与TrainingLabels使用不同的模型(Testing-DIFF);直接使用用户点击(Testing-RAW)实验结果63K-NRM:结论是一个End-to-end的NIRmodel,没有使用IDF/TF等handcraft权重/特征使用3种不同的TestLabels设置,相比所有baselines,K-NRM均能取得显著提高Testing-DIFF的结果表明了K-NRM模型的鲁棒性;MRR以及NDCG1的结果表明K-NRM擅长靠前位置的文档的排序软匹配(softmatch)是模型有效的最基本条件;基于kernel的词向量能够得到更好的软匹配特征64PACRR(PositionAwareConvolutionalRecurrentRelevanceModel)Huietc.,EMNLP2017背景与基本思想:现有基于DNN的检索模型主要基于unigram单词匹配,对于位置相关的匹配信息(如termproximity和termdependencies)的建模还没有充分的研究;本文通过将具有不同大小(k=2,lg)卷积核的卷积层作用于查询与文档间的单词-单词相似度矩阵,来对k-gram匹配信息进行建模。65模型结构首先,计算查询与文档之间的单词-单词相似度矩阵sim|q|x|d|,并通过裁剪或者补齐等方式得到固定大小的矩阵simlqxld;对于核大小为kxk(k=2,lg)的卷积层,用nf个卷积核作用于矩阵simlqxld并对卷积核维度进行maxpooling,得到与simlqxld形状相同的矩阵;之后,对文档维度进行ns-maxpooling,并将不同的k值对应的结果以及查询词的IDF信息以查询词为基准连接起来;最后将查询词向量送入RNN得到最终评分。PACRR模型结构来源:Huietc.,EMNLP2017作者后续研究表明使用前馈网络结果更好66PACRR实验设置与baselines比较:MatchPyramid,DRMM,DUETL,K-NRM相似度矩阵sim|q|x|d|调整方式对比:裁剪或补0(PACRR-firstk),选取与查询具有较高相似度的文本段(PACRR-kwindow)3组实验:重排QL检索结果(RERANKSIMPLE),重排6年所有的提交TRECruns(RERANKALL),文档对相关性预测(PAIRACCURACY)实验结果67PACRR68PACRR实验结果结论实验结果优于已有的NIR模型使用卷积核学习k-gram相关度匹配特征是一种有效的方法未与传统的n-gram模型进行对比69总结与展望基于DNN的检索模型的研究虽然目前取得了一定的成果,但还有许多问题没有解决尚未得到明显优于传统模型的结果:NIR模型本质上是一个重排算法,而大多论文工作并未对baseline重排(例如利用伪相关反馈算法)通过CNN等“学习”到的特征Vs基于信息理论进行概率估计得到的特征是否有本质区别?和传统模型主要区别来自于Word2Vec产生的词向量表示使用NIR模型对初始检索结果重排可以得到更好的结果,单独使用难以得到可靠的理想的结果,且存在效率问题目前DNN在信息检索上的应用已成为一个研究热点,在大数据的支持下,DNN可望大幅提高信息检索应用的效果但是还有待一个“王炸”级别的NeuralIRModel出现70参考资料MatchPyramidLiangPang,YanyanLan,JiafengGuo,JunXu,XueqiCheng:AStudyofMatchPyramidModelsonAd-hocRetrieval.CoRRabs/1606.04648(2016)DRMMJiafengGuo,YixingFan,QingyaoAi,W.BruceCroft:ADeepRelevanceMatchingModelforAd-hocRetrieval.CIKM2016:55-64DUETBhaskarMitra,FernandoDiaz,NickCraswell:LearningtoMatchusingLocalandDistributedRepresentationsofTextforWebSearch.:1291-1299K-NRMChenyanXiong,ZhuyunDai,JamieCallan,ZhiyuanLiu,RussellPower:End-to-EndNeuralAd-hocRankingwithKernelPooling.SIGIR2017:55-64PACRRHuiK,YatesA,BerberichK,etal.PACRR:APosition-AwareNeuralIRModelforRelevanceMatching.EMNLP2017:1060-1069.71