9-8学习日记

一、gpt、bert、transform三者之间的区别与联系

之前说到transform是编码器解码器的结构,而gpt只使用了transform的解码器,在序列生成时利用自回归方式进行文本生成,BERT 只使用 Transformer 的 编码器,通过双向机制和 MLM 来进行语言理解任务。
(1)自回归:给定一部分序列,预测下一个单词。模型每次生成一个词,并将其作为输入继续预测下一个词
(2)双向机制:BERT 在训练时同时考虑输入序列中每个词的左右上下文信息,使其能够更好地理解句子的语义
(3)Masked Language Model (MLM):在输入序列中随机遮掩部分单词,然后预测这些被遮掩的单词来进行训练
在这里插入图片描述
可以看到gpt和bert跟elmo架构还是挺像的,只不过它们是用transform连接的,GPT 主要用于生成式任务,比如文本生成、对话系统等,而 BERT 则更侧重于理解类任务,它擅长需要深入理解上下文的nlp任务。

二、单向编码与双向编码

以该句话举例“今天天气很{ },我们不得不取消户外运动”,分别从单向编码和双向编码的角度去考虑{ } 中应该填什么词:
单向编码:单向编码只会考虑“今天天气很",以人类的经验,大概率会从“好”、“不错”、“差”、“糟糕”这几个词中选择,这些词可以被划为截然不同的两类
双向编码:双向编码会同时考虑上下文的信息,即除了会考虑“今天天气很”这五个字,还会考虑“我们不得不取消户外运动"来帮助模型判断,则大概率会从“差”、“糟糕”这一类词中选择。

三、bert与elmo

我们知道bert和elmo都是通过语言模型来获得词的上下文表示,但这二者有着显著的区别:
(1)elmo使用了双向LSTM,来分别处理上文和下文信息,前向LSTM从句子的左侧向右侧逐词进行处理。换句话说,当前词的上文只依赖它前面的词,而不会考虑后面的词;同理当前词的下文只依赖它后面的词,而不会考虑前面的词。前向和后向的处理是分开的,没有交互。也就是说,前向 LSTM 生成的词表示只依赖于上文,并不会从后文中得到信息。同理,后向 LSTM 生成的词表示也只依赖下文。
(2)bert每个词向量在计算时,都会同时考虑该词的前文和后文,因为它使用了自注意力机制,前后文的信息是相互影响的

四、bert模型

在这里插入图片描述
从上图中可以看出,bert实际上就是transform编码器部分的堆叠。BERT是采用二段式训练方法:
1.第一阶段:使用易获取的大规模无标签余料,来训练基础语言模型:
2.第二阶段:根据指定任务的少量带标签训练数据进行微调训练。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值