| |
|
开发:
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&02Transformer的背景基于深度学习(Deep Learning)的NLP技术在各项任务中取得了很好的效果,这些基于深度学习模型的NLP任务解决方案通常不使用传统的、特定任务的特征工程而是仅仅使用一个端到端(end-to-end)的神经网络模型就可以获得很好的效果。 常见的NLP任务主要分为:
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模型中,初始的输入包括:
在Seq2Seq中,Encoder的最后一个隐藏层向量h,作为Decoder的初始状态。 早期Seq2Seq都采用RNN,但RNN的缺点是会有梯度消失或梯度爆炸的现象,造成反向传播时网络中较浅的网络的权重(w)无法更新,也可以理解为当句子很长时,Encoder可能会漏掉一开始的信息。 所以提出了Attention,在RNN中只取最后一个状态的隐藏层向量ht给Decoder,之前的h1~ht-1都被“丢弃”,而提出Attenti on后,h1 ~ ht都与Decoder的输入向量s0(s0 = ht)计算相关性α,
Attention优点是避免遗忘,大幅提高准确率,但计算量很大(计算权重α的次数为:Encoder中隐藏层的数量t * Decoder中隐藏层的数量m)mt 图解TransformerTransfomer相比于RNN带来的优点:
encoder由多层编码器组成,每层编码器在结构上都是一样的,但不同层编码器的权重参数是不同的。每层编码器里面,主要由以下两部分组成:
细节理解Transformer输入Embedding使用词嵌入算法(embedding algorithm),将每个词转换为一个词向量。实际中向量一般是 256 或者 512 维。为了简化起见,这里将每个词的转换为一个 4 维的词向量。 输入的x_embedding 包括字向量embedding和position embedding。 假设整个输入的句子(Squence)是一个向量列表,其中有 3 个词。在实际中,每个句子的长度不一样,我们会取一个适当的值,作为向量列表的长度。如果一个句子达不到这个长度,那么就填充全为 0 的词向量;如果句子超出这个长度,则做截断。句子长度是一个超参数,通常是训练集中的句子的最大长度。 Self Attention
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/1 10:36:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |