CN115456043A - 分类模型处理、意图识别方法、装置和计算机设备 - Google Patents
分类模型处理、意图识别方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN115456043A CN115456043A CN202211000438.0A CN202211000438A CN115456043A CN 115456043 A CN115456043 A CN 115456043A CN 202211000438 A CN202211000438 A CN 202211000438A CN 115456043 A CN115456043 A CN 115456043A
- Authority
- CN
- China
- Prior art keywords
- sample
- training
- loss
- target
- training sample
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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
-
- 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/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种分类模型处理、意图识别方法、装置和计算机设备。方法包括:获取训练样本集合;通过已训练分类模型,分别提取训练样本集合中各训练样本各自的第一样本特征;通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失;基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失;基于第一目标损失、第二目标损失以及分类损失训练待训练分类模型,得到目标分类模型。采用本方法能够提高分类模型的识别准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种分类模型处理方法、装置、计算机设备、存储介质和计算机程序产品,以及一种意图识别方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了机器学习技术,通过机器学习可以训练用于分类的分类模型,该分类模型可以提取得到内容对应的特征,进而可以基于提取的特征对内容进行分类,以识别内容所属的类别。
传统技术中,分类模型可以对已学习过的类别进行识别,然而随着新类别的不断出现,需要进行持续学习,然而在持续学习过程中经常存在训练得到的分类模型识别准确性比较低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够识别准确性的分类模型处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
一方面,本申请提供了一种分类模型处理方法。所述方法包括:获取训练样本集合;所述训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;通过所述已训练分类模型,分别提取所述训练样本集合中各训练样本各自的第一样本特征;通过待训练分类模型分别提取各所述训练样本各自的第二样本特征,并基于各所述第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失;基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失;基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,所述目标分类模型用于识别所述已识别类别和所述新增类别。
另一方面,本申请还提供了一种分类模型处理装置。所述装置包括:训练样本获取模块,用于获取训练样本集合;所述训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;特征提取模块,用于通过所述已训练分类模型,分别提取所述训练样本集合中各训练样本各自的第一样本特征;分类损失确定模块,用于通过待训练分类模型分别提取各所述训练样本各自的第二样本特征,并基于各所述第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失;目标损失计算模块,用于基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失;参数调整模块,用于基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,所述目标分类模型用于识别所述已识别类别和所述新增类别。
另一方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述分类模型处理方法的步骤。
另一方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述分类模型处理方法的步骤。
另一方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述分类模型处理方法的步骤。
上述分类模型处理方法、装置、计算机设备、存储介质和计算机程序产品,通过获取训练样本集合;训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本,通过已训练分类模型,分别提取训练样本集合中各训练样本各自的第一样本特征,通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失,基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失,基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,该目标分类模型不仅可以有效保留已训练分类模型学习到的知识,还能够提高新旧类别之间的泛化性,从而通过该目标分类模型进行类别识别时,准确性大大提升。
另一方面,本申请还提供一种意图识别方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。其中:
一种意图识别方法。所述方法包括:获取输入文本;将所述输入文本输入目标意图分类模型中,通过所述目标意图分类模型对所述输入文本进行意图分类;其中,所述目标意图分类模型是基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的模型参数得到的,所述第一目标损失是基于同一训练样本的第一样本特征和第二样本特征进行损失计算得到的,所述第二目标损失是基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算得到的,训练样本的第一样本特征是通过已训练分类模型提取得到的,训练样本的第二样本特征是通过待训练分类模型提取得到的,所述分类损失是基于所述待训练分类模型对训练样本的第二样本特征进行分类输出的分类结果得到的,训练样本属于训练样本集合,所述训练样本集合包括属于所述已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;获取所述目标意图分类模型输出的所述输入文本对应的意图识别结果。
一种意图识别装置。所述装置包括:输入文本获取模块,用于获取输入文本;意图分类模块,用于将所述输入文本输入目标意图分类模型中,通过所述目标意图分类模型对所述输入文本进行意图分类;其中,所述目标意图分类模型是基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的模型参数得到的,所述第一目标损失是基于同一训练样本的第一样本特征和第二样本特征进行损失计算得到的,所述第二目标损失是基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算得到的,训练样本的第一样本特征是通过已训练分类模型提取得到的,训练样本的第一样本特征是通过待训练分类模型提取得到的,所述分类损失是基于所述待训练分类模型对训练样本的第二样本特征进行分类输出的分类结果得到的,训练样本属于训练样本集合,所述训练样本集合包括属于所述已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;意图识别结果获取模块,用于获取所述目标意图分类模型输出的所述输入文本对应的意图识别结果。
一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述意图识别方法的步骤。
一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述意图识别方法的步骤。
一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述意图识别方法的步骤。
上述意图识别方法、装置、计算机设备、存储介质和计算机程序产品,由于目标意图识别模型是通过持续学习得到的,并且在持续学习的过程中,该目标意图分类模型不仅可以有效保留已训练分类模型学习到的知识,还能够提高新旧类别之间的泛化性,从而通过该目标意图分类模型进行意图识别时,准确性大大提升。
附图说明
图1为一个实施例中分类模型处理方法以及意图识别方法的应用环境图;
图2为一个实施例中分类模型处理方法的流程示意图;
图3为一个实施例中损失计算的示意图;
图4为另一个实施例中分类模型处理方法的流程示意图;
图5为一个实施例中样本在特征空间中的分布示意图;
图6为一个实施例中意图识别方法的流程示意图;
图7为一个实施例中分类模型处理方法的训练过程示意图;
图8为一个实施例中测试准确率的对比示意图;
图9为一个实施例中分类模型处理装置的结构框图;
图10为一个实施例中意图识别装置的结构框图;
图11为一个实施例中计算机设备的内部结构图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的内容处理方法涉及人工智能的自然语音处理、机器学习等技术,其中:
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请涉及的自然语言处理、机器学习等技术,具体通过如下实施例进行说明:
本申请实施例提供的分类模型处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,其中的网络可以是有线网络获取是无线网络,无线网络可以是局域网、城域网以及广域网中的任意一种。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上,可以用于存储训练样本数据以及已训练好的分类模型。终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视或者可穿戴设备中的其中一种,但并不局限于此。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端102和服务器104均可单独用于执行本申请实施例中提供的分类模型处理方法。终端102和服务器104也可协同用于执行本申请实施例中提供的分类模型处理方法。在一个实施例中,服务器104可以获取训练样本集合,该训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本,通过已训练分类模型,分别提取各训练样本各自的第一样本特征,通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失,基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失,基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,服务器104可以将分类模型发送至终端102,终端102通过部署该分类模型对业务场景中的内容进行分类,实现对应的业务处理,例如,终端可以通过分类模型进行意图识别,从而实现智能对话。
在一个实施例中,如图2所示,提供了一种分类模型处理方法,以该方法由计算机设备执行为例进行说明,可以理解的是,该计算机设备可以是图1所示的终端102,也可以是服务器104,还可以是终端102服务器104所组成的系统,并通过终端102和服务器104之间的交互实现。本实施例中,分类模型处理包括以下步骤:
步骤202,获取训练样本集合;训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本。
其中,训练样本集合包括多个训练样本,训练样本指的是用于训练分类模型的内容样本,内容可以是文本、音频或者图像中的任意一种。针对不同业务需求下的分类模型,需要获取不同类型的训练样本,例如,若分类模型是用于对图像进行分类,则获取的训练样本集合中的训练样本为图像类型的样本,若分类模型是用于对文本进行分类,则获取的训练样本集合中的训练样本为文本类型的样本。训练样本集合中的训练样本属于多个不同的类别,这些类别可以分为两种,一种是已训练分类模型对应的已识别类别,一种是新增类别,这里的已训练分类模型指的是历史阶段已经训练完成的分类模型,已训练分类模型对应的已识别类别指的是已训练分类模型可识别的类别,已训练分类模型可识别的类别即在该分类模型的训练过程中所学习的分类类别,已训练分类模型在训练过程中可以学习到历史阶段可观测到的所有类别。
新增类别是在已训练分类模型训练完成之后新出现的类别,是相对于与已识别类别而言新增加的类别。举个实际的例子,在用户与智能对话系统进行对话的场景中,针对对话场景中可能出现的各种问题已训练得到用于进行意图识别的分类模型,随着新事件的出现或者新功能的出现,用户可能会向对话系统提出与新事件或者新功能有关的各种问题,需要训练能够对新事件或者新功能有关的问题进行意图识别的模型,那么新增类别则指的是与新事件或者新功能有关的问题对应的意图类别。
已识别类别和新增类别均可以包括一个或者多个。多个指的是至少两个。已识别类别由于是历史阶段观测到的类别,而新增类别为已训练分类模型训练完成后新出现的类别,从而已识别类别也可以称为旧类别,而新增类别也可以称为新类别。相应的,已训练分类模型可以称为旧模型,而待训练分类模型可以称为新模型。
具体地,计算机设备可以从本地获取到训练样本集合,或者从其他计算机设备获取到训练样本集合。在其他实施例中,计算机设备还可以通过网络从云端进行下载,以获取到训练样本集合。训练样本集合中包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本。计算机设备可以基于训练样本集合对待训练分类模型进行训练,使得待训练分类模型在已训练分类模型的基础上进行持续学习,以得到可以识别已识别类别和新增类别的分类模型。
步骤204,通过已训练分类模型,分别提取训练样本集合中各训练样本各自的第一样本特征。
具体地,计算机设备可以将训练样本集合中的各个训练样本分别输入已训练分类模型中,已训练分类模型可以包括特征提取网络,该特征提取网络可以对各个训练样本进行特征提取,得到各训练样本各自的第一样本特征。
在一个实施例中,训练样本为文本类型的样本,特征提取网络包括编码层和特征提取层,计算机设备将训练样本输入已训练分类模型中,首先通过编码层对训练样本进行编码,然后通过特征提取层提取得到特征向量。
步骤206,通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失。
其中,待训练分类模型指的是需要进行训练的分类模型。待训练分类模型和已训练分类模型的模型结构可以是相同,也可以是不同。待分类模型可以继承已训练分类模型的模型参数,即待分类模型的初始参数可以与已训练分类模型的模型参数一致。当然,待分类模型的初始参数也可以通过随机初始化得到。分类指的是基于样本特征对训练样本进行类别识别,以确定出训练样本所属的具体类别。
分类结果是用于表征训练样本所属的具体类别的类别信息的。在一个实施例中,分类结果可以是用于表征训练样本所属类别的类别标识,例如,假设已识别类别和新增类别总共有N个类别,那么分类结果可以是包含类别标识的N维向量,比如(1,0,0,0,……,0),表示训练样本属于第一个类别,或者可以是(0,1,0,0,……,0),表示训练样本属于第二个类别,依次类推。在另一个实施例中,分类结果可以是用于表征训练样本所属类别的概率,例如,假设已识别类别和新增类别总共有N个类别,那么分类结果可以是N维的概率向量,其中,每一个维度的概率用于表征训练样本属于该类别的可能性大小。
分类损失可以用于表征分类结果和类别标签之间的差异,分类损失和该差异呈正相关,即该差异越大,则分类损失越大。
具体地,计算机设备将各个训练样本分别输入待训练分类模型中,分类模型首先对各个训练样本进行提取,得到各个训练样本各自的第二样本特征,进而分类模型可以基于各个训练样本各自的第二样本特征对各个训练样本进行分类处理,得到各个训练样本各自对应的分类结果,基于各个训练样本各自对应的分类结果以及各个训练样本各自对应的类别标签进行损失计算,得到分类损失。
在一个具体的实施例中,计算机设备在进行损失计算时,可以参考以下公式(1)计算交叉熵,得到分类损失:
其中,LCE代表计算得到的分类损失,yn指的是分类标签,pn指的是分类结果,N代表训练样本集合。
步骤208,基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失。
其中,第一目标损失与同一训练样本的第一样本特征和第二样本特征之间的差异度或者相似度相关,旨在实现知识蒸馏,鼓励待训练分类模型提取的特征与已训练分类模型提取的特征接近,这样就可以有效保留已训练分类模型学习到的知识。考虑到仅仅采用第一目标损失进行训练可能会削弱新旧类别之间的泛化性,本申请实施例中进一步计算第二目标损失,第二目标损失与属于不同类别的两两训练样本各自的第二样本特征之间的差异度或者相似度相关。第二目标损失旨在实现对比学习,确保提取的每个特征与其他类别的特征之间有一定的区分度。
具体地,前述步骤中,对于每个训练样本,分别得到了第一样本特征和第二样本特征,从而对于输入的每一个训练样本,计算机设备可以基于该训练样本对应的第一样本特征和第二样本特征进行损失计算,得到该训练样本对应的子损失,进而通过统计各个训练样本各自对应的子损失得到第一目标损失。同时,计算机设备基于每两个属于不同类别的训练样本各自的第二样本特征进行损失计算,得到每两个属于不同类别的训练样本对应的子损失,进而通过统计这些子损失得到第二目标损失。
举例说明,如图3所示,假设训练样本集合中包括三个训练样本,分别为训练样本1、训练样本2以及训练样本3,其中,训练样本1、训练样本2属于同一个已识别类别,而训练样本3属于新增类别,计算机设备通过已训练分类模型对这三个样本分别提取的第一样本特征为A1、A2和A3,计算机设备通过待训练分类模型对这三个样本分别提取的第二样本特征为B1、B2和B3,那么在计算机设备可以基于A1和B1计算得到训练样本1的子损失X1,基于A2和B2计算得到训练样本2的子损失X2,基于A3和B3计算得到训练样本3的子损失X3,通过统计X1、X2和X3得到第一目标损失,基于B1和B3计算第一训练样本和第三训练样本这两个训练样本对应的子损失Y1,基于B2和B3计算第二训练样本和第三训练样本这两个训练样本对应的子损失Y2,通过统计Y1和Y2得到第二目标损失。
在一个实施例中,计算机设备在计算第二目标损失时,可以基于各个训练样本的标签,确定属于不同类别的训练样本对,对于每一个训练样本对,计算机设备可以基于该训练样本对对应的第二样本特征进行损失计算,得到该训练样本对对应的子损失。
在一个实施例中,考虑到已训练分类模型只学习了旧类别,那么在计算第一损失时,计算机设备可以只针对旧类别对应的训练样本进行计算。当然,由于待训练分类模型主要是通过持续学习来学习新类别的,训练样本集合中的旧类别的比例较低,而第一目标损失是用于鼓励新模型提取的特征和旧模型提取的特征接近的,在具体实施过程中,计算机设备在计算第一目标损失时,可以针对旧类别对应的训练样本以及新类别对应的训练样本进行计算。
步骤210,基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,目标分类模型用于识别已识别类别和新增类别。
具体地,计算机设备可以统计第一目标损失、第二目标损失以及分类损失,得到统计损失,将得到的统计损失反向传播,调整待训练分类模型的模型参数,然后将调整后得到的分类模型作为待训练分类模型,重复上述训练步骤进行迭代训练,直至满足训练停止条件时,得到已训练的目标分类模型。其中,统计可以是加权求和、求平均或者求中位数中的其中一种。
在训练的过程,可以使用随机梯度下降算法、Adagrad((Adaptive Gradient,自适应梯度)算法、Adadelta(AdaGrad算法的改进)、RMSprop(AdaGrad算法的改进)、Adam(Adaptive Moment Estimation,自适应矩估计)算法等来调整分类模型的模型参数。训练停止条件可以是模型参数不再发生变化,也可以是统计损失到达最小值,还可以是训练次数达到最大迭代次数等等。
训练得到的目标分类模型在训练的过程中学习了已识别类别的训练样本以及新增类别的训练样本,可以用于识别已识别类别和新增类别。
上述分类模型处理方法中,通过获取训练样本集合;训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本,通过已训练分类模型,分别提取训练样本集合中各训练样本各自的第一样本特征,通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失,基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失,基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,该目标分类模型不仅可以有效保留已训练分类模型学习到的知识,还能够提高新旧类别之间的泛化性,从而通过该目标分类模型进行类别识别时,准确性大大提升。
在一个实施例中,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失,包括:分别将每一个训练样本和训练样本集合中的各个训练样本组成训练样本对,得到多个训练样本对;分别基于各个训练样本对各自对应的第二样本特征进行相似度计算,基于计算得到的相似度确定各个训练样本对各自对应的子损失;统计目标训练样本对对应的子损失,得到第二目标损失,目标训练样本对为包含不同类别训练样本的训练样本对。
具体地,计算机设备可以遍历训练样本集合中的每一个训练样本,将遍历到的训练样本和训练样本集合中的各个训练样本组成训练样本对,从而可以得到多个训练样本对,对于每一个训练样本对,计算机设备可以基于该训练样本对中两个训练样本各自的第二训练样本特征进行相似度计算,基于计算得到的相似度确定该训练样本对对应的子损失。可以理解的是,这里,训练样本对对应的子损失是与计算得到的相似度呈正相关关系的,其中,正相关关系指的是:在其他条件不变的情况下,两个变量变动方向相同,一个变量由大到小变化时,另一个变量也由大到小变化。可以理解的是,这里的正相关关系是指变化的方向是一致的,但并不是要求当一个变量有一点变化,另一个变量就必须也变化。例如,可以设置当变量a为10至20时,变量b为100,当变量a为20至30时,变量b为120。这样,a与b的变化方向都是当a变大时,b也变大。但在a为10至20的范围内时,b可以是没有变化的。
进一步地,由于第二目标损失旨在实现对比学习,确保提取的每个特征与其他类别的特征之间有一定的区分度,因此,在计算得到各个训练样本对各自的子损失后,计算机设备可以仅对其中包含不同类别训练样本的目标样本对的子损失进行统计,将统计得到的统计损失作为第二目标损失。
在一个具体的实施例中,对于每一个训练样本对,计算机设备可以基于该训练样本对中两个训练样本各自的第二训练样本特征进行余弦相似度计算,得到该训练样本对对应的相似度。
上述实施例中,通过进行相似度进行得到子损失,进而统计目标样本对对应的子损失得到第二目标损失,得到的第二目标损失可以更好地反映不同类别训练样本之间的区分度。
在一个实施例中,基于计算得到的相似度确定各个训练样本对各自对应的子损失,包括:针对每一个训练样本对应的相似度,将相似度减去预设相似度得到的目标差值;在相似度小于预设相似度的情况下,将最小损失值确定为训练样本对应的子损失;在相似度大于或者等于预设相似度的情况下,将目标差值确定为训练样本对应的子损失。
具体地,本实施例中,可以设定一个预设相似度,将该预设相似度作为不同类别训练样本之间的最大相似度,本实施例可以实现将待训练分类模型的模型参数朝着不同类别训练样本之间的相似度小于该最大相似度的方向进行调整。针对每一个训练样本对对应的相似度,计算机设备将其相似度减去预设相似度得到目标差值,在相似度小于预设相似度的情况下,将最小损失值确定为训练样本对应的子损失,在相似度大于或者等于预设相似度的情况下,将目标差值确定为训练样本对应的子损失,可以理解的是,训练过程中,待训练分类模型的模型参数是朝着损失减小的方向进行调整的,即朝着将最小损失值确定为训练样本对应的子损失的方向进行调整的,从而可以实现不同类别训练样本之间的相似度小于预设相似度,确保每个提取的每个特征和其他类别的特征之间有一定的区分度。
基于此,在一个具体的实施例中,训练样本对对应的子损失可以通过max(<f(xn),f(xt)>-α,0)进行确定,其中,0代表最小损失值,f(xn)和f(xt)分别为训练样本对中两个训练样本的第二样本特征,<f(xn),f(xt)>表示这两个样本特征的余弦相似度。
上述实施例中,在计算子损失时,在相似度小于预设相似度的情况下,将最小损失值确定为训练样本对应的子损失,在相似度大于或者等于预设相似度的情况下,将目标差值确定为训练样本对应的子损失,可以更好的保证训练得到的目标分类模型对不同类别样本所提取的特征之间的区分度,提高了该模型的泛化性能。
在一个实施例中,统计目标训练样本对对应的子损失,得到第二目标损失,包括:对于每一个训练样本对,获取训练样本对所包含的训练样本对应的类别标签,基于类别标签计算训练样本对对应的指示函数值;其中,指示函数值是通过指示函数计算得到的,在训练样本对所包含的训练样本对应的类别标签一致时,通过指示函数计算得到的指示函数值为第一数值,在训练样本对所包含的训练样本对应的类别标签一致时,通过指示函数计算得到的指示函数值为第二数值;当计算得到的指示函数值为第一数值时,对训练样本对对应的子损失进行保留处理,得到训练样本对对应的目标子损失,当计算得到的指示函数值为第二数值时,对训练样本对对应的子损失进行屏蔽处理,得到训练样本对对应的目标子损失;统计各个训练样本对各自对应的目标子损失,得到第二目标损失。
其中,类别标签用于标识训练样本的类别。例如,若训练样本为图像,则训练样本对应的类别标签可以是狗、猫、鱼等动物品种,珊瑚、松树、桂花等植物品种,或者放大镜、柜子、水瓶等物件种类。训练样本对应的类别标签可以作为待训练的特征提取模型的监督信息。
具体地,指示函数输出的指示函数值为第一数值或者第二数值,第一数值和第二数值为不同的数值,因此,通过输出指示函数值可以确定训练样本对中所包含的训练样本对应的类别标签是否一致,当计算得到的指示函数值为第一数值时,说明训练样本对所包含的训练样本对应的类别标签一致,那么计算机设备可以对训练样本对对应的子损失进行保留处理,保留处理即对训练样本对对应的子损失进行保留,使得该子损失可以作为第二目标损失中的一部分,当计算得到的指示函数值为第二数值时,说明训练样本对所包含的训练样本对应的类别标签不一致,那么计算机设备可以对训练样本对对应的子损失进行屏蔽处理,屏蔽处理即对训练样本对对应的子损失进行屏蔽,使得该子损失不会对第二目标损失产生影响。
在一个具体的实施例中,指示函数输出的第一数值为1、第二数值为0,计算机设备可以通过将训练样本对对应的子损失和该训练样本对应的指示函数值进行相乘,那么在指示函数值为第一数值时,通过和第一数值相乘,使得该子损失作为该训练样本的目标子损失,在指示函数值为第二数值时,通过和第二数值相乘,使得该训练样本的目标子损失为0,从而最终统计得到的第二目标损失中只包含目标训练样本对对应的子损失,这里目标训练样本对为包含不同类别训练样本的训练样本对。
上述实施例中,通过计算指示函数值,可以对包含相同类别训练样本的训练样本对的子损失进行屏蔽处理,使得计算得到的第二目标损失更加准确,进一步提升了目标分类模型的分类准确性。
在一个实施例中,如图4所示,提供了一种分类模型处理方法,以该方法由计算机设备执行为例进行说明,可以理解的是,该计算机设备可以是图1所示的终端102,也可以是服务器104,还可以是终端102服务器104所组成的系统,并通过终端102和服务器104之间的交互实现。本实施例中,分类模型处理包括以下步骤:
步骤402,获取训练样本集合;训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本。
步骤404,通过已训练分类模型,分别提取训练样本集合中各训练样本各自的第一样本特征。
步骤406,通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失。
步骤408,基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失。
步骤410,基于属于不同类别的两两训练样本对应的第一样本特征和第二样本特征进行损失计算,得到第三目标损失。
具体地,计算机设备基于每两个属于不同类别的训练样本对应的第一样本特征和第二样本特征进行损失计算,得到每两个属于不同类别的训练样本对应的子损失,进而通过统计这些子损失得到第三目标损失。
其中,假设训练样本对中包含的两个训练样本分别为训练样本A和训练样本B,那么在一个实施例中,该训练样本对对应的第一样本特征和第二样本特征可以是训练样本A对应的第一样本特征和训练样本B对应的第二样本特征,计算机设备可以基于训练样本A对应的第一样本特征和训练样本B对应的第二样本特征进行损失计算得到该训练样本对的子损失;在另一个实施例中,该训练样本对对应的第一样本特征和第二样本特征可以是训练样本A对应的第二样本特征和训练样本B对应的第一样本特征,计算机设备可以基于训练样本A对应的第二样本特征和训练样本B对应的第一样本特征进行损失计算得到该训练样本对的子损失;在其他实施例中,计算机设备可以该训练样本对对应的第一样本特征和第二样本特征可以是包括训练样本A对应的第一样本特征和训练样本B对应的第二样本特征,以及训练样本A对应的第二样本特征和训练样本B对应的第一样本特征,从而计算机设备可以分别基于训练样本A对应的第一样本特征和训练样本B对应的第二样本特征进行损失计算得到一个子损失,并且基于训练样本A对应的第二样本特征和训练样本B对应的第一样本特征进行损失计算得到一个子损失,最后统计这两个子损失,得到该训练样本对的子损失。
在一个实施例中,在进行损失计算时,对于每一组用于进行损失计算的一样本特征和第二样本特征,计算机设备可以计算这两个样本特征之间的相似度,基于计算得到的相似度确定对应的子损失。
在一个实施例中,针对计算得到的每一个相似度,计算机设备可以将该相似度减去预设相似度得到的目标差值;在相似度小于预设相似度的情况下,将最小损失值确定为对应的子损失;在相似度大于或者等于预设相似度的情况下,将目标差值确定为对应的子损失。
在一个具体的实施例中,这里的子损失可以通过max(<f(xn),g(xt)>-α,0)进行确定,其中,α为预设相似度,0代表最小损失值,f(xn)和f(xt)分别为训练样本对对应的第一样本特征和第二样本特征,<f(xn),f(xt)>表示这两个样本特征的余弦相似度。
步骤412,统计第一目标损失、第二目标损失、第三目标损失以及分类损失,得到统计损失,基于统计损失调整待训练分类模型的参数并继续训练。
在一个具体的实施例中,计算机设备在统计过程中,对于第二目标损失、第三目标损失可以参考以下公式(2)进行统计:
其中,LMGN为统计第二目标损失和第三目标损失得到的损失,为指示函数,当两两训练样本之间的标签相同时,该指示函数输出的指示函数值为0,当两两训练样本之间的标签不相同时,该指示函数输出的指示函数值为1。
上述实施例中,由于第一样本特征是旧模型提取得到的特征,而第二样本特征是新模型提取得到的特征,通过计算第三目标损失可以保证新模型和旧模型对不同类别提取的特征之间有一定的区分度,从而使得新模型更好地对新旧类别进行区分,进一步提升模型的泛化性能。
在一个实施例中,基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,包括:基于各个训练样本各自的第一样本特征和第二样本特征进行相似度计算,基于计算得到的相似度确定各个训练样本各自的子损失;训练样本的子损失和训练样本对应的相似度成负相关;统计各个训练样本各自的子损失,得到第一目标损失。
具体地,计算机设备可以参考以下公式(3)计算得到第一目标损失:
其中,LSIM为第一目标损失,N代表训练样本集合中,f(xn)为待训练分类模型提取的第二样本特征,g(xn)为已训练分类模型提取的第一样本特征,<f(xn),g(xn)>表示第一样本特征和第二样本特征之间的相似度。
在一个实施例中,已识别类别包括多个类别,训练样本集合的生成步骤包括:从存储器中获取初始样本集合;其中,初始样本集合中包括已识别类别对应的代表训练样本,且已识别类别对应的代表训练样本在已识别类别对应的特征空间中的分布,与已识别类别对应的原始样本集合在特征空间中的分布匹配;获取新增类别对应的新增样本集合,基于新增样本集合与初始样本集合中组成训练样本集合。
其中,已识别类别对应的原始样本集合指的是对已训练分类模型进行训练时所使用到的属于该已识别类别的训练样本集合。已识别类别对应的特征空间指的是已识别类别对应的原始样本集合中各个样本对应的样本特征所形成的特征空间。已识别类别对应的代表训练样本在该已识别类别对应的特征空间中的分布,与该已识别类别对应的原始样本集合在该特征空间中的分布匹配,即已识别类别对应的代表训练样本在特征空间中的位置处于该特征空间各个区域的中心位置附近,代表训练样本在特征空间中的位置即该代表训练样本的样本特征在特征空间中的位置。举例说明,假设存储器中包括某个已识别类别A对应的四个代表训练样本,如图5所示,该已识别类别A对应的原始样本集合在该已识别类别A对应的特征空间中的分布如图5中的(a)图所示,则该已识别类别A对应的代表训练样本在该特征空间中的分布可以如图5中的(b)图所示,由图5可以看出,该已识别类别A对应的代表训练样本在该特征空间中的分布是比较均匀的,在每一处样本聚集的地方都分布有代表训练样本。各个已识别类别对应的代表训练样本即组成存储器中的初始样本集合。
考虑到对于同一个类别,通常会有不同的样本表达方式,例如,同一个意图类别可以有多种表达方式,举个实际的例子,在X疾病的大流行过程中,关于“如何保护自己?”可以有以下自己表达方式:“如何避免感染X疾病?”、“有什么有效的药物可以避免感染X疾病吗?”、“戴手套可以避免感染X疾病吗”、“哪种防毒口罩好一些?”。
基于此,在本实施例中,存储器中可以对每个已识别类别存储少量的代表训练样本,这些代表训练样本是根据已识别类别对应的特征空间的空间结构进行选择的,可以保留原始样本集合中多样化的、富含信息的数据,从而在后续持续学习的过程中,计算机设备从存储器中获取这些代表训练样本,在获取新增类别对应的新增样本集合后,将新增样本集合与初始样本集合中的代表训练样本组合成用于进行持续学习的训练类别集合。
上述实施例中,由于从存储器中存储的是已识别类别的代表训练样本,并且这些代表训练样本在已识别类别对应的特征空间中的分布,与已识别类别对应的原始样本集合在特征空间中的分布匹配,从而对于每一个已识别类别,可以获取到较为多样化的样本,通过这些多样化的样本对待训练类别模型进行训练,可以使得该模型更好地学习已识别类别的样本特征,从而保持模型在旧类别上的识别性能。
在一个实施例中,在从存储器中获取初始样本集合之前,方法还包括:获取各个已识别类别各自对应的原始样本集合;原始样本集合中包括已训练分类模型对应的已识别训练样本;针对每一个已识别类别对应的原始样本集合,对原始样本集合中的各个已识别训练样本各自的样本特征进行聚类,得到已识别类别对应的多个聚类簇;分别从各个聚类簇中选取与各自的聚类中心之间的特征距离满足距离条件的样本特征,将选取的样本特征所属的已识别训练样本作为已识别类别对应的代表训练样本。
其中,距离条件例如可以是与所在聚类簇的聚类中心之间的特征距离小于预设阈值,或者与所在聚类簇的聚类中心之间的特征距离排序在排序阈值之前中的其中一种。已训练分类模型对应的已识别训练样本指的是在训练该模型的过程中所使用到的训练样本。已识别类别对应的原始样本集合,即在训练得到已训练分类模型的过程中所使用到的属于该已识别类别的训练样本。
具体地,针对每一个已识别类别对应的原始样本集合,计算机设备可以通过已训练分类模型提取该原始样本集合中每一个已识别训练样本的样本特征,对这些样本特征进行聚类,每一个已识别类别对应的原始样本集合在经过聚类处理后会得到多个聚类簇,计算机设备可以从各个聚类簇中选取与各自的聚类中心之间的距离满足距离条件的一个或者多个样本特征,选取的样本特征即代表了所属的已识别训练样本,从而可以将选取的样本特征所属的已识别训练样本作为该已识别训练样本所属已识别类别的代表训练样本。其中聚类可以采用现有技术任意一种聚类算法实现,例如,可以采用k均值聚类算法(k-meansclustering algorithm)。
在一个具体的实施例中,距离条件可以是与所在聚类簇的聚类中心之间的特征距离排序在排序阈值之前,那么对于每一个聚类簇,计算机设备可以按照与该聚类簇的聚类中心之间的特征距离对其中的各个样本特征进行升序排列,将排序在排序阈值之前的样本特征确定为满足距离条件的样本特征,例如,假设排序阈值为2,则排序在第一位的样本特征为满足距离条件的样本特征,即将离聚类中心最近的样本特征确定为满足距离条件的样本特征。
上述实施例中,通过聚类,从分别从各个聚类簇中选取与各自的聚类中心之间的特征距离满足距离条件的样本特征,将选取的样本特征所属的已识别训练样本作为已识别类别对应的代表训练样本这些选择出的样本属于聚类后的不同类别,它们往往非常多样化,并且与原有的旧训练样本的分布大致相同,更能够保留旧样本的特性。
在一个实施例中,对原始样本集合中的各个已识别训练样本各自的样本特征进行聚类,得到已识别类别对应的多个聚类簇,包括:确定已识别类别对应的第一类别数量,基于第一类别数量以及存储器的存储容量确定聚类过程中的目标类别数量;对原始样本集合中的各个已识别训练样本各自的样本特征按照目标类别数量进行聚类,得到已识别类别对应的、且与目标类别数量匹配的多个聚类簇。
其中,存储器的存储容量用于表征存储器可以存储的最大样本数量,例如,假设存储器做多可以存储1000个样本,则存储器的存储容量为1000。
具体地,假设存储器的存储容量为|M|,已识别类别对应的第一类别数量为K,则对于每一个已识别类别,聚类过程中的目标类别数量为|M|/K,其中,|M|和K均为大于0的正整数。在确定了目标类别数量后,对于每一个原始样本集合,计算机设备可以对该原始样本集合中的各个已识别训练样本各自的样本特征按照目标类别数量进行聚类,最终得到的聚类簇的数量是与目标类别数量一致的。
上述实施例中,通过确定已识别类别对应的第一类别数量,基于第一类别数量以及存储器的存储容量确定聚类过程中的目标类别数量,对原始样本集合中的各个已识别训练样本各自的样本特征按照目标类别数量进行聚类,可以使得存储器中均匀地并且尽可能多地保存各个已识别类别的代表训练样本。
在一个实施例中,新增类别包括多个,在得到目标分类模型之后,方法还包括:确定新增类别对应的第二类别数量,基于第二类别数量从存储器中删除初始样本集合中的多个代表训练样本;从新增类别对应的新增样本集合中确定新增类别对应的代表训练样本;将新增类别对应的代表训练样本存储至存储器中。
其中,新增类别对应的新增样本集合指的是在训练得到目标分类模型的过程中所使用到的属于该新增类别的训练样本。新增类别的代表训练样本在新增类别对应的特征空间中的分布,与该新增类别对应的新增样本集合在该特征空间中的分布匹配。可以理解的是,新增类别的代表训练样本的确定步骤可以参考上文实施例中关于已识别类别对应的代表训练样本的确定步骤的相关描述,本申请在此不赘述。
在得到目标分类模型,需要将该模型训练过程中所涉及的新增类别的样本数据存储至存储器中,以用于后续的持续学习过程,而由于存储器的存储容量有限,需要移除部分已存储的数据,以便为这些新增类别的样本数据分配空间。具体来说,计算机设备可以确定新增类别的第二类别数量,基于第二类别数量从存储器中删除初始样本集合中的多个代表训练样本,第二类别数量越多,所需要删除的样本数量越多。对于每一个新增类别,计算机设备可以从该新增类别对应的新增样本集合中确定代表训练样本,最后将各个新增类别各自对应的代表训练样本存储至存储器中,以对存储器进行更新。
在一个具体的实施例中,对每个已识别类别,计算机设备可以删除|M|/K-|M|/B个代表训练样本,其中K是已识别类别对应的第一类别数量,B是目前为止观察到的所有类别的数量,由已识别类别对应的第一类别数量和新增类别对应的第二类别数量相加得到。
上述实施例中,基于第二类别数量从存储器中删除初始样本集合中的多个代表训练样本,从新增类别对应的新增样本集合中确定新增类别对应的代表训练样本,将新增类别对应的代表训练样本存储至存储器中,从而可以通过有限存储容量的存储器中存储的数据来维持持续学习过程中的样本需求。
在一个实施例中,基于第二类别数量从存储器中删除初始样本集合中的多个代表训练样本,包括:基于第二类别数量,确定各个已识别类别对应的待删除样本的目标样本数量;针对每一个已识别类别,基于已识别类别对应的已识别训练样本确定已识别类别对应的特征空间的中心点特征;分别计算各个代表训练样本各自的样本特征与中心点特征之间的特征距离;基于各个代表训练样本各自对应的特征距离,从已识别类别对应的代表样本特征中删除与目标样本数量匹配的代表样本特征。
具体地,计算机设备首先基于第二类别数量,确定各个已识别类别对应的待删除样本的目标样本数量,进而针对每一个已识别类别,计算机设备可以根据该已识别类别对应的已识别训练样本的样本特征计算平均样本特征,将平均样本特征作为该已识别类别对应的特征空间的中心点特征,分别计算该已识别类别对应的各个代表训练样本各自的样本特征与中心点特征之间的特征距离,基于各个代表训练样本各自对应的特征距离对该已识别类别对应的各个代表训练样本进行升序排列,基于排序结果删除排名较低的代表训练样本,删除的代表训练样本的数量与目标样本数量一致。在具体实施过程中,计算机设备可以将该已识别类别对应的所有已识别训练样本的样本特征求平均,得到平均样本特征;或者,计算机设备可以将该已识别类别对应的所有代表训练样本的样本特征求平均,得到平均样本特征。
举例说明,假设目标样本数量为5,某个已识别类别对应的代表训练样本数量为10个,计算机设备首先将这10个代表训练样本的样本特征进行平均,以计算得到该已识别类别对应的特征空间的中心点特征,分别计算这10个代表训练样本与该中心点特征之间特征距离,按照特征距离从小到大对这些代表训练样本进行排序,然后删除排序在6至10的5个代表训练样本。
上述实施例中,通过确定已识别类别对应的特征空间的中心点特征,分别计算各个代表训练样本各自的样本特征与中心点特征之间的特征距离,基于各个代表训练样本各自对应的特征距离进行样本删除,留下的样本是与中心点特征尽量接近的样本,从而可以最大限度的保存特征空间的数据分布特性。
在一个实施例中,第一分类结果中包括已识别类别对应的第一预测概率;在基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练之前,方法还包括:通过已训练分类模型,基于各训练样本各自的第一样本特征进行分类,得到各训练样本各自的第二分类结果;第二分类结果中包括已识别类别对应的第二预测概率;对于每一个训练样本,将训练样本的第一预测概率和第二预测概率在相同的蒸馏温度下进行归一化处理,得到第一预测概率对应的第一目标概率以及第二预测概率对应的第二目标概率;基于第一目标概率和第二目标概率进行蒸馏损失计算,得到训练样本的蒸馏损失;统计各个训练样本的蒸馏损失,得到目标蒸馏损失;基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练,包括:统计第一目标损失、第二目标损失、目标蒸馏损失以及分类损失,得到统计损失;基于统计损失调整待训练分类模型的参数并继续训练。
其中,计算机设备计算得到目标蒸馏损失的具体过程可以参考以下公式(4)和公式(5):
其中,LPKD代表目标蒸馏损失,T指的是蒸馏温度,|C0|代表已识别类别集合,N为训练样本集合,u为第一预测概率,v为第二预测概率。
在计算得到目标蒸馏损失后,计算机设备可以统计第一目标损失、第二目标损失、目标蒸馏损失以及分类损失,得到统计损失,进而基于统计损失调整待训练分类模型的参数。
上述实施例中,通过计算得到目标蒸馏损失,可以鼓励待训练分类模型在学习过程中保持已训练模型输出的概率分布特性,进一步提升了模型的泛化性能。
本申请还提供一种意图识别方法,该意图识别方法可以应用于如图1所示的应用环境中。终端102和服务器104均可单独用于执行本申请实施例中提供的意图识别方法。终端102和服务器104也可协同用于执行本申请实施例中提供的意图识别方法。
在一个实施例中,如图6,提供了一种意图识别方法,以该意图识别方法由计算机设备执行为例进行说明,可以理解的是,该计算机设备可以是图1所示的终端102,也可以是服务器104,还可以是终端102服务器104所组成的系统,并通过终端102和服务器104之间的交互实现。本实施例中,意图识别方法包括以下步骤:
步骤602,获取输入文本。
其中,输入文本是指需要生成对话回复语句的语句,可以是陈述句、疑问句、祈使句和感叹句,比如,输入文本可以是“今天天气这么样?”。该输入文本可以是一段对话中的起始对话语句,也可以是中间阶段的对话语句。
具体地,计算机设备获取到输入文本,可以是实时获取到的用户输入的输入文本,也可以是实时获取到的用户语音,将该用户语音转换为输入文本。计算机设备还可以直接从本地数据库或者第三方数据库中获取输入文本,该第三方可以是存储有对话语句的服务方。
步骤604,将输入文本输入目标意图分类模型中,通过目标意图分类模型对输入文本进行意图分类。
其中,目标意图分类模型是基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的模型参数得到的,第一目标损失是基于同一训练样本的第一样本特征和第二样本特征进行损失计算得到的,第二目标损失是基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算得到的,训练样本的第一样本特征是通过已训练分类模型提取得到的,训练样本的第二样本特征是通过待训练分类模型提取得到的,分类损失是基于待训练分类模型对训练样本的第二样本特征进行分类输出的分类结果得到的,训练样本属于训练样本集合,述训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本。可以理解的是,这里的意图分类模型即上文的分类模型,其训练过程可以参考上文实施例中的描述。本实施例中训练得到的意图分类模型是用于对输入文本进行意图识别的,即识别输入文本所属的意图类别,因此训练过程中所使用到的训练样本集合中的训练样本同样为文本,并且这些作为训练样本的文本是带有标签的,这些标签用于表征文本所属的意图类别。
具体地,由于本申请的意图识别模型会随着新意图类别的不断出现而进行持续学习,在进行意图识别的过程中,计算机设备可以通过最新训练得到目标意图识别模型进行意图识别,将输入文本输入到该目标意图分类模型,通过该意图分类模型对输入文本进行意图分类。
步骤606,获取目标意图分类模型输出的输入文本对应的意图识别结果。
具体地,计算机设备可以获取目标意图分类模型输出的输入文本对应的意图识别结果,该意图识别结果是用于表征输入文本所属的意图类别的。
上述意图识别方法,由于目标意图识别模型是通过持续学习得到的,并且在持续学习的过程中,该目标意图分类模型不仅可以有效保留已训练分类模型学习到的知识,还能够提高新旧类别之间的泛化性,从而通过该目标意图分类模型进行意图识别时,准确性大大提升。
在一个具体的实施例中,本申请实施例提供的分类模型处理方法可以应用于自然语言处理领域的意图检测任务中,在现有的业务中,分类模型通常都只能处理预定义的类别。然而,新的类别会随时间不断出现,已上线部署的模型往往无法处理这些新出现的类别。通过从新数据中持续学习新类别,可以增强现有模型的性能,同时避免在旧数据上出现严重的性能下降。
相关技术中,将持续学习方法应用在意图检测任务上时,经常存在以下问题:样本多样性和类别不平衡。其中:(1)样本多样性:在意图检测任务中,同一意图类别有多种表达方式。然而,相关技术中通常会保留相似的训练样本,这些样本只涉及少数的表达方式,不利于维持模型在旧类别上的性能。(2)类别不平衡:一般情况下,新到来的数据往往比较多,然而由于存储器容量有限,相关技术中一般只保存少量的旧数据,导致新旧意图类别之间的数据不失衡。在这种情况下,相关技术中会明显偏向于学习新数据,造成在旧数据上的性能下降。
基于此,本申请提供了一种分类模型处理方法,采用结构巩固网络(StructureConsolidation Networks,SCN)进行持续学习,具体包含两个核心部分:(1)为了处理样本多样性问题,本申请提出了基于结构的样本回顾,该技术根据特征的空间结构选择和保留多样化的、富含信息的旧数据;(2)为了应对类别不平衡问题,本申请提出了对比知识蒸馏,对比知识蒸馏通过知识蒸馏和对比学习技术,将旧模型中的知识迁移到新模型中,减轻了类别不平衡问题的影响,有效地保留了旧模型中的知识,提高了新旧意图类别之间的泛化性。以下以执行于计算机设备为例进行具体说明:
一、基于结构的样本回顾
本申请的持续学习,旨在给定一个在属于旧类别的旧训练样本上训练过的意图分类模型,在新旧数据组合得到的训练样本集合上持续进行训练,训练样本集合包括两部分数据:(1)新类别的训练样本;(2)一个有限存储器中存储的数据,该存储器中保留了少量的属于旧类别的代表训练样本,以维持模型在旧类别上的性能。例如,在业务中,给定一个学习过“段落缺失”和“段落拼接”两个类别的分类模型,本申请可以在新类别“翻译段落”上进行持续训练,只需要学习“翻译段落”对应的新增训练样本和存储的少量旧数据(“段落缺失”和“段落拼接”对应的代表训练样本),就可以获得一个在三个类别上都表现很好的模型。
为了从多样化的旧训练样本中选择并存储有代表性的样本,本申请提出了基于结构的样本回顾,具体包含两个操作:(1)基于结构的样本选择:根据特征向量的空间结构选择并存储多样化的训练样本;(2)结构保留的样本删除:在后续新样本到来时,删除一些已存储的旧样本,以维持存储器总容量不变。这样一来,多样化的旧数据就进入了后续的训练过程中,以维持模型在旧类别上的性能。具体如下:
1、基于结构的样本选择
在每一次模型训练完成之后,为本次训练过程中涉及的每个已识别类别选择|M|/K个样本,其中|M|是存储器的容量,K是目前所有类别的数量。对于每个已识别类别,通过训练好的模型将其所有的训练样本转化为特征向量。然后,在这些特征向量上应用K-means算法进行特征聚类,其中,聚类的类别数为|M|/K。在聚类后的每个类别中,选择最接近中心点的样本作作为代表训练样本并将其保存在存储器中。这些选择出的代表训练样本属于聚类后的不同类别,它们往往非常多样化,并且与原有的旧训练样本的分布大致相同,更能够保留旧样本的特性。
2、结构保留的样本删除
由于存储器容量有限,在新数据到来时,本申请还需要移除部分已存储的数据,以便为新到来样本分配空间。具体来说,对于每个旧类别,删除|M|/K-|M|/B个训练样本,其中K是旧类别的数量,B是目前为止观察到的所有类别的数量。在删除训练样本的过程中,对于每个旧类别,首先为它的所有训练样本抽取一个特征向量,然后,将这些特征向量进行平均作为整个特征空间的中心点特征向量。对于要保留的训练样本,根据它们与中心点特征向量的距离进行升序排序。在随后的持续学习过程中,逐步移除排名靠后的训练样本,以为新来的样本预留空间。
下面结合图7进行举例说明,参考图7,第一次训练过程中,对意图集合A进行学习,训练完成后,从意图集合A对应的训练样本集合中选择代表训练样本进行存储,得到“学习集合A后的存储器”,当学习意图集合B时,将“学习集合A后的存储器”中的代表训练样本和意图集合B对应的新增训练样本(即图7中“集合B的新数据”)进行组合,组合的数据作为训练样本集合进行训练,训练完成后,对于意图集合A中的每一意图类别,将存储器中该意图类别对应的各个代表训练样本按照与该意图类别对应的特征空间的中心点特征向量的距离进行排序,根据排序结果移除离中心点特征向量较远的代表训练样本,并通过训练得到的新模型对意图集合B对应的新增训练样本抽取特征向量,进而从意图集合B对应的新增训练样本中选择代表训练样本,然后加入存储器中对存储器进行更新,得到“学习集合B后的存储器”。
二、对比知识蒸馏
由于存储器容量有限,保留的旧训练样本相对较少,而新到来的训练样本通常很多。这样的一种数据不平衡的问题使得模型偏向于学习新到来的训练样本,影响了在旧数据上的性能。相比之下,上一步中的旧模型是在旧数据上训练的,它在旧类别上表现良好。因此,为了减轻类别不平衡的影响,本申请通过对比知识蒸馏来学习上一步模型中的知识。对于训练样本集合中每个训练样本xn,将当前模型(待训练意图分类模型)和上一步模型(已训练意图分类模型)所提取的特征向量分别表示为f(xn)和g(xn)。则通过对比知识蒸馏可以计算得到以下损失:
1、通过上文中的公式(3)计算相似性损失函数LSIM,得到第一目标损失。
2、通过上文中的公式(2)计算余量损失函数LMGN,得到第二目标损失和第三目标损失的统计损失。
3、通过上文中的公式(4)和公式(5),计算得到蒸馏损失。
三、模型训练
结合通过上文公式(1)得到的分类损失,并通过以下公式(6)对各个损失进行统计,得到最终的统计损失:
L=LCE+γ1LSIM+γ2LMGN+γ3LPKD 公式(6)
其中,L为统计损失,LSIM为通过相似性损失函数计算得到的第一目标损失,LMGN为通过余量损失函数计算得到的第二目标损失和第三目标损失的统计损失,LPKD为目标蒸馏损失,LCE为分类损失,γ1、γ2和γ3是可调整的系数,用于控制不同损失的比例。
通过该统计损失反向调整新模型(即待训练意图分类模型)的模型参数并继续训练,当满足训练停止条件时,得到目标意图分类模型,得到的目标意图分类模型在对旧意图和新意图的识别上具体良好的性能。
继续参考图7,本实施例中,意图分类模型可以采用如图7所示的模型结构,其中,旧模型(即已训练意图分类模型)和新模型(即待训练意图分类模型)具体相同的模型结构,包括编码器、特征提取层、线性层以及概率输出层,其中,其中,编码器可以采用BERT编码器实现。
本实施例提供的分类模型处理方法可以从动态新增的数据集上进行训练,以灵活高效地持续学习新意图类别。具体可以应用在以下的现实场景中:
1、新意图类别不断出现的场景。例如,随着新事件的出现或者新功能的增加,用户可能会向对话系统提出与新事件或新功能有关的各种问题,从而带来了许多新的对话意图。
2、对模型迭代速度要求较高的场景。当模型迭代时,用所有数据从头开始重新训练模型往往需要大量的时间。例如,用CLINC基准数据集的所有数据训练模型的时间比只用新数据训练同一模型的时间大约长9.7倍。在实际业务中,大量的服务以及大量的数据使得持续地进行重新训练的时间开销非常大。
3、计算能力和存储容量有限的场景。例如,本申请可以在计算能力和存储容量有限的嵌入式设备,如智能手机,上进行灵活和可扩展的应用,以学习用户定义的新类别。
本申请在持续意图检测任务上进行了验证,在3个基准数据集上的实验结果证明了SCN的有效性,它在这三个基准数据集上的性能明显优于其他相关技术中的持续学习方法;与此同时,相比于使用全部数据训练,SCN明显减少了训练时间,降低了训练成本。具体来说:
本申请根据以下方法构建意图检测基准数据集:对于每个基准数据集,本申请以一个随机顺序排列一个或多个原始数据集的类别。每个类都有自己的训练/验证/测试数据。以类别增量的方式,持续学习方法不断地在新数据上训练意图检测模型。基于此,本申请构建了三个基准数据集:(1)CLINC基准数据集是基于CLINC150数据集构建的,它包含CLINC150数据集的所有150个类别,在持续学习的每一步,模型都要学习15个新的类别;(2)Banking-ML基准数据集是在三个数据集的基础上构建的,包括Banking数据集、M-CID-EN数据集和Liu57数据集。Banking数据集和M-CID-EN数据集分别提供了77和16个类别。这些类别的数据分割遵循官方数据集的分割。由于Liu57数据集中的类别存在严重的长尾数据分布问题,本申请只使用前57个频繁出现的类别。最后,Banking-ML基准数据集包含150个类别。在持续学习的每一步,模型都要学习15个新的类别;(3)Stack-SHA基准数据集是基于四个数据集构建的,包括StackOverflow数据集、SNIPS数据集、HINT3数据集和ATIS数据集。本申请使用StackOverflow数据集和SNIPS数据集提供的所有20和7个类别,以及官方的数据分割。由于数据的长尾分布问题,本申请采用ATIS数据集和HINT3数据集的前8个和前15个频繁的类别。与Liu57数据集类似,HINT3和ATIS数据集的每个类别的数据以3:1:1的比例被分成训练、验证和测试集。Stack-SHA基准数据集的总类别数为50。在每个步骤中,模型需要学习5个新的类别。
本申请在每一个增量步中,完成一次模型训练,并且在每个增量步之后,本申请在当前所有类别的测试数据上评估模型。在最后一步之后,本申请报告所有步的平均准确率和所有类别的测试数据上的整体准确率。
为了提供一个全面的对比,本申请将结构巩固网络与相关技术的持续学习方法进行了比较。LwF模型利用原始知识蒸馏方法来保留旧模型的概率分布。EWC通过正则化保留对旧类别重要的参数。iCaRL根据类别的原型向量选择有代表性的样本,并通过原始知识蒸馏方法对模型进行训练。EEIL利用存储器中的数据对模型进行微调,以应对类别不平衡问题。EMAR使用K-means算法来选择样本,并通过类别原型向量来巩固模型。RP-CRE利用类别原型向量作为外部特征,并通过K-means算法选择样本。FineTune直接在新数据上微调在旧数据上训练过的模型。UpperBound使用当前所有类别的训练数据来训练模型,其识别准确率被认为是上限。参考图8,各种持续学习方法在上述数据集上的测试准确率可以绘制成一条曲线。由图8可以看出,在三个不同的基准数据集上进行测试时,在除去UpperBound的所有方法中,本申请提供的SCN准确性是最高的,并且,本申请提供的SCN,相较于UpperBound训练时间大大减少。
表1展示了最后一步之后的平均准确率和整体准确率。从结果中可以看出:(1)本申请所提供的SCN在所有基准数据集上都达到了最先进的性能。与RP-CRE模型相比,SCN在CLINC、Banking-ML和Stack-SHA基准数据集上分别获得了5.98%、3.65%和3.23%的整体准确率的提升。结果验证了本申请在持续意图检测任务上的有效性。(2)在整个过程的每一步,RP-CRE和本申请之间均存在明显的性能差距。原因是RP-CRE忽略了持续意图检测任务中的样本多样性和类别不平衡问题,最终导致性能下降。
表1
为了验证本方明提出的基于结构的样本回顾和对比知识蒸馏的有效性,本申请进行了消融实验。表2中展示了基于结构的样本回顾的消融实验结果。我们可以看出:(1)“-SBSS”模型去掉了基于结构的样本选择模块,它随机添加样本到存储器中。“-SPSR”模型随机删除样本,没有使用本申请提出的结构保留的样本移除。“-SBR”变体在样本选择和样本移除中都采用了随机策略。与这些基准模型相比,本申请具有更好的性能。这表明,基于结构的样本回顾对于选择和存储具有代表性的样本方面是非常有效的。(2)“+CPBR”模型为每个类计算一个原型向量,并根据原型向量选择样本。该模型甚至比随机策略“-SBR”更差,因为它通常会选择相似的样本。相比之下,本申请利用特征的空间结构,能够有效地选择多样化的、富含信息的样本。
表2
本申请进一步通过实验验证所提出的对比知识蒸馏的有效性,表3中显示了相关实验结果。从结果中,我们可以看出:(1)去除对比知识蒸馏的任何部分,即相似损失(“-SIM”)或余量损失(“-MGN”),都会带来明显的性能下降。当移除整个对比知识蒸馏(“-CKD”)模块时,性能会进一步下降。这表明,对比知识蒸馏可以通过保留旧模型的知识有效地提高性能。此外,结果表明,本申请利用对比学习,可以提高新旧类别之间的泛化性。
表3
在一个具体的实施例中,本申请实施例提供的分类模型处理方法还可以应用于低质生态业务中,低质稿件生产者往往会通过各种手段绕过审查系统,这就会造成新的低质类别持续出现。例如,在洗稿业务中,不同的洗稿方法往往层出不穷。本申请可以让分类模型持续地、快速地学习新出现的低质类别,在缩短模型训练时间的同时,增强模型处理新低质类别的能力。最终,在新的低质类别出现后,我们能够快速上线对应的分类模型,以减少新低质类别对稿件生态的影响。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的分类模型处理方法的分类模型处理装置以及实现上述所涉及的意图识别方法的分类模型处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个分类模型处理装置以及意图识别装置实施例中的具体限定可以参见上文中对于分类模型处理方法、意图识别方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种分类模型处理装置900,包括:
训练样本获取模块902,用于获取训练样本集合;训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;
特征提取模块904,用于通过已训练分类模型,分别提取训练样本集合中各训练样本各自的第一样本特征;
分类损失确定模块906,用于通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失;
目标损失计算模块908,用于基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失;
参数调整模块910,用于基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,目标分类模型用于识别已识别类别和新增类别。
上述分类模型处理装置,通过获取训练样本集合;训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本,通过已训练分类模型,分别提取训练样本集合中各训练样本各自的第一样本特征,通过待训练分类模型分别提取各训练样本各自的第二样本特征,并基于各第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失,基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失,基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,该目标分类模型不仅可以有效保留已训练分类模型学习到的知识,还能够提高新旧类别之间的泛化性,从而通过该目标分类模型进行类别识别时,准确性大大提升。
在一个实施例中,目标损失计算模块,还用于:分别将每一个训练样本和训练样本集合中的各个训练样本组成训练样本对,得到多个训练样本对;分别基于各个训练样本对各自对应的第二样本特征进行相似度计算,基于计算得到的相似度确定各个训练样本对各自对应的子损失;统计目标训练样本对对应的子损失,得到第二目标损失,目标训练样本对为包含不同类别训练样本的训练样本对。
在一个实施例中,目标损失计算模块,还用于:针对每一个训练样本对应的相似度,将相似度减去预设相似度得到的目标差值;在相似度小于预设相似度的情况下,将最小损失值确定为训练样本对应的子损失;在相似度大于或者等于预设相似度的情况下,将目标差值确定为训练样本对应的子损失。
在一个实施例中,目标损失计算模块,还用于:对于每一个训练样本对,获取训练样本对所包含的训练样本对应的类别标签,基于类别标签计算训练样本对对应的指示函数值;其中,指示函数值是通过指示函数计算得到的,在训练样本对所包含的训练样本对应的类别标签一致时,通过指示函数计算得到的指示函数值为第一数值,在训练样本对所包含的训练样本对应的类别标签一致时,通过指示函数计算得到的指示函数值为第二数值;当计算得到的指示函数值为第一数值时,对训练样本对对应的子损失进行保留处理,得到训练样本对对应的目标子损失,当计算得到的指示函数值为第二数值时,对训练样本对对应的子损失进行屏蔽处理,得到训练样本对对应的目标子损失;统计各个训练样本对各自对应的目标子损失,得到第二目标损失。
在一个实施例中,目标损失计算模块还用于:基于属于不同类别的两两训练样本对应的第一样本特征和第二样本特征进行损失计算,得到第三目标损失;参数调整模块,还用于:统计第一目标损失、第二目标损失、第三目标损失以及分类损失,得到统计损失;基于统计损失调整待训练分类模型的参数并继续训练。
在一个实施例中,目标损失计算模块还用于:基于各个训练样本各自的第一样本特征和第二样本特征进行相似度计算,基于计算得到的相似度确定各个训练样本各自的子损失;训练样本的子损失和训练样本对应的相似度成负相关;统计各个训练样本各自的子损失,得到第一目标损失。
在一个实施例中,已识别类别包括多个类别,上述装置还包括:训练样本集合生成模块,用于:从存储器中获取初始样本集合;其中,初始样本集合中包括已识别类别对应的代表训练样本,且已识别类别对应的代表训练样本在已识别类别对应的特征空间中的分布,与已识别类别对应的原始样本集合在特征空间中的分布匹配;获取新增类别对应的新增样本集合,基于新增样本集合与初始样本集合中组成训练样本集合。
在一个实施例中,上述训练样本集合生成模块,还用于:获取各个已识别类别各自对应的原始样本集合;原始样本集合中包括已训练分类模型对应的已识别训练样本;针对每一个已识别类别对应的原始样本集合,对原始样本集合中的各个已识别训练样本各自的样本特征进行聚类,得到已识别类别对应的多个聚类簇;分别从各个聚类簇中选取与各自的聚类中心之间的特征距离满足距离条件的样本特征,将选取的样本特征所属的已识别训练样本作为已识别类别对应的代表训练样本。
在一个实施例中,训练样本集合生成模块,用于:确定已识别类别对应的第一类别数量,基于第一类别数量以及存储器的存储容量确定聚类过程中的目标类别数量;对原始样本集合中的各个已识别训练样本各自的样本特征按照目标类别数量进行聚类,得到已识别类别对应的、且与目标类别数量匹配的多个聚类簇。
在一个实施例中,上述装置还包括:更新模块,用于:确定新增类别对应的第二类别数量,基于第二类别数量从存储器中删除初始样本集合中的多个代表训练样本;从新增类别对应的新增样本集合中确定新增类别对应的代表训练样本;将新增类别对应的代表训练样本存储至存储器中。
在一个实施例中,更新模块,还用于:基于第二类别数量,确定各个已识别类别对应的待删除样本的目标样本数量;针对每一个已识别类别,基于已识别类别对应的已识别训练样本确定已识别类别对应的特征空间的中心点特征;分别计算各个代表训练样本各自的样本特征与中心点特征之间的特征距离;基于各个代表训练样本各自对应的特征距离,从已识别类别对应的代表样本特征中删除与目标样本数量匹配的代表样本特征。
在一个实施例中,第一分类结果中包括已识别类别对应的第一预测概率;上述装置还包括:蒸馏损失计算模块,用于:通过已训练分类模型,基于各训练样本各自的第一样本特征进行分类,得到各训练样本各自的第二分类结果;第二分类结果中包括已识别类别对应的第二预测概率;对于每一个训练样本,将训练样本的第一预测概率和第二预测概率在相同的蒸馏温度下进行归一化处理,得到第一预测概率对应的第一目标概率以及第二预测概率对应的第二目标概率;基于第一目标概率和第二目标概率进行蒸馏损失计算,得到训练样本的蒸馏损失;统计各个训练样本的蒸馏损失,得到目标蒸馏损失;参数调整模块,还用于统计第一目标损失、第二目标损失、目标蒸馏损失以及分类损失,得到统计损失;基于统计损失调整待训练分类模型的参数并继续训练。
在一个实施例中,如图10所示,提供了一种意图识别装置1000,包括:
输入文本获取模块1002,用于获取输入文本;
意图分类模块1004,用于将输入文本输入目标意图分类模型中,通过目标意图分类模型对输入文本进行意图分类;其中,目标意图分类模型是基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的模型参数得到的,第一目标损失是基于同一训练样本的第一样本特征和第二样本特征进行损失计算得到的,第二目标损失是基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算得到的,训练样本的第一样本特征是通过已训练分类模型提取得到的,训练样本的第二样本特征是通过待训练分类模型提取得到的,分类损失是基于待训练分类模型对训练样本的第二样本特征进行分类输出的分类结果得到的,训练样本属于训练样本集合,训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;
意图识别结果获取模块1006,用于获取目标意图分类模型输出的输入文本对应的意图识别结果。
上述意图识别装置,由于目标意图识别模型是通过持续学习得到的,并且在持续学习的过程中,该目标意图分类模型不仅可以有效保留已训练分类模型学习到的知识,还能够提高新旧类别之间的泛化性,从而通过该目标意图分类模型进行意图识别时,准确性大大提升。
上述分类模型处理装置、意图识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练样本数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分类模型处理方法或者意图识别方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种分类模型处理方法或者意图识别方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11、图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述分类模型处理方法或者意图识别方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述分类模型处理方法或者意图识别方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述分类模型处理方法或者意图识别方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (18)
1.一种分类模型处理方法,其特征在于,所述方法包括:
获取训练样本集合;所述训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;
通过所述已训练分类模型,分别提取所述训练样本集合中各训练样本各自的第一样本特征;
通过待训练分类模型分别提取各所述训练样本各自的第二样本特征,并基于各所述第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失;
基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失;
基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,所述目标分类模型用于识别所述已识别类别和所述新增类别。
2.根据权利要求1所述的方法,其特征在于,所述基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失,包括:
分别将每一个训练样本和所述训练样本集合中的各个训练样本组成训练样本对,得到多个训练样本对;
分别基于各个训练样本对各自对应的第二样本特征进行相似度计算,基于计算得到的相似度确定各个所述训练样本对各自对应的子损失;
统计目标训练样本对对应的子损失,得到第二目标损失,所述目标训练样本对为包含不同类别训练样本的训练样本对。
3.根据权利要求2所述的方法,其特征在于,所述基于计算得到的相似度确定各个所述训练样本对各自对应的子损失,包括:
针对每一个训练样本对应的相似度,将所述相似度减去预设相似度得到的目标差值;
在所述相似度小于所述预设相似度的情况下,将最小损失值确定为所述训练样本对应的子损失;
在所述相似度大于或者等于所述预设相似度的情况下,将所述目标差值确定为所述训练样本对应的子损失。
4.根据权利要求2所述的方法,其特征在于,所述统计目标训练样本对对应的子损失,得到第二目标损失,包括:
对于每一个训练样本对,获取所述训练样本对所包含的训练样本对应的类别标签,基于所述类别标签计算所述训练样本对对应的指示函数值;其中,所述指示函数值是通过指示函数计算得到的,在所述训练样本对所包含的训练样本对应的类别标签一致时,通过所述指示函数计算得到的指示函数值为第一数值,在所述训练样本对所包含的训练样本对应的类别标签一致时,通过所述指示函数计算得到的指示函数值为第二数值;
当计算得到的指示函数值为第一数值时,对所述训练样本对对应的子损失进行保留处理,得到所述训练样本对对应的目标子损失,当计算得到的指示函数值为第二数值时,对所述训练样本对对应的子损失进行屏蔽处理,得到所述训练样本对对应的目标子损失;
统计各个训练样本对各自对应的目标子损失,得到第二目标损失。
5.根据权利要求1至4任意一项所述的方法,其特征在于,在所述基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练之前,所述方法还包括:
基于属于不同类别的两两训练样本对应的第一样本特征和第二样本特征进行损失计算,得到第三目标损失;
所述基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练,包括:
统计所述第一目标损失、所述第二目标损失、所述第三目标损失以及所述分类损失,得到统计损失;
基于所述统计损失调整所述待训练分类模型的参数并继续训练。
6.根据权利要求1所述的方法,其特征在于,所述基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,包括:
基于各个训练样本各自的第一样本特征和第二样本特征进行相似度计算,基于计算得到的相似度确定各个训练样本各自的子损失;所述训练样本的子损失和所述训练样本对应的相似度成负相关;
统计各个训练样本各自的子损失,得到第一目标损失。
7.根据权利要求1所述的方法,其特征在于,所述已识别类别包括多个类别,所述训练样本集合的生成步骤包括:
从存储器中获取初始样本集合;
其中,所述初始样本集合中包括所述已识别类别对应的代表训练样本,且所述已识别类别对应的代表训练样本在所述已识别类别对应的特征空间中的分布,与所述已识别类别对应的原始样本集合在所述特征空间中的分布匹配;
获取新增类别对应的新增样本集合,基于所述新增样本集合与所述初始样本集合中组成训练样本集合。
8.根据权利要求7所述的方法,其特征在于,在所述从存储器中获取初始样本集合之前,所述方法还包括:
获取各个已识别类别各自对应的原始样本集合;所述原始样本集合中包括所述已训练分类模型对应的已识别训练样本;
针对每一个已识别类别对应的原始样本集合,对所述原始样本集合中的各个已识别训练样本各自的样本特征进行聚类,得到所述已识别类别对应的多个聚类簇;
分别从各个聚类簇中选取与各自的聚类中心之间的特征距离满足距离条件的样本特征,将选取的样本特征所属的已识别训练样本作为所述已识别类别对应的代表训练样本。
9.根据权利要求8所述的方法,其特征在于,所述对所述原始样本集合中的各个已识别训练样本各自的样本特征进行聚类,得到所述已识别类别对应的多个聚类簇,包括:
确定所述已识别类别对应的第一类别数量,基于所述第一类别数量以及所述存储器的存储容量确定聚类过程中的目标类别数量;
对所述原始样本集合中的各个已识别训练样本各自的样本特征按照所述目标类别数量进行聚类,得到所述已识别类别对应的、且与所述目标类别数量匹配的多个聚类簇。
10.根据权利要求7所述的方法,其特征在于,所述新增类别包括多个,在得到目标分类模型之后,所述方法还包括:
确定所述新增类别对应的第二类别数量,基于所述第二类别数量从所述存储器中删除所述初始样本集合中的多个代表训练样本;
从所述新增类别对应的新增样本集合中确定所述新增类别对应的代表训练样本;
将所述新增类别对应的代表训练样本存储至所述存储器中。
11.根据权利要求10所述的方法,其特征在于,所述基于所述第二类别数量从所述存储器中删除所述初始样本集合中的多个代表训练样本,包括:
基于所述第二类别数量,确定各个已识别类别对应的待删除样本的目标样本数量;
针对每一个已识别类别,基于所述已识别类别对应的已识别训练样本确定所述已识别类别对应的特征空间的中心点特征;
分别计算各个代表训练样本各自的样本特征与所述中心点特征之间的特征距离;
基于各个代表训练样本各自对应的特征距离,从已识别类别对应的代表样本特征中删除与所述目标样本数量匹配的代表样本特征。
12.根据权利要求1至11任意一项所述的方法,其特征在于,所述第一分类结果中包括已识别类别对应的第一预测概率;在所述基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练之前,所述方法还包括:
通过所述已训练分类模型,基于各所述训练样本各自的第一样本特征进行分类,得到各所述训练样本各自的第二分类结果;所述第二分类结果中包括已识别类别对应的第二预测概率;
对于每一个训练样本,将所述训练样本的第一预测概率和第二预测概率在相同的蒸馏温度下进行归一化处理,得到所述第一预测概率对应的第一目标概率以及所述第二预测概率对应的第二目标概率;
基于所述第一目标概率和所述第二目标概率进行蒸馏损失计算,得到所述训练样本的蒸馏损失;
统计各个训练样本的蒸馏损失,得到目标蒸馏损失;
所述基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练,包括:
统计所述第一目标损失、所述第二目标损失、所述目标蒸馏损失以及所述分类损失,得到统计损失;
基于所述统计损失调整所述待训练分类模型的参数并继续训练。
13.一种意图识别方法,其特征在于,所述方法包括:
获取输入文本;
将所述输入文本输入目标意图分类模型中,通过所述目标意图分类模型对所述输入文本进行意图分类;其中,所述目标意图分类模型是基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的模型参数得到的,所述第一目标损失是基于同一训练样本的第一样本特征和第二样本特征进行损失计算得到的,所述第二目标损失是基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算得到的,训练样本的第一样本特征是通过已训练分类模型提取得到的,训练样本的第二样本特征是通过所述待训练分类模型提取得到的,所述分类损失是基于所述待训练分类模型对训练样本的第二样本特征进行分类输出的分类结果得到的,训练样本属于训练样本集合,所述训练样本集合包括属于所述已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;
获取所述目标意图分类模型输出的所述输入文本对应的意图识别结果。
14.一种分类模型处理装置,其特征在于,所述装置包括:
训练样本获取模块,用于获取训练样本集合;所述训练样本集合包括属于已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;
特征提取模块,用于通过所述已训练分类模型,分别提取所述训练样本集合中各训练样本各自的第一样本特征;
分类损失确定模块,用于通过待训练分类模型分别提取各所述训练样本各自的第二样本特征,并基于各所述第二样本特征进行分类,基于得到的各个第一分类结果确定分类损失;
目标损失计算模块,用于基于同一训练样本的第一样本特征和第二样本特征进行损失计算,得到第一目标损失,基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算,得到第二目标损失;
参数调整模块,用于基于所述第一目标损失、所述第二目标损失以及所述分类损失调整所述待训练分类模型的参数并继续训练,当满足训练停止条件时,得到目标分类模型,所述目标分类模型用于识别所述已识别类别和所述新增类别。
15.一种意图识别装置,其特征在于,所述装置包括:
输入文本获取模块,用于获取输入文本;
意图分类模块,用于将所述输入文本输入目标意图分类模型中,通过所述目标意图分类模型对所述输入文本进行意图分类;其中,所述目标意图分类模型是基于第一目标损失、第二目标损失以及分类损失调整待训练分类模型的模型参数得到的,所述第一目标损失是基于同一训练样本的第一样本特征和第二样本特征进行损失计算得到的,所述第二目标损失是基于属于不同类别的两两训练样本各自的第二样本特征进行损失计算得到的,训练样本的第一样本特征是通过已训练分类模型提取得到的,训练样本的第二样本特征是通过所述待训练分类模型提取得到的,所述分类损失是基于所述待训练分类模型对训练样本的第二样本特征进行分类输出的分类结果得到的,训练样本属于训练样本集合,所述训练样本集合包括属于所述已训练分类模型对应的已识别类别的训练样本以及属于新增类别的训练样本;
意图识别结果获取模块,用于获取所述目标意图分类模型输出的所述输入文本对应的意图识别结果。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12或者13中任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12或者13中任一项所述的方法的步骤。
18.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12或者13中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211000438.0A CN115456043A (zh) | 2022-08-19 | 2022-08-19 | 分类模型处理、意图识别方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211000438.0A CN115456043A (zh) | 2022-08-19 | 2022-08-19 | 分类模型处理、意图识别方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115456043A true CN115456043A (zh) | 2022-12-09 |
Family
ID=84298070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211000438.0A Pending CN115456043A (zh) | 2022-08-19 | 2022-08-19 | 分类模型处理、意图识别方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115456043A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028880A (zh) * | 2023-02-07 | 2023-04-28 | 支付宝(杭州)信息技术有限公司 | 训练行为意图识别模型的方法、行为意图识别方法及装置 |
CN117237744A (zh) * | 2023-11-10 | 2023-12-15 | 之江实验室 | 一种图像分类模型的训练方法、装置、介质及电子设备 |
CN116203929B (zh) * | 2023-03-01 | 2024-01-05 | 中国矿业大学 | 一种面向长尾分布数据的工业过程故障诊断方法 |
-
2022
- 2022-08-19 CN CN202211000438.0A patent/CN115456043A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028880A (zh) * | 2023-02-07 | 2023-04-28 | 支付宝(杭州)信息技术有限公司 | 训练行为意图识别模型的方法、行为意图识别方法及装置 |
CN116028880B (zh) * | 2023-02-07 | 2023-07-04 | 支付宝(杭州)信息技术有限公司 | 训练行为意图识别模型的方法、行为意图识别方法及装置 |
CN116203929B (zh) * | 2023-03-01 | 2024-01-05 | 中国矿业大学 | 一种面向长尾分布数据的工业过程故障诊断方法 |
CN117237744A (zh) * | 2023-11-10 | 2023-12-15 | 之江实验室 | 一种图像分类模型的训练方法、装置、介质及电子设备 |
CN117237744B (zh) * | 2023-11-10 | 2024-01-30 | 之江实验室 | 一种图像分类模型的训练方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368996B (zh) | 可传递自然语言表示的重新训练投影网络 | |
CN107526785B (zh) | 文本分类方法及装置 | |
CN111079639B (zh) | 垃圾图像分类模型构建的方法、装置、设备及存储介质 | |
CN112084331A (zh) | 文本处理、模型训练方法、装置、计算机设备和存储介质 | |
CN115456043A (zh) | 分类模型处理、意图识别方法、装置和计算机设备 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
WO2023065859A1 (zh) | 物品推荐方法、装置及存储介质 | |
CN110019790B (zh) | 文本识别、文本监控、数据对象识别、数据处理方法 | |
CN112307351A (zh) | 用户行为的模型训练、推荐方法、装置和设备 | |
CN114283350B (zh) | 视觉模型训练和视频处理方法、装置、设备及存储介质 | |
CN109242002A (zh) | 高维数据分类方法、装置及终端设备 | |
CN106156163B (zh) | 文本分类方法以及装置 | |
CN112417153B (zh) | 文本分类方法、装置、终端设备和可读存储介质 | |
CN112507912B (zh) | 一种识别违规图片的方法及装置 | |
CN113158554B (zh) | 模型优化方法、装置、计算机设备及存储介质 | |
CN112749274A (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN113656699B (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN111783903A (zh) | 文本处理方法、文本模型的处理方法及装置、计算机设备 | |
CN113705596A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN112418320A (zh) | 一种企业关联关系识别方法、装置及存储介质 | |
CN115588193A (zh) | 基于图注意力神经网络与视觉关系的视觉问答方法及装置 | |
CN112989182B (zh) | 信息处理方法、装置、信息处理设备及存储介质 | |
CN112818114B (zh) | 信息的分类方法、检测方法、计算设备及存储介质 | |
CN114936327B (zh) | 元素识别模型的获取方法、装置、计算机设备和存储介质 | |
CN116682141A (zh) | 基于多尺度递进式感知的多标签行人属性识别方法及介质 |
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 |