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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> BERT、GPT -> 正文阅读

[人工智能]BERT、GPT

词嵌入的发展

NLP模型训练时需要对文本文件进行编码,转化为数值的形式。

Word2Vec和GloVe

对词还有词与词之间的关系(例如近义、反义、从属、时态等关系)进行编码,但不考虑语境。

ELMo

  • 本质:双向LSTM
  • 流程图
    在这里插入图片描述

ULM-FiT

ULMFiT(Universal Language Model Fine-tuning)是一种基于微调的通用语言模型。可以实现NLP迁移学习

OpenAI Transformer

  • 本质:多个Transformer的Decoder(仅考虑前序输入的影响)
  • 目的:预测下一个词
  • 与Decoder的差别:无Encoder-Decoder Attention层

BERT

2018年google的BERT(Bidirectional Encoder Representations from Transformers)可以理解为已经训练好的多层Transformer的encoder。包括预训练和微调两个步骤。
在这里插入图片描述
From:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

Pre-training

  • 任务1:MLM
    Masked Language Model,预测被屏蔽或者代替的目标词
  • 任务2:句子位置
    判断句子B是否是句子A后面相邻的句子

Fine-Turning

作为预训练下游的模型完成任务

  • 输入:单一文本或文本对
  • 文本对应用
    • 文本释义
    • 假设条件对
    • 问答
    • 文本分类或标注

使用

Google Colab上的BERT FineTuning with Cloud TPUs

GPT

和BERT的差别

内容BERTGPT
本质Transformer的encoderTransformer的decoder
输入无自回归有自回归
self-attention层考虑前后内容影响屏蔽后文影响只考虑前文

注:自回归指将第一个节点的输出汇入输入进行后续训练

Masked self-attention layers

基本流程同Tansformer的self-attention,除了当前token之后的token记分为0。也可是多头。

全连接神经网络

  • 第一层:为模型的4倍大小
  • 第二层:将第一层的结果映射回原维度

应用

  • 翻译
  • 生成摘要
  • 生成音乐
  • 迁移学习

总结

  • 问题1: Transformer中的softmax计算为什么需要除以 d k d_k dk??
    答:Attention得分计算时是计算qk点积,维度越高点积结果越大,若不进行归一化直接softmax计算就会将几乎全部的概率分布都分配给了最大值对应的标签而其他值为0(梯度消失),不利于后续参数更新,故需要进行归一化。而如果假设q、k均服从标准正态分布,则qk方差为 d k d_k dk?,所以要除以 d k d_k dk?
  • 问题2: Transformer中attention score计算时候如何mask掉padding位置?
    答:被遮住的区域赋值 ? i n f -inf ?inf
  • 问题3: 为什么Transformer中加入了positional embedding?
    答:为了考虑前后文影响。
  • 问题4: BERT预训练时mask的比例,可以mask更大的比例吗?
    答:mask是为了预训练过程中结合上下文对缺失值进行预测,屏蔽比例为15%。这个比例可以适当增大,但过大可能会使预测效果不好。
  • 问题5: BERT如何进行tokenize操作?有什么好处?
    答:tokenize源代码。大体分为两步:basic tokenizeWordPiece tokenziation。前者包括标点符号分隔、小写化、区分中文字符、清除无效字符等;后者则采用greedy longest-match-first算法对词进行进一步拆分,效果是区分出词根和前后缀。与选用完整单词作为token相比,WordPiece的方法可以可以更好地学习词根与词缀之间的关系,提取不同时态语态的关键信息。
  • 问题6: GPT如何进行tokenize操作?和BERT的区别是什么?
    答:tokenize源代码。GPT2中采用的是BPE(Byte Pair Encoding)进行分词。BERT采用的WordPiece分词可以看作是BPE的变种。不同在于WordPiece基于概率生成新的subword而不是最高频字节对。
  • 问题7: BERT模型特别大,单张GPU训练仅仅只能放入1个batch的时候,怎么训练?
    答:可以并行计算。(todo:也许还有其他方法,后续补充)
  • 问题8: Transformer中的残差网络结构作用是什么?
    答:当网络层数增加时,神经网络在训练集上的准确率出现饱和甚至下降的现象,即退化。加入残差网络结构可以有效避免这种情况。
  • 问题9: BERT预训练是如何做mask的?
    答:按照15%比例mask掉部分词,然后这15%的词中80%用mask,10%用原词,10%随机替换。
  • 问题10: word2vec到BERT改进了什么?
    答:主要是针对不同语境下词语会有不同含义这一问题进行了改进。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:22:26  更:2021-08-21 15:22:57 
 
开发: 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 12:29:57-

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