NLP模型应用之一:基础知识

2020-01-31  本文已影响0人  xieyan0811

引入

2018年底发布的BERT模型和2019年初发布的GPT-2模型,开始挑战人类的语言处理能力。二者都基于之前介绍过的Transformer基础模型。

对模型的研究有几个层次:研究基础模型、扩展模型、应用模型

有监督学习和无监督学习

传统的深度学习在解决某个问题时都需要大量数据反复训练,在数据量和算力足够的情况下,直接训练模型效果更好。但在很多实际应用中,却很难实现。比如:在医学诊断中使用机器视觉技术时,需要大量标注好的正例和反例,反复训练,实际情况是有问题的病例只占少数,评价函数将使模型偏向大多数正常;且标注起来非常困难,从一个300M的图像上标注出所有异常细胞的难度和人工成本可想而知。

图片来自天池大数据竞赛平台

人类解决此问题时,只需要了解正常细胞与异常细胞形状、大小等重要特征的差异即可判断。这是由于人的常识系统,可从图像中提取出形状、颜色等信息。于是人们致力于开发类似人类的常识系统,希望从相关的任务中学习,通过大量数据和训练形成机器的知识体系,在解决具体问题时,只需要少量训练,即可正常工作。

零样本学习

零样本学习Zero-shot Learning指的是之前没接触过某一类别的训练样本,但通过在实际目标和训练目标之间建立映射关系,实现识别该类别的功能。比如:之前没见过老虎,但是照猫画虎也能对老虎有大致了解,在判断过程中更容易把老虎和桌子、香蕉区分开来。

单样本学习 One-shot Learning,少量样本学习Few-shot Learning也与之类似,它们针对的都是只有少量正例或者单个正例的情况下的学习问题,实际上是一种普遍规则到特殊规则的映射。

ELMo、GPT、BERT和GTP-2的目标都是使用大量无标签语料预训练模型,然后用有标签的小数据调优模型。GPT-2主要针对零样本学习,挑战近似无监督学习的问题,后面可以看到,它通过对海量数据的训练生成了常识系统。

半监督学习

由于神经网络是一种有监督学习模型,必须有特征x和目标y,才能使用误差函数比较实际目标y与预测值y’的差异,反向传播误差来调整参数。接下来的问题是,如何使用无标签的语料来训练模型?

最基本的方法是利用前面的N个词预测后面的第N+1个词,比如:通过序列的前三个元素“白日依”,预测第四个元素“山”是最基本的处理方法,也是GPT模型使用的预训练方法。

进而,随机屏蔽序列中的某一元素,如“山”,然后通过它的前文和后文共同预测出该位置的元素。

自然语言处理问题中,一般先利用无标签数据按上述方法训练基础模型,然后再用针对具体问题的少量有标签数据进一步训练最终的模型。

迁移学习

迁移学习Transfer learning指把训练目标A的模型作为基础,通过进一步训练,实现对目标B的预测。迁移学习有两种方式:

两种方式各有利弊,提取特征方法更加灵活,可以处理更多不可预知的问题类型,Pretain+Finetuning能更好地利用模型中学到的知识。

自然语言评测

自然语言常使用GLUE和SquAD测试,来评价模型的效果。这些测试基本涵盖了自然语言处理领域的常见问题类型。

QLUE全称是General Language Understanding Evaluation,它涉及自然语言处理的各个子模块,QLUE不公开测试集结果,开发者上传预测结果后,它给出评分。包括十一项测试,如:

SquAD全称The Standford Question Answering Dataset,它是斯坦福大学于2016年推出的阅读理解数据集,给定一篇文章,准备相应问题,需要算法给出问题的答案。一共有107,785问题,以及配套的 536 篇文章。与GLUE的分类不同,它寻找的是一个答案在段落中的位置。

自然语言评测包含几种任务:判断句与句之间的关系,分类和标注,在后续的BERT部分将介绍具体的实现方法。

上一篇下一篇

猜你喜欢

热点阅读