Lesson 9 Transformer

听课(李宏毅老师的)笔记,方便梳理框架,以作复习之用。本节课主要讲了seq2seq model简介,以及应用,架构(包括encoder和decoder)。

什么是seq2seq

sequence-to-sequence(seq2seq)
比如语音识别、机器翻译、语音翻译、语音合成等
在这里插入图片描述
输入文字,输出语音
在这里插入图片描述

其他应用

对话机器人

在这里插入图片描述

自然语言处理

大多数自然语言处理(NLP)的任务都是QA,将问题和文章输入进seq2seq model 就能得到answer
在这里插入图片描述
seq2seq model就像瑞士军刀,可以砍柴什么的,也可以切菜。seq2seq什么都可以做,但是没必要。定制化的模型可能更好
在这里插入图片描述

文法剖析

当时的论文把这个文法剖析当做翻译来做的
在这里插入图片描述

multi-label classification

与multi-class classification对比:
muli-class classification是选择某个class输出,只输出一个class
multi-label classification是由模型自己选择输出几个标签,比如输入一个电影的类型,可能会输出“悬疑/惊悚”,“喜剧/爱情”,“家庭”等
在这里插入图片描述

object detection

识别输出有几种动物
在这里插入图片描述

seq2seq架构

整体架构

在这里插入图片描述

encoder

encoder在seq2seq模型中的位置

在这里插入图片描述

encoder内部结构

讲一下大致的结构,分为输入,位置编码,N块灰框框里面的东西。
灰框框里面是:

  • multi-head attention(实际上就是self-attention)
  • add(下面详细讲)
  • norm(下面详细讲)
  • feed forward(下面详细讲)
    在这里插入图片描述
    一个block是好几层layer做的事情
    在这里插入图片描述
    之前说的那个add,就是下图中的residual connection,就是输入b+b经过self-intention之后输出的a形成a+b,这个过程叫做residual connection,也就是之前架构图里面的add

norm就是前面写的norm了,这里的norm是layer normalization,跟之前的batch normalization是不一样的。
在batch normalization里,是对不同feature的同一维度进行norm
在layer normalization里,是对同一feature的不同维度进行norm

在进行了add+norm操作之后,再丢入fc network,再进行add+norm
这样一个灰框框里的流程就走完了
在这里插入图片描述

小结

所以在encoder里,add&norm指的就是residual connection+layer normalization,而feed forward指的是fully connected network
在这里插入图片描述
原始论文的设计不一定是最好的,所以会有其他的encoder架构,也许performance比原论文的encoder架构更好。
在这里插入图片描述

decoder

decoder在seq2seq模型中的位置

在这里插入图片描述

decoder内部架构

在这里插入图片描述

Autoregressive(AT)

拿中文语音辨识举例:
decoder的输入:encoder的输出作为decoder的输入+BEGIN标识符
这里的BEGIN标识符其实是one-hot vector,就是一维为1,其他维为0
decoder的输出:经过softmax函数之后的vector的size大小为中文中所有字的个数,挑选出概率最大的那个字进行输出。
由于之前进行了softmax函数,所以这些中文字的概率加起来是1
在这里插入图片描述
输出第一个字后,再把第一个字当做输入,进而输出第二个字。
但是这样可能造成中途错了一个字之后,把错的字又当成输入输进去,这样就造成了“一步错步步错”。这个问题之后会提到怎么解决
在这里插入图片描述
与encoder的对比
在这里插入图片描述
那么这里的masked multi-head attention是什么呢?我们来看下它与self-attention的对比:
下图是self-attention的内部结构,可以看到b1是通过a1,a2,a3,a4生成的,但是在masked multi-head attention中,b1是通过a1生成的,b2是通过a1,a2生成的,b3是通过a1,a2,a3生成的……以此类推

在这里插入图片描述
self-attention具体计算过程如下:
在这里插入图片描述
而masked multi-head attention具体计算过程:
在这里插入图片描述
到目前为止有两个问题:

  • 后面的回答依赖前面的输出,而前面的输出可能出现错误
  • 不知道什么时候停
    在这里插入图片描述
    在这里插入图片描述
    针对第二个问题(不知道什么时候停),可以采取以下方法来解决:
    就像添加BEGIN token一样,我们添加一个STOP token,这个stop token实际上跟Begin token一样,但是一个是在输入,一个是在输出,所以不会搞混,不会存在重复的现象。
    在这里插入图片描述
    在这里插入图片描述

Non Autoregressive(NAT)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/512681.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每日一题(leetcode2952):添加硬币最小数量 初识贪心算法

这道题如果整体去思考,情况会比较复杂。因此我们考虑使用贪心算法。 1 我们可以假定一个X,认为[1,X-1]区间的金额都可以取到,不断去扩张X直到大于target。(这里为什么要用[1,X-1]而不是[1,X],总的来说是方便,潜在思想…

香港科技大学广州|智能制造学域博士招生宣讲会—吉林大学专场

时间:2024年4月12日(星期五)14:00 地点:吉林大学前卫校区敬信教学楼-A107 报名链接:https://www.wjx.top/vm/mmukLPC.aspx# 宣讲嘉宾:汤凯 教授/学域主任 跨学科重点研究领域 •工业4.0 •智能传感器、…

LTD重新定义MQL流程,营销枢纽助力销售线索全周期高转化

随着数字化技术的不断发展,客户的信息获取渠道发生了比较大的变化。相较于传统模式,客户更加青睐于通过在线平台来进行购买决策。所以,企业的获客思维也需要改变,通过建设独立站,将其作为获客入口进行入站引流。那么&a…

基于深度学习的机场航拍小目标检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要:在本博客中介绍了基于YOLOv8/v7/v6/v5的机场航拍小目标检测系统。该系统的核心技术是采用YOLOv8,并整合了YOLOv7、YOLOv6、YOLOv5算法,从而进行性能指标的综合对比。我们详细介绍了国内外在机场航拍小目标检测领域的研究现状、数据集处理…

在哪申请免费IP地址证书

IP证书,也被称为IP SSL证书,是一种特殊的SSL证书,不同于传统的域名验证(DV)证书,它是通过验证公网IP地址而不是域名来确保安全连接。这种证书是用于保护IP地址,并在安装后起到加密作用。 申请条…

物联网实战--入门篇之(四)嵌入式-UART驱动

目录 一、串口简介 二、串口驱动设计 三、串口发送 四、串口接收处理 五、PM2.5数据接收处理 六、printf重定义 七、总结 一、串口简介 串口在单片机的开发中属于非常常用的外设,最基本的都会预留一个调试串口用来输出调试信息,串口时序这里就不谈…

电商系列之风控安全

> 插:AI时代,程序员或多或少要了解些人工智能,前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家…

Verilog语法回顾--用户定义原语

目录 用户定义原语 UDP定义 UDP状态表 状态表符号 组合UDP 电平敏感UDP 沿敏感时序UDP 参考《Verilog 编程艺术》魏家明著 用户定义原语 用户定义原语(User-defined primitive,UDP)是一种模拟硬件技术,可以通过设计新的原…

【北京迅为】《iTOP-3588开发板系统编程手册》第1章 系统编程初探

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

通过nvtx和Nsight Compute分析pytorch算子的耗时

通过nvtx和Nsight Compute分析pytorch算子的耗时 一.效果二.代码 本文演示了如何借助nvtx和Nsight Compute分析pytorch算子的耗时 一.效果 第一次执行,耗时很长 小规模的matmul,调度耗时远大于算子本身 大规模的matmul,对资源的利用率高小规模matmul,各层调用的耗时 二.代码…

болеть和заболеть的区别,柯桥俄语培训哪家好

动词болеть, заболеть是教学的重点,也是难点,在各个群里也是讨论频率极高的词汇,本期进行一下讲解。 请问:如何给学生讲解болеть和заболеть的区别? болеть和заболеть我是这…

1,static 关键字.Java

目录 1.概述 2.定义格式和使用 2.1 静态变量及其访问 2.2 实例变量及其访问 2.3 静态方法及其访问 2.4 实例方法及其访问 3.小结 1.概述 static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量。被static修饰后的&#xff…

基于Eigen库的多项式曲线拟合实现(最小二乘法)

本文介绍基于Eigen库的多项式曲线拟合实现(最小二乘法)。 1.基础知识 1)范德蒙矩阵 范德蒙矩阵是一个n*m的矩阵,定义为 其第i 行、第j 列可以表示为。范德蒙矩阵可以应用于多项式的最小二乘法。 2)最小二乘法原理 给出n个点,求…

【智能算法】蜜獾算法(HBA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年,FA Hashim等人受到自然界中蜜獾狩猎行为启发,提出了蜜獾算法((Honey Badger Algorithm,HBA)。 2.算法原理 2.1算法思想 蜜獾以其…

上传苹果IPA安装包的注意事项与技巧:确保顺利通过审核

目录 引言 摘要 第二步:打开appuploader工具 第二步:打开appuploader工具,第二步:打开appuploader工具 第五步:交付应用程序,在iTunes Connect中查看应用程序 总结 引言 在将应用程序上架到苹果应用商…

权限问题(Windows-System)

方法:用命令来写一个注册表的脚本 ?System是最高级用户,但不拥有最高级权限 编写两文档:system.reg 和 remove.reg,代码如下: system.reg: Windows Registry Editor Version 5.00[-HKEY_CLASSES_ROOT\*…

[StartingPoint][Tier0]Dancing

Task 1 What does the 3-letter acronym SMB stand for? (3个字母的首字母缩略词SMB代表什么?) Server Message Block Task 2 What port does SMB use to operate at? (SMB 使用什么端口进行操作?) 445 Task 3 What is the service name for port…

redis持久化管理

目录 查看Redis内存使用 查看Redis内存使用 info memory 内存碎片率 内存碎片,如何产生 跟踪内存碎片率对理解Redis实例的资源性能是非常重要的: ●内存碎片率稍大于1是合理的,这个值表示内存碎片率比较低,也说明 Redis 没有发…

webapi 允许跨域

1.在Nuget安装webapi.cors 添加完会有这个包 然后在项目App_Start 目录下的WebApiConfig.cs里面添加 // Web API 配置和服务// 添加跨域设置config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

前端跨页面通信方案介绍

在浏览器中,我们可以同时打开多个Tab页,每个Tab页可以粗略理解为一个“独立”的运行环境,即使是全局对象也不会在多个Tab间共享。然而有些时候,我们希望能在这些“独立”的Tab页面之间同步页面的数据、信息或状态。这就是本文说说…