金华做企业网站公司,网站服务器位置查询,江西省水文监测中心,wordpress移动端发表失败文 | 丰色 发自 凹非寺源 | 量子位尽管Transformer已经开始在诸多视觉任务上“大展身手”#xff0c;但还有一个问题。那就是在处理大图像上计算比较费劲。比如面对一个1080p的图时#xff0c;它会有超过60%的计算量都耗费在了创建和应用注意矩阵上。究其原因#xff0c;主要…文 | 丰色 发自 凹非寺源 | 量子位尽管Transformer已经开始在诸多视觉任务上“大展身手”但还有一个问题。那就是在处理大图像上计算比较费劲。比如面对一个1080p的图时它会有超过60%的计算量都耗费在了创建和应用注意矩阵上。究其原因主要是因为自注意力头的数量是token的平方而token的数量又与图形大小呈二次方的关系。那能怎么办呢好消息是——现在Meta捣鼓出了一种多头注意力操作方法可以做到足足比标准注意力快197倍而且在提高计算速度的同时它也不会牺牲准确率有时甚至还能将准确率提高1-2个点。具体怎么回事儿思路来源一个“矛盾点”这个方法名叫Hydra Attention主要针对Vision Transformer。“Hydra”有“九头蛇”之义来自希腊神话。Hydra Attention的思路源于线性注意力中的一种有点矛盾的点使用标准的多头自注意力再向模型中添加更多头可以保持计算量不变。而在线性注意力中改变操作顺序后增加更多的头实际上还会降低层的计算成本。于是作者通过将模型中的注意力头数量设置成特征feature数创建出一个token和feature的计算都是线性的注意力模块从而把上述特性发挥到极致。具体来说当标准自注意力头是token数的平方O(T2D)时通过使用可分解核decomposable kernel我们重新安排操作顺序让注意力头的数量变为特征D的平方。然后再使用Hydra Trick最大化注意力头H的数量让HD最终就可以化为一个在空间和时间上的OTD简化操作了。其中Hydra Trick的依据见下图作者在ImageNet-1k上训练了具有不同头数的DeiT-B模型包括使用标准自注意力蓝线基于softmax和使用多头线性注意红线基于余弦相似性的。前者在H96、后者在H3时出现内存不足的情况。当他们往模型中添加更多的头时Softmax注意力模型的准确性似乎会崩溃而多头线性注意力仍可以保持一致因此就有了上述操作。需要注意的是H必须除以D768。速度快197倍准确率还能更上层楼来看看Hydra Attention交出的成绩单。可以看到Hydra注意力比标准注意力快197倍T197。随着图像大小的增加它显著提高了模型的FLOP数在创建和应用注意力矩阵所占的计算量上也始终只有0.02%。除此之外作者发现使用不同的内核Hydra Attention还能让模型的准确率提高大约两个百分点。或者用Hydra Attention替换特定的注意力层也能将模型的精度在ImageNet上提高1%或者与基线维持不变。当然最多可替换8层。另外作者表示这个方法应该可以扩展到NLP领域不过他们还没试。作者介绍这篇成果已入选ECCV 2022 Workshop。作者一共5位分别来自Meta AI和佐治亚理工学院。其中华人3名分别是Cheng-Yang Fu本硕毕业于清华大学博士毕业于美国北卡罗来纳大学教堂山分校现在是Meta计算机视觉方面的研究科学家。Xiaoliang Dai本科毕业于北大博士毕业于普林斯顿大学同就职于Meta。Peizhao Zhang本硕毕业于中山大学博士于美国德克萨斯AM大学已在Meta工作五年。论文地址https://arxiv.org/abs/2209.07484后台回复关键词【入群】加入卖萌屋NLP、CV、搜推广与求职讨论群 [1]https://www.reddit.com/r/MachineLearning/comments/xgqwvu/r_hydra_attention_efficient_attention_with_many/