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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【个人记录】seq2seq,transformer,BERT -> 正文阅读

[人工智能]【个人记录】seq2seq,transformer,BERT

<基本省略所有的细节计算,提取概括和特点>

(一)seq2seq图形摘要

引用:seq2seq (文章讲解很细腻,根据文章总结一份图形摘要,便于理解)
虽然在tensorflow,pytorch等平台上实现seq2seq基本功能很简单,但是还是想了解整体数据流的方向。

【简介——Wiki

Seq2seq是用于自然语言处理的一系列机器学习方法。[1]应用领域包括机器翻译,图像描述,对话模型和文本摘要。最初由Google开发,并用于机器翻译.。

seq2seq with attention的版本:
引用:Attention is All You Need

在这里插入图片描述
图中attention只演示了j=1时刻的情况,j=2,3类同。
附 1 :模型中attention的计算需要涉及Q,k,V。参考:Q,K,V

(二)Transformer

引用:
transformer
transformer
self-attention
Transformer

transformer主体结构

在这里插入图片描述
附 1:该主体结构只是分别展示了最后一个Encoder和任意一个Decoder的连接情况,其他Encoder-Decoder内部结构类似。
附 2: 结构中关于Masked的理解,参考Masked

transformer中的mask有两种作用:
其一:去除掉各种padding在训练过程中的影响。
其二,将输入进行遮盖,避免decoder看到后面要预测的东西。(只用在decoder中)

相比于seq2seq的几个特点:整体结构还是编码——解码,但是内部细节变化很大
1)增加了位置编码Positional Encoding
2)使用了self-attention
3) 使用muti-head方式进行分布式计算
4)Encoder或者Decoder结构中特征提取器不再是RNN,而是self-attention + 前馈神经网络
5)输入是一次性输入第一个Encoder,计算更快,不会像RNN那样受到不能并行计算的约束。

self-attention相比于attention的优点:

Self Attention与传统的Attention机制非常的不同:传统的Attention是基于source端和target端的隐变量(hidden state)计算Attention的,得到的结果是源端的每个词与目标端每个词之间的依赖关系。但Self Attention不同,它分别在source端和target端进行,仅与source input或者target input自身相关的Self Attention,捕捉source端或target端自身的词与词之间的依赖关系;然后再把source端的得到的self Attention加入到target端得到的Attention中,捕捉source端和target端词与词之间的依赖关系。因此,self Attention Attention比传统的Attention mechanism效果要好,主要原因之一是,传统的Attention机制忽略了源端或目标端句子中词与词之间的依赖关系,相对比,self Attention可以不仅可以得到源端与目标端词与词之间的依赖关系,同时还可以有效获取源端或目标端自身词与词之间的依赖关系。

(三)BERT

BERT:全称Bidirectional Encoder Representations from Transformers
说明和transformer的源远很深。整体的结构是以transformer为基础件,向上构造的。

引用:
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT结构
在这里插入图片描述
由transformer连接而成。

BERT属于预训练语言表征模型,无监督学习,并且只需要Encoder机制。常被用于和GPT模型对比

BERT解决的一个问题就是,很多语言模型的预测只是限制在一句话当中,寻找关系,而忽略了上下文句子之间的潜在联系。

BERT针对此提出的两种结构:
1)MLM
随机屏蔽输入序列中的部分单词,用[Mask]遮盖,尝试根据序列中其他非屏蔽词提供的上下文来预测屏蔽词的原始值。
2)NSP
直译:下一句预测

在 BERT 训练过程中,模型接收成对的句子作为输入,并学习预测成对中的第二个句子是否是原始文档中的后续句子。在训练期间,50% 的输入是一对,其中第二个句子是原始文档中的后续句子,而另外 50% 的输入是从语料库中随机选择的一个句子作为第二个句子。

对比GPT和BERT两种预训练方式的优劣。GPT在预测词的时候,只预测下一个词,因此只能用到上文的信息,无法利用到下文的信息。而BERT是预测文中扣掉的词,可以充分利用到上下文的信息,这使得模型有更强的表达能力,这也是BERT中Bidirectional的含义。

附 1 :
文本预处理:

每个输入词embedding编码都是三部分组成:

1)WordPiece 嵌入:WordPiece是指将单词划分成一组有限的公共子词单元,能在单词的有效性和字符的灵活性之间取得一个折中的平衡。例如图4的示例中‘playing’被拆分成了‘play’和‘ing’;
2)位置嵌入(Position Embedding):位置嵌入是指将单词的位置信息编码成特征向量,位置嵌入是向模型中引入单词位置关系的至关重要的一环。位置嵌入的具体内容参考我之前的分析;
3)分割嵌入(Segment Embedding):用于区分两个句子,例如B是否是A的下文(对话场景,问答场景等)。对于句子对,第一个句子的特征值是0,第二个句子的特征值是1。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 01:27:50  更:2021-08-17 01:28:31 
 
开发: 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 21:03:26-

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