• Transformer为什么如此有效 | 通用建模能力,并行


    目录

    1 更强更通用的建模能力

    2 并行计算

    3 大规模训练数据

    4 多训练技巧的集成

    Transformer是一种基于自注意力机制的网络,在最近一两年年可谓是大放异彩,我23年入坑CV的时候,我看到的CV工作似乎还没有一个不用到Transformer里的一些组件的,我不禁好奇,为什么Transformer如此有效呢?

    Transformer最早提出是在2017年,发源于那篇著名的《Attention is all you need》大佬的文章标题就是这么接地气哈哈哈哈,不过吧,确实目前看来Attention is all my need,Transformer的提出最初是用于自然语言处理

    不过就在2020年底,CV探索者们将Transformer迁移到了计算机视觉领域,起初只是在分类任务上展露头角(开拓性工作VIT,全程Vision Transformer),后来各种变体工作的探索,使得Transformer在CV的很多下游任务上,如检测,分割等任务上都表现很好

    既然有了统一的主干网络,科学家们就逐渐感觉CV和NLP的大一统会一点点成为可能。

    不过今天这篇文章重点还是会放在Transformer为什么如此有效

    1 更强更通用的建模能力

    卷积网络得吭哧吭哧卷半天,有时候卷到后面前面的信息就忘记了,但Transformer咔嚓一下子就可以捕获全局像素信息

    Transformer网络中的自注意力机制可以帮助模型自动捕捉输入序列中不同位置的依赖关系(而图片也可以变为序列),这种机制使得不需要卷积或循环的情况下降整个序列作为输入

    正是因为具备这样的通用建模能力,Transformer 中的注意力单元可以被应用到各种各样的视觉任务中。

    2 并行计算

    在Transformer架构中,实现并行计算的关键在于自注意力(Self-Attention)机制。自注意力机制允许模型同时处理输入序列的所有元素(自注意力机制可以最后化为矩阵运算,实现并行运算),而无需像循环神经网络(RNN)那样按顺序迭代。这种特性使得Transformer可以有效地利用现代硬件(如GPU和TPU)进行并行计算。

    3 大规模训练数据

    之前很多工作都是有监督的,也就是说为了获取数据集我们需要做很多标记工作

    因而我们都想着把数据直接丢给网络,让网络自己学习会有多香呢哈哈哈,方便做数据集的拓展

    而Transformer之后的Bert等一系列无监督工作,方便了使用大规模数据获得卓越性能

    而现在的Transformer通常使用大量的训练数据进行预训练。这使得模型可以学习到丰富的语言知识和语境信息。随着训练数据的增加,模型的性能通常也会得到显著提高

    4 多训练技巧的集成

    在训练过程中,采用了迭代了许多训练优化技巧,如学习率调整、批归一化,层归一化,梯度裁剪等,提高模型的训练速度和稳定性。

  • 相关阅读:
    Elasticsearch如何创建索引,添加,删除,更新文档
    大数据Flink(六十七):SQL & Table 简介及运行环境
    emq连接认证,订阅发布权限控制
    分布式事务模型与常见解决方案
    Android mtk 系统应用改为可卸载,恢复出厂可恢复
    【C#语音文字互转】.NET的TTS文本转语音合成
    2020华数杯全国大学生数学建模竞赛C题-基于数据分析与统计学方法解决脱贫帮扶绩效评价问题(三)(附MATLAB代码)
    基于JAVA+SpringBoot的新闻发布平台
    求助,有关Kriging 代理模型相关问题
    MES的发展历程及功能模块
  • 原文地址:https://blog.csdn.net/Q52099999/article/details/133757263