IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Datawhale开源教程学习——基于Transformer的NLP学习(task1&2 ) -> 正文阅读

[人工智能]Datawhale开源教程学习——基于Transformer的NLP学习(task1&2 )

Task01&02

Transformer的背景

基于深度学习(Deep Learning)的NLP技术在各项任务中取得了很好的效果,这些基于深度学习模型的NLP任务解决方案通常不使用传统的、特定任务的特征工程而是仅仅使用一个端到端(end-to-end)的神经网络模型就可以获得很好的效果。

常见的NLP任务主要分为:

  • 文本分类: 对单个、或多个文本进行分类,包括进行分类别或判断正负向情绪等
  • 序列标注:对文本序列中的token、字或者词进行分类。
  • 文本匹配:语义相似匹配, 是NLP领域最基础的任务之一, 包括信息检索, 问答系统等问题都可以看作针对不同样本集的文本匹配应用
  • 问答任务(抽取式问答和多选问答):1、抽取式问答根据问题从一段给定的文本中找到答案,答案必须是给定文本的一小段文字。2、多选式问答,从多个选项中选出一个正确答案。
  • 文本生成(语言模型、机器翻译、摘要生成):根据已有的一段文字生成(generate)一个字通常叫做语言模型,根据一大段文字生成一小段总结性文字通常叫做摘要生成,将源语言比如中文句子翻译成目标语言比如英语通常叫做机器翻译。

2017年,Attention Is All You Need论文首次提出了Transformer模型结构并在机器翻译任务上取得了The State of the Art(SOTA, 最好)的效果。

2018年,BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding使用Transformer模型结构进行大规模语言模型(language model)预训练(Pre-train),在多个NLP下游(downstream)任务中进行微调(Fine-tune),一举刷新了各大NLP任务的榜单最高分,轰动一时。

2019年-2021年,研究人员将Transformer模型预训练+微调这种训练方式相结合,提出了一系列Transformer模型结构、训练方式的改进(比如transformer-xl,XLnet,Roberta等等)。

图解Attention

在介绍Attention前,先介绍Seq2Seq模型。早期Seq2Seq常用于机器翻译、文本摘要等领域。在Seq2Seq模型中,包含Encoder和Decoder,通常用RNN或者LSTM来作为Encoder、Decoder。

在RNN模型中,初始的输入包括:

  • 输入的第一个词向量(由word embedding方法等将每个输入的token转为向量)
  • 隐藏层向量h0
    RNN 在第 2 个时间步,采用第 1 个时间步的 hidden state(隐藏层状态) 和第 2 个时间步的输入词向量,来得到输出。同时RNN也会输出Output向量和下一个隐藏层向量,以此类推。

在Seq2Seq中,Encoder的最后一个隐藏层向量h,作为Decoder的初始状态。

早期Seq2Seq都采用RNN,但RNN的缺点是会有梯度消失或梯度爆炸的现象,造成反向传播时网络中较浅的网络的权重(w)无法更新,也可以理解为当句子很长时,Encoder可能会漏掉一开始的信息。

所以提出了Attention,在RNN中只取最后一个状态的隐藏层向量ht给Decoder,之前的h1~ht-1都被“丢弃”,而提出Attenti on后,h1 ~ ht都与Decoder的输入向量s0(s0 = ht)计算相关性α,

在这里插入图片描述
Wk 和WQ从训练数据中学习
在这里插入图片描述
在这里插入图片描述
得到权重α后,计算context vector C
在这里插入图片描述
Context Vector c0对应Decoder状态so
那么怎么计算Decoder下一个向量s1?
在RNN中,由下图所见:
在这里插入图片描述
有Attention后
在这里插入图片描述
由于Decoder新的隐藏层状态s1,由c0决定,而c0是由Encoder中每个输入x决定的,所以这Encoder每个输入都能影响到s1(通俗地解释,Decoder在每产生一个新的隐藏层状态s时,都会看一遍全部Encoder中的输入),解决了RNN遗忘的问题。

Attention优点是避免遗忘,大幅提高准确率,但计算量很大(计算权重α的次数为:Encoder中隐藏层的数量t * Decoder中隐藏层的数量m)mt

图解Transformer

Transfomer相比于RNN带来的优点:

  • 解决了RNN不能并行输入的问题,使得Encoder可以并行处理,速度加快,增加计算效率。
  • 解决了RNN 长时依赖的问题(遗忘早期),LSTM可以解决但是LSTM计算量很大(多加了三个门),用Transformer中的Encoder中的Feed Forward去代替RNN,就可以解决
  • 除此以外在机器翻译等项目,还可以解决一词多义的问题。

在这里插入图片描述
其中编码部分是多层的Encoder组成(Transformer 的论文中使用了 6 层编码器,这里的层数 6 并不是固定的,你也可以根据实验效果来修改层数)。同理,解码部分也是由多层的Decoder组成(论文里也使用了 6 层的解码器)

encoder由多层编码器组成,每层编码器在结构上都是一样的,但不同层编码器的权重参数是不同的。每层编码器里面,主要由以下两部分组成:

  • Self-Attention Layer
  • Feed Forward Neural Network(前馈神经网络,缩写为 FFNN)

细节理解Transformer

输入Embedding

使用词嵌入算法(embedding algorithm),将每个词转换为一个词向量。实际中向量一般是 256 或者 512 维。为了简化起见,这里将每个词的转换为一个 4 维的词向量。

输入的x_embedding 包括字向量embedding和position embedding。

假设整个输入的句子(Squence)是一个向量列表,其中有 3 个词。在实际中,每个句子的长度不一样,我们会取一个适当的值,作为向量列表的长度。如果一个句子达不到这个长度,那么就填充全为 0 的词向量;如果句子超出这个长度,则做截断。句子长度是一个超参数,通常是训练集中的句子的最大长度。
在这里插入图片描述
在这里插入图片描述

Self Attention

在这里插入图片描述

未完待补充

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 12:04:06  更:2021-08-19 12:04:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 19:50:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码