微软透过知识蒸馏法改善多任务深度神经网络研究

微软研究院最近介绍了透过知识蒸馏法(distillation),来改善多任务深度神经网络(Multi-Task Deep Neural Network, MT-DNN)的研究,打造出更稳固且通用的自然语言理解模型,微软将多个整体(ensembled )模型,透过知识蒸馏法,训练出单一个稳固且通用的MT-DNN。微软表示,整体学习是改善自然语言处理模型最有效的方法之一,目前已被广泛地应用在NLU任务中,不过,整体学习通常由数十至数百种不同的神经网络模型组成,因此运算和部署成本相当昂贵,微软结合了网络大厂 AI开源的双向语言转换模型BERT,并采用了知识蒸馏法来解决这个问题。
微软透过知识蒸馏法改善多任务深度神经网络研究
知识蒸馏法是从训练好的大型模型中,将学习到的知识迁移到更适合推理的小型模型,微软首先利用整体模型,训练出每个训练样本的预测输出soft targets,soft targets是来自大型模型的预测结果,包含的讯息量较大,拥有不同类型之间的讯息,举例来说,「我与Tom进行了一场有趣的对话」这句话的情绪分类可能为正面,也有可能是负面,必须依据上下文来判断,接着,再用横跨不同任务输出的soft targets和正确的targets,透过多任务学习来训练单一个MT-DNN,此时MT-DNN就是扮演学生的角色。MT-DNN学生模型的实验架构分为共享层和特定任务层两个部分,输入一个语句后,会先将语句转换为词向量表示法,接着转换编译程序会针对每个字撷取上下文的信息,并产生共享的上下文词向量,最后,针对每个任务,特定任务层会根据必要的处理,像是分类、相似度评分、关系排序等,生成特定任务的表示法,MT-DNN共享层一开始是用网络大厂双向语言转换模型BERT训练,接着再用多任务学习共同训练。部分内容参考:sbf胜博票台 http://www.ktnetks.com.tw
微软透过知识蒸馏法改善多任务深度神经网络研究
而多任务学习的知识蒸馏过程,不同神经网络会针对不同任务分别训练,神经网络担任教师的角色,这些教师神经网络会为每个特定任务,生成soft targets,MT-DNN学生网络就透过多任务学习来学习特定任务。
微软透过知识蒸馏法改善多任务深度神经网络研究
相比BERT模型和一般MT-DNN模型,经过知识蒸馏法训练的MT-DNN模型,在常用自然语言理解评估标准GLUE有较佳的表现,显示该模型更加的稳固且通用,微软也计划在6月于GitHub上开源释出MT-DNN模型,释出的模型将包含预先训练的模型、程序代码,以及步骤式的解说。

猜你喜欢

转载自blog.51cto.com/13220658/2396313