Transformer 的注意力头越多越好么

多头注意力机制的目的是通过捕捉不同的注意力信息来提升 AI 模型的表达能力。利用多头矩阵的子空间从不同的视角或者说维度来表达输入的数据。

从贝叶斯神经网络的角度,多头注意力机制是一种采样(Sampling)技术, 每个注意力头是一个采样。 每个头区分度越大,相当于视角越多, 这样的话按道理Transformer 对目标可以进行更好的拟合。 但注意力头真的是越多越好么?(不考虑过拟合和硬件条件的情况下)

问题的关键是注意力头本身是矩阵形式,对输入数据进行线性变换, 得到的结果是离散的而非连续的, 不能够真正表达连续的目标概率分布。与真正的目标间存在误差,而注意力头越多,累计误差也会越大,导致模型的表现也变差。

训练的时候注意力头越多拟合的越好,但是 test 的时候注意力头多不一定效果好,并且还比较多余。

这个我们人脑的机制是一样的, 我们阅读一段文字,很快的读过去, 能够注意到的关键点和它们之间的联系并不会特别多,但也不妨碍我们理解一段话的意思。所以这给我们一个启示,对神经网络的设计,很多时候可以参考人脑思考运行的规律, 模拟人脑的运行策略,也会获得接近的运行效果。

Reference:

Are Sixteen Heads Really Better than One?

Transformer 101 个思考问题:

https://gitee.com/oatmeal3000/Transformer101Q

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容