BERT模型

BERT(Bidirectional Encoder Representation from Transformers,即双向Transformer的Encoder)是一种能够生成句子中词向量表示以及句子向量表示的深度学习模型。BERT虽然在模型创新的角度来说并不是非常出色,但它是近几年NLP领域杰出成果的集大成者。BERT大火最重要的原因是效果好,通用性强两大优点。可以说它的出现是NLP领域里具有里程碑意义的大事件。

BERT的两阶段技术

假如我们有个机器人小智,现在我们希望小智能帮我们完成这样一个任务:我们给小智输入一句话(可能是用户的搜索),小智就能判断这句话是不是对传奇游戏标签有兴趣。
针对这个任务,BERT模型怎么做的?
BERT主要采用预训练和微调的两阶段架构。预训练做的事就是提前让小智看海量的文本语料。这些语料可能来自现实世界或者网络世界。小智通过这些语料,学习到了很多语言学知识。
很多小伙伴要问了,如果没有预训练这个阶段会咋样?再举个极端的例子,你分别告诉一个刚出生的婴儿和一个大学毕业的小伙子”成龙大哥代言的一刀传奇好玩么”,他们两个的理解能力是完全不同的。
预训练过程的本质就是通过大量的语料,从而获得语言学的知识,最终能更好的帮助我们理解语言本身。这就是预训练技术!
BERT的第二个阶段微调更像是具体问题具体分析。我们可能希望机器人小智来识别女朋友是不是生气了(分类任务),也可能希望小智帮我们翻译下喵星人煤球说了啥(翻译任务),还可能希望小智帮我们看一篇文章主要讲了啥(自动摘要任务)等等。
根据你实际的业务需求,通过第二阶段来完成你想让模型做的事。
总结下,BERT是两阶段模型,预训练通过学习大量的语料获得语言学知识,微调则真正让我们的模型解决实际生活中问题。

BERT的重要意义

(1)机器学习研究人员
BERT在自然语言处理方面引发的变革等同于计算机视觉领域的AlexNet,在该领域具有显著的革命性意义。仅需替换网络的最后一层,便可针对一些新任务定制网络,这项功能意味着用户可轻松将其应用于任何感兴趣的研究领域。无论用户的目标是翻译、情感分析还是执行一些尚未提出的新任务,都可以快速配置网络以进行尝试。
(2)软件开发者
由于针对大型数据集预先训练过的模型的广泛可用性,BERT大大减少了先进模型在投入生产时受到的计算限制。

0%