一篇来自deepmind的paper: STABILIZING TRANSFORMERS FOR REINFORCEMENT LEARNING
有个疑问:本篇论文没有说在训练和测试的时候state是怎么一步一步输入到这个系统中的。
读后感:transformer在应对比较小的数据集时表现于LSTM相比并没有什么优势,然而在RL中数据集并不会像NLP中这么多,感觉将transformer用在RL效果。。。。
Transformer现在已经证明在处理序列数据,需要提供长期记忆和依赖的环境中的表现比LSTM更好,自然就会想到将transformer用在以前使用LSTM的场合中。
但是经过实验,作者发现将经典的transformer结构代替在RL中的LSTM, 难以优化,训练出来的基本是一个随机的policy。其实transformer训练的困难性在监督学习中同样存在,人们用了一些比如:复杂的学习率调整计划(eg: linear warmup or cosine decay)或者特殊的权重初始化来提高性能,但是这些方法在RL中都没有作用,甚至不能完成最简单的RL任务。
最终作者找到一种使得训练稳定的方法:Gated Transformer-XL(GTrXL): a reordering of the layer normalization coupled with the addition of a new gating mechanism to key points in the submodules of the transformer。实验表明其表现在DMLab-30上超过了LSTM。感觉能找到这种能收敛的方法应该是花了大量人力物力测试了N多次才找出来的,这也应该是transformer提出这么久也没有将其与RL结合的文章的原因
Gated transformer architectures
在本文之前,其实19年的alphastar 就已经用了transformer,但是在那里是用于注意力机制,而不是类似LSTM的temporal memory,本文提出了“Identity Map Reordering”和”gating mechanism” 。
注意本文中使用的MultiHeadAttention不是最经典的那个transformer中的MHA,而是RelaRelative Multihead Attention(见论文:Attentive language models beyond a fixed-length context.)
Identity Map reordering
下图左边是经典的transformer的一个block,而右边是采用了Identity Map reordering的block,两者的差别就在于调整了Layer-Norm的位置。Identity Map意为恒等映射,经典的transformer虽然使用了resnet,但是在resnet后接了一个layernorm,这样的话每次传递的值也被改变了,而现在将layernorm放在renset里面,那么resnet的传递过程就变由:
LayerNorm(x + MultiHeadAttention(x))
变为了:
X + MultiHeadAttention(Layernorm(X))
这样的话,我的理解是也许Multiheadattention这一个结构难以稳定的训练,那么把结构改为第二种后,即使MultHeadattention这一块不好训练,但是神经网络可以由于resnet的存在学习到抛弃这一块网络,那么网络就成为了一个普通的全连接网络。
文章中给出的解释是这样的:
Gating Layers
此处将Residual connection 用一个gating layer替换掉,就成了Gated Transformer(-XL)(GTrXL)
然后就是这个Gating Layer该如何设计,文章中给出了几种设计方法,最终采用的是GRU的机制,这里直接贴上来大家看一下:
Gated Identity Initialization
上面说了Identity Map Reordering(恒等映射)有助于网络的训练,所以这里对各种gating的初始化都让他们更接近于identity map。我理解是初始化时初始化为恒等映射,这样网络就退化为一个多层全连接网络了,这样的话再差也是一个全连接网络,不会出现学不出任何策略的情况。
Experiment
实验是在DMLab-30、Numpad 和Memory Maze三种游戏中测试的,使用的RL算法是V-MPO。
介绍一下这两种环境:
Numpad: 将一个小球放在一个类似于手机按键盘的平台上,上面有一些格子,小球可以经过格子来激活他,目标是找到激活格子的正确的顺序。
Memory maze:在迷宫中有一个苹果,智能体的目标是找到这个苹果。苹果的位置不会改变。智能体一旦找到苹果后会获得奖励然后被传送到迷宫中任意的地方。
总之最后的实验结果就是GTrXL的效果超过了之前所有的memory-based的模型的性能。
ConClusion:
这篇论文通过实验验证了提出的GTrXL比LSTM训练的更快,效果更好。而且transformer的结构意味着他能够构造一个特别大和特别深的模型,能更有效的使用更大的数据集。