【论文笔记】GPT-2 通用语言模型的一粒飞弹

代码传送带:https://github.com/openai/gpt-2

论文传送带:https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf

题外话,在机器学习领域,我们经常说的一句话是NO FREE LUNCH,意味着在大众认知里所有的TASK都有相应的解决系统,而互相之间不存在一种通用的学习模型能够一次性解决所有问题。这赋予了机器学习工程师存在的意义,因为针对不同的任务(数据集),你必须慎重选择不同的网络结构和参数来解决现有问题。但是,学术界仍在寻找一种通用的学习模型,能够使得一个模型能够在多个任务中都收获不同的表现,这样大大减少了模型移植带来的COST,是TRANSFER LEARNING课题在寻求的,也是迈向真正的人工智能(拥有认知和意识)必不可少的一步。

作者认为,现在主流的机器学习系统经常是以收集训练样本来揭示预期任务的正确行为,训练一个系统去模仿这样的行为,然后用独立且理想分布的样本(测试集)来测试系统的表现。 IID - Independent and identically distributed

然而,这样的方法尽管在某些狭窄的专业领域表现的不错,仍然存在短板。部分证据是一些模型在不同输入样本上的不稳定表现: Captioning models (Lake et al.,2017), Reading Comprehension systems (Jia & Liang, 2017), Image Classifiers (Alcorn et al., 2018)。实际上,作者想要说的就是NO FREE LUNCH概念。不过最近很多multi-task learning的模型表现也不差。

作者提出的假设是单任务训练的流行是导致现有系统缺乏通用模型的祸因。不过有所改善的是,利用现有架构进行多任务的训练和测试正是通往更鲁棒系统的途径。2018年开始,已经有好几个行业标杆在做这件事了(意思是熊伙子们现在你们也可以开始了额)

1997年提出的多任务学习是提高通用表现的前途无可限量的架构。但是,自然语言处理领域的多任务学习仍然很匮乏。对多任务学习进行尝试的最新成果使用了10/17对(数据库,目标)组合。每一个(数据库,目标)组合都是元学习meta-learning视角下的训练样本。目前的机器学习系统需要成百上千的训练样本去拟合一个函数。这意味着用目前这些办法必须要用成百上千有效的(数据库,目标)的训练组合去训练一个多任务模型。但是去生成大量的数据库,并设计不同的任务目标来强行解决多任务学习的问题无疑是非常困难的。这就是为什么我们需要探索多任务学习更多的步骤。

目前语言学习表现最好的模型使用了预训练和有监督的微调方法,这也是迁移学习里常用的方法。首先,学习单词向量,并将单词向量输入进根据不同语言任务构建的不同模型架构,再迁移RNN中对数据的表示结果。也有人说不需要单独造不同的轮子,只需要用attention的形式来高效得到迁移成果。

这些工具人仍然需要用到监督学习去完成。当只有很小一部分或者根本没有标注数据的时候,语言模型也能用在一些特定的NLP任务中,如常识推理和情感分析。

这篇文章就是想用更加通用的迁移模型去解决特定的任务。实际上不需要调参或者改造结构,语言模型就可以零样本学习zero-shot setting并用在下游的NLP任务中。我们提出的GPT-2模型就显示了语言模型在很多种任务中的潜力。

这种方法的核心是建立语言模型。建立语言模型经常是用无监督的不定长数据分布估计。语言是天然有序的,因此通常会用联合概率来表示条件概率的笛卡尔积。这种方法让条件概率更易于管理。近几年也用self-attention的架构来计算条件概率,比如Transformer。

学习某一个单任务可以被表示成估计输入和输出之间的条件概率分布。通用的系统则应该表示不同的任务。

 

 

你可能感兴趣的:(论文笔记,原创)