顾玉蓉
摘要:近年来,预训练模型在深度学习算法中的应用越发广泛,其具体功能愈加完善。文章首先阐述了深度学习的研究进展及其存在的问题,其次由深度学习的应用引入预训练模型的概念、应用方式及其在深度学习算法优化中的作用,最后总结了预训练模型存在的不足及发展前景。随着自然语言处理技术的进一步发展,基于预训练模型的深度學习算法的弊端得到部分消除,未来发展前景值得期待。
关键词:预训练模型;深度学习;计算机;信息时代
中图分类号:TP39 文献标志码:A
0 引言
信息时代的深度发展,促使计算机应用在各行各业深入渗透,由此形成了诸多广泛而丰富的功能需求。在这种背景下,基于人工神经网络的深度学习(Deep Learning,DL)算法应运而生。同时,随着信息技术的全面发展,深度学习算法在许多新兴技术中扮演着重要的角色,例如无人驾驶汽车、人脸识别、图片识别及分类、机器翻译、目标识别、情感识别和艺术创作等。
1 深度学习算法发展现状
任何事物的发展都具有两面性,深度学习算法也不例外。深度学习算法区别于传统的机器学习,网络层级更为复杂,需要更多的训练样本。尽管深度学习算法应用广泛,功能强大,但随着应用需求的多样性拓展和对海量训练样本的操作需求,其缺陷也逐渐浮现。
1.1 只能根据既有的样本数据学习,无法判断数据是否正确
深度学习模仿样本数据中的内容,对于数据正确与否无法判断。即深度学习侧重“学习”,基于数据中内容出现的频率而做出判断,对于数据的内涵无法深刻理解,这导致深度学习得出的结果常常违背社会发展的规则,甚至令人啼笑皆非。例如,某公司员工样本模型中男性多于女性,那么深度学习在招聘中则会优先筛选和识别男性应聘者。这一结论显然是违背公平原则的,因而深度学习判断结果需要大量、丰富且多元的样本支持。
1.2 无法自动修正学习结果
深度学习的训练结果无法自动修正,即无法在训练之后再加以局部修补,这是因为其仅仅是一个神经网络,不具备智能修正功能。此外,数据、网络和连接具有复杂性,哪怕是微小的变化,也会引发深度学习模型的重大失误,对训练结果造成重大影响,使结论偏离原有的方向。深度学习算法的训练取决于深度学习模型的数据特征,因而深度学习要想获得一个有效的、实用性强的训练结果,技术人员就必须构建一个数据多元、完全平衡、公正公平且鲜少难见的真实世界的数据模型,对其进行训练[1]。
1.3 无法解释做出的决策
深度学习的原则是利用深度来取代广度,这样可以进一步减少参数的应用范围,提高数据拟合能力。因此,在很多情况下,深度学习算法在大多数情况下比传统的机器学习更具有优势。但其摆脱不了固有的原理,即深度学习仍然是一个映射f(x)=y,例如x是输入的手写数字图片,那么y就是0~9中的一个。深度学习给出的是非自然(合法)语言解释的结果,这样的结果往往符合代码和算法规则,却很难被人类理解并接受。它无法理解人类的情感、伦理,例如公平、正义和道德,只会根据样本的偏好训练获得倾向性结果。
1.4 缺乏先验性
深度学习是相对独立的一种算法,它一次只能解决一个问题,无法跨越多个域获取数据并创建复杂算法[2]。训练模型不会对数据进行自适应,一旦数据发生变化,深度学习系统就要重新进行模型培训和测试。关于人类最基础的物理学和基础数学,深度学习中也无法自主获得,必须通过明确的编程将其纳入人工智能系统才可能实现。
1.5 需要耗费巨大的算力资源
一个普通的深度学习模型往往需要强大的CPU能力支持,甚至是GPUs,这会导致应用成本十分高昂,一般企业或地方政府鲜有余力承受这样高额的经济支出。
2 预训练模型
深度学习算法存在的诸多问题都与训练模型中的样本数据有关。因而,在正式训练开展之前,要想提高深度学习算法的准确性和可行性,需要建立预训练模型,对其加以反复训练,并对训练结果加以分析,不断修正数据偏差,建立相对公平、公正且符合人类期待的预训练模型。
2.1 预训练模型的概念
预训练模型是使自然语言处理由原来的手工调整参数、依靠ML专家的阶段,进入可以大规模、可复制的大工业实战阶段[3],从单语言扩展到多语言、多模态任务,具备更丰富、更智能的特征。预训练模型基于迁移学习原理,赋予计算机听说读写、搜索翻译、问答对话和摘要总结等能力。
2.2 预训练模型的应用特征
首先,预训练模型实质是一种迁移学习的应用,其利用几近无限的文本,学习输入的句子中每一个部分上下文相关的表示,从隐藏层面的学习升级为通用的语法和语义知识[4]。
其次,预训练模型将从开放领域学到的知识迁移到下游任务,目标在于改善低资源任务这样非常有利于处理的资源语言。
再次,预训练模型在几乎全部的自然语言处理任务中都获得了目前最好的成绩。因而利用这样的预训练模型获得的结果更符合人类需求,其可行性更强,应用更能落到实处。
最后,预训练模型+微调机制拥有良好的可扩展性,当需要支持一个新任务时,技术人员仅仅将该任务中的标注数据进行微调即可。微调是将顶部的几层解冻,将解冻的几层和新增的部分,如全连接层联合训练。微调是略微调整复用模型更加抽象的表示部分,这样可以使模型与当前求解问题更加相关。
3 预训练模型在深度学习算法中的应用
当需要使用深度学习算法执行某个任务时,在一个原始任务上预先训练一个初始模型,然后在目标任务上使用该模型,针对目标任务的特性,精细调整该初始模型,进而实现目标任务甚至超要求完成任务。从根本上而言,这是一种迁移学习的方式,使用预先训练好的模型,完成当前的目标任务。这对文本语言而言,具有一定的天然的标注特征存在。这是因为文本训练模型不仅可以根据之前输入的词语进行预测,而且文本词语一般较为丰富且数量众多,可形成一个巨大的预训练数据,提供自监督效果。这是依据之前词语输出的,具有自监督学习的预训练[3]。
具体而言,针对深度学习算法存在的问题,可以考虑使用ELMo模型、GPT模型两个预训练模型加以改进。
3.1 ELMo模型
早前的深度学习算法,无法解决一词多义的问题,无法理解任务复杂的语境。ELMo模型针对这种情况具有靶向改善效果。该模型通过深层双向语言模型构建文本,可以有效解决一词多义的问题。
ELMo基于大规模的无监督语料,构建了一个预训练双向LSTM语言模型。该模型分为两个阶段:第一阶段是大规模语料库上利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取的对应单词的网络各层词嵌入作为新特征补充到下游任务中。它是一种典型的基于特征融合的预训练模型,它的模型结构如图1所示。
ELMo模型大大减少了所需训练数据数量,不仅缩短了深度学习算法的学习时间,也能赋予深度学习算法一定程度的理解能力,提升用户对训练结果的满意度,可以减少训练结果不尽如人意的情况,使训练结果更具有可操作性和落地时效性。
3.2 GPT模型
ELMo使计算机界意识到了基于大规模预料集预训练的语言模型的效果,与此同时,Transformer的提出使得其在处理长期依赖性任务方面比LSTM有更好的表现,它在机器翻译等任务上取得的成果也被认为是LSTM的替代品。在此背景下,OpenAI的ALEC R等[5]提出了生成式预训练语言模型。
GPT模型也分为两阶段:第一阶段利用无监督的预训练语言模型进行预训练,学习神经网络的初始参数;第二阶段通过有监督的微调模式解决下游任务,这是一种半监督的方法,结合了非监督的预训练模型和监督的微调模型,是一种通用的表示法。
GPT模型的部分冻结网络结构,微调操作可以减少重新训练的计算量,提升训练速度,同时优化深度学习空间。中小型预训练模型可有效节约算力资源,节省深度学习算法所需的空间,降低操作成本。
4 预训练模型存在的不足
预训练模型虽然在优化深度学习算法方面有很大优势,但由于模型数量、类别众多,训练目标任务也各不相同,其也不可避免地存在一些缺陷。
(1)一般预训练模型都较大,包含的参数数量众多,冻结的模型结构固化,灵活性相对较弱,网络结构可调节性弱。由于模型规模较大,计算量随之增加,应用场景有一定限制。
(2)分类较多,促使预训练模型在执行监测任务时容易导致函数丢失,与类别分布差异较大,优化空间的功能因不同的任务模型存在差异。
(3)冻结微调部分网络结构时,需指定目标類别,对于差异较大的目标类别分布,微调效果微弱。
具体而言,最大的缺陷集中在过拟合模型上。在深度学习中,假设数据满足独立同分布(Independently & Identically Distributed,IID),即当前已产生的数据可以对未来的数据进行推测与模拟,使用历史数据建立模型,即使用已经产生的数据去训练,然后使用该模型去拟合未来的数据。但是一般独立同分布的假设往往不成立,即数据的分布可能会发生变化(Distribution Drift),并且可能当前的数据量过少,不足以对整个数据集进行分布估计,因此往往需要防止模型过拟合,提高模型泛化能力。为了达到该目的,最常见的方法便是正则化,即在对模型的目标函数(Objective Function)或代价函数(Cost Function)加上正则项[6]。
这样会导致训练模型需要紧密或精确地匹配特定数据集,以至于无法良好地拟合其他数据或预测未来的观察结果的现象。在对参数过多或者结构过于复杂的统计模型进行训练时,有可能由于预训练模型数据不够,即训练数据无法对整个数据的分布进行估计的时候,或者在对模型进行过度训练(Overtraining)时,常常会导致模型的过拟合(Overfitting)[6],如图2所示。
从图2可以看出,随着模型正式用于深度学习算法的训练,模型的复杂度逐渐增加,此时模型在训练数据集上的训练误差会逐渐减小,但是在模型的复杂度达到一定程度时,模型在验证集上的误差反而随着模型的复杂度增加而增大。此时便发生了过拟合,即模型的复杂度升高,但是该模型在除训练集之外的数据集上却不奏效[7]。
5 结语
当前,深度学习算法随着智能时代的到来,应用愈加深入,未来也将发挥更加重要的作用。本研究针对深度学习算法发展中存在的几个常见问题,提出了利用ELMo模型和GPT模型改善缺点的策略。ELMo模型通过深层双向语言模型构建文本表示改善了特征维度过多的问题,对于深度学习存在的无法解释的倾向性训练结果有改进效果。GPT模型采用的微调模型,顺应局部性原理,简化了模型假设复杂的体量,这些策略都极大地提高了计算卷积的速度。尽管预训练模型仍存在一定缺陷,但是随着计算机技术的发展,未来这些缺陷也将一一克服,其发展前景依然广阔。
参考文献
[1]张超群.基于深度学习的字符识别[D].成都:电子科技大学,2016.
[2]加里·马库斯.深度学习:批判性思维的研究[EB/OL].(2019-09-11)[2022-08-16].https://www.bilibili.com/video/av67393092.
[3]王浩畅,孙孟冉,赵铁军.基于ELMO的低资源神经机器翻译[J].计算机与现代化,2021(7):38-42.
[4]DXW.李理:从Image Caption Generation理解深度学习(part II)[EB/OL].(2016-09-06)[2022-12-20].http://www.360doc.com/content/16/0905/09/31460730_588500799.shtml.
[5]ALEC R, KARTHIK N, TIM S, et al.Improving language understanding by generative pre-training[EB/OL].(2019-08-16)[2023-02-15].https://www.docin.com/p-2176538517.html.
[6]深度機器学习.深度学习,过拟合问题[EB/OL].(2018-06-20)[2022-12-20].https://www.cnblogs.com/eilearn/p/9203186.html.
[7]微软亚洲研究院.为什么要做预训练模型[EB/OL].(2022-08-05)[2022-08-13].https://www.zhihu.com/question/327642286.
(编辑 王雪芬)
Optimization study of deep learning algorithm based on pre-training model
Gu Yurong
(Bayin Guo Leng Vocational and Technical College, Korla 841000, China)
Abstract: In recent years, pre-trained models have been more widely used in deep learning algorithms, and their specific functions have become more perfect. The paper first expounds the research progress of deep learning and its problems existing. Secondly, it introduces the concept, application mode and its role in the optimization of deep learning algorithm, and finally summarizes the shortcomings, solution strategies and development prospects of the pre-training model. With the further development of natural language processing technology, the drawbacks of deep learning algorithms based on pre-training models have been partially eliminated, and the future development prospect is worth looking forward to.
Key words: pre-training model; deep learning; computer; information age