面试题: Transformer中为什么要用多个头?

文摘   2024-12-20 10:27   中国香港  
点击下方卡片,关注“自动驾驶之星
这里有一群奋斗在自动驾驶量产第一线的小伙伴等你加入Introduction

回答:1. 用多个头可以增强模型的非线性表达能力;2. 多个头可以减缓模型的秩坍缩问题(变向增加模型的表达能力); 3. 从熵的角度来分析,单个头的Hidden Dim是有界的(太大的话效果会饱和); 4. 降低计算量加快效率。

解释:

  1. 用多个头可以增强模型的非线性表达能力
    从原论文的表述"Multi-head attention allows the model to jointly attend to information from different representation subspaces at different positions"中可知:多头注意力允许模型在不同位置联合处理来自不同表示子空间的信息;类似不同的头从不同的视角去计算序列之间的相似性,然后最后汇总到一起(相当于对之空间进行融合);因此多头表示多个多样化的子空间,有助于提升的非线性表达能力。
  2. 多个头可以减缓模型的秩坍缩问题
    这里如果说出来可能会让人觉得你特牛,这也是我之前一篇文章中提及到的一点; 那为什么多个头可以减缓模型的秩坍缩问题呢,从 Attention is not all you need 这篇论文中可以看到,模型的秩有如下的公式:

    上面公式中的H就是头的数量,我们可以看到,res(模型的秩)是呈现双指数形式的下降的,加了一个H,对其有减缓的作用,也就是本来不加H的话,左边的那个值就很小了,加上H之后,虽然也很小,但是没那么小了。  我们从作者的论文中也可以看到,如下:
  3. 从熵的角度来分析
    这里需要请苏老师出来了,苏老师在其科学空间中也做过相关的证明,其基于Skip gram导出了模型的平均熵,然后得到一个结论,也就是词向量n和词表N满足n>8.33logN的关系,假设常见的N是512的话,n就是64,我们用512的hidden dim的话,那就是8个头,因为满足了64就够了太多从原理上将没啥意义。
  4. 计算效率
    多头可以并行,加快计算效率,且多头本身类似于VGG中使用多个小卷积核的思想,计算量会少一些。
知识星球,新人优惠券来袭,结识一群志同道合的小伙伴一起成长。








知识星球,新人优惠券来袭,结识一群志同道合的小伙伴一起成长。

下一个风口会不会是生成式AI 与具身智能的时代,我们特意创建了生成式AI与具身智能交流社区,关于大模型,机器人的相关业界动态,学术方向,技术解读等等都会在社区与大家交流,欢迎感兴趣的同学加入我们(备注具身智能)!   

自动驾驶之星知识星球主打自动驾驶量产全技术栈学习,并包括: 学习板块,求职面试,有问必答,论文速递,行业动态五大板块!星球内部包括端到端大模型,VLM大模型,BEV 障碍物/车道线/Occ 等的学习资料!

生成式AI与具身智能知识星球,我们相信生成式AI 与具身智能会碰撞出出乎我们意料的内容,本知识形象并包括: 学习板块,求职面试,有问必答,论文速递,行业动态五大板块!星球内部包括生成式AI大模型,具身智能,业界资料整理等的学习资料!


自动驾驶之星是面向自动驾驶&智能座舱量产向相关的交流社区,欢迎大家添加小助手加入我们的交流群里,这里有一批奋斗在量产第一线的小伙伴等你的加入!

👇点个“赞”和“在看”吧

自动驾驶之星
自动驾驶之星,是一个以自动驾驶\x26amp;智能座舱量产交流为主的社区。这里有自动驾驶\x26amp;智能座舱量产第一线的前沿动态,有一群奋斗在自动驾驶\x26amp;智能座舱量产第一线的小伙伴在分享他们的量产经历。期待你的加入!希望每个人在这个浪潮中都能成为自动驾驶之星!
 最新文章