【自然语言处理六-最重要的模型-transformer-下】

news2024/12/23 14:04:02

自然语言处理六-最重要的模型-transformer-下

  • transformer decoder
    • Masked multi-head attention
    • encoder和decoder的连接部分-cross attention
    • decoder的输出
      • AT(Autoregresssive)
      • NAT

transformer decoder

今天接上一篇文章讲的encoder 自然语言处理六-最重要的模型-transformer-上,继续讲transformer的decoder,也就是下图中的红框部分
在这里插入图片描述

可以看出encoder和decoder部分去掉粉红色框的部分,结构几乎一样,下面分三部分介绍不同点

Masked multi-head attention

decoder的注意力是masked的注意力,什么是masked的attention呢? 下面是self attention:

在这里插入图片描述
需要注意的是:
selfattention中注意力bi的输出是需要关注所有的输入,也就是下面那一整排向量

但如果是masked self-attention,注意力是这样子的:
在这里插入图片描述
这个与普通的self attention的区别
bi只能关注a0到ai的输入,不能包括ai+1后的输入,那么为什么需要masked attention呢?
用下面的语音辨识,举个例子说明一下:
在这里插入图片描述

encoder是把一次性把所有的输入都输入到模型,计算注意力分数,但是对于decoder来说,它是一个字一个字产生:
比如decoder计算第一个位置应该输入什么的时候,它并不知道下一个的输入是“機”,所以必须遮蔽右边的输入,因此又叫masked self-attention。
decoder中下一次的输入是在本次输入BEGIN计算出来以后“機”这个字,作为下一次的输入。
需要说明的一点是:
实际上我们在训练的时候是知道每个输入的,因为这些信息是训练资料提供的,但真正测试使用的时候,是无法知晓的。

encoder和decoder的连接部分-cross attention

下面是encoder和decoder的互连部分:
在这里插入图片描述
相同的Add和Norm不再赘述,下面是attention部分,这个attention部分的输入分为3部分:
有两个箭头来自encoder的输出(这部分用作self attention中的k和v)
一个箭头来自decoder上一层的输出(这一部分用作q)

所以计算attention的流程是这样的:

在这里插入图片描述
左边这边encoder的输出,用于生成k v,右边decoder上一层的输出,用作q
按照普通的attention计算注意力分数后,最终生成v
然后进行add 残差连接和norm 归一化后,作为这一层的输出
然后继续输入到FC(feed forward netword)中

除了上面几部分不同,还需要关注的decoder如何处理输出。

decoder的输出

decoder输出的序列长度应该是多长呢?
比还是以语音辨识为例,输入一段语音究竟应该输出多少个字符根本无法确认,那么decoder究竟是怎么确定输出的长度的呢?有两种做法AT和NAT (AT是Autoregresssive的缩写)

AT(Autoregresssive)

这种做法就是让机器自己决定要输多少长度的sequence,当模型输出END的时候,就认为decoder输出完毕

NAT

在这里插入图片描述
这种情况下有几种方法确定decoder输出的长度:
1.添加一个网络来预测输出的长度
2.输入一排BEGIN向量,输出一排向量即可,最终的输出截止到输出为END

通常情况下,我们都是用AT,效果更好一些

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

红黑树的简单介绍

红黑树 红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍&#x…

爬虫案例二

第一步电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com)电影天堂_电影下载_高清首发 (dytt89.com)电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com) 打开这个网站 我直接打开 requests.exceptions.SSLError: HTTPSConnectionPool(hostwww.dytt28.com…

99.qt qml-单例程序实现

在之前讲过: 58.qt quick-qml系统托盘实现https://nuoqian.blog.csdn.net/article/details/121855993 由于,该示例只是简单讲解了系统托盘实现,并没有实现单例程序,所以多次打开后就会出现多个exe出现的可能,本章出一章QML单例程序实现, 多次打开始终只显示出第一个打开…

论文阅读:2022Decoupled Knowledge Distillation解耦知识蒸馏

SOTA的蒸馏方法往往是基于feature蒸馏的,而基于logit蒸馏的研究被忽视了。为了找到一个新的切入点去分析并提高logit蒸馏,我们将传统的KD分成了两个部分:TCKD和NCKD。实验表明:TCKD在传递和样本难度有关的知识,同时NCK…

【RT-DETR有效改进】全新的SOATA轻量化下采样操作ADown(轻量又涨点,附手撕结构图)

一、本文介绍 本文给大家带来的改进机制是利用2024/02/21号最新发布的YOLOv9其中提出的ADown模块来改进我们的Conv模块,其中YOLOv9针对于这个模块并没有介绍,只是在其项目文件中用到了,我将其整理出来用于我们的YOLOv8的项目,经…

动态之美:Motion 5特效,让视频栩栩如生 mac版

Motion 5,一款强大的视频后期特效软件,凭借其丰富的功能和出色的性能,成为了众多影视制作人员的首 选工具。它不仅能够满足专业级影视制作的需求,也适合初学者探索和实践视频特效的魅力。 Motion 5软件获取 Motion 5拥有丰富多样…

SpringBoot源码解读与原理分析(四十)基于jar/war包的运行机制

文章目录 前言第14章 运行SpringBoot应用14.1 部署打包的两种方式14.1.1 以可独立运行jar包的方式14.1.2 以war包的方式 14.2 基于jar包的独立运行机制14.2.1 可独立运行jar包的相关知识14.2.2 SpringBoot的可独立运行jar包结构14.2.3 JarLauncher的设计及工作原理14.2.3.1 Jar…

怎样获得CNVD原创漏洞证书

1. 前言 因为工作变动,我最近把这一年多的工作挖漏洞的一些工作成果提交到了CNVD漏洞平台(https://www.cnvd.org.cn/),获得了多张CNVD原创漏洞证书。本篇博客讲下怎么获得CNVD原创漏洞证书,以供大家参考。 2. CNVD原创…

【设计模式 03】抽象工厂模式

一个具体的工厂,可以专门生产单一某一种东西,比如说只生产手机。但是一个品牌的手机有高端机、中端机之分,这些具体的属于某一档次的产品都需要单独建立一个工厂类,但是它们之间又彼此关联,因为都共同属于一个品牌。我…

数据可视化原理-腾讯-散点图

在做数据分析类的产品功能设计时,经常用到可视化方式,挖掘数据价值,表达数据的内在规律与特征展示给客户。 可是作为一个产品经理,(1)如果不能够掌握各类可视化图形的含义,就不知道哪类数据该用…

白银期货开户交割规则有哪些?

白银期货交割是指期货合约到期时,交易双方通过该期货合约所载商品所有权的转移,了结到期未平仓合约的过程。小编在此为大家详细介绍白银期货的交割规则有哪些。白银期货的交割规则有哪些?白银期货的交割规则主要有: 一、交割商品…

echarts如何实现3D饼图(环形图)?

一、实现的效果 二、具体步骤 1.安装依赖 npm install echarts 2.引入echarts import * as echarts from echarts; 注意:这里需要用到echarts-gl,必须单独引入才可以 import echarts-gl; 3.echarts部分代码 我知道这部分内容很多,但只要cv…

【ES入门一:基础概念】

集群层面上的基础概念 集群 由多个es实例组成的叫做集群 节点 单个ES的服务实例叫做节点。每个实例都有自己的名字,就是在配置文件中配置的‘node.name’中的内容。为了标识每个节点,每个节点启动后都会分配一个UID,存储在data目录。每个…

第七十四天漏洞发现-Web框架中间件插件BurpSuite浏览器被动主动探针

第74天 漏洞发现-Web框架中间件插件&BurpSuite&浏览器&被动&主动探针 最近几天都是演示工具如何使用如:AWVS、Nessus、nexpose等综合性利用工具。 Burp插件和漏扫工具的区别 知识点: 1、浏览器插件&BurpSuite插件 2、Hack-Tools&…

基于协同过滤的旅游推荐系统设计与实现

基于协同过滤的旅游推荐系统设计与实现 在当今旅游业蓬勃发展的背景下,人们对于旅游体验的需求日益增加,如何为用户提供更加个性化、精准的旅游推荐成为了旅游行业的一个重要课题。为解决这一问题,我们设计并实现了一个基于协同过滤的旅游推…

“互动+消费”时代,借助华为云GaussDB重构新零售中消费逻辑

场与人的关系 “人—货—场”是零售中重要的三要素,我们一直在追求,将零售中的人、货、场进行数字化并在云端进行整合,形成属于我们自己的云平台。 随着互联网技术为信息提供的便利,消费者的集体力量正在逐渐形成一股强大的反向…

RabbitMQ的整体架构是怎么样的?

RabbitMQ是一个开源的消息中间件,用于在应用程序之间传递消息。它实现了AMQP(高级消息队列协议)并支持其他消息传递协议,例如STOMP(简单文本定向消息协议)和MQTT(物联网协议) 他的整体架构大致如下: Producer&#xf…

【NVCC,CUDA,NVIDIA驱动】装了pytorch,nvcc -V不能用,但能正常使用gpu

这里写目录标题 问题描述问题原理为什么anaconda安装的Pytorch,其能够直接在gpu上运行NVCC是什么,怎么查看装没装 如果没有NVCC文件夹,应该如何安装NVCC?CUDNN:Local Installer for Linux x86_64和Local Installer for…

小程序开通流量主

开发小程序有一段时间了,误打误撞开通了流量主。到现在有2400人访问了,当然这是累计的,每天访问人数也就是平均七八十左右。 当然,每日还是有一些收入的,虽然比较低,一块钱上下: 感觉做小程序&…

hnust 湖南科技大学 2022 数据挖掘课设 完整代码+报告+图源文件+指导书

hnust 湖南科技大学 2022 数据挖掘课设 完整代码报告图源文件指导书 目录 实验一 Apriori算法设计与应用 - 1 - 一、 背景介绍 - 1 - 二、 实验内容 - 1 - 三、 实验结果与分析 - 2 - 四、 小结与心得体会 - 3 - 实验二 KNN算法设计与应用 - 4 - 一、 背景介绍 - 4 - 二、 实…