长话短说
- Bert具备广泛的通用性,就是说绝大部分NLP任务都可以采用类似的两阶段模式直接去提升效果。客观的说,把Bert当做最近两年NLP重大进展的集大成者更符合事实。
- 串起来这个故事的脉络就是自然语言的预训练过程,但是落脚点还是在Bert身上。要讲自然语言的预训练,得先从图像领域的预训练说起。
图像领域的预训练
- 预训练在图像领域的应用
- 1.训练数据小,不足以训练复杂网络
- 2.加快训练速度
- 3.参数初始化,先找到好的初始点,有利于优化
- 把A任务和B认为的的网络参数先保存下来,当遇到C任务时,两种做法:
- “Frozen”:一种是浅层加载的参数在训练C任务过程中不动
- “Fine-Tuning”:底层网络参数尽管被初始化了,在C任务训练过程中仍然随着训练的进程不断改变
- 对于层级的CNN结构来说,不同层级的神经元学习到了不同类型的图像特征,由底向上特征形成层级结构;越往上层越和任务有关正因为此,所以预训练好的网络参数,尤其是底层的网络参数抽取出特征跟具体任务越无关,越具备任务的通用性,所以这是为何一般用底层预训练好的参数初始化新任务网络参数的原因。
- 一般我们喜欢用ImageNet来做网络的预训练,主要有两点:
- 1.一方面ImageNet是图像领域里有超多事先标注好训练数据的数据集合,分量足是个很大的优势
- 2.另外一方面因为ImageNet有1000类,类别多,算是通用的图像数据,跟领域没太大关系,通用性好
- 在说Word Embedding之前,先更粗略地说下语言模型,因为一般NLP里面做预训练一般的选择是用语言模型任务来做。
- 什么是语言模型?为了能够量化地衡量哪个句子更像一句人话,可以设计如上图所示函数,核心函数P的思想是根据句子里面前面的一系列前导单词预测后面跟哪个单词的概率大小(理论上除了上文之外,也可以引入单词的下文联合起来预测单词出现概率)。句子里面每个单词都有个根据上文预测自己的过程,把所有这些单词的产生概率乘起来,数值越大代表这越像一句人话。
- 它生于2003,火于2013;学习