Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

时间:2022-10-10 09:28:01

Learning Attention for Online Advertising with RNN思路整理

这篇论文调查了循环神经网络在搜索广告中的应用。

主要进行了两方面的工作:

1. 建立基于attention和RNN的模型;

通过RNN将query与ad皆映射到实值向量上,由此对于一个给定的query和ad对之间的匹配程度就可以计算出来。

整个搭建的网络主要由两部分组成,第一部分是RNN网络,第二部分是attention网络,用于给query(或ad)中的不同位置的单词根据它们自身在句中的重要度给出相对应的attention scores。由此每一个query(或ad)的表达便可以通过对其RNN隐层状态根据权重的求和来获得,其中的权重就是attention scores。

2. 探讨attention scores在查询重写和改进的BM25矩阵中的应用。

对于整体而言,我们是从输入经RNN网络和注意力网络到输出进行的端到端训练。

 

一、具体流程:

Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

由图示可以看出,query和ad的训练过程是对称的,因此暂以query为例进行说明。

1.Input layer

        对于一个query,首先进入输入层进行处理。对query中的每个单词皆进行one-hot编码,可以得到每个单词的向量表达 Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理,其中V代表词汇量空间的大小。通常情况下,一个query往往由多个单词组合而成,因此我们将一个query表示成Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 ,其中T代表该query中的单词个数。

 

2.Word Embedding Layer(词向量层)

       在词向量层中,借助线性映射将经过one-hot编码的稀疏高维向量进行降维,变为密集低维向量,该过程可以表示为:

                                       Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        经过该过程之后,可以将维度由原来的V(百万数量级)降为 (百数量级)。

 

3.RNN Layer

        经过词向量层后得到Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 ,将其输入RNN层。当前的隐层状态依靠之前的隐层状态Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理和当前的输入Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 求得。可以表示为:

                                          Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        对于最简单的循环神经网络,有:Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 ,其中Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理是激活函数,常用的激活函数有sigmoid,tanh和ReLU。

        但是对于上述的简单的循环神经网络,在相关信息与当前预测位置之间的间隔大到一定程度之后,就丧失了学习到连接如此远信息的能力,即无法解决长期依赖问题,容易发生梯度消失和梯度爆炸。为了解决这些问题,引入“门”结构:

                                                                                                   Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

                                                                                           Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        其中首先是通过forgetgate决定从细胞状态中丢弃什么信息;之后通过input gate和 Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理来共同决定何种新信息被存放在细胞状态中,其中input gate决定什么值需要更新;最终输出Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 ,其中output gate决定将细胞状态的哪些部分输出。在LSTM中,所有的Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理皆代表sigmoid函数。在LSTM中引入forget gate, input gate, output gate来控制细胞状态和隐层状态的动态更新。因此通过LSTM可以记住长期信息而且不需要花费很大代价。

        除了LSTM之外,还有双向RNN网络。通过建立两个RNN网络分别从正向和反向接收一个序列。因此最终的Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 也是由前向和后向的两种隐层状态联系起来构成。BRNN通过打破时间顺序上的不对称性,更均衡的利用了每一步的上下文环境。

        由于循环神经网络中隐层状态的循环更新, Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理将整个序列的环境都考虑在内。因此相较于Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 能够更好的刻画第t个单词位置的语义。

 

 

4.Attention Based Pooling

                Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        首先对上图进行一个简单的解读,注意区分图中不同颜色的箭头所指向的方向。其中attention net的输入时由双向RNN所产生的隐层状态Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 产生(如上图蓝线所示),attention net的输出就是Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 (如上图红线所示)。之后这两部分结合(如上图中黑线所示)共同产生h。

        RNN的输出是一个向量组成的序列:Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 ,为了更加便于构建损失函数以方便参数的训练,我们希望能将这个向量序列压缩成一个单独的向量。这个过程需要通过池化来完成。通过对比最后池化,均值池化和最大值池化,发现它们中存在着长期依赖、无法区分句中单词主次重要性的等问题,因此提出了基于文本注意力的池化方式。该方式如下所示:

                                                                Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        对于一个query而言,h相当于是获得了关于该query的一个表达。

        其中, Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理就是之前所提到的注意力网络,通过该网络将一个向量Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理映射为一个实值。Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 就是之前所提到的注意力,代表整个序列中第t个相关时间步长Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 的重要程度。

       根据上述公式我们可以看出,注意力池化使得模型能够更加关注序列中更重要的单词。而这个功能的实现依赖于两个方面:首先是Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 需要能够准确的表达序列中第t个单词,这一点通过之前所说的RNN网络来实现。其次是注意力网络 Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 必须有足够的容量以区分重要和不重要的单词。若是采用简单的线性函数无法完成该功能,因为词汇量空间过于庞大。因此,通常采用另一个神经网络来实现,该网络的参数与深层RNN网络的参数一同训练获得。

        同时值的注意的一点是,在单向RNN网络中,由于  Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理的获得与其之前状态Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 有关,因此用Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理来作为Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理的权重是存在漏洞的。因此采用双向神经网络更为准确。

结合以上两图可得,经过基于注意力的池化之后,我们分别获得了关于query的表达向量Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理和关于ad的表达向量Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

 

5. Loss Function

       根据之前获得的 和 ,建立损失函数如下所示:

                                                           Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

                                                                Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        其中,代表训练数据中所有的query和对应点击过的广告,Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理代表训练数据中对应query下未被点击的广告。在训练数据中,对于每一个query而言,可能会对应多个点击和未点击过的广告。

        通过梯度下降最小化损失函数进行模型的训练,获得相应的参数。

 

二、拓展应用

        在Attention Based Pooling中,可以通过Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理求得每个单词相对应的attention score。关于attention score的应用主要有两个方面:一是应用于查询重写,将query(或ad)中attention score高的单词抽取出来构成一个subquery作为新的query;二是修正的BM25矩阵。

1. 查询重写:

        搜索引擎的检索结果页下方一般会提示多个相似的搜索关键词,这些词可以被看要做查询的query的rewriting。在此我们仅考虑从原来的query中抽取一定数量的单词组成subquery,而不考虑近义词等情况。

2. Modified BM25 withAttention:

         BM25算法,通常用来搜索相关性评分。其主要思想是:对query进行语素解析,生成语素Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理;然后对于每个搜索结果d,计算每个语素 与d的相关性得分。最后,将 相对于d的相关性得分进行加权求和从而得到query与d的相关性得分。将其表示如下:

                                                               Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        其中Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理代表判断一个词语一个文档的相关性的权重,常用IDF方法进行计算。Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理代表query中的某第i个单词在文档中的出现频率,|d| 是文档d的长度,avgdl 是语料库中的文档平均长度。

        attention scores可以用来计算非均匀的,根据有代表性的词的频率。越重要的词有着越高的出现频率。依据这一点,我们对 Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理进行一定程度的修改:

                                                                               Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理

        利用attention scores作为权重Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理 ,对单词出现的频率进行修改。同时增加参数Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理来权衡基于attention的单词频率和原始统一的单词频率(eg: value=1)之间的关系。Learning Attention for Online Advertising with Recurrent Neural Network论文思路整理由验证集决定,表明了attention对BM25模型的影响。



参考文献:

[1] Shuangfei Zhai, Keng-hao Chang and Ruofei Zhang. DeepIntent: Learning Attentions for Online Advertising with Recurrent Neural Networks.

[2] Colah. Understanding LSTM Networks. http://colah.github.io/posts/2015-08-Understanding-LSTMs/