Transform结构

面试者经常会问transform这个模型,一个典型的seq2seq结构。

1 背景

        试问几个问题,为什么提出了transform模型。RNN对于长时间序列(超过40)压缩到一个上下文向量中出现记忆退化现象,无法更好捕捉上下文信息。因此transform应运而生了。Transformer模型在2017年被google提出,直接基于Self-Attention结构,取代了之前NLP任务中常用的RNN神经网络结构,与RNN这类神经网络结构相比,Transformer一个巨大的优点是:**模型在处理序列输入时,可以对整个序列输入进行并行计算,不需要按照时间步循环递归处理输入序列。

下面是模型的结构:

        

2 TransForm结构

        了解了Transformer的宏观结构之后。下面,让我们来看看Transformer如何将输入文本序列转换为向量表示,又如何逐层处理这些向量表示得到最终的输出。

2.1 输入处理

        获取词向量: 和常见的NLP 任务一样,我们首先会使用词嵌入算法(embedding algorithm),将输入文本序列的每个词转换为一个词向量。实际应用中的向量一般是 256 或者 512 维。716后面会经常看到。

        在实际应用中,我们通常会同时给模型输入多个句子,如果每个句子的长度不一样,我们会选择一个合适的长度,作为输入文本序列的最大长度:如果一个句子达不到这个长度,那么就填充先填充一个特殊的“padding”词;如果句子超出这个长度,则做截断。最大序列长度是一个超参数,通常希望越大越好,但是更长的序列往往会占用更大的训练显存/内存,因此需要在模型训练时候视情况进行决定。

2.2 Self-Attention层

        对于每一个输入向量a,经过蓝色部分self-attention之后都输出一个向量b,这个向量b是考虑了所有的输入向量对a1产生的影响才得到的,这里有四个词向量a对应就会输出四个向量b。

参数解释:

  1. 三个矩阵: W、Q、V是权重,要学习的。
  2. 你看三个矩阵乘以的都是向量a,这就是为什么叫Self-attenton;
  3. 本质上不就是一种映射关系,只不过经过一层Self-attenton之后的b,包含了更多的信息。

2.3 Layer Norm

ref: 为什么Transformer要用LayerNorm? - 知乎

        这部分可能与batchNorm结合一起讲最好,我也被面试官问到。比如我们现在每一个样本有两个特征 身高x1,体重x2 。batchNorm是对所有样本x2放在一起然后进行归一化处理。而layerNorm是对一个样本的x1、x2放到一起进行归一化处理。

        BatchNorm将不同样本相同维度的特征处理为相同的分布。其广泛使用在CV中,一个批次中样本是一个三通道(R、G、B)。有n个样本,每个样本有m个特征(通道),BatchNorm把所有样本通道进行归一会处理。针对同一个通道的特征跨越样本的方式进行归一化处理。

对于一个NLP模型,一个批次的输入包括若干个独立的句子,每个句子又由不定长度的词构成,句子中的每个词又被映射为固定长度的词向量。然后一个句子作为归一化的单位。(保留词与词之间的相对性)。

二者结果差异比较:

2.4 \sqrt{d}的意义

Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d}})V

两个向量内积会随着维度的增加而变大,经过softmax之后防止进入饱和区,反向求导会有问题。

ref: https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/%E7%AF%87%E7%AB%A02-Transformer%E7%9B%B8%E5%85%B3%E5%8E%9F%E7%90%86/2.2-%E5%9B%BE%E8%A7%A3transformer.md

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

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

相关文章

C语言知识(1) static修饰详解分享

1.前言 哈喽大家好啊,今天来给大家分享c中static的使用,希望能对大家有所帮助,请大家多多点赞,收藏支持我哦~ 2.正文 在讲解static之前,先给大家铺垫三个概念,方便大家理解。 2.1三则知识铺垫 2.1.1作…

写了一个 SRE 调试工具,类似一个小木马

远程操作机器有时会比较麻烦,我写了一个工具,主要功能:1.远程执行命令 2.上传下载文件。是一个 Web Server,通过 HTTP 请求来操作机器,类似一个小木马。当然,因为是一个 Web Server,所以也提供了…

批量人脸画口罩

网上参考的修改了一下,图片放在根目录,命名叫做1.png,批量人脸画口罩 这个程序的目的是为了解决人脸数据集中的特征点缺失的不足 # -*- coding: utf-8 -*- import os import numpy as np from PIL import Image, ImageFile__version__ 0.3…

短视频矩阵源头====技术文档交付

短视频矩阵源头技术文档交付 搭建短视频矩阵系统源码需要以下步骤: 1. 确定系统需求和功能:明确系统需要支持哪些功能,例如短视频的上传、存储、播放、分享、评论、点赞等。 2. 选择合适的编程语言和框架:根据需求选择合适的编程…

【python】描述性统计计算偏斜度和峭度

文章目录 1.编写计算偏斜度和峭度的函数。并用自己编写的函数计算课本23页的习题1.5数据的偏斜度和峭度。2.从1.5数据中随机抽取2个容量为20的样本,分别计算它们的平均数和标准差3.请绘制给定数据的频率分布直方图,计算数据的均值、标准差、偏斜度和峭度…

IDP之Backstage - 环境搭建

0. 目录 1. 前言2. 环境准备(Windows10下)2.1 安装nvm2.2 git和docker安装 3. 创建模板项目3.1 典型错误: fails on the yarn install step3.2 再次启动3.3 验证 4. 相关 1. 前言 本不想写这篇,因为看着官网文档写着挺简单的,但实…

【C语言】多字节字符、宽字符(涉及字符集和编码)

字符集、编码: 字符集:一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。例如:ASCII、Unicode、GB2312、GBK、GB18030、BIG5(繁体中文) ... 编码方式:符号…

半导体厂商

引言: 学习了这么久了, 突然发现对某些陌生类型的单片机的历史、公司、不是很了解, 很多只是听说过, 本文的分享就是为了解决关于上述疑问的。 目录 C51 STM32 AVR PIC NXP(恩智浦) Infineon (英飞凌…

2024新手做电商——哪个平台开店更好做?多平台对比分析!

哈喽~我是电商月月 随着互联网的发展,线下创业越来越不好做 相对于其他创业项目来说,电商的门槛还相对低一点,所以一大批人创业的选择,就看向了电商行业 但准备开店的新手朋友纠结了:自己没有基础,选择哪…

Java面试:MySQL面试题汇总

1.说一下 MySQL 执行一条查询语句的内部执行过程? 答:MySQL 执行一条查询的流程如下: 客户端先通过连接器连接到 MySQL 服务器;连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存(之前…

中海达亮相全国地灾防治成果交流会, 硬核产品引关注

4月17日-18日,全国地质灾害防治新方法新技术新设备成果交流会在云南昆明召开。本次活动主题为“提升地质灾害防治能力,服务保障高质量发展”,由中国地质灾害防治与生态修复协会举办,来自业务主管部门、行业协会及相关企业等800多名…

JS-33-jQuery02-选择器

一、单个选择器 选择器是jQuery的核心。 一个选择器写出来类似$(#dom-id)。 美元符号定义 jQuery 为什么jQuery要发明选择器?回顾一下DOM操作中我们经常使用的代码: // 按ID查找: var a document.getElementById(dom-id);// 按tag查找&am…

3d模型渲染怎么会没材质---模大狮模型网

在进行3D模型渲染时,有时会遇到材质丢失的问题,这可能会给设计师们带来一些困扰。材质是渲染的重要组成部分,它们赋予了模型真实感和视觉吸引力。然而,当模型在渲染过程中出现没有材质的情况时,可能会导致最终效果不如…

服务器数据恢复—RAID5故障导致SAP+oracle数据丢失的数据恢复案例

服务器存储数据恢复环境: 某品牌服务器存储中有一组由6块SAS硬盘组建的RAID5阵列,其中有1块硬盘作为热备盘使用。上层划分若干lun,存放Oracle数据库数据。 服务器存储故障&分析: 该RAID5阵列中一块硬盘出现故障离线&#xff0…

C++类和对象第二弹(构造,析构和拷贝构造函数)

目录 前言 1. 类的6个默认成员函数 2. 构造函数 2.1 概念 2.2 特性 3. 析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 总结 前言 本文主要讲解类中构造函数、析构函数和拷贝构造函数。关于这三个类中默认成员函数的知识点很多,有许多…

OSPF笔记+大实验

OSPF综合大实验---实验报告 配置IP地址 R1: [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 172.16.33.1 24 [R1-GigabitEthernet0/0/0]int l0 [R1-LoopBack0]ip add 172.168.34.1 24 R2: [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ip add 172.16.33.2 24…

云服务器租用价格多少钱一年?

云服务器租用价格多少钱一年?61元一年起。现在租一个服务器多少一个月?云服务器一年费用多少钱?优惠价格低至3.8元1个月,租用云服务器收费价格表:阿里云和腾讯云2核2G3M服务器优惠价格61元一年、云服务器是99元一年&am…

秋招之路 面经

这里参考一位很厉害的前辈所分享的他的嵌入式软件工程师秋招之路,自己详细的读了一下他的经历以及他的分享的秋招面试和项目经验的总结。 我的嵌入式软件工程师秋招之路(文末送福利)_嵌入式软件工程师 刷leetcode-CSDN博客 如何在面试中介绍…

鸿蒙TypeScript学习第19天【命名空间】

1、TypeScript 命名空间 命名空间一个最明确的目的就是解决重名问题。 假设这样一种情况,当一个班上有两个名叫小明的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的姓&#xff0…

15V转5V3A降压同步WT6019

15V转5V3A降压同步WT6019 WT6019则是一种高效的同步降压转换器。它可以将15V的输入电压稳定转换为5V的输出电压,并保证最大3A的电流输出。这种转换器的核心在于其内部的功率MOSFET,它能够以较低的导通电阻和快速的开关速度,实现高效率的能量…