NLP进阶之(十一)预训练模型Bert

NLP进阶之(十一)Bert

一、Bert简介

       Bert作为近1年来大热的语言模型,必有其可爱之处,学习Bert,是做为每个算法工程师的必备,不仅仅是CV抑或是NLP,依照笔者两段算法实习经验来看,Bert在推荐领域、风控领域都是必不可少的一项工作。
       文章在忧郁得茄子文章基础上做个人实践的改动,在读懂Bert前,需要对语言模型的发展有大量的理解,类似的,时间线如下所示:

  • 2001 - Neural Language Models(神经语言模型)
  • 2008 - Multi-task Learning(多任务学习)
  • 2013 - Word Embeddings(词嵌入)
  • 2013 - Nerual NetWorks For NLP(NLP神经网络)
  • 2014 - Sequence-to-Sequence Model(S2S模型)
  • 2015 - Attention(注意力机制)
  • 2015 - Memory-Based NetWorks(基于记忆的网络)
  • 2018 - Pretrained Language Models(预训练语言模型)

       我们选择其中较为重点的2001、2008、2013以及2018年来描述,而2014、2015的事件可以在2018年预训练模型提出时被广泛理解。

2001 - 神经语言模型

在这里插入图片描述
       Bengio等人于2001年提出的前馈神经网络,如图所示:
i − t h o u t p u t = P ( w t = i ∣ c o n t e x t ) i-th \quad output = P(w_t = i | context) ithoutput=P(wt=icontext)         模型从C表词嵌入表中查询n个 单词,将这些向量做级联后输入到一个稳定的隐藏层后,后被输入到Softmax层可以做词语预测。

2008 - 多任务学习

       多任务学习是多个任务上模型进行参数共享的一种通用方法,在神经网络中,可以通过给不同层施以不同的权重,很容易实现多任务学习。多任务学习的概念最初由Rich Caruana 在1993年提出,并被应用于道路跟踪和肺炎预测(Caruana,1998)。
        Rich Caruana 在1993年提出,并被应用于道路跟踪和肺炎预测(Caruana,1998)。在2008年,Collobert 和 Weston 将多任务学习首次应用于 NLP 的神经网络。在他们的模型中,查询表(或单词嵌入矩阵)在两个接受不同任务训练的模型之间共享,如下面的图所示。

在这里插入图片描述

2013 - 词嵌入

       Mikolov等人在2013年提出的创新技术是通过去除隐藏层,逼近目标,进而使这些单词嵌入的训练更加高效。虽然这些技术变更本质上很简单,但它们与高效的word2vec配合使用,便能使大规模的词嵌入训练成为可能。
       Word2vec有两种风格,如下面的图所示:连续字袋 CBOW skip-gram。不过他们的目标不同:一个是根据周围的单词预测中心单词,而另一个则相反。
在这里插入图片描述

2018 - 预训练语言模型 Bert

      预训练的词嵌入与上下文无关,仅用于初始化模型中的第一层。一系列监督型任务被用于神经网络的预训练。相反,语言模型只需要无标签的文本;因此,训练可以扩展到数十亿个tokens, new domains, new languages。预训练语言模型于 2015 年被首次提出(Dai & Le,2015);直到最近,它们才被证明在各种任务中效果还是不错的。语言模型嵌入可以作为目标模型中的特征(Peters等,2018),或者使用语言模型对目标任务数据进行微调(Ramachandranden等,2017; Howard & Ruder,2018)。
      Bert中主要由多个Transformer来组成,而Transformer是由多个encoder以及decoder来组成,而encoder以及decoder所做的事主要是由机器翻译领域(甚至可以说使用简单的对话系统),encoder阶段,第一个节点输入一个词,之后节点输入的是下一个词与前一个节点hidden state,那么encoder会翻译成一个context,可以将其简称为一个c向量。
h t = f ( x t , h t − 1 ) . \boldsymbol{h}_t = f(\boldsymbol{x}_t, \boldsymbol{h}_{t-1}). ht=f(xt,ht1).

c = q (

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值