BERT
2020-06-09 10:45:29 1 举报
AI智能生成
BERT的理论学习
作者其他创作
大纲/内容
学习的步骤:1、Attention机制;2、Transformer;3、BERT
分支主题
BERT是transformer的Encoder
所以注意位置
BERT需要训练Encoder就好了,训练时候不需要Label
BERT,给句子,每个句子都会输出一个Embedding
encoder中self-attention
字为单位训练更为格式
因为词的数量级别太大,实际使用上会方便很多。
Transformer
google在2017年发表的一篇论文《Attention is all you need》
Attention机制
什么是Attention
1、深度学习中的注意力可以被广义的理解为表示重要性的权重向量。
2、为了预测或推断一个元素,例如图像中的像素或句子中的单词,我们使用注意力权重来估计其他元素与相关的强度,
并将由注意力权重加权的值的总和作为计算最终目标的特征。
并将由注意力权重加权的值的总和作为计算最终目标的特征。
Attention的步骤:
1、计算其他元素与待预测元素的相关性权重 。
2、根据相关性权重对其他元素进行加权求和。
1、计算其他元素与待预测元素的相关性权重 。
2、根据相关性权重对其他元素进行加权求和。
常见问题可以作为面试题目
1、bert和transformer的关系:BERT是transformer的Encoder
2、中文的训练BERT的时候用词合适还是用字合适为什么
输入one-hot vector因为太长
3、bert如果有24层,可以抽取出24个vector。bert的不同层抽取的vector作用不一样。
1、文字的特征提取器
1-of-N Encoding
无法看出词和词的关系
Word Class
将动物、植物进行归类。
Word Embedding
每个词汇用一个向量表示它,向量的某一个纬度表示了一个词的一些含义,
相似的向量对应实例比较相似
相似的向量对应实例比较相似
抽feature的方法
已经广泛的应用的NLP的任务中来了。
已经广泛的应用的NLP的任务中来了。
但是同一个词汇可能有不同的意思,过去的word embedding是一模一样的,但是同一个词语在不同上下文中会有细微的差异。
总结:过去的embedding的方式,无法区分一词多义的问题、有些 比较 含糊。
总结:过去的embedding的方式,无法区分一词多义的问题、有些 比较 含糊。
Contextualized Word Embedding
基于上下文的词向量
2、什么是ELMO
Embeddings from language model,是用来产生Contextualized Word Embedding的
基于RNN-based language models,要训练一个RNN based的models不需要label,训练任务的目的就是预测下一个词。
训练过程中就可以产生,当前token的embedding会根据前面的数据产出Contextualized Word Embedding
不光考虑前向还要考虑后向的任务
begin of sentence
考虑deep任务的rnn
产生了一个问题,如何选择合适的embedding
ELMO如何将deeprnn产出个各种embedding做融合。
ELMO进行加权的融合,权重是学习出来的,
但是会根据不同的使用任务设置不同的权重。
但是会根据不同的使用任务设置不同的权重。
down stream tasks指的是不同的embedding的任务。
3、如何训练BERT
1、masked LM
挖空15%percent的词汇。
把mask部分,丢进去是linear multi class classifier
因为linear表征能力非常弱,经过24层,所以BERT必须抽出一个非常好的repredicting
2、next sentence prediction
预测两个句子是否需要拼接在一起。
CLS放在开头或者结尾影响不大,因为不是基于 RNN的架构。
[SEP]:the boundary of two sentences 两个句子的边界
[CLS]:the position that outputs classification results是一个分类的任务
子主题
在论文中,approaches 1 and 2 used at the same time
ERNIE是针对中文设计的
子主题
4、如何使用BERT
1、输入句子,输出一个class(文章分类)
给出【CLS】分类的符号,和句子
BERT的参数和Linear Classifier参数一起进行学习。
Linear Classifier从头学、bert进行微调
2、输入句子,输出每一个位置的分类。
3、输入两个句子,输入一个 分类
输入前提和假设。让BERT
子主题
4、Queation Answering,输入文章可以得到答案。
子主题
训练需要准备问题、文章已经问题的答案在文章的第几个单词到第几个单词。
把BERT当做一种抽取feature的工具
5、GPT
GPT-2的参数量
Zero-shot Learning
reading comprehension结果 很好
summarization 结果很差
translation 结果很差
最大模型的参与量1500M
Self-Attention layer
RNN和CNN的弊端
RNN不能进行并行化
CNN可以并行计算,但是需要叠加很多层,才能看的懂依赖
输入和输出和RNN是一样,input是一个seq,输出是一个seq
self-attention可以并行化,可以取代rnn
attention的本质,输入两个向量,输出两个向量有多像。
d是q和k的dim,得到b1的vector
子主题
整体矩阵的表示方法
O就是输出
整理工作流程,可以通过GPU进行计算。
分支主题
0 条评论
下一页