月结——Transformer之上的一些故事

2024-02-13 05:58

本文主要是介绍月结——Transformer之上的一些故事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • Transformer
    • 模型解释
  • Bert
  • ERNIE
  • Style Transformer

Transformer

传统seq2seq的问题一般用CNN或者RNN的方式来处理,将seq编码为一个固定长度的向量然后再进行解码。因为固定长度向量所能表征的信息有限,因此对于长序列来说,前面的信息容易被埋没,即具有长程依赖问题,同时这种方式是顺序执行,使得没有办法进行并行计算。于是,google的大神们,开创了先河,提出一种只需要注意力机制的方式,不但能够并行化处理,还能把效果达到 the-state-of-the-art。后续也被验证,Transformer是目前特征提取的最有效方式,确实牛逼~~~
论文地址:https://arxiv.org/pdf/1706.03762.pdf

模型解释

  • 总结构
    transformer沿袭seq2seq的编解码结构,分为编码器和解码器。其中Encoder由6个基本层堆叠起来,每个基本层包含两个子层,注意力机制层和全连接前向神经网络,在全连接层中引入了残差并进行layer normalization。Decoder也由6个基本层堆叠起来,每个基本层除了Encoder的注意力层和全连接层,还增加了一层注意力机制,同样引入残差边以及layer normalization。
    对于整体结构
    输入: Token embedding + position embedding
    输出:自定义,一般为另一种Token的embedding
    在这里插入图片描述
    结构解析方面,网上资料已经很多,所以此处只描述一些有意思的点:

  • 注意力机制

    • encoder self-attention
      第一层的输入Q,K,V三者相同,均为Token embedding + position embedding,然后当前层的输入Q,K,V均为前一层的输出。这样能捕捉自身的相关关系
    • encoder-decoder attention
      encoder和decoder的交接层,每一层decoder的query输入来自前一层decoder的输出,k,v来自encoder的输出。这样decoder的每个位置都会去关注输入序列的所有位置
    • decoder self-attention
      输入Q,K,V三者相同,为上一层decoder输出 + position embedding,然后作为当前层decoder的输入query
  • 特点

    • 多头的引入,能够将输入token进行多种transform,对于表征一词多义的场景很有提高
    • 注意力机制的引入,能够对上下文信息进行关联,通过注意力机制,能够解决长程依赖的问题,但是有一个缺点,这个关联是无序的,相当于是一个词袋模型
    • 位置编码方式,解决了无序问题,但是似乎也有点不足,待验证~~~

Bert

采用Transformer进行特征提取,Bert的模型基于Transformer,最大的特点在于

  • 预训练模式:MLM,NSP
  • 大量语料库

BERT验证了Transformer在解决一词多义问题上的超牛能力,同时也验证了google的有钱~~~~
具体可参考
https://blog.csdn.net/SummerHmh/article/details/91506347

ERNIE

此文的代言:为巨人进行锦上添花。整体的思路就是BERT+知识图谱,解决的问题主要是:

  • 对知识图谱结构化的信息进行编码
  • 异构信息进行融合

结构上,也是Transformer的花式应用

Style Transformer

这篇文章,很创新,既有巨人的影子,又有开创巨人的趋势,思路太6了
首先无监督的数据改造成有监督方式
其次采用gan的思路进行风格转换~~~~

参考:
https://yq.aliyun.com/articles/342508
https://www.jianshu.com/p/b1030350aadb

这篇关于月结——Transformer之上的一些故事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/704657

相关文章

Transformer从零详细解读

Transformer从零详细解读 一、从全局角度概况Transformer ​ 我们把TRM想象为一个黑盒,我们的任务是一个翻译任务,那么我们的输入是中文的“我爱你”,输入经过TRM得到的结果为英文的“I LOVE YOU” ​ 接下来我们对TRM进行细化,我们将TRM分为两个部分,分别为Encoders(编码器)和Decoders(解码器) ​ 在此基础上我们再进一步细化TRM的

LLM模型:代码讲解Transformer运行原理

视频讲解、获取源码:LLM模型:代码讲解Transformer运行原理(1)_哔哩哔哩_bilibili 1 训练保存模型文件 2 模型推理 3 推理代码 import torchimport tiktokenfrom wutenglan_model import WutenglanModelimport pyttsx3# 设置设备为CUDA(如果可用),否则使用CPU#

逐行讲解Transformer的代码实现和原理讲解:计算交叉熵损失

LLM模型:Transformer代码实现和原理讲解:前馈神经网络_哔哩哔哩_bilibili 1 计算交叉熵目的 计算 loss = F.cross_entropy(input=linear_predictions_reshaped, target=targets_reshaped) 的目的是为了评估模型预测结果与实际标签之间的差距,并提供一个量化指标,用于指导模型的训练过程。具体来说,交叉

接下来的这个故事就来自于我的先生,一个交警的口述

这可是没有过的事情。先生是个交通警察,在事故科工作已经五、六年了,对于生离死别、阴阳两隔,用他自己的话说是已经有些麻木了;不用说他,就连我,对那些卷宗里血淋淋的照片都已经有些漠然。他的办公室常有悲悲切切的人来哭诉,他却总能在复议时做到不掺杂感情。我是个爱哭的女人,偏偏先生对于眼泪早已有了职业的免疫力,他说要是每个事故他都要为每个逝者陪眼泪的话,他早就活不下去了,但是今天不同,他分明是掉过泪了。

深度学习每周学习总结N9:transformer复现

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 多头注意力机制前馈传播位置编码编码层解码层Transformer模型构建使用示例 本文为TR3学习打卡,为了保证记录顺序我这里写为N9 总结: 之前有学习过文本预处理的环节,对文本处理的主要方式有以下三种: 1:词袋模型(one-hot编码) 2:TF-I

RNN发展(RNN/LSTM/GRU/GNMT/transformer/RWKV)

RNN到GRU参考: https://blog.csdn.net/weixin_36378508/article/details/115101779 tRANSFORMERS参考: seq2seq到attention到transformer理解 GNMT 2016年9月 谷歌,基于神经网络的翻译系统(GNMT),并宣称GNMT在多个主要语言对的翻译中将翻译误差降低了55%-85%以上, G

JD 1204:农夫、羊、菜和狼的故事

OJ题目:click here~~ #define vegetable_go 0#define vegetable_come 1#define sheep_go 2#define sheep_come 3#define wolf_go 4#define wolf_come 5#define nothing_go 6#define nothing_come 7using

2020年数据术语的故事

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 2020年整个技术圈子要说话题最多的,应该是大数据方向。新感念层出不穷,数据湖概念就是其中之一。这篇文章是关于数据仓库、数据湖、数据集市、数据中台等一些列的概念和发展进程。希望给大家带来一个全面的感知。 本文作者:Murkey学习之旅、开心自由天使 本文整理:大数据技术与架构,未经允许不得转载。 如今,随着诸如互联网以及物联网等

ModuleNotFoundError: No module named ‘diffusers.models.dual_transformer_2d‘解决方法

Python应用运行报错,部分错误信息如下: Traceback (most recent call last): File “\pipelines_ootd\unet_vton_2d_blocks.py”, line 29, in from diffusers.models.dual_transformer_2d import DualTransformer2DModel ModuleNotF

用最简单的话来解释大模型中的Transformer架构

开篇 我个人的观点是要想系统而又透彻地理解 Transformer,至少要遵循下面这样一个思路(步骤): 理解NLP基础 在探讨Transformers之前,了解自然语言处理(NLP)的一些基本知识至关重要。NLP使计算机能够理解和生成自然语言,文本的表征是其核心任务之一。传统的语言模型往往依赖于递归神经网络(RNN)处理序列数据,但RNN在长序列中表现较差。为了解决这一问题,必须引入先