CN112749797A - 一种神经网络模型的剪枝方法及装置 - Google Patents
一种神经网络模型的剪枝方法及装置 Download PDFInfo
- Publication number
- CN112749797A CN112749797A CN202010699771.XA CN202010699771A CN112749797A CN 112749797 A CN112749797 A CN 112749797A CN 202010699771 A CN202010699771 A CN 202010699771A CN 112749797 A CN112749797 A CN 112749797A
- Authority
- CN
- China
- Prior art keywords
- neural network
- screening
- network model
- model
- trained
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种神经网络模型的剪枝方法及装置,涉及人工智能技术领域,该方法包括:在神经网络模型中设置筛选组件,筛选组件用于对目标隐藏层输出的数据特征进行筛选,通过对神经网络模型进行训练,获得每个筛选组件的通过率,进而基于筛选组件的通过率获得筛选组件对应的目标隐藏层对神经网络模型的影响程度,从而可以直观地获知神经网络模型内部结构的重要程度,提高模型的可解释性。基于各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理,从而一方面保证了神经网络模型的模型效果,另一方面压缩了神经网络模型大小,降低模型计算复杂度,加快了模型运行速度。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种神经网络模型的剪枝方法及装置。
背景技术
随着深度学习的不断发展与演化,神经网络已经被广泛应用于语音识别、计算机视觉、自然语言处理等领域。例如,在机器翻译、视频监控、自动驾驶等实际应用中,神经网络取得了非常出色的表现。尽管如此,由于神经元之间存在复杂的非线性变换及其自身高维表示形式,理解神经网络模型如何工作,以及为什么这样工作变得比较困难,进而为调试神经网络模型以及设计新的神经网络模型带来了极大挑战。
近年来,有多项探索神经网络模型可解释性的方法被提出,比如,把神经网络模型作为黑盒子,通过解释模型输入输出行为的方式来分析模型的功能。虽然该方法可以分析到模型的一些规律,但是由于把模型当作黑盒子,只分析输入输出,故不能细粒度的分析模型内部的运行机理,导致很难对模型内部进行改进。
发明内容
本申请实施例提供了一种神经网络模型的剪枝方法及装置,用于基于神经网络内部的筛选组件的通过率对筛选组件对应的隐藏层进行剪枝处理。
一方面,本申请实施例提供了一种神经网络模型的剪枝方法,该方法包括:
基于文本样本数据对待训练神经网络模型进行训练,所述待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件,每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出;
在训练过程中根据目标损失函数调整所述待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型;
根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
一方面,本申请实施例提供了一种智能翻译方法,该方法包括:
采用翻译模型对待翻译语句进行处理,获得所述待翻译语句的翻译结果,所述翻译模型为采用上述神经网络模型的剪枝方法剪枝后获得的模型。
一方面,本申请实施例提供了一种神经网络模型的剪枝装置,该装置包括:
训练模块,用于基于文本样本数据对待训练神经网络模型进行训练,所述待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件,每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出;
处理模块,用于在训练过程中根据目标损失函数调整所述待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型;
剪枝模块,用于根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
可选地,所述目标损失函数包括所述待训练神经网络模型中各个筛选组件的通过率。
可选地,所述剪枝模块具体用于:
按照通过率从小到大的顺序对所述已训练神经网络模型中各个筛选组件进行排序,其中,筛选组件的通过率越大,筛选组件连接的目标隐藏层在所述目标翻译模型中的影响程度越大;
从所述已训练神经网络模型中删除排在前N位的筛选组件连接的目标隐藏层,N为预设正整数。
可选地,所述剪枝模块具体用于:
确定所述已训练神经网络模型的各个筛选组件中,通过率小于预设阈值的目标筛选组件;
将所述已训练神经网络模型中的目标筛选组件的通过率置为零。
可选地,每个筛选组件中包括多个门,每个筛选组件中门的数量与筛选组件连接的目标隐藏层输出的数据特征的数量对应,每个筛选组件的通过率是根据筛选组件中处于打开状态的门的数量确定的。
可选地,还包括显示模块;
所述显示模块具体用于:
生成所述各个筛选组件的通过率的展示页面并显示。
可选地,所述待训练神经网络模型为待训练翻译模型,所述待训练翻译模型包括编码器和解码器,所述编码器中每个隐藏层对应一个筛选组件,所述解码器中每个隐藏层对应一个筛选组件。
可选地,所述待训练神经网络模型为待训练翻译模型,所述待训练翻译模型包括多个编码器和多个解码器,每个编码器对应一个筛选组件,每个解码器对应一个筛选组件。
一方面,本申请实施例提供了一种智能翻译装置,该装置包括:
翻译模块,用于采用翻译模型对待翻译语句进行处理,获得所述待翻译语句的翻译结果,所述翻译模型为采用上述神经网络模型的剪枝方法剪枝后获得的模型。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述神经网络模型的剪枝方法的步骤,或者上述智能翻译方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述神经网络模型的剪枝方法的步骤,或者上述智能翻译方法的步骤。
本申请实施例中,在神经网络模型中设置筛选组件,筛选组件用于对目标隐藏层输出的数据特征进行筛选,通过对神经网络模型进行训练,获得每个筛选组件的通过率,进而基于筛选组件的通过率获得筛选组件对应的目标隐藏层对神经网络模型的影响程度,从而可以直观地获知神经网络模型内部结构的重要程度,提高模型的可解释性。基于目标隐藏层的影响程度对神经网络模型进行剪枝处理,从而一方面保证了神经网络模型的模型效果,另一方面压缩了神经网络模型大小,降低模型计算复杂度,加快了模型运行速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种神经网络模型的剪枝方法的流程示意图;
图3为本申请实施例提供的一种隐藏层的示意图;
图4为本申请实施例提供的一种翻译模型的结构示意图;
图5为本申请实施例提供的一种翻译模型的结构示意图;
图6为本申请实施例提供的一种翻译模型的结构示意图;
图7a为本申请实施例提供的一种翻译模型中筛选组件的通过率的示意图;
图7b为本申请实施例提供的一种翻译模型中筛选组件的通过率的示意图;
图8a为本申请实施例提供的一种翻译模型中筛选组件的通过率的示意图;
图8b为本申请实施例提供的一种翻译模型中筛选组件的通过率的示意图;
图9为本申请实施例提供的一种通过率的展示页面的示意图;
图10为本申请实施例提供的一种神经网络模型的剪枝装置的结构示意图;
图11为本申请实施例提供的一种智能翻译装置的结构示意图;
图12为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,下面对本申请实施例中涉及的名词进行解释。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML):一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。例如,本申请实施例中采用机器学习技术学习不同翻译文本样本在两种语言之间进行翻译的过程,使得计算机获得文本翻译的技能。
NN:Neural Network,神经网络,在机器学习和认知科学领域的一种模仿生物神经网络结构和功能的深度学习模型。
Pruning:剪枝,一种压缩神经网络的方法。
NMT:Neural Machine Translation,神经网络机器翻译,最新一代基于神经网络的机器翻译技术。
Transformer:一种目前最主流的机器翻译和序列处理的模型。
Seq2Seq:Sequence to Sequence Model,序列到序列模型,一种输入和输出均为序列的深度神经网络模型。
BLEU:Bilingual Evaluation Understudy,机器翻译评测的标准方法,值越高表示效果越好。
隐藏层:除输入层和输出层以外的其他各层叫做隐藏层,隐藏层不直接接收外界的信号,也不直接向外界发送信号。
输入层:该层负责接收来自网络外部的信息。
输出层:输出网络的计算结果。
下面对本申请实施例的设计思想进行介绍。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
尽管如此,由于神经网络模型中神经元之间存在复杂的非线性变换及其自身高维表示形式,理解神经网络模型如何工作,以及为什么这样工作变得比较困难,从而为调试神经网络模型以及设计新的神经网络模型带来了极大挑战。
从本质上而言,神经网络模型是将给定的输入信息通过一定的变换编码成相应的输出。但是,神经网络模型结构极为复杂,常常包含百万级以上的参数,因而其变换方式无法直观量化理解,往往被当成是黑盒对待。这种情况下模型的改进和压缩都是非常困难的,因为开发人员并不知悉模型是怎样存储信息和工作的,从而也无法调试和修正模型。
模型的可解释性可以在一定程度上缓解这个问题,帮助模型设计开发人员能够更好的理解模型、修正模型和提升模型。近年来,有多项探索神经网络模型可解释性的方法被提出,主要可以分为两类。一、把模型作为黑盒子,通过解释模型输入输出行为的方式来分析模型的功能。二、分析神经元中间表示在预测中的重要性。具体来说,分析各种中间表示向量的语言学特性,例如,探索特定神经元在模型预测中扮演的角色。
上述技术存在的主要问题是:第一类基于分析黑盒的输入输出的解释性方法,虽然可以分析到模型的一些规律,但是由于把模型当作黑盒子,很难把分析的结果用于模型的改进中。同时,只分析输入输出,不能细粒度的分析模型内部的运行机理,导致很难做细粒度的改进。第二类神经元中间表示的可解释性方法粒度太细导致分析出来的结果难以对模型的设计和改进产生指导意义。综上所述,亟需开发一个能够有效挖掘模型内在特性的方法来帮助理解和改进神经网络模型。
鉴于此,本申请实施例中提供了一种神经网络模型的剪枝方法,包括:基于文本样本数据对待训练神经网络模型进行训练,待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件,每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出。在训练过程中根据目标损失函数调整待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型。之后再根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
本申请实施例中,在神经网络模型中设置筛选组件,筛选组件用于对目标隐藏层输出的数据特征进行筛选,通过对神经网络模型进行训练,获得每个筛选组件的通过率,进而基于筛选组件的通过率获得筛选组件对应的目标隐藏层对神经网络模型的影响程度,从而可以直观地获知神经网络模型内部结构的重要程度,提高模型的可解释性。基于目标隐藏层的影响程度对神经网络模型进行剪枝处理,从而一方面保证了神经网络模型的模型效果,另一方面压缩了神经网络模型大小,降低模型计算复杂度,加快了模型运行速度。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
场景一、机器翻译场景。
待训练神经网络模型为待训练翻译模型,待训练翻译模型包括编码器和解码器,待训练翻译模型中的编码器为一个或多个,待训练翻译模型中的解码器为一个或多个。待训练翻译模型中的目标隐藏层为编码器中的每个隐藏层和解码器中的每个隐藏层。基于翻译样本数据对待训练翻译模型进行训练,待训练翻译模型中每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出。在训练过程中根据目标损失函数调整待训练翻译模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练翻译模型。根据已训练翻译模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
场景二、文本摘要生成场景。
待训练神经网络模型为待训练文本摘要生成模型,待训练文本摘要生成模型包括编码器和解码器,待训练文本摘要生成模型中的编码器为一个或多个,待训练翻译模型中的解码器为一个或多个。待训练文本摘要生成模型中的目标隐藏层为编码器中的每个隐藏层和解码器中的每个隐藏层。基于文本样本数据对待训练文本摘要生成模型进行训练,待训练文本摘要生成模型中每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出。在训练过程中根据目标损失函数调整待训练文本摘要生成模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练文本摘要生成模型。根据已训练文本摘要生成模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
需要说明的是,本申请实施例中的神经网络模型剪枝方法并不仅限于上述两种应用模型,也可以应用在image captioning(图片像素序列到语言序列)、对话机器人(如问题到回答)等Seq2Seq模型,还可以应用到任意自然语言处理领域的深度神经网络模型中,比如递归神经网络(Recurrent Neural Network,RNN,RNN)、卷积神经网络(ConvolutionalNeural Network,CNN)等,对此,本申请实施例不做具体限定。
参考图1,其为本申请实施例提供的神经网络模型的剪枝方法的系统架构图。该架构至少包括终端设备101以及服务器102。
终端设备101中可以安装模型训练应用,用户可以在模型训练应用中配置待训练神经网络模型的模型参数和各个筛选组件的通过率的初始值,还可以在模型训练应用中配置目标损失函数的初始值。模型训练应用可以是网页版应用,也可以是预装在终端设备101中的客户端应用。在训练待训练神经网络模型,用户在模型训练应用中输入文本样本数据后提交。终端设备101可以包括一个或多个处理器1011、存储器1012、与埋点服务器103交互的I/O接口1013以及显示面板1014等。终端设备101可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
服务器102可以是模型训练应用的后台服务器,为模型训练应用提供相应的服务。服务器102接收到文本样本数据后,基于文本样本数据对待训练神经网络模型进行训练,待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件,每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输。在训练过程中根据目标损失函数调整待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型。
一种可能的实施方式,服务器102根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
一种可能的实施方式,服务器102将已训练神经网络模型中各个筛选组件的通过率发送至终端设备101,终端设备101中的模型训练应用展示各个筛选组件的通过率,故用户可以直观获知各个筛选组件连接的目标隐藏层对神经网络模型的影响程度,从而根据各个筛选组件连接的目标隐藏层的影响程度对神经网络模型中的目标隐藏层进行剪枝处理。
服务器102可以包括一个或多个处理器1021、存储器1022以及与终端设备101交互的I/O接口1023等。此外,服务器102还可以配置数据库1024。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备101与服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
基于图1所示的系统架构图,本申请实施例提供了一种神经网络模型的剪枝方法的流程,如图2所示,该方法的流程由神经网络模型的剪枝装置执行,该神经网络模型的剪枝装置可以是图1所示的服务器102,包括以下步骤:
步骤S201,基于文本样本数据对待训练神经网络模型进行训练。
具体地,当待训练神经网络模型的应用不同时,获取的文本样本数据也不相同。比如,当待训练神经网络模型为待训练翻译模型时,文本样本数据为翻译样本数据,翻译样本数据具体可以是中文-英语样本数据、英语-德语样本数据、英语-法语样本数据等。当待训练神经网络模型为待训练文本摘要生成模型时,文本样本数据为原文本-文本摘要样本数据。
神经网络模型的隐藏层用于对输入的文本数据进行信息的提取、转换、传输和融合等。下面以Transformer模型为例,介绍隐藏层对数据的处理过程,如图3所示,上一个隐藏层输出的数据xj经过当前隐藏层操作F后,获得操作结果F(xj),上一个隐藏层输出的数据xj经过直连通道后与操作结果F(xj)融合,获得数据xj+1,然后将数据xj+1传输给下一个隐藏层。
待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件。可以将待训练神经网络模型中的每个隐藏层都作为目标隐藏层,每隐藏层对应连接一个筛选组件,也可以从待训练神经网络模型中选取部分隐藏层作为目标隐藏层,每个目标隐藏层对应连接一个筛选组件。
每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出,具体实施中,预先设置每个筛选组件的通过率为1,即目标隐藏层输出的数据特征均能输出。
步骤S202,在训练过程中根据目标损失函数调整待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型。
步骤S203,根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
具体地,筛选组件的通过率越高,说明筛选组件连接的目标隐藏层对神经网络模型的影响程度越高,筛选组件的通过率越低,说明筛选组件连接的目标隐藏层对神经网络模型的影响程度越低,在对神经网络模型进行剪枝处理时,优先剪枝影响程序低的隐藏层。
本申请实施例中,在神经网络模型中设置筛选组件,筛选组件用于对目标隐藏层输出的数据特征进行筛选,通过对神经网络模型进行训练,获得每个筛选组件的通过率,进而基于筛选组件的通过率获得筛选组件对应的目标隐藏层对神经网络模型的影响程度,从而可以直观地获知神经网络模型内部结构的重要程度,提高模型的可解释性。基于目标隐藏层的影响程度对神经网络模型进行剪枝处理,从而一方面保证了神经网络模型的模型效果,另一方面压缩了神经网络模型大小,降低模型计算复杂度,加快了模型运行速度。
可选地,在上述步骤S201中,待训练神经网络模型可以是待训练翻译模型、待训练文本摘要生成模型等Seq2Seq模型,也可以是RNN、CNN等深度神经网络模型,还可以是其他的神经网络模型。针对不同的模型结构可以选取不同的隐藏层作为目标隐藏层,并在目标隐藏层后添加筛选组件,下面以待训练神经网络模型为待训练翻译模型为例介绍几种选取目标隐藏层并设置筛选组件的实施方式:
一种可能的实施方式,待训练神经网络模型为待训练翻译模型,待训练翻译模型包括编码器和解码器,编码器中每个隐藏层对应一个筛选组件,解码器中每个隐藏层对应一个筛选组件。
具体实施中,待训练翻译模型中的编码器为一个或多个,待训练翻译模型中的解码器为一个或多个,将编码器中每个隐藏层都作为目标隐藏层,每个隐藏层对应一个筛选组件。将解码器中每个隐藏层都作为目标隐藏层,每个隐藏层对应一个筛选组件。
示例性地,如图4所示,设定待训练翻译模型包括一个编码器401和一个解码器402,其中,编码器401包括第一隐藏层4011、第二隐藏层4012。第一隐藏层4011连接筛选组件401A,第一隐藏层4011对待翻译样本进行特征提取,将获得的特征输入筛选组件401A。筛选组件401A对第一隐藏层4011输出的特征进行筛选后,输出给第二隐藏层4012。第二隐藏层4012连接筛选组件401B,第二隐藏层4012对筛选组件401A输出的特征进行处理后,输出给筛选组件401B。筛选组件401B对第二隐藏层4012输出的特征进行筛选后,输出给解码器402。
解码器402包括第三隐藏层4021、第四隐藏层4022。第三隐藏层4021连接筛选组件402A,第三隐藏层4021对编码器401输出的特征进行处理后,输出给筛选组件402A。筛选组件402A对第三隐藏层4021输出的特征进行筛选后,输出给第四隐藏层4022。第四隐藏层4022连接筛选组件402B,第四隐藏层4022对筛选组件402A输出的特征进行处理后,输出给筛选组件402B。筛选组件402B对第四隐藏层4022输出的特征进行筛选后,获得预测翻译结果并输出。
示例性地,如图5所示,设定待训练翻译模型包括两个编码器和两个解码器,其中,两个编码器分别为第一编码器501和第二编码器502,两个解码器分别为第一解码器503和第二解码器504。
第一编码器501包括第一隐藏层5011、第二隐藏层5012。第一隐藏层5011连接筛选组件501A,第一隐藏层5011对待翻译样本进行特征提取,将获得的特征输入筛选组件501A。筛选组件501A对第一隐藏层5011输出的特征进行筛选后,输出给第二隐藏层5012。第二隐藏层5012连接筛选组件501B,第二隐藏层5012对筛选组件501A输出的特征进行处理后,输出给筛选组件501B。筛选组件501B对第二隐藏层5012输出的特征进行筛选后,输出给第二编码器502。
第二编码器502包括第三隐藏层5021、第四隐藏层5022。第三隐藏层5021连接筛选组件502A,第三隐藏层5021对第一编码器501输出的特征进行处理后,输出给筛选组件502A。筛选组件502A对第三隐藏层5021输出的特征进行筛选后,输出给第四隐藏层5022。第四隐藏层5022连接筛选组件502B,第四隐藏层5022对筛选组件502A输出的特征进行处理后,输出给筛选组件502B。筛选组件502B对第四隐藏层5022输出的特征进行筛选后,输出给第一解码器503。
第一解码器503包括第五隐藏层5031、第六隐藏层5032。第五隐藏层5031连接筛选组件503A,第五隐藏层5031对第二编码器502输出的特征进行处理后,输出给筛选组件503A。筛选组件503A对第五隐藏层5031输出的特征进行筛选后,输出给第六隐藏层5032。第六隐藏层5032连接筛选组件503B,第六隐藏层5032对筛选组件503A输出的特征进行处理后,输出给筛选组件503B。筛选组件503B对第六隐藏层5032输出的特征进行筛选后,输出给第二解码器504。
第二解码器504包括第七隐藏层5041、第八隐藏层5042。第七隐藏层5041连接筛选组件504A,第七隐藏层5041对第一解码器503输出的特征进行处理后,输出给筛选组件504A。筛选组件504A对第七隐藏层5041输出的特征进行筛选后,输出给第八隐藏层5042。第八隐藏层5042连接筛选组件504B,第八隐藏层5042对筛选组件504A输出的特征进行处理后,输出给筛选组件504B。筛选组件504B对第八隐藏层5042输出的特征进行筛选后,获得预测翻译结果并输出。
通过将神经网络模型中每个隐藏层连接一个筛选组件,故在神经网络模型训练结束后,可以获得神经网络模型中每个隐藏层对神经网络模型的影响程度,从而提高神经网络模型的可解释性,便于用户了解神经网络模型的内部结构。
一种可能的实施方式,待训练神经网络模型为待训练翻译模型,待训练翻译模型包括多个编码器和多个解码器,每个编码器对应一个筛选组件,每个解码器对应一个筛选组件。
具体实施中,可以从编码器的隐藏层中任意选取一个隐藏层作为目标隐藏层,该目标隐藏层对应一个筛选组件,可以从解码器的隐藏层中任意选取一个隐藏层作为目标隐藏层,该目标隐藏层对应一个筛选组件。
示例性地,如图6所示,设定待训练翻译模型包括两个编码器和两个解码器,其中,两个编码器分别为第一编码器601和第二编码器602,两个解码器分别为第一解码器603和第二解码器604。
第一编码器601包括第一隐藏层6011、第二隐藏层6012。第一隐藏层6011对待翻译样本进行特征提取,将获得的特征输出给第二隐藏层6012。第二隐藏层6012连接筛选组件601B,第二隐藏层6012对第一隐藏层6011输出的特征进行处理后,输出给筛选组件601B。筛选组件601B对第二隐藏层6012输出的特征进行筛选后,输出给第二编码器602。
第二编码器602包括第三隐藏层6021、第四隐藏层6022。第三隐藏层6021对第一编码器601输出的特征进行处理后,输出给第四隐藏层6022。第四隐藏层6022连接筛选组件602B,第四隐藏层6022对第三隐藏层6021输出的特征进行处理后,输出给筛选组件602B。筛选组件602B对第四隐藏层6022输出的特征进行筛选后,输出给第一解码器603。
第一解码器603包括第五隐藏层6031、第六隐藏层6032。第五隐藏层6031对第二编码器602输出的特征进行处理后,输出给第六隐藏层6032。第六隐藏层6032连接筛选组件603B,第六隐藏层6032对第五隐藏层6031输出的特征进行处理后,输出给筛选组件603B。筛选组件603B对第六隐藏层6032输出的特征进行筛选后,输出给第二解码器604。
第二解码器604包括第七隐藏层6041、第八隐藏层6042。第七隐藏层6041对第一解码器603输出的特征进行处理后,输出给第八隐藏层6042。第八隐藏层6042连接筛选组件604B,第八隐藏层6042对第七隐藏层6041输出的特征进行处理后,输出给筛选组件604B。筛选组件604B对第八隐藏层6042输出的特征进行筛选后,获得预测翻译结果并输出。
通过从神经网络模型中选取部分隐藏层连接筛选组件,故在获得神经网络模型中隐藏层对神经网络模型的影响程度的同时,可以减小神经网络模型的规模,从而提高模型运行速度。需要说明的是,从待训练神经网络模型中选取连接筛选组件的目标隐藏层的实施方式并不仅限于上述两个实施方式,还可以是其他根据实际应用确定的实施方式,对此,本申请不做具体限定。
可选地,在上述步骤S201中,每个筛选组件中包括多个门,每个筛选组件中门的数量与筛选组件连接的目标隐藏层输出的数据特征的数量对应,每个筛选组件的通过率是根据筛选组件中处于打开状态的门的数量确定的。
具体地,预先将每个筛选组件中所有的门设置为打开状态,故筛选组件的通过率为1。当筛选组件中门的状态为打开状态时,该门对应的特征数据将输出给下一个隐藏层,当筛选组件中门的状态为关闭状态时,该门对应的特征数据将不输出给下一个隐藏层。具体实施中,筛选组件可以通过与隐藏层输出的数据特征进行矩阵相乘的方式对隐藏层输出的数据特征进行筛选,具体如下述公式(1)所示:
Of′=Of⊙gf.................(1)
其中,Of′表示隐藏层f筛选后保留的数据特征,Of表示隐藏层f筛选前的数据特征,gf表示隐藏层f对应的筛选组件中的门矩阵。
示例性地,设定目标隐藏层输出的特征数据包括512个特征,则该目标隐藏层连接的筛选组件中包括512个门,每个门用于对目标隐藏层中对应的特征进行筛选。假设在训练结束后,筛选组件的512个门中处于关闭状态的门的数量为256个,处于打开状态的门的数量为256个,则该目标隐藏层连接的筛选组件的通过率为50%。需要说明的是目标隐藏层输出的特征数据可以是一维特征、二维特征、三维特征等,对此,本申请不做具体限定。
本申请实施例中,筛选组件中针对目标隐藏层输出的每个数据特征设置一个门,实现对目标隐藏层输出的数据特征进行细粒度的筛选,基于处于打开状态的门的数量获得筛选组件的通过率,提高神经网络模型的可解释性。
可选地,在上述步骤S202中,目标损失函数包括待训练神经网络模型中各个筛选组件的通过率。
具体地,文本样本数据中包括待处理文本数据和已知的文本处理结果数据,首先基于待处理文本数据和待训练神经网络模型,确定预测的文本处理结果数据,然后根据预测的文本处理结果数据和已知的文本处理结果数据确定第一损失函数,其中,第一损失函数用于表征待训练神经网络模型的预测效果。再确定待训练神经网络模型中各个筛选组件的通过率的范数,之后再根据第一损失函数和各个筛选组件的通过率的范数确定目标损失函数。具体实施中,各个筛选组件的通过率的范数可以是L1范数、L2范数等。
下面以待训练神经网络模型为待训练翻译模型为例进行说明,翻译样本数据中包括待翻译样本和已知翻译结果。首先基于待翻译样本和待训练翻译模型,确定预测翻译结果,然后根据预测翻译结果和已知翻译结果确定第一损失函数。再确定待训练翻译模型中各个筛选组件的通过率的L1范数,之后再将第一损失函数和各个筛选组件的通过率的L1范数加权求和,获得目标损失函数,目标损失函数的计算公式具体如公式(2)所示:
L=LNLL+λ*||g||1....................(2)
其中,L为目标损失函数,LNLL为第一损失函数,g为筛选组件的通过率,λ为预设权值,通过调整λ的值可以调整待训练神经网络模型中特征数据的整体通过率。
本申请实施例中,待训练神经网络模型的损失函数中包括各个筛选组件的通过率,故根据目标损失函数调整待训练神经网络模型的模型参数和各个筛选组件的通过率时,既考虑了模型的准确性,同时考虑了各目标隐藏层对神经网络模型的影响程度。在模型训练结束后,在保证模型效果的前提下,根据各个筛选组件的通过率可以获知各目标隐藏层对神经网络模型的影响程度,从而便于后续基于影响程度对目标隐藏层进行剪枝处理。
可选地,在上述步骤S203中,根据已训练神经网络模型中各个筛选组件的通过率,对筛选组件连接的目标隐藏层进行剪枝处理时,本申请实施例至少提供以下几种实施方式:
一种可能的实施方式,按照通过率从小到大的顺序对已训练神经网络模型中各个筛选组件进行排序。然后从已训练神经网络模型中删除排在前N位的筛选组件连接的目标隐藏层,N为预设正整数。
具体地,筛选组件的通过率越大,筛选组件连接的目标隐藏层在目标翻译模型中的影响程度越大,筛选组件的通过率越小,筛选组件连接的目标隐藏层在目标翻译模型中的影响程度越小。当删除通过率小的筛选组件对应的目标隐藏层时,对神经网络模型的预测效果影响小,这样既能保证神经网络模型的准确性,同时可以压缩模型的大小,降低模型计算复杂度,加快模型运行速度。
示例性地,以待训练神经网络模型为待训练翻译模型举例来说,设定N=3,翻译样本数据中包括待翻译样本和翻译结果,待翻译样本为英语,翻译结果为德语,待训练神经网络模型包括两个编码器和三个解码器,其中,两个编码器分别为编码器E1和编码器E2,每个编码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。三个解码器分别为解码器D1、解码器D2和解码器D3,每个解码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。
基于翻译样本数据对待训练翻译模型进行训练,待训练翻译模型中每个隐藏层对应连接一个筛选组件,每个筛选组件根据通过率对连接的隐藏层输出的数据特征进行筛选并输出,预先将每个筛选组件的通过率设置为1。在训练过程中根据目标损失函数调整待训练翻译模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练翻译模型。
已训练翻译模型中各个隐藏层对应的筛选组件的通过率如图7a所示,由图7a可知,按照通过率从小到大的顺序对已训练神经网络模型中各个筛选组件进行排序,排在前3位的筛选组件的通过率分别为28%、33%、35%,其中,通过率28%对应的隐藏层为编码器E1中的隐藏层L3,通过率33%对应的隐藏层为编码器E1中的隐藏层L6,通过率35%对应的隐藏层为编码器E1中的隐藏层L4,则可以从已训练翻译模型删除编码器E1中的隐藏层L3、编码器E1中的隐藏层L6以及编码器E1中的隐藏层L4。
本申请实施例中,删除神经网络模型中通过率小的筛选组件对应的目标隐藏层时,这样既能保证神经网络模型的准确性,同时可以压缩模型的大小,降低模型计算复杂度,加快模型运行速度。
一种可能的实施方式,按照通过率从小到大的顺序对已训练神经网络模型中各个筛选组件进行排序,其中,筛选组件的通过率越大,筛选组件连接的目标隐藏层在目标翻译模型中的影响程度越大,然后将已训练神经网络模型中前N位的筛选组件的通过率置为零,N为预设正整数。
示例性地,以待训练神经网络模型为待训练翻译模型举例来说,设定N=3,翻译样本数据中包括待翻译样本和翻译结果,待翻译样本为英语,翻译结果为德语,待训练神经网络模型包括两个编码器和三个解码器,其中,两个编码器分别为编码器E1和编码器E2,每个编码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。三个解码器分别为解码器D1、解码器D2和解码器D3,每个解码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。
基于翻译样本数据对待训练翻译模型进行训练,获得已训练翻译模型。已训练翻译模型中各个隐藏层对应的筛选组件的通过率如图7a所示,由图7a可知,按照通过率从小到大的顺序对已训练神经网络模型中各个筛选组件进行排序,排在前3位的筛选组件的通过率分别为28%、33%、35%,其中,通过率28%对应的隐藏层为编码器E1中的隐藏层L3,通过率33%对应的隐藏层为编码器E1中的隐藏层L6,通过率35%对应的隐藏层为编码器E1中的隐藏层L4,则将已训练翻译模型中编码器E1中的隐藏层L3、编码器E1中的隐藏层L6以及编码器E1中的隐藏层L4对应的筛选组件的通过率置为零,具体如图7b所示。
一种可能的实施方式,确定已训练神经网络模型的各个筛选组件中,通过率小于预设阈值的目标筛选组件,然后将已训练神经网络模型中的目标筛选组件的通过率置为零。
具体地,将通过率小于预设阈值的目标筛选组件置为零具体如公式(3)所示:
其中,g为筛选组件的通过率,τ为预设阈值。
当将筛选组件的通过率小于预设阈值时,说明筛选组件对应的目标隐藏层对神经网络的影响程序也小于一定值,故将这类筛选组件置为零时,对神经网络模型的预测效果影响小,这样既能保证神经网络模型的准确性,同时可以减少模型的计算量,加快模型运行速度。
示例性地,以待训练神经网络模型为待训练翻译模型举例来说,设定预设阈值为25%,翻译样本数据中包括待翻译样本和翻译结果,待翻译样本为英语,翻译结果为法语,待训练神经网络模型包括两个编码器和三个解码器,其中,两个编码器分别为编码器E1和编码器E2,每个编码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。三个解码器分别为解码器D1、解码器D2和解码器D3,每个解码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。
基于翻译样本数据对待训练翻译模型进行训练,待训练翻译模型中每个隐藏层对应连接一个筛选组件,每个筛选组件根据通过率对连接的隐藏层输出的数据特征进行筛选并输出,预先将每个筛选组件的通过率设置为1。在训练过程中根据目标损失函数调整待训练翻译模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练翻译模型。
已训练翻译模型中各个隐藏层对应的筛选组件的通过率如图8a所示,由图8a可知,编码器E1中隐藏层L5对应的筛选组件的通过率小于预设阈值,则将编码器E1中隐藏层L5对应的筛选组件的通过率置为0,具体如图8b所示。
本申请实施例中,将神经网络模型中通过率小于预设阈值的筛选组件的通过率置为零时,这样既能保证神经网络模型的准确性,同时可以减少模型的计算量,加快模型运行速度。
需要说明的是,本申请实施例中对筛选组件连接的目标隐藏层进行剪枝处理的策略并不仅限于上述三种,还可以是其他策略,比如直接将已训练翻译模型中各个隐藏层对应的筛选组件的通过率作为剪枝处理的结果等,对此,本申请不做具体限定。
可选地,在获得已训练神经网络模型中各个筛选组件的通过率后,生成各个筛选组件的通过率的展示页面并显示。
具体实施中,服务器可以将已训练神经网络模型中各个筛选组件的通过率发送至终端设备中的模型训练应用,模型训练应用根据各个筛选组件的通过率生成展示页面并显示。用户通过展示页面可以直观的获知模型中各个隐藏层对应的筛选组件的通过率,进而获知模型中各个隐藏层对模型的影响程度。
比如,设定图7a所示的各个隐藏层对应的筛选组件的通过率对应的展示页面如图9所示,用户通过图9所示的展示页面可以获知已训练翻译模型中编码器E1中的隐藏层L3、编码器E1中的隐藏层L6以及编码器E1中的隐藏层L4对应的筛选组件的通过率较小。另外还可以获知在已训练翻译模型中,编码器的浅层特征和解码器的深层特征对翻译模型的影响相对较大。通过生成展示页面向用户展示已训练神经网络模型中各个筛选组件的通过率,便于用户直观获知各个隐藏层的重要性,从而提高模型的可解释性,给用户改进神经网络模型带来参考。
为了更好地解释本申请实施例,下面以神经网络模型为翻译模型为例,介绍本申请实施例提供的一种神经网络模型的剪枝方法,该方法由神经网络模型的剪枝装置执行,该方法包括:
翻译样本数据中包括待翻译样本和翻译结果,待翻译样本为英语,翻译结果为德语,待训练神经网络模型为Transformer模型,包括两个编码器和三个解码器,其中,两个编码器分别为编码器E1和编码器E2,每个编码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。三个解码器分别为解码器D1、解码器D2和解码器D3,每个解码器都包括6个隐藏层,分别为隐藏层L1至隐藏层L6。
然后基于翻译样本数据对待训练翻译模型进行训练,待训练翻译模型中每个隐藏层对应连接一个筛选组件,每个筛选组件根据通过率对连接的隐藏层输出的数据特征进行筛选并输出,预先将每个筛选组件的通过率设置为1,预先设置训练目标为待训练翻译模型的整体通过率为60%,即待训练翻译模型中各个目标隐藏层的平均通过率为60%。在训练过程中根据目标损失函数调整待训练翻译模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练翻译模型。
已训练翻译模型中各个隐藏层对应的筛选组件的通过率如图7a所示,然后将已训练翻译模型中各个隐藏层对应的筛选组件的通过率作为剪枝处理的结果。再采用BLEU确定已训练翻译模型的翻译效果,将剪枝的翻译模型的翻译效果与未剪枝的翻译模型的翻译效果进行比较,具体如表1所示:
表1.
模型 | 翻译效果(英语-德语) |
未剪枝的翻译模型 | 27.65 |
剪枝的翻译模型 | 27.08 |
由表1可知,采用本申请实施例中的剪枝方法对翻译模型进行剪枝后,翻译模型的翻译效果与未剪枝的翻译模型的翻译效果接近,从而实现了在保证翻译效果的前提下,压缩了神经网络模型大小,降低模型计算复杂度,加快了模型运行速度。
本申请实施例提供的一种智能翻译方法,该方法由智能翻译装置执行,该方法包括:采用本申请实施例中的神经网络模型的剪枝方法获得翻译模型,然后采用翻译模型对待翻译语句进行处理,获得待翻译语句的翻译结果。
示例性地,设定翻译模型为Transformer模型,已训练翻译模型中各个隐藏层对应的筛选组件的通过率如图7a所示,将已训练翻译模型中各个隐藏层对应的筛选组件的通过率作为剪枝处理的结果,获得剪枝后的翻译模型。然后将待翻译的英语语句输入剪枝后的翻译模型,剪枝后的翻译模型对待翻译的英语语句进行翻译,输出英语语句对应的德语语句。
由于剪枝后的翻译模型压缩了神经网络模型大小,降低模型计算复杂度,加快了模型运行速度,故采用剪枝后的翻译模型翻译语句时,能有效提高翻译速度,从而提高用户体验。
基于相同的技术构思,本申请实施例提供了一种神经网络模型的剪枝装置,如图10所示,该装置1000包括:
训练模块1001,用于基于文本样本数据对待训练神经网络模型进行训练,待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件,每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出;
处理模块1002,用于在训练过程中根据目标损失函数调整待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型;
剪枝模块1003,用于根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
可选地,目标损失函数包括待训练神经网络模型中各个筛选组件的通过率。
可选地,剪枝模块1003具体用于:
按照通过率从小到大的顺序对已训练神经网络模型中各个筛选组件进行排序,其中,筛选组件的通过率越大,筛选组件连接的目标隐藏层在目标翻译模型中的影响程度越大;
从已训练神经网络模型中删除排在前N位的筛选组件连接的目标隐藏层,N为预设正整数。
可选地,剪枝模块1003具体用于:
确定已训练神经网络模型的各个筛选组件中,通过率小于预设阈值的目标筛选组件;
将已训练神经网络模型中的目标筛选组件的通过率置为零。
可选地,每个筛选组件中包括多个门,每个筛选组件中门的数量与筛选组件连接的目标隐藏层输出的数据特征的数量对应,每个筛选组件的通过率是根据筛选组件中处于打开状态的门的数量确定的。
可选地,还包括显示模块1004;
显示模块1004具体用于:
生成各个筛选组件的通过率的展示页面并显示。
可选地,待训练神经网络模型为待训练翻译模型,待训练翻译模型包括编码器和解码器,编码器中每个隐藏层对应一个筛选组件,解码器中每个隐藏层对应一个筛选组件。
可选地,待训练神经网络模型为待训练翻译模型,待训练翻译模型包括多个编码器和多个解码器,每个编码器对应一个筛选组件,每个解码器对应一个筛选组件。
基于相同的技术构思,本申请实施例提供了一种智能翻译装置,如图11所示,该装置1100包括:
翻译模块1101,用于采用翻译模型对待翻译语句进行处理,获得待翻译语句的翻译结果,翻译模型为采用上述神经网络模型的剪枝方法剪枝后获得的模型。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图12所示,包括至少一个处理器1201,以及与至少一个处理器连接的存储器1202,本申请实施例中不限定处理器1801与存储器1202之间的具体连接介质,图12中处理器1201和存储器1202之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1202存储有可被至少一个处理器1201执行的指令,至少一个处理器1201通过执行存储器1202存储的指令,可以执行上述神经网络模型的剪枝方法的步骤,或者上述智能翻译方法的步骤。
其中,处理器1201是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1202内的指令以及调用存储在存储器1202内的数据,从而对神经网络模型进行剪枝处理或对待翻译文本进行翻译。可选的,处理器1201可包括一个或多个处理单元,处理器1201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1201中。在一些实施例中,处理器1201和存储器1202可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1201可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1202可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述神经网络模型的剪枝方法的步骤,或者上述智能翻译方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种神经网络模型的剪枝方法,其特征在于,包括:
基于文本样本数据对待训练神经网络模型进行训练,所述待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件,每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出;
在训练过程中根据目标损失函数调整所述待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型;
根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
2.如权利要求1所述的方法,其特征在于,所述目标损失函数包括所述待训练神经网络模型中各个筛选组件的通过率。
3.如权利要求1所述的方法,其特征在于,所述根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理,包括:
按照通过率从小到大的顺序对所述已训练神经网络模型中各个筛选组件进行排序,其中,筛选组件的通过率越大,筛选组件连接的目标隐藏层在所述目标翻译模型中的影响程度越大;
从所述已训练神经网络模型中删除排在前N位的筛选组件连接的目标隐藏层,N为预设正整数。
4.如权利要求1所述的方法,其特征在于,所述根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理,包括:
确定所述已训练神经网络模型的各个筛选组件中,通过率小于预设阈值的目标筛选组件;
将所述已训练神经网络模型中的目标筛选组件的通过率置为零。
5.如权利要求1所述的方法,其特征在于,每个筛选组件中包括多个门,每个筛选组件中门的数量与筛选组件连接的目标隐藏层输出的数据特征的数量对应,每个筛选组件的通过率是根据筛选组件中处于打开状态的门的数量确定的。
6.如权利要求1所述的方法,其特征在于,还包括:
生成所述各个筛选组件的通过率的展示页面并显示。
7.如权利要求1至6任一所述的方法,其特征在于,所述待训练神经网络模型为待训练翻译模型,所述待训练翻译模型包括编码器和解码器,所述编码器中每个隐藏层对应一个筛选组件,所述解码器中每个隐藏层对应一个筛选组件。
8.如权利要求1至6任一所述的方法,其特征在于,所述待训练神经网络模型为待训练翻译模型,所述待训练翻译模型包括多个编码器和多个解码器,每个编码器对应一个筛选组件,每个解码器对应一个筛选组件。
9.一种智能翻译方法,其特征在于,包括:
采用翻译模型对待翻译语句进行处理,获得所述待翻译语句的翻译结果,所述翻译模型为采用权利要求1至8任一所述的方法剪枝后获得的模型。
10.一种神经网络模型的剪枝装置,其特征在于,包括:
训练模块,用于基于文本样本数据对待训练神经网络模型进行训练,所述待训练神经网络模型中包括至少一个目标隐藏层和每个目标隐藏层对应连接的筛选组件,每个筛选组件根据通过率对连接的目标隐藏层输出的数据特征进行筛选并输出;
处理模块,用于在训练过程中根据目标损失函数调整所述待训练神经网络模型的模型参数和各个筛选组件的通过率,并当训练结果达到目标损失时获得已训练神经网络模型;
剪枝模块,用于根据已训练神经网络模型中各个筛选组件的通过率,优先对通过率低的筛选组件连接的目标隐藏层进行剪枝处理。
11.如权利要求10所述的装置,其特征在于,所述剪枝模块具体用于:
按照通过率从小到大的顺序对所述已训练神经网络模型中各个筛选组件进行排序,其中,筛选组件的通过率越大,筛选组件连接的目标隐藏层在所述目标翻译模型中的影响程度越大;
从所述已训练神经网络模型中删除排在前N位的筛选组件连接的目标隐藏层,N为预设正整数。
12.如权利要求10所述的装置,其特征在于,所述剪枝模块具体用于:
确定所述已训练神经网络模型的各个筛选组件中,通过率小于预设阈值的目标筛选组件;
将所述已训练神经网络模型中的目标筛选组件的通过率置为零。
13.一种智能翻译装置,其特征在于,包括:
翻译模块,用于采用翻译模型对待翻译语句进行处理,获得所述待翻译语句的翻译结果,所述翻译模型为采用权利要求10至12任一所述的方法剪枝后获得的模型。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~8任一权利要求所述方法的步骤,或者权利要求9所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~8任一权利要求所述方法的步骤,或者权利要求9所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699771.XA CN112749797B (zh) | 2020-07-20 | 2020-07-20 | 一种神经网络模型的剪枝方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010699771.XA CN112749797B (zh) | 2020-07-20 | 2020-07-20 | 一种神经网络模型的剪枝方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749797A true CN112749797A (zh) | 2021-05-04 |
CN112749797B CN112749797B (zh) | 2022-09-27 |
Family
ID=75645296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010699771.XA Active CN112749797B (zh) | 2020-07-20 | 2020-07-20 | 一种神经网络模型的剪枝方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112749797B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886438A (zh) * | 2021-12-08 | 2022-01-04 | 济宁景泽信息科技有限公司 | 一种基于人工智能的成果转移转化数据筛选方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154232A (zh) * | 2018-01-23 | 2018-06-12 | 厦门中控智慧信息技术有限公司 | 人工神经网络的剪枝方法、装置、设备及可读存储介质 |
US20180260695A1 (en) * | 2017-03-07 | 2018-09-13 | Qualcomm Incorporated | Neural network compression via weak supervision |
CN108734267A (zh) * | 2017-04-21 | 2018-11-02 | 展讯通信(上海)有限公司 | 深度神经网络模型的压缩方法及装置、终端、存储介质 |
CN108985444A (zh) * | 2018-07-12 | 2018-12-11 | 浙江工业大学 | 一种基于节点抑制的卷积神经网络剪枝方法 |
CN109034370A (zh) * | 2018-06-27 | 2018-12-18 | 中国人民解放军陆军工程大学 | 一种基于特征映射剪枝的卷积神经网络精简方法 |
CN109886397A (zh) * | 2019-03-21 | 2019-06-14 | 西安交通大学 | 一种针对卷积层的神经网络结构化剪枝压缩优化方法 |
US20190251441A1 (en) * | 2018-02-13 | 2019-08-15 | Adobe Systems Incorporated | Reducing architectural complexity of convolutional neural networks via channel pruning |
CN110162799A (zh) * | 2018-11-28 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 模型训练方法、机器翻译方法以及相关装置和设备 |
US20190362235A1 (en) * | 2018-05-23 | 2019-11-28 | Xiaofan Xu | Hybrid neural network pruning |
CN110717578A (zh) * | 2019-09-20 | 2020-01-21 | 北京迈格威科技有限公司 | 神经网络压缩方法、图像处理方法及装置 |
-
2020
- 2020-07-20 CN CN202010699771.XA patent/CN112749797B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260695A1 (en) * | 2017-03-07 | 2018-09-13 | Qualcomm Incorporated | Neural network compression via weak supervision |
CN108734267A (zh) * | 2017-04-21 | 2018-11-02 | 展讯通信(上海)有限公司 | 深度神经网络模型的压缩方法及装置、终端、存储介质 |
CN108154232A (zh) * | 2018-01-23 | 2018-06-12 | 厦门中控智慧信息技术有限公司 | 人工神经网络的剪枝方法、装置、设备及可读存储介质 |
US20190251441A1 (en) * | 2018-02-13 | 2019-08-15 | Adobe Systems Incorporated | Reducing architectural complexity of convolutional neural networks via channel pruning |
US20190362235A1 (en) * | 2018-05-23 | 2019-11-28 | Xiaofan Xu | Hybrid neural network pruning |
CN109034370A (zh) * | 2018-06-27 | 2018-12-18 | 中国人民解放军陆军工程大学 | 一种基于特征映射剪枝的卷积神经网络精简方法 |
CN108985444A (zh) * | 2018-07-12 | 2018-12-11 | 浙江工业大学 | 一种基于节点抑制的卷积神经网络剪枝方法 |
CN110162799A (zh) * | 2018-11-28 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 模型训练方法、机器翻译方法以及相关装置和设备 |
CN109886397A (zh) * | 2019-03-21 | 2019-06-14 | 西安交通大学 | 一种针对卷积层的神经网络结构化剪枝压缩优化方法 |
CN110717578A (zh) * | 2019-09-20 | 2020-01-21 | 北京迈格威科技有限公司 | 神经网络压缩方法、图像处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
HEWAHI N M 等: "Neural network pruning based on input importance", 《JOURNAL OF INTELLIGENT & FUZZY SYSTEMS》 * |
马治楠 等: "基于深层卷积神经网络的剪枝优化", 《电子技术应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113886438A (zh) * | 2021-12-08 | 2022-01-04 | 济宁景泽信息科技有限公司 | 一种基于人工智能的成果转移转化数据筛选方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112749797B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102071582B1 (ko) | 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치 | |
CN114398961A (zh) | 一种基于多模态深度特征融合的视觉问答方法及其模型 | |
CN112115687A (zh) | 一种结合知识库中的三元组和实体类型的生成问题方法 | |
US20240119268A1 (en) | Data processing method and related device | |
Vakanski et al. | Mathematical modeling and evaluation of human motions in physical therapy using mixture density neural networks | |
CN113656563B (zh) | 一种神经网络搜索方法及相关设备 | |
CN116958323A (zh) | 图像生成方法、装置、电子设备、存储介质及程序产品 | |
CN117218498A (zh) | 基于多模态编码器的多模态大语言模型训练方法及系统 | |
CN116432019A (zh) | 一种数据处理方法及相关设备 | |
CN115238909A (zh) | 一种基于联邦学习的数据价值评估方法及其相关设备 | |
EP4318322A1 (en) | Data processing method and related device | |
CN113657272B (zh) | 一种基于缺失数据补全的微视频分类方法及系统 | |
Han et al. | Gan based three-stage-training algorithm for multi-view facial expression recognition | |
CN112749797B (zh) | 一种神经网络模型的剪枝方法及装置 | |
CN117541683A (zh) | 图像生成方法、装置、设备及计算机可读存储介质 | |
CN112364737A (zh) | 一种用于网络直播课的人脸表情识别方法、装置及设备 | |
CN117216544A (zh) | 模型训练方法、自然语言处理方法、装置及存储介质 | |
CN115795025A (zh) | 一种摘要生成方法及其相关设备 | |
CN117980915A (zh) | 用于端到端自监督预训练的对比学习和掩蔽建模 | |
CN113657092A (zh) | 识别标签的方法、装置、设备以及介质 | |
Hasanzadeh et al. | Application of fuzzy logic in order to plan and create software for converting sound to text | |
CN115116443A (zh) | 语音识别模型的训练方法、装置、电子设备及存储介质 | |
CN112036546A (zh) | 序列处理方法及相关设备 | |
CN114065901A (zh) | 训练神经网络模型的方法和装置 | |
Maron | On cybernetics, information processing, and thinking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40043848 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |