赞
踩
How many layers and why? An analysis of the model depth in transformers
在论文中,经常会看到作者提及使用多少层Transformer,但是,通过学习,我发现Transformer就是输入一张图像经过它之后,其维度大小并不改变?只是,在原数据上添加了这个token能看到其它token的attention,也就是常说的强大的自注意力机制,由此带来的是建立了远距离的依赖。
那么经过一层transformer就有这个效果了?将从前者transformer输出的结果,再一次作为输入,再次经过transformer,是为了得到注意里效果更高的数据?加强attention map?
带着这个问题,进行检索与思考、求助.......
得到了这篇文章作为答复,一起来看看吧,看能不能解答这个问题?
Transformer作Encoder是在正常不过的事了哈,这里就不再做解释。
到这问题就解决了,不过为什么可以更细粒呢?留疑???其实感觉和之前所设想的,理所当然!
当然,想看全片解读的可以继续看~
原来这是一篇NLP的文章,涉及NLP的理解还较为浅显,欢迎大家指正哈!
分析在预训练和微调期间的迭代模型属性。总共进行3个子任务:
结果分析:
Natural Fixed point:分析在模型迭代转换过程中token的隐藏状态是如何演变的。在每次迭代n中,自注意机制计算更新后的状态n+1作为当前状态的加权和。这引入了循环依赖关系,因为在迭代过程中每个token都相互依赖。由于不能保证在一个环状结构内的收敛,鼓励模型收敛到一个不动点。
在训练前阶段,该模型关注于对训练前任务至关重要的token或呈现一定难度水平的token。现在我研究在下游语法或语义任务的微调过程中的模型行为。
Control test :验证模型设置的合理性,GLUE验证,结果如表,展示了测试集的结果。正如预期的那样,平均分数随着迭代次数的增加而降低。实际上,限制了由模型所执行的计算操作的数量。此外,在ALBERT的基础上建立了模型,它跨层共享参数,从而与原始的BERT架构相比,减少了参数的数量。然而,尽管有这些额外的限制,结果仍保持在一个合理的范围内。特别是,具有自适应深度的ALBERT-base与具有固定深度的版本非常接近
Probing tasks :Conneau和Kiela引入了探索任务,以评估一个模型是否编码了基本的语言属性。考虑不引入随机替换的语义和句法任务。特别是,一个预测句子节点正下方的顶部成分序列的任务(TopConst),一个任务是预测主从句动词的时态(时态),以及两个预测主语的任务,主子句中的编号。
尽管所有的任务都获得了显著的和可比较的准确性,但它们都需要一个不同的全局迭代平均值。紧张任务只能从动词中解决,只需要5.4次迭代才能完成,而TopConst任务需要推断出一些句子结构,需要在7.2次迭代中完成。这表明该模型可以适应任务的复杂性,并全局避免不必要的迭代。
查看token级,就像在预训练期间一样,迭代是不均匀地分布在token之间。该模型似乎迭代了更多对该任务至关重要的token。对于SubjNum,subj标记的迭代次数最大,而对于ObjNum任务,obj和根标记的迭代次数更多。类似地,所有的任务都在主动词(根语)上进行了大量的迭代,这对每个预测都至关重要。
文章研究了各层在深层transformer中的作用。设计了一个原始模型,它通过动态次数的迭代逐步转换每个token。分析了这些迭代在训练过程中的分布,并通过分析注意力在BERT层中的分布,特别是特殊token的特定行为。此外,观察到预测任务的关键标记从更多的迭代中获益。在微调过程中证实了这一观察结果,其中具有大量迭代的token也被怀疑是实现该任务的关键。实验为深层transformer模型中各层的作用提供了一个新的解释路径。层不是在每个阶段提取一些特定的特征,而是可以解释为从迭代和收敛过程中得到的迭代。希望这有助于更好地理解transformer模型的收敛机制,减少计算足迹或提供新的正则化方法。
涉及NLP的理解还较为浅显,欢迎大家指正哈!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。