获得上面的计算机视觉联盟更多的干货
只是学术共享,不代表本公众号立场,侵权联系删除
新智元
985人工智能博士笔记推荐
周志华 《机器学习》 手推笔记正式开源!附pdf下载链接,Github2500星!
Transformer模型在自然语言、对话、图像乃至音乐等多个领域获得SOTA学位。 每个传输器架构的核心模块是注意力模块,用于计算单个输入序列中所有位置对的相似度score。
变换器图像
但是,如果输入序列长度较长,则Transformer无效。 由于计算时间增加到平方以生成所有相似性得分,存储空间增加到平方以存储这些score,因此扩展到长序列(如长文档和高分辨率图像)非常耗时和内存高昂。
对于需要长距离注意力的APP应用,目前提出了几种快速、节省空间的方法,如常见的稀疏注意力。
稀疏注意机制通过计算从一个序列中选择的相似性分数而不是所有可能的Pair来减少注意机制的计算时间和内存要求,从而生成稀疏矩阵而不是完整矩阵。
稀疏项通过优化的方法(如Performer、Sparse Transformers、Longformers、RoutingTransformers、Reformers和BigBird )进行搜索、学习和随机化
性能映像
稀疏注意力引入了许多技术来修正注意机制,但整个Transformer的体系结构没有改变。 这些稀疏注意机制降低了自我注意的复杂性,但模型必须处理与输入相同长度的序列。
为了缓解这些问题,谷歌、开放AI和华沙大学的团队提出了一种名为Hourglass的新语言建模的高效传输器体系结构。
论文地址: https://arxiv.org/pdf/2110.13711 v1.pdf
Hourglass假设具有明确的层次结构是Transformer有效处理长数组的关键。
因此,在Hourglass中,为了将tokens分层,用下采样和上采样的不同方法进行激活。
Hourglass算法伪代码
由于Hourglass使用缩短操作合并tokens,因此整个序列的长度将缩短。 然后,与来自以前层的序列组合再次进行上采样。
Hourglass体系结构概述
Hourglass的结构从基本层开始,基本层是在完整的tokens序列上运行的Transformer块的集合。
然后,插入缩短层。 其中k1是缩短因子参数。 在缩短之前,序列将向右移动以防止信息泄露。
缩短方法示意图
然后递归插入另一个缩短块,以k1k2倍的最小规模执行。
此后,对处理后的tokens上采样,上采样层将生成的激活信息恢复到原始tokens的分辨率。
上采样示意图
上采样和残差合并后,生成的激活信息由token级别的Transformer普通层处理。
研究者将Hourglass应用于三种语言建模任务。 为了展示Hourglass的跨领域泛化能力,他们用与自然语言处理相关的数据集和来自两个计算机视觉领域的数据集训练了Hourglass模型。
结果表明,Hourglass在给出相同的计算量和存储量的情况下,改进了变换基线,产生了比变换更好的结果。
比较用于Transformer-XL和Hourglass培训的存储
特别是Hourglass在广泛研究的enwik8基准中也提高了语言建模的效率。
基线(红色)和层次Transformer (绿色) )的每字符位数与计算成本的关系
Enwik8是字节级语言建模标准,包含1亿字节的原始英文维基文本。
用测试集评价Hourglass模型,分割为序列长度6912、步长128
的重叠序列,并仅计算最后128个token的测试损失。使用(5@1,24@3,5@1)层次结构,最终得到0.997BPC。Enwik8结果
Hourglass还在ImageNet32生成任务上实现自回归Transformer模型新的SOTA。
下采样图像的每维位数(BPD),自回归模型和非自回归模型用一条水平线分开
模型生成的例子,其中每个图像的下半部分由我们的模型生成,由上半部分提示
Hourglass在ImageNet32生成任务的自回归模型中获得最佳结果,在其他图像生成和语言建模任务中也获得极具竞争力的结果。
特别值得说明的是,Hourglass可以用于任何注意力类型,这为未来处理更长序列的Transformer的相关研究开辟了许多方向,提高了效率和准确性之间的权衡。
参考资料:
https://arxiv.org/pdf/2110.13711.pdf https://www.reddit.com/r/MachineLearning/comments/qmm9z7/r_hierarchical_transformers_are_more_efficient/
-------------------
END
--------------------
我是lylcKings,985AI博士,华为云专家、CSDN博客专家(人工智能领域优质作者)。单个AI开源项目现在已经获得了2100+标星。现在在做AI相关内容,欢迎一起交流学习、生活各方面的问题,一起加油进步!
我们微信交流群涵盖以下方向(但并不局限于以下内容):人工智能,计算机视觉,自然语言处理,目标检测,语义分割,自动驾驶,GAN,强化学习,SLAM,人脸检测,最新算法,最新论文,OpenCV,TensorFlow,PyTorch,开源框架,学习方法...
这是我的私人微信,位置有限,一起进步!
lylc的公众号,欢迎关注,干货多多
手推笔记:
思维导图 | “模型评估与选择” | “线性模型” | “决策树” | “神经网络” | 支持向量机(上) | 支持向量机(下) | 贝叶斯分类(上) | 贝叶斯分类(下) | 集成学习(上) | 集成学习(下) | 聚类 | 降维与度量学习 | 稀疏学习 | 计算学习理论 | 半监督学习 | 概率图模型 | 规则学习
增长见识:
博士毕业去高校难度大吗? | 研读论文有哪些经验之谈? | 聊聊跳槽这件事儿 | 聊聊互联网工资收入的组成 | 机器学习硕士、博士如何自救? | 聊聊Top2计算机博士2021年就业选择 | 非科班出身怎么转行计算机? | 有哪些相见恨晚的科研经验? | 经验 | 计算机专业科班出身如何提高自己编程能力? | 博士如何高效率阅读文献 | 有哪些越早知道越好的人生经验? |
其他学习笔记:
PyTorch张量Tensor | 卷积神经网络CNN的架构 | 深度学习语义分割 | 深入理解Transformer | Scaled-YOLOv4! | PyTorch安装及入门 | PyTorch神经网络箱 | Numpy基础 | 10篇图像分类 | CVPR 2020目标检测 | 神经网络的可视化解释 | YOLOv4全文解读与翻译总结 |
点分享
点收藏
点点赞
点在看