DARQN——Deep Attention Recurrent Q-Network学习

1、Attention机制   

Attention-based Neural Machine Translation 论文地址:http://aclweb.org/anthology/D15-1166

以翻译句子为例,输入的每一个单词对最后输出的结果的贡献应该是有所不同的,attention机制就是为了让输入以不同的重要性对结果产生影响,简单来说就是对 输入进行加权求和,对结果影响大的输入对应大的权重。

(2015年论文《Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation》中,引入了Attention Mechanism来解决传统的Seq2Seq模型对输入序列X缺乏区分度的问题)模型图如左下,输入x序列经过RNN得到hidden state(左图的h1...hT,右图的h1...hm),得到语义编码c,c进入decoder经过RNN得到hidden state(左图的s1...st,右图的H1,H2...Hn)

 

si由si-1,yi-1,和ci 决定。

ci表示加权求和后的语义编码,aij为权重。hj为第j个RNN隐层。

权重aij由softmax层得到归一化的概率值。eij表示一个对齐模型,用于衡量encoder端的第j个输入,对于decoder端的第i个输出的对齐程度(影响程度)。换句话说,就是相关性计算,看每个输入对当前输出的贡献有多大。常用的计算方法有点积运算,cosine,权值网络映射等,如下图。

 

 总结attention机制过程如下:

将Source(输入)中的构成元素想象成是由一系列的<Key,Value>数据对构成,此时给定Target(输出)中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。

阶段一:计算Query与不同key之间的相关性(key对输出的重要性),最常见的方法包括:求两者的向量点积、求两者的向量Cosine相似性或者通过神经网络来求值。

阶段二:用softmax进行归一化,形成有差异的权重值。

阶段三:加权求和,计算最终的输出。

参考:https://www.zhihu.com/question/68482809/answer/264632289      https://zhuanlan.zhihu.com/p/31547842

Encoder-Decoder模型详见:https://zhuanlan.zhihu.com/p/28054589

相关Attention代码

 ●  《Neural Machine Translation by Jointly Learning to Align and Translate》:https://github.com/tensorflow/nmt
 ●  《Hierarchical Attention Networks for Document Classification》:https://github.com/richliao/textClassifier
 ●  《Coupled Multi-Layer Attentions for Co-Extraction of Aspect and Opinion Terms》:https://github.com/happywwy/Coupled-Multi-layer-Attentions
 ●  《Attention Is All You Need》:https://github.com/Kyubyong/transformer
 ●  《End-To-End Memory Networks》:https://github.com/facebook/MemNN

2、DARQN 模型解析

论文:https://arxiv.org/abs/1512.01693

代码:https://github.com/5vision/DARQN

 

1、Input :  St 当前游戏画面状态,大小m*m*D,D为维度

2、CNN :  输出一组向量 𝑣𝑡={𝑣1,...,𝑣𝐿},L = m*m

3、Attention network g : 

       其中,Z是一个normalizing  constant。W 是隐层ht-1的权重矩阵,Linear(x) = Ax + b 是一个线性变换。

       zt公式(2)中,g(v,ht-1)相当于attention中的权重矩阵aij,代表输入对输出的影响大小,它计算的是输入vi与结果隐    层 ht-1的相关性,vi相当于输入信息(attention公式中的hj)。

4、 LSTM : 根据zt,ht-1 ,ct-1,得到ht ,ct ,最终计算得到Q。ht,ct传给下一次的LSTM。   

 

待解决的疑问:

1、计算相关性的公式中,contat 方法中va矩阵是什么,为何进行矩阵堆叠也能够表示相关性?

向量相关性计算:https://blog.csdn.net/yixianfeng41/article/details/61917158,https://www.tuiedu.org/74.html

 

2、DARQN中attention network 的设计原理是什么,Z 如何求得?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值