从注意力机制(attention)开始,近两年提及最多的就是Transformer了,那么Transformer到底是什么机制,凭啥这么牛?各个领域都能用?一文带你揭开Transformer的神秘面纱。

目录

1.深度学习(DL)背景介绍

2.Transformer的发展历程

3.Transformer优缺点

3.1Transformer的优点

3.2Transformer的缺点

4.Transformer详细过程

4.1Transformer为什么可以并行?

4.2归纳偏置

4.3特征提取能力与自编码器


1.深度学习(DL)背景介绍

深度学习自出生以来就不被看好,随着计算机的发展和硬件条件的提升,这种大规模计算的深度学习才重新焕发光芒。但是我们都知道深度学习,甚至是深度强化学习的效率太慢了,人类只需要重复学习几次,甚至几十次就可以学会的东西,深度学习需要成千上万次,不得不感叹深度学习算法的学习真的太慢了。

深度学习的学习效率问题是由于其本身算法计算机制导致的,最初的深度学习算法都是靠梯度下降来完成映射的,在学习过程中,为了避免学了新的,忘记旧的的“猴子掰玉米”式的学习方式,算法不得不在训练过程中,让每个增量都很小,然后不断重复这个过程,如此一来,就导致学习过程非常缓慢。

2.Transformer的发展历程

2016——CNN中引入Attention机制解决CNN模型结构只能提取local信息缺乏考虑全局信息能力的问题

2017 ——论文《Attentnion is all you need》提出的 seq2seq 模型

2021——ViT的出现使用完全的Transformer模型替代CNN,解决图像领域问题

2023——直今,开始研究对CV Transformer细节的优化,包括对于高分辨率图像如何提升运行效率、如何更好的将图像转换成序列以保持图像的结构信息、如何进行运行效率和效果的平衡等

3.Transformer优缺点

3.1Transformer的优点

  • 可并行
  • 弱归纳偏置,通用性强
  • 特征抽取能力强
  • 自编码上下文双向建模

3.2Transformer的缺点

  • self-attention 计算复杂度高,序列长度上升,复杂度指数级上升

  • 弱归纳偏置增加了小数据集上过拟合的风险

4.Transformer详细过程

4.1Transformer为什么可以并行?

NLP中的RNN之所以不能并行化,是因为其是一个马尔可夫过程,即当前状态只与前一个状态有关,而与再之前的所有状态无关。它天生是个时序结构,t时刻依赖t-1时刻的输出,而t-1时刻又依赖t-2时刻,如此循环往前,我们可以说t时刻依赖了前t时刻所有的信息。

Transformer可以并行化的重要部分体现在两个方面:Encoder和Decoder。Transformer的核心之一是self-Attention自注意力机制,其中,自注意力机制就是利用两个输入之间两两相关性作为权重的一种加权平均,将每一个输入映射到输出上。所以从这个层面上来说,Transformer的Encoder部分里,输出与之前所有的输入都有关,并不是只依赖上一个输入,因此,Transformer的Encoder可以并行化计算所有的自注意力机制。

Transformer的Decoder部分,引入了一种“teacher force”的概念,就是每个时刻的输入不依赖上一时刻的输出,而是依赖之前所有正确的样本,而正确的样本在训练集中已经全部提供了。正是这种“teacher force”的思想,才可以在Transformer的Decoder部分进行并行化计算,

值得注意的一点是:Decoder的并行化仅在训练阶段,在测试阶段,因为我们没有label,所以t时刻的输入必然依赖t-1时刻的输出,这时跟之前的NLP中的序列预测就没什么区别了。

4.2归纳偏置

        归纳偏置(In Terms of Inductive Bias)其实可以理解为:从现实生活中观察到的现象中归纳出一定的规则,然后对模型做一定的约束,从而可以起到“模型选择”的作用,即从假设空间中选择出更符合现实规则的模型,也可以理解为“先验知识”。打个比方,第一次用智能手机的人类,可能从前还用过其他的设备。那里的经验,就可以帮他很快学会智能手机的用法。如果没有那些经验,就只能广泛尝试,影响学习速度了。回到AI上来,用过去的经验来加速学习,在机器学习里叫做元学习 (Meta-Learning) 。

Transformer很少对数据的结构信息进行假设。这使得Transformer成为一个通用且灵活的体系结构。但是这样也有其对应的缺点。缺少结构归纳偏置使得Transformer容易对小规模数据过拟合。

归纳 (Induction) 是自然科学中常用的两大方法之一 (归纳与演绎,Induction & Deduction),指从一些例子中寻找共性、泛化,形成一个较通用的规则的过程。偏置 (Bias) 则是指对模型的偏好。通俗理解:归纳偏置可以理解为,从现实生活中观察到的现象中归纳出一定的规则 (heuristics),然后对模型做一定的约束,从而可以起到 “模型选择” 的作用,类似贝叶斯学习中的 “先验”。

4.3特征提取能力与自编码器

Transformer强大的特征提取能力来源于自注意力机制,

其中,Q为查询向量序列,K为键向量序列,V为值向量序列,W为可学习参数矩阵。

Transformer可以加深网络深度,不像 CNN 只能将模型添加到 2 至 3 层,这样它能够获取更多全局信息,进而提升模型准确率。

整理不易,欢迎一键三连!!!

持续更新。。。

参考:如何理解Inductive bias? - 知乎

Transformer到底为何这么牛相关推荐

  1. 张俊林:BERT和Transformer到底学到了什么 | AI ProCon 2019

    演讲嘉宾 | 张俊林(新浪微博机器学习团队AI Lab负责人) 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读]BERT提出的这一年,也是NLP领域迅速发展的一年.学 ...

  2. 阿里再添一员虎将!刚刚入职的80后硅谷科学家贾扬清到底有多牛?

    3月18日傍晚,阿里巴巴达摩院通过知乎账号宣布,原Facebook人工智能科学家贾扬清已正式加入阿里巴巴,担任技术副总裁岗位,领导大数据计算平台的研发工作.阿里巴巴达摩院在知乎问题"如何评价 ...

  3. 日常撕逼:React和Vue到底谁更牛?

    web前端教程 用大白话,来讲编程 知乎上近日又有人发起"React和Vue到底谁更牛?"的问题,评论中一片口水战,Vue作者尤雨溪也现身说法.大家一起围观! 然后Vue作者亲现身 ...

  4. 库卡机器人会卡顿吗_看完你就知道德国库卡机器人到底有多牛!

    在德国奥格斯堡的库卡机器人公司总部与其它技术发明相比,机器人相对而言比较年轻.世界上第一个工业机器人诞生于二十世纪中叶. 库卡机器人使自动化变得简单:设计简单.集成简单.操作简单.保养简单,并且能够简 ...

  5. 200 万年薪请不到!清华姚班到底有多牛?| 原力计划

    作者 | Hollis在csdn 出品 | CSDN博客 前几天,清华大学自动化系2020年大一新生的C++作业因为太难而上了热搜,该话题在知乎上的热度一度高达 1300+ 万. 在该帖子下方,有很多 ...

  6. 浙大计算机学院多厉害,一张图,就能告诉你浙大到底有多牛!

    原标题:一张图,就能告诉你浙大到底有多牛! 1977年恢复高考以后 各大学本科教育培养出的 院士校友人数排名 我们可以看到,在各大学本科教育培养出的院士校友人数排名上,浙大以23人的成绩遥遥领先. 而 ...

  7. 程序员的祖师爷到底有多么牛逼?

    西雅图IT圈:seattleit [今日作者]Dexter 读书巨慢理事会会长 计算机行业出过很多神一般的人物 我们介绍过的也不少 比如Google的战神Jeff Dean 这么多段子,都来源于这位谷 ...

  8. 平塘天眼和大数据有什么关系_聊聊平塘“天眼”的那些事儿,“FAST”到底有多牛?...

    原标题:聊聊平塘"天眼"的那些事儿,"FAST"到底有多牛? 昨日,我省首期"黔灵科普大讲堂"开讲,国家天文台研究员.FAST(500米口径 ...

  9. 中控煤化工丨大型煤化工智能工厂高效精准生产,到底有多牛?

    近日由宁夏自治区人民政府.工业和信息化部.国家能源局.中国煤炭工业协会.中国石油和化学工业联合会和国家能源投资集团联合举办的<中国煤化工关键技术暨重大装备创新大会>在银川召开,浙江中控技术 ...

最新文章

  1. Linux管道的原子性,管道机制
  2. Leetcode: Remove Element
  3. 如何根据原理图画封装_如何根据业务封装自己的功能组件
  4. 数据库查询语言SQL概念
  5. style.display,有点问题
  6. WinForm登录模块设计开发
  7. 信息安全工程师笔记-恶意代码防范技术原理
  8. 02331 数据结构 二叉树的遍历
  9. cobbler高可用方案
  10. 【数学建模】相关软件
  11. HDU 6287 口算训练 (质因数分解)
  12. 简单明了的java反射机制
  13. android 换肤(1)——插件式无缝换肤(解析鸿洋大神的换肤流程)
  14. 2022 中小企业快成长之年,上云 选对平台是关键,这次我站华为云
  15. 基于javafx和mysql的C/S版影院管理系统
  16. 可视化编程的一些资料
  17. Windows命令实现匿名邮件发送
  18. dnw for linux(pc)
  19. 蓝牙麦克风 android,带蓝牙麦克风的Android语音识别器
  20. 【人工智能】机器人的未来发展:从工业自动化到知识自动化

热门文章

  1. Android 5.0 GET_TASKS
  2. Java中的canonical name、simple name和class name
  3. 关于爱剪辑、会声会影、美图秀秀
  4. 用flash做计算机器,用flash8制作计算器的方法
  5. java软件屏幕大小转换,android 用java写一个自动适配各种屏幕大小的工具
  6. “都叫兽”背后的韩国文化
  7. 复杂系统学习(七):基于代理的模型I
  8. linux free 命令以及系统内存占用过高的处理方法
  9. 守候购物小助手插件 v2.6.14
  10. myeclipse破解补丁激活失败方法