Transformer入门介绍

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

1. Transformer是什么

transformer是一种基于注意力机制的sequence-to-sequence深度学习模型框架

2. 传统模型

传统的sequence-to-sequence模型采用递归和卷积的方式,transformer采用注意力机制提升了模型的质量,提升了并行化的程度,缩短了模型训练的时间

3. 组件介绍

3.1 Encoder-Decoder架构

3.1.1 架构说明

Encoder-Decoder架构通常用于序列转换问题(机器翻译等),Encoder用于接收一个长度可变的序列,并将其转换为一个定长的状态向量,Decoder用于将定长的状态向量映射为长度可变的序列,transformer本身就是基于Encoder-Decoder架构的深度学习框架;
在这里插入图片描述

3.1.2 Encoder

假设输入序列是一句话 x 1 , x 2 , . . . , x t x_1, x_2, ... , x_t x1,x2,...,xt,那么其中的 x t x_t xt就是一个词元(token),针对该token需要将输入特征向量 x t , h t − 1 x_t, h_{t-1} xt,ht1, 转换为 h t h_t ht(当前时间t的隐状态),使用 f f f函数进行该转换, h t = f ( x t , h t − 1 ) h_t=f(x_t, h_{t-1}) ht=f(xt,ht1),之后再用q函数将所有的时间步长的隐状态转换为定长状态向量 c c c c = q ( h 1 , . . . , h t − 1 , h t ) c=q(h_1,...,h_{t-1},h_t) c=q(h1,...,ht1,ht);
在这里插入图片描述

3.1.3 Decoder

使用函数 g g g来表示Decoder的隐藏层变换, s t = g ( y t − 1 , c , s t − 1 ) s_t=g(y_{t-1},c,s_{t-1}) st=g(yt1,c,st1),获得隐藏层状态后,使用 s o f t m a x softmax softmax来获取 y t ′ y'_{t} yt t t t时间的概率分布, y t ′ y'_{t} yt为Decoder的输出, y 1 , . . . , y t − 1 y_1,...,y_{t-1} y1,...,yt1为Decoder的训练集输入, y t ′ y'_{t} yt的输出概率分布取决于 P ( y t ′ ∣ y 1 , . . . , y t − 1 , c ) P(y'_{t}|y_1,...,y_{t-1},c) P(yty1,...,yt1,c)
在这里插入图片描述

3.2 自注意力机制

3.2.1 作用

随着模型处理输入序列的每个单词,自注意力会关注整个输入序列的所有单词,有助于模型基于该序列对输入单词更好的编码,处理过程中自注意力机制会将正在处理单词融入相关的单词;

3.2.2 应用场景

3.2.2.1 序列建模

可以用于序列数据的建模,捕捉序列中不同的位置的依赖关系,可以更好的理解上下文

3.2.2.2 并行计算

自注意力可以并行计算,这意味着可以有效地在现代硬件上进行加速

3.2.2.3 长距离依赖捕获

自注意力可以更好地处理长距离依赖关系,因为它不需要按顺序处理输入序列
在这里插入图片描述

3.2.3 计算流程

多头注意力机制

堆叠层

嵌入层

位置编码

残差连接

归一化

总结

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值