transformers理论解释

2024-06-01 17:37:53

B 站视频讲解

Transformer 是谷歌大脑在 2017 年底发表的论文 attention is all you need 中所提出的 seq2seq 模型。现在已经取得了大范围的应用和扩展,而 BERT 就是从 Transformer 中衍生出来的预训练语言模型

这篇文章分为以下几个部分

  1. Transformer 直观认识
  2. Positional Encoding
  3. Self Attention Mechanism
  4. 残差连接和 Layer Normalization
  5. Transformer Encoder 整体结构
  6. Transformer Decoder 整体结构
  7. 总结
  8. 参考文章

0. Transformer 直观认识

Transformer 和 LSTM 的最大区别,就是 LSTM 的训练是迭代的、串行的,必须要等当前字处理完,才可以处理下一个字。而 Transformer 的训练时并行的,即所有是同时训练的,这样就大大增加了计算效率。Transformer 使用了位置嵌入 (Positional Encoding) 来理解语言的顺序,使用自注意力机制(Self Attention Mechanism)和全连接层进行计算,这些后面会讲到

Transformer 模型主要分为两大部分,分别是 EncoderDecoderEncoder 负责把输入(语言序列)隐射成隐藏层(下图中第 2 步用九宫格代表的部分),然后解码器再把隐藏层映射为自然语言序列。例如下图机器翻译的例子

本篇文章大部分内容在于解释 Encoder 部分,即把自然语言序列映射为隐藏层的数学表达的过程。理解了 Encoder 的结构,再理解 Decoder 就很简单了

上图为 Transformer Encoder Block 结构图,注意:下面的内容标题编号分别对应着图中 1,2,3,4 个方框的序号

1. Positional Encoding

由于 Transformer 模型没有循环神经网络的迭代操作, 所以我们必须提供每个字的位置信息给 Transformer,这样它才能识别出语言中的顺序关系

现在定义一个位置嵌入的概念,也就是 Positional Encoding,位置嵌入的维度为[max_sequence_length, embedding_dimension], 位置嵌入的维度与词向量的维度是相同的,都是embedding_dimensionmax_sequence_length属于超参数,指的是限定每个句子最长由多少个词构成

注意,我们一般以为单位训练 Transformer 模型。首先初始化字编码的大小为[vocab_size, embedding_dimension]vocab_size为字库中所有字的数量,embedding_dimension为字向量的维度,对应到 PyTorch 中,其实就是nn.Embedding(vocab_size, embedding_dimension)

论文中使用了 sin 和 cos 函数的线性变换来提供给模型位置信息:

PE(pos,2i)=sin(pos/100002i/dmodel)PE(pos,2i+1)=cos(pos/100002i/dmodel) 序号增大,位置嵌入函数的周期变化越来越平缓

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import math

http://www.taodudu.cc/news/show-257089.html

相关文章:

  • XLNET原理详解
  • 只想安安静静的做个程序员
  • python写入csv文件的几种方法
  • Transformers2.0让你三行代码调用语言模型,兼容TF2.0和PyTorch
  • transforms预训练模型 (模块创始团队网址)
  • Pytorch-基于Transformer的情感分类
  • 从源码分析DEARGUI之添加字体
  • add_table和 add_column
  • add_combo
  • matplotlib 中将图直接从buffer中变为PIL 再到numpy
  • 魂力真的存在那么该如何提高魂力呢
  • 安装librosa遇到LLVM问题原因是numba问题
  • 为什么有人会觉得灵魂无处安放
  • 今天且明白父母为什么生死度外的让孩子们读书
  • 怎样高级文明的生活
  • 从源码分析DEARGUI之add_drag_float和4
  • 从源码分析DEARGUI之add_color_int和4
  • 从源码分析DEARGUI之add_drawing
  • 从源码分析DEARGUI之add_input_float和4
  • 从源码分析DEARGUI之add_input_text
  • 从源码分析DEARGUI之add_label_text
  • 从源码分析DEARGUI之add_listbox
  • 从源码分析DEARGUI之add_menu
  • 从源码分析DEARGUI之add_menu_items
  • 从源码分析DEARGUI之add_plot和add_line_series
  • 从源码分析DEARGUI之add_progress_bar
  • 从源码分析DEARGUI之add_radio_button
  • 从源码分析DEARGUI之add_plot和add_scatter_series
  • 从源码分析DEARGUI之add_selectable
  • 17种transformers

transformers理论解释相关推荐

  1. 干货 | 顾险峰:对抗生成网络的几何理论解释(附视频PPT)

    在近日举办的清华大数据"技术·前沿"系列讲座中,来自纽约州立大学计算机系终身教授,哈佛大学数学科学与应用中心兼职教授顾险峰老师做了主题为"对抗生成网络的几何理论解释&qu ...

  2. 深度学习 | GAN模式崩溃的理论解释

    来源:老顾谈几何 本文约4040字,建议阅读7分钟. 本文与你讨论蒙日-安培方程正则性理论关于GAN模型中模式崩溃(Mode Collapse)的解释. 春节前夕,北美遭遇极端天气,在酷寒中笔者来到哈 ...

  3. 较真的来了!这篇【硬核论文】为何恺明新作MAE提供了一种理论解释和数学证明...

    关注公众号,发现CV技术之美 昨天,arXiv上出现了一篇非常硬核的论文"How to Understand Masked Autoencoder".该论文为何恺明的最新一作论文& ...

  4. DAY-20 GAN模式崩溃的理论解释

    DAY-20 GAN模式崩溃的理论解释 原文链接: https://bbs.cvmart.net/articles/283 模式崩溃(mode collapse) 给定数据集合,我们用编码映射将其映入 ...

  5. Pca,Kpca,TSNE降维非线性数据的效果展示与理论解释

    Pca,Kpca,TSNE降维非线性数据的效果展示与理论解释 前言 一:几类降维技术的介绍 二:主要介绍Kpca的实现步骤 三:实验结果 四:总结 前言 本文主要介绍运用机器学习中常见的降维技术对数据 ...

  6. 直播 | 顾险峰教授讲座:对抗生成网络的几何理论解释

    深度学习中的对抗生成网络GAN是复杂分布上无监督学习最具前景的方法之一.虽然在工程上对抗生成网络取得巨大成功,在理论上对于GAN的理解依然肤浅. 本期清华大数据"技术·前沿"系列讲 ...

  7. 报名 | 顾险峰教授讲座:对抗生成网络的几何理论解释

    深度学习中的对抗生成网络GAN是复杂分布上无监督学习最具前景的方法之一.虽然在工程上对抗生成网络取得巨大成功,在理论上对于GAN的理解依然肤浅. 本期清华大数据"技术·前沿"系列讲 ...

  8. 排队理论解释TCP/IP网络拥塞是如何影响TCP的RTT的波动

    部门团建,大家都去长隆了,也有去澳门广西的...我去了梦里...本来我也报了名的,想单独带着女儿独处两天,不光为了培养跟女儿的感情,也是想让老婆歇两天...只可惜女儿最近生病,去不了了,六一儿童节的表 ...

  9. 折射率的经典电磁学理论解释

      光的吸收与色散等特征是在干涉.衍射.直线传播之后的又一重要光学现象.而这一切都起源于折射率这个熟悉又陌生的概念.对于折射率的起源,在这里,我们用经典的电磁学理论进行解释.   首先我们要明确的是, ...

最新文章

  1. JavaScript标准Selection操作
  2. 12306被喷谁受益?带着正能量重新设计12306防黄牛购票机制
  3. KillTimer析构函数
  4. Dijkstra算法优先队列实现与Bellman_Ford队列实现的理解
  5. 支付,造就金融科技生态契机——保险科技生态建设...
  6. 利用VS2010进行SQL Server服务器和本地的数据融合
  7. pymysql封装总结
  8. plsqlDev.exe启动时无监听问题
  9. python数据挖掘的基本流程有哪些?
  10. Topaz Mask AI for mac(人工智能AI抠图软件) 最新版
  11. 事业单位计算机类岗位考试试题,国家机关(事业单位)计算机岗位考试试题
  12. 微信小程序腾讯服务器地址要购买吗,微信小程序JavaScript SDK
  13. Axure 中继器表格背景颜色交替不成功
  14. 智能安全帽值得买的十大品牌,如何挑选才能不翻车?
  15. Linux 手动修改屏幕分辨率
  16. 技术科普丨4Cell1感光芯片的应用
  17. 大数据分析-第二章 大数据平台
  18. vue指令模式 添加埋点
  19. Android开发之漫漫长途 XII——Fragment详解
  20. react map循环生成的button_【第1945期】彻底搞懂React源码调度原理(Concurrent模式)...

热门文章

  1. java中的string函数_java中string.trim()函数的作用实例及源码
  2. sql移动加权计算利润_一文搞懂股票指数的4种加权方式
  3. php iis mysql windows2003,Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程 | 系统运维...
  4. xilinx sg dma 注意事项
  5. html5圣诞贺卡,2016圣诞节手工贺卡图片大全
  6. mysql 缓存怎么设置_mysql中缓存如何设置
  7. sftp进入指定目录_CentOS7服务搭建----搭建SFTP(安全文件传送协议)服务器
  8. matlab 句柄图像尝试
  9. vivado中ILA核的使用
  10. 【 Verilog HDL 】函数(function)与任务(task)简单介绍