CN116401552A - 一种分类模型的训练方法及相关装置 - Google Patents

一种分类模型的训练方法及相关装置 Download PDF

Info

Publication number
CN116401552A
CN116401552A CN202310444662.7A CN202310444662A CN116401552A CN 116401552 A CN116401552 A CN 116401552A CN 202310444662 A CN202310444662 A CN 202310444662A CN 116401552 A CN116401552 A CN 116401552A
Authority
CN
China
Prior art keywords
data
target
training data
classification
target training
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
Application number
CN202310444662.7A
Other languages
English (en)
Inventor
田雨川
陈汉亭
王许涛
白哲源
王云鹤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202310444662.7A priority Critical patent/CN116401552A/zh
Publication of CN116401552A publication Critical patent/CN116401552A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

一种分类模型的训练方法,应用于人工智能技术领域。在该方法中,先基于原始训练数据,生成数据量更小的目标训练数据,以得到不同尺度的训练数据,确保训练数据的尺度多样性;并且,考虑到AI生成数据的特点,对于数据量较小且原始是由AI生成的目标训练数据,将这部分目标训练数据标记为无标签数据,进而使得分类模型在训练时能够聚焦于AI生成的与人工生成不同的数据,避免将其标记为AI生成数据时影响分类模型对AI生成数据风格的感知,有效提高了分类模型的预测准确率。

Description

一种分类模型的训练方法及相关装置
技术领域
本申请涉及人工智能(Artificial Intelligence,AI)技术领域,尤其涉及一种分类模型的训练方法。
背景技术
随着AI技术的快速发展,由AI自主生成的数据越来越接近人类所生成的数据,因此越来越多的应用在运行期间会利用AI自主生成的数据。其中,AI自主生成的数据例如可以包括文本、语音、视频以及图像等数据。
以AI生成文本为例,为了防止AI生成的垃圾文本或错误信息造成不良的后果,AI生成文本检测成为了一个重要的技术。AI生成文本检测,主要是用于区分待检测文本的内容是人工生成的还是AI生成的。
现有的AI生成文本检测方案通常是采用二分类的技术,将待检测的文本输入至预先训练好的模型中,由模型输出最终的预测结果,即预测文本到底是人工生成的还是AI生成的。然而,现有技术对于输入文本的长度有一定的要求,在输入文本较短的情况,往往难以得到准确的预测结果。
发明内容
本申请提供了一种分类模型的训练方法,能够有效地提高分类模型的预测准确率。
本申请第一方面提供一种分类模型的训练方法,应用于人工智能技术领域。该方法包括:首先,获取多个原始训练数据,多个原始训练数据中的每个原始训练数据所对应的类别标签为用户生成数据或AI生成数据,即原始训练数据的生成方式是用户生成或AI生成中的其中一种。并且,多个原始训练数据均是同一种类型的数据,例如多个原始训练数据的数据类型为以下类型中的任意一种:文本、图像、视频以及语音。
然后,基于多个原始训练数据得到多个目标训练数据,多个目标训练数据的第一部分数据属于多个原始训练数据,即第一部分数据为多个原始训练数据的子集。多个目标训练数据的第二部分数据中的每个目标训练数据均是由多个原始训练数据中对应的原始训练数据得到,且每个目标训练数据的数据量小于对应的原始训练数据的数据量。即,多个目标训练数据的第二部分数据中的每个目标训练数据均对应于一个原始训练数据,且第二部分数据中的每个目标训练数据均是基于所对应的原始训练数据得到的。
其次,将多个目标训练数据输入分类模型,得到对应于多个目标训练数据的多个分类结果。其中,该分类模型可以是为一个执行二分类任务的AI模型,用于对分类模型的输入数据进行分类预测。该多个分类结果中的每个分类结果均用于指示对应的目标训练数据所属的类别,即目标训练数据属于用户生成数据或AI生成数据中的哪一种。
最后,基于损失函数值更新第一模型,得到第二模型。该损失函数值是基于多个分类结果以及多个目标训练数据对应的类别标签得到的,其中第二部分数据中的部分目标训练数据不具有类别标签,部分目标训练数据的数据量小于预设阈值且对应的原始训练数据是由AI生成。
本方案中,先基于原始训练数据,生成数据量更小的目标训练数据,以得到不同尺度的训练数据,确保训练数据的尺度多样性;并且,考虑到AI生成数据的特点,对于数据量较小且原始是由AI生成的目标训练数据,将这部分目标训练数据标记为无标签数据,进而使得分类模型在训练时能够聚焦于AI生成的与人工生成不同的数据,避免将其标记为AI生成数据时影响分类模型对AI生成数据风格的感知,有效提高了分类模型的预测准确率。
在一种可能的实现方式中,第二部分数据中的目标训练数据是基于对应的原始训练数据的一部分内容得到的。
在一种可能的实现方式中,第二部分数据中包括第一目标训练数据,第一目标训练数据是通过裁剪第一目标训练数据对应的原始训练数据中的部分内容得到的。例如,假设第一目标训练数据对应的原始训练数据为文本,且原始训练数据的文本内容具体为“Hello!How are you!I am fine,thank you!And you?”,则第一目标训练数据的文本内容可以为“How are you!I am fine,thank you!And you?”。
在一种可能的实现方式中,第二部分数据中包括第二目标训练数据,第二目标训练数据是对裁剪第二目标训练数据对应的原始训练数据所得到的多部分内容进行融合处理得到的。其中,在融合处理多部分内容时,并不是将裁剪得到的所有内容融合,而是融合其中的一部分内容,从而使得得到的第二目标训练数据的数据量能够小于对应的原始训练数据。
本方案中,一方面通过对原始训练数据进行处理,得到数据量更小的目标训练数据,另一方面则将部分原始训练数据作为目标训练数据,能够实现对原始训练数据进行多尺度的扩增,从而确保最终得到的目标训练数据的尺度的多样性。
在一种可能的实现方式中,损失函数值是基于第一子损失函数值得到,第一子损失函数值是基于第一差异和第二差异得到的,第一差异是部分目标训练数据对应的分类结果与为目标训练数据假设的类别标签之间的差异,第二差异是多个目标训练数据中的正样本训练数据对应的分类结果与为正样本数据假设的类别标签之间的差异;其中,为目标训练数据以及正样本训练数据假设的类别标签均是AI生成数据,正样本训练数据包括类别标签为用户生成数据的目标训练数据。
简单来说,第一子损失函数值可以理解为正类和无标记类(Positive-Unlabeled,PU)损失,是基于正样本(即类别标签为用户生成数据的目标训练数据)和无标记样本(即不具有类别标签的目标训练数据)得到的。
本方案中,将类别标签为用户生成数据的目标训练数据视为正样本,将不具有类别标签的目标训练数据视为无标记样本,进而基于正样本和无标记样本来估计负样本的分类损失,进而使得分类模型在训练时能够聚焦于AI生成的与人工生成不同的数据,避免直接将数据量较小且原始是由AI生成的目标训练数据标记为负样本时影响分类模型对AI生成数据风格的感知,有效提高训练得到的分类模型的预测准确率。
在一种可能的实现方式中,损失函数值还基于第二子损失函数值得到,第二子损失函数值是基于多个分类结果与多个目标训练数据对应的类别标签之间的差异均值得到的;其中,在确定第二子损失函数值的过程中,部分目标训练数据对应的类别标签为AI生成数据。
简单来说,第二子损失函数值可以理解为正类和负类(Positive-negative,PN)损失,是基于正样本(即类别标签为用户生成数据的目标训练数据)和负样本(即类别标签为AI生成数据的目标训练数据)得到的。
在一种可能的实现方式中,损失函数值是对第一子损失函数值和第二子损失函数值进行加权求和得到的,且第一子损失函数值和第二子损失函数值对应于不同的权重。
本申请第二方面提供一种分类方法,包括:
获取待分类数据;
基于待分类数据生成至少一个目标数据,至少一个目标数据均是基于待分类数据得到的,且至少一个目标数据的数据量均小于待分类数据的数据量;
将待分类数据和至少一个目标数据输入分类模型,得到对应于多个分类结果;
基于多个分类结果,得到目标分类结果,目标分类结果用于作为待分类数据的分类结果。
本方案中,通过对待分类数据进行扩增,得到多个数据量更小的目标数据,再将待分类数据和目标数据一同输入至分类模型中进行分类,并整合分类模型所输出的多个分类结果,得到待分类数据最终的目标分类结果,能够在多尺度视角下对分类模型的决策进行强化,从而提高数据的分类准确度。
在一种可能的实现方式中,基于多个分类结果,得到目标分类结果,包括:
将多个分类结果进行加权求和,得到目标分类结果。
在一种可能的实现方式中,多个分类结果中每个分类结果的权重与每个分类结果对应的模型输入数据的数据量相关。
在一种可能的实现方式中,在至少一个目标数据中,不同的目标数据具有不同的数据量。
在一种可能的实现方式中,至少一个目标数据中的每个目标数据均是基于待分类数据的一部分内容得到的。
在一种可能的实现方式中,至少一个目标数据中包括第一目标数据,第一目标数据是通过裁剪待分类数据中的部分内容得到的。
在一种可能的实现方式中,至少一个目标数据中包括第二目标数据,第二目标数据是对裁剪待分类数据所得到的多部分内容进行融合处理得到的。
本申请第三方面提供一种分类模型的训练装置,包括:
获取模块,用于获取多个原始训练数据,多个原始训练数据中的每个原始训练数据所对应的类别标签为用户生成数据或AI生成数据;
处理模块,用于基于多个原始训练数据得到多个目标训练数据,多个目标训练数据的第一部分数据属于多个原始训练数据,多个目标训练数据的第二部分数据中的每个目标训练数据均是由多个原始训练数据中对应的原始训练数据得到,且每个目标训练数据的数据量小于对应的原始训练数据的数据量;
处理模块,还用于将多个目标训练数据输入分类模型,得到对应于多个目标训练数据的多个分类结果;
处理模块,还用于基于损失函数值更新第一模型,得到第二模型,损失函数值是基于多个分类结果以及多个目标训练数据对应的类别标签得到的,其中第二部分数据中的部分目标训练数据不具有类别标签,部分目标训练数据的数据量小于预设阈值且对应的原始训练数据是由AI生成。
在一种可能的实现方式中,第二部分数据中的目标训练数据是基于对应的原始训练数据的一部分内容得到的。
在一种可能的实现方式中,第二部分数据中包括第一目标训练数据,第一目标训练数据是通过裁剪第一目标训练数据对应的原始训练数据中的部分内容得到的。
在一种可能的实现方式中,第二部分数据中包括第二目标训练数据,第二目标训练数据是对裁剪第二目标训练数据对应的原始训练数据所得到的多部分内容进行融合处理得到的。
在一种可能的实现方式中,所述多个原始训练数据的数据类型为以下类型中的任意一种:文本、图像、视频以及语音。
在一种可能的实现方式中,所述损失函数值是基于第一子损失函数值得到,所述第一子损失函数值是基于第一差异和第二差异得到的,所述第一差异是所述部分目标训练数据对应的分类结果与为所述目标训练数据假设的类别标签之间的差异,所述第二差异是所述多个目标训练数据中的正样本训练数据对应的分类结果与为所述正样本数据假设的类别标签之间的差异;
其中,为所述目标训练数据以及所述正样本训练数据假设的类别标签均是AI生成数据,所述正样本训练数据包括类别标签为用户生成数据的目标训练数据。
在一种可能的实现方式中,所述损失函数值还基于第二子损失函数值得到,所述第二子损失函数值是基于所述多个分类结果与所述多个目标训练数据对应的类别标签之间的差异均值得到的;
其中,在确定所述第二子损失函数值的过程中,所述部分目标训练数据对应的类别标签为AI生成数据。
在一种可能的实现方式中,所述损失函数值是对所述第一子损失函数值和所述第二子损失函数值进行加权求和得到的,且所述第一子损失函数值和所述第二子损失函数值对应于不同的权重。
本申请第四方面提供一种分类装置,包括:
获取模块,用于获取待分类数据;
处理模块,用于基于待分类数据生成至少一个目标数据,至少一个目标数据均是基于待分类数据得到的,且至少一个目标数据的数据量均小于待分类数据的数据量;
处理模块,还用于将待分类数据和至少一个目标数据输入分类模型,得到对应于多个分类结果;
处理模块,还用于基于多个分类结果,得到目标分类结果,目标分类结果用于作为待分类数据的分类结果。
在一种可能的实现方式中,处理模块,还用于将多个分类结果进行加权求和,得到目标分类结果。
在一种可能的实现方式中,多个分类结果中每个分类结果的权重与每个分类结果对应的模型输入数据的数据量相关。
在一种可能的实现方式中,在至少一个目标数据中,不同的目标数据具有不同的数据量。
在一种可能的实现方式中,至少一个目标数据中的每个目标数据均是基于待分类数据的一部分内容得到的。
在一种可能的实现方式中,至少一个目标数据中包括第一目标数据,第一目标数据是通过裁剪待分类数据中的部分内容得到的。
在一种可能的实现方式中,至少一个目标数据中包括第二目标数据,第二目标数据是对裁剪待分类数据所得到的多部分内容进行融合处理得到的。
本申请第五方面提供一种分类模型的训练装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面或第一方面任一实现方式的方法。对于处理器执行第一方面的各个可能实现方式中的步骤,具体均可以参阅第一方面,此处不再赘述。
本申请第六方面提供一种分类装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第二方面或第二方面任一实现方式的方法。对于处理器执行第二方面的各个可能实现方式中的步骤,具体均可以参阅第二方面,此处不再赘述。
本申请第七方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面任一实现方式的方法。
本申请第八方面提供了一种电路系统,电路系统包括处理电路,处理电路配置为执行上述第一方面任一实现方式的方法。
本申请第九方面提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一实现方式的方法。
本申请第十方面提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器或门限值获取装置实现上述第一方面任一实现方式中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
上述第二方面至第十方面的有益效果可以参考上述第一方面的介绍,在此不再赘述。
附图说明
图1为本申请实施例提供的一种卷积神经网络的结构示意图;
图2为本申请实施例提供的另一种卷积神经网络的结构示意图;
图3为本申请实施例提供的一种系统架构300的示意图;
图4为本申请实施例提供的一种电子设备101的结构示意图;
图5为本申请实施例提供的一种分类模型的训练方法的流程示意图;
图6A为本申请实施例提供的一种基于多个原始训练数据得到多个目标训练数据的示意图;
图6B为本申请实施例提供的另一种基于多个原始训练数据得到多个目标训练数据的示意图;
图7为本申请实施例提供的一种确定多个目标训练数据的类别标签的示意图;
图8为本申请实施例提供的一种分类模型的训练流程示意图;
图9为本申请实施例提供的一种正样本、无标记样本以及负样本的划分示意图;
图10为本申请实施例提供的一种分类方法的流程示意图;
图11为本申请实施例提供的一种数据分类架构的示意图;
图12为本申请实施例提供的本申请实施例提供的一种对数据进行分类的流程示意图;
图13为本申请实施例提供的一种分类模型的训练装置的结构示意图;
图14为本申请实施例提供的一种分类装置的结构示意图;
图15为本申请实施例提供的执行设备的一种结构示意图;
图16为本申请实施例提供的芯片的一种结构示意图;
图17为本申请实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图,对本申请的实施例进行描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的描述在适当情况下可以互换,以便使实施例能够以除了在本申请图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行顺序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
为便于理解,以下先介绍本申请实施例所涉及的一些技术术语。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs(即输入数据)和截距1为输入的运算单元,该运算单元的输出可以为:
Figure BDA0004195590870000071
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(Deep Neural Network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经单元一定与第i+1层的任意一个神经单元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure BDA0004195590870000072
其中,/>
Figure BDA0004195590870000073
是输入向量,/>
Figure BDA0004195590870000074
是输出向量,/>
Figure BDA0004195590870000075
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量/>
Figure BDA00041955908700000710
经过如此简单的操作得到输出向量/>
Figure BDA0004195590870000076
由于DNN层数多,则系数W和偏移向量/>
Figure BDA0004195590870000077
的数量也就很多了。这些参数在DNN中的定义如下:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经单元到第三层的第2个神经单元的线性系数定义为/>
Figure BDA0004195590870000078
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经单元到第L层的第j个神经单元的系数定义为/>
Figure BDA0004195590870000079
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的预测模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络(Convolutional Neural Network,CNN)
卷积神经网络是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者特征图(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经单元层(例如本实施例中的第一卷积层、第二卷积层)。在卷积神经网络的卷积层中,一个神经单元可以只与部分邻层神经单元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
具体的,如图1所示,卷积神经网络100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
其中,卷积层/池化层120以及神经网络层130组成的结构可以为本申请中所描述的第一卷积层以及第二卷积层,输入层110和卷积层/池化层120连接,卷积层/池化层120连接与神经网络层130连接,神经网络层130的输出可以输入至激活层,激活层可以对神经网络层130的输出进行非线性化处理。
卷积层/池化层120。卷积层:如图2所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图1中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。
神经网络层130:在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图1所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建,文本分类,语音分类等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数值,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图2由110至140的传播为前向传播)完成,反向传播(如图2由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图1所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络预测模型的形式存在,例如,如图2所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
(4)循环神经网络(Recurrent Neural Network,RNN)
循环神经网络是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neuralnetwork)。
循环神经网络具有记忆性、参数共享并且图灵完备(Turing completeness),因此在对序列的非线性特征进行学习时具有一定优势。循环神经网络在自然语言处理(NaturalLanguage Processing,NLP),例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报。引入了卷积神经网络构筑的循环神经网络可以处理包含序列输入的计算机视觉问题。
RNN的目的是用来处理序列数据。在传统的神经网络预测模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNN能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂性往往假设当前的状态只与前面的几个状态相关。
具体来说,RNN的核心部分是一个有向图(directed graph)。有向图展开中以链式相连的元素被称为循环单元(RNN cell)。通常地,循环单元构成的链式连接可类比前馈神经网络中的隐含层,但在不同的论述中,RNN的“层”可能指单个时间步的循环单元或所有的循环单元。因此,作为一般性介绍,这里避免引入“隐含层”的概念。给定按序列输入的学习数据X={X1,X2,...,Xτ},RNN的展开长度为τ。待处理的序列通常为时间序列,此时序列的演进方向被称为时间步(time-step)。
(5)残差网络(Residual Network,ResNet)
残差网络是一种改进后的卷积神经网络,其特点是容易优化,并且能够通过增加相当的深度来提高准确率。残差网络内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。
(6)损失函数
在训练神经网络的过程中,因为希望神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)(即损失函数值)越高表示差异越大,那么神经网络的训练就变成了尽可能缩小这个损失函数值的过程。
(7)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的预测模型中参数的大小,使得预测模型的误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的预测模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的预测模型的参数,例如权重矩阵。
(8)梯度下降法(Gradient descent)
梯度下降法是一个一阶最优化算法,常用于机器学习当中用来递归性地逼近最小偏差预测模型。要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。在求解机器学习算法的预测模型参数,即无约束优化问题时,梯度下降法是最常采用的方法之一。
具体来说,在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数值和预测模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。
目前,由AI生成的数据越来越广泛地应用于人类的日常生活中。其中,AI生成的数据例如可以包括文本、图像、视频以及语音等数据。以AI生成文本为例,为了防止AI生成的垃圾文本或错误信息造成不良的后果,AI生成文本检测成为了一个重要的技术。AI生成文本检测,主要是用于区分待检测文本的内容是人工生成的还是AI生成的。
现有的AI生成文本检测方案通常是采用二分类的技术,将待检测的文本输入至预先训练好的模型中,由模型输出最终的预测结果,即预测文本到底是人工生成的还是AI生成的。然而,现有技术对于输入文本的长度有一定的要求,在输入文本较短的情况,往往难以得到准确的预测结果。
经申请人研究发现,现有的AI生成数据检测方案忽略了待检测数据的数据量和检测难度关系的问题。例如,在AI生成文本检测中,待检测文本的长度对检测难度会产生一定的影响。具体来说,随着文本长度的减小,AI所生成的文本和人类所生成的文本会变得愈发类似,导致AI生成文本检测难度较大;极端情况下,当文本为单个词语或词组长度时,几乎无法客观判断单个词语或词组的文本的来源为AI或人类。在这种情况下,如果单纯将较短文本标记为AI生成,会影响文本检测模型对AI生成文本风格的感知,从而导致文本检测模型的预测效果不佳。
除了AI生成文本的检测,在利用现有技术对其他AI生成数据进行检测时均存在类似的问题。为了便于叙述,本申请实施例以AI生成文本检测为例进行说明,对其他AI生成数据进行检测时所遇到的问题类似,此处不再详细赘述。
有鉴于此,本申请实施例提供了一种分类模型的训练方法,先基于原始训练数据,生成数据量更小的目标训练数据,以得到不同尺度的训练数据,确保训练数据的尺度多样性;并且,考虑到AI生成数据的特点,对于数据量较小且原始是由AI生成的目标训练数据,将这部分目标训练数据标记为无标签数据,进而使得分类模型在训练时能够聚焦于AI生成的与人工生成不同的数据,避免将其标记为AI生成数据时影响分类模型对AI生成数据风格的感知,有效提高了分类模型的预测准确率。
为便于理解,以下先介绍本申请实施例所提供的分类模型的训练方法以及分类方法所应用的系统架构。
请参阅图3,本申请实施例提供了一种系统架构300的示意图。如图3所示,在该系统架构300中,执行设备210可以是由一个或多个服务器实现,可选的,与其它计算设备配合,例如:数据存储、路由器、负载均衡器等设备;执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码实现本申请实施例所提供的分类模型的训练方法,进而得到模型。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现中,执行设备210用于实现本申请实施例所提供的分类模型的训练方法,并将得到的模型通过通信网络发送给本地设备301和本地设备302,以使得本地设备301和本地设备302能够实现模型的部署和运行,从而实现本申请实施例提供的分类方法。
在另一种实现中,执行设备210的一个方面或多个方面可以由每个本地设备实现,例如,本地设备301可以为执行设备210提供本地数据或反馈计算结果,或者是执行本申请实施例提供的分类模型的训练方法以及分类方法。
需要注意的,执行设备210的所有功能也可以由本地设备实现。例如,本地设备301实现执行设备210的功能并为自己的用户提供服务,或者为本地设备302的用户提供服务。
总的来说,本申请实施例所提供的分类模型的训练方法以及分类方法可以应用于电子设备上,例如上述的执行设备210、本地设备301或本地设备302。示例性地,该电子设备例如可以是服务器、工业控制中的无线电子设备、智能手机(mobile phone)、个人电脑(personal computer,PC)、笔记本电脑、平板电脑等设备。为了便于理解,以下将以本申请实施例提供的方法应用于服务器为例,对该方法进行介绍。
可以参阅图4,图4为本申请实施例提供的一种电子设备101的结构示意图。如图4所示,电子设备101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(videoadapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(I/O)总线耦合。I/O接口115和I/O总线耦合。I/O接口115和多种I/O设备进行通信,比如输入设备117(如:触摸屏等),外存储器121,(例如,硬盘、软盘、光盘或优盘),多媒体接口等)。收发器123(可以发送和/或接收无线电通信信号),摄像头155(可以捕捉静态和动态数字视频图像)和外部USB端口125。其中,可选地,和I/O接口115相连接的接口可以是USB接口。
其中,处理器103可以是任何传统处理器,包括精简指令集计算(reducedinstruction set Computing,RISC)处理器、复杂指令集计算(complex instruction setcomputing,CISC)处理器或上述的组合。可选地,处理器可以是诸如ASIC的专用装置。
电子设备101可以通过网络接口129和软件部署服务器149通信。示例性的,网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,VPN)。可选地,网络127还可以是无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动器接口131和系统总线105耦合。硬件驱动接口和硬盘驱动器133相连接。内存储器135和系统总线105耦合。运行在内存储器135的数据可以包括电子设备101的操作系统(OS)137、应用程序143和调度表。
操作系统包括Shell 139和内核(kernel)141。Shell 139是介于使用者和操作系统的内核间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。内核141直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理和IO管理等等。
请参阅图5,图5为本申请实施例提供的一种分类模型的训练方法的流程示意图。如图5所示,该分类模型的训练方法包括以下的步骤501-504。
步骤501,获取多个原始训练数据,多个原始训练数据中的每个原始训练数据所对应的类别标签为用户生成数据或AI生成数据。
本实施例中,多个原始训练数据均是同一种类型的数据,例如多个原始训练数据的数据类型为以下类型中的任意一种:文本、图像、视频以及语音。
对于多个原始训练数据中的任意一个原始训练数据,该原始训练数据可以是由用户生成的(即人工生成的),或者是由AI生成的(例如通过AI模型生成的),即原始训练数据的生成方式是用户生成或AI生成中的其中一种。并且,多个原始训练数据中的数据并非全部对应于同一种生成方式,即多个原始训练数据中的一部分数据是用户生成的,多个原始训练数据中的另一部分数据则是AI生成的。
因此,在以数据的生成方式对多个原始训练数据进行分类的情况下,每个原始训练数据所对应的类别标签则为用户生成数据或AI生成数据。当原始训练数据所对应的类别标签为用户生成数据时,则代表该原始训练数据是由用户所生成的;当原始训练数据所对应的类别标签为AI生成数据时,则代表该原始训练数据是由AI所生成的。
其中,在原始训练数据为用户生成数据的情况下,如果原始训练数据为文本,则该原始训练数据具体可以为用户所编辑的文本;如果原始训练数据为图像,则该图像可以为用户通过拍照、绘制或人工合成等方式所得到的图像;如果原始训练数据为视频,则该视频可以为用户通过创作、录制、剪辑等方式所得到的视频;如果原始训练数据为语音,则该视频可以为用户通过创作或录音等方式所得到的语音。总的来说,本申请实施例并不对用户如何生成原始训练数据的方式进行限定。
步骤502,基于多个原始训练数据得到多个目标训练数据,多个目标训练数据的第一部分数据属于多个原始训练数据,多个目标训练数据的第二部分数据中的每个目标训练数据均是由多个原始训练数据中对应的原始训练数据得到,且每个目标训练数据的数据量小于对应的原始训练数据的数据量。
本实施例中,多个目标训练数据的第一部分数据属于多个原始训练数据是指多个目标训练数据的第一部分数据为多个原始训练数据的子集。也就是说,本实施例中可以是将多个原始训练数据中的一部分数据作为多个目标训练数据的第一部分数据;或者,将多个原始训练数据作为多个目标训练数据的第一部分数据。例如,在多个原始训练数据共包括10000个数据的情况下,多个目标训练数据的第一部分数据可以包括该10000个数据中的一部分数据,比如包括5000个数据;或者,多个目标训练数据的第一部分数据即为该10000个数据。
此外,多个目标训练数据的第二部分数据中的每个目标训练数据均对应于一个原始训练数据,且第二部分数据中的每个目标训练数据均是基于所对应的原始训练数据得到的。
其中,在多个目标训练数据的第二部分数据中,不同的目标训练数据可以是对应于不同的原始训练数据,即一个原始训练数据只对应于唯一的一个目标训练数据;或者,不同的目标训练数据也可以是对应于相同的原始训练数据,即一个原始训练数据可以是对应于一个或多个目标训练数据。并且,多个目标训练数据的第二部分数据可以是对应于多个原始训练数据中的所有原始训练数据,即每个原始训练数据都用于生成对应的目标训练数据;或者,多个目标训练数据的第二部分数据可以是对应于多个原始训练数据中的部分数据,即只有部分原始训练数据被用于生成对应的目标训练数据。
总的来说,在多个目标训练数据中,第一部分数据可以是多个原始训练数据中的一部分数据或全部数据;多个目标训练数据中的第二部分数据可以是基于多个原始训练数据中的一部分数据或全部数据得到的,且一个原始训练数据可以对应于一个或多个第二部分数据中的目标训练数据。
示例性地,请参阅图6A和图6B,图6A为本申请实施例提供的一种基于多个原始训练数据得到多个目标训练数据的示意图;图6B为本申请实施例提供的另一种基于多个原始训练数据得到多个目标训练数据的示意图。如图6A所示,多个原始训练数据共包括2N个数据,具体为:数据1、数据2、数据3…数据2N。在基于多个原始训练数据得到多个目标训练数据时,多个目标训练数据中的第一部分数据包括N个数据,具体为:数据1、数据2…数据N,即多个目标训练数据中的第一部分数据为多个原始训练数据中的N个数据。此外,多个目标训练数据中的第二部分数据也包括N个数据,具体为:数据N+1’、数据N+2’…数据2N’,其中数据N+1’对应于多个原始训练数据中的数据N+1,数据N+2’对应于多个原始训练数据中的数据N+2…数据2N’对应于多个原始训练数据中的数据2N。也就是说,多个原始训练数据中的数据N+1至数据2N中的每个原始训练数据分别对应于唯一的一个目标训练数据。
如图6B所示,多个原始训练数据共包括2N个数据,具体为:数据1、数据2…数据2N。在基于多个原始训练数据得到多个目标训练数据时,多个目标训练数据中的第一部分数据也包括2N个数据,具体为:数据1、数据2…数据2N。也就是说,多个目标训练数据中的第一部分数据即为多个原始训练数据。此外,多个目标训练数据中的第二部分数据中包括2N组数据,每组数据中包括多个目标训练数据,且同一组数据中不同的目标训练数据均是基于同一个原始训练数据得到的。具体来说,在第二部分数据中,第1组数据中的数据A1、数据B1以及数据C1均是由多个原始训练数据中的数据1得到的;第2组数据中的数据A2、数据B2以及数据C2均是由多个原始训练数据中的数据2得到的…以此类推,第2N组数据中的数据A2N、数据B2N以及数据C2N均是由多个原始训练数据中的数据2N得到的。也就是说,多个原始训练数据中的每个原始训练数据均可以用于生成多个目标训练数据。
以上介绍了得到多个目标训练数据的过程,以下将介绍基于原始训练数据得到目标训练数据的具体方式。
其中,基于原始训练数据得到目标训练数据的方式可以有多种,且每一种方式都需要保证所得到的目标训练数据的数据量小于对应的原始训练数据的数据量,即目标训练数据所包含的内容少于对应的原始训练数据所包含的内容。
在一种可能的实现方式中,通过对原始训练数据进行裁剪来得到对应的目标训练数据,且目标训练数据中仅包括原始训练数据中的一部分内容。
示例性地,在上述的第二部分数据中可以包括第一目标训练数据,第一目标训练数据是通过裁剪第一目标训练数据对应的原始训练数据中的部分内容得到的。例如,假设第一目标训练数据对应的原始训练数据为文本,且原始训练数据的文本内容具体为“Hello!How are you!I am fine,thank you!And you?”,则第一目标训练数据可以是对文本内容进行裁剪后所得到的,比如第一目标训练数据的文本内容为“How are you!I amfine,thank you!And you?”。类似地,假设第一目标训练数据对应的原始训练数据为视频或语音,则可以通过裁剪视频或语音中的一段内容,从而得到长度更短的第一目标训练数据。又例如,假设第一目标训练数据对应的原始训练数据为图像,则可以通过裁剪图像中的一部分图像块,从而得到包含更少像素(即包含更少图像内容)的第一目标训练数据。此外,针对于裁剪得到的图像,还可以是将裁剪后所得到的图像进行旋转、放大或缩小等处理操作,以便于提高图像的多样性。
在另一种可能的实现方式中,通过对原始训练数据进行裁剪,并将裁剪后所得到的内容融合处理来得到对应的目标训练数据。
示例性地,第二部分数据中包括第二目标训练数据,第二目标训练数据是对裁剪第二目标训练数据对应的原始训练数据所得到的多部分内容进行融合处理得到的。其中,在融合处理多部分内容时,并不是将裁剪得到的所有内容融合,而是融合其中的一部分内容,从而使得得到的第二目标训练数据的数据量能够小于对应的原始训练数据。此外,融合处理的方式可以有多种,例如将多部分内容直接进行拼接,或者是对多部分内容进行简单处理后再进行拼接。可选的,将多部分内容进行拼接的过程中可以是调换多部分内容的顺序后再拼接多部分内容,也可以是按照多部分内容在原始训练数据中的顺序来进行拼接。
例如,假设第一目标训练数据对应的原始训练数据为文本,且原始训练数据的文本内容具体为“Hello!How are you!I am fine,thank you!And you?”,则可以先将原始训练数据的文本内容裁剪为以下的多个部分“Hello!”、“How are you!”、“I am fine,thankyou!”、“And you?”,然后通过拼接多个部分中一些部分,从而得到第一目标训练数据。比如,第一目标训练数据的文本内容为“Hello!I am fine,thank you!And you?”。
总的来说,对于基于原始训练数据所得到的目标训练数据而言,目标训练数据中至少包括对应的原始训练数据中的一部分内容,或者是目标训练数据中包括基于对应的原始训练数据的一部分内容所得到的数据。
本方案中,一方面通过对原始训练数据进行处理,得到数据量更小的目标训练数据,另一方面则将部分原始训练数据作为目标训练数据,能够实现对原始训练数据进行多尺度的扩增,从而确保最终得到的目标训练数据的尺度的多样性。其中,目标训练数据在尺度上具有多样性可以是指不同的目标训练数据具有不同的数据量,例如不同的文本具有不同的长度,不同的视频或语音具有不同的时间长度,不同的图像具有不同的大小等等。
步骤503,将多个目标训练数据输入分类模型,得到对应于多个目标训练数据的多个分类结果。
本实施例中,分类模型可以是为一个执行二分类任务的AI模型,用于对分类模型的输入数据进行分类预测。并且,分类模型的结构可以是基于分类模型的输入数据的类型来决定的,本实施例并不对此做具体限定。例如,在分类模型的输入数据为图像或视频时,分类模型的结构具体可以包括卷积神经网络;在分类模型的输入数据为文本或语音时,分类模型的结构具体可以包括RNN或注意力网络。
因此,在将多个目标训练数据分别输入分类模型之后,分类模型可以预测得到每个目标训练数据对应的分类结果,从而得到与多个目标训练数据一一对应的多个分类结果。其中,该多个分类结果中的每个分类结果均用于指示对应的目标训练数据所属的类别,即目标训练数据属于用户生成数据或AI生成数据中的哪一种。
步骤504,基于损失函数值更新第一模型,得到第二模型,损失函数值是基于多个分类结果以及多个目标训练数据对应的类别标签得到的,其中第二部分数据中的部分目标训练数据不具有类别标签,该部分目标训练数据的数据量小于预设阈值且对应的原始训练数据是由AI生成。
在得到每个目标训练数据对应的分类结果之后,可以基于该多个分类结果与目标训练数据对应的类别标签,来构建损失函数,从而基于构建得到的损失函数的值来更新第一模型,实现第一模型的训练。其中,基于损失函数值更新第一模型的方式可以是采用反向传播算法。
一般来说,损失函数可以是基于输入分类模型的目标训练数据对应的类别标签与分类模型实际输出的分类结果之间的差异来构建的。
值得注意的是,对于输入分类模型的多个目标训练数据而言,多个目标训练数据的第二部分数据中的部分目标训练数据不标记有类别标签,且这部分目标训练数据的数据量小于预设阈值且对应的原始训练数据是由AI生成,即这部分目标训练数据是数据量较小的数据(例如长度较短的文本、视频或语音,或者包含内容较少的图像)。由于这部分目标训练数据的数据量较小,因此即便这部分目标训练数据本身是对AI生成的原始训练数据处理得到的,但是这部分目标训练数据已经是与用户生成的数据高度相似,实际上难以判断这部分目标训练数据是否应属于AI生成。
因此,本实施例中,在求取损失函数值时,需要将第二部分数据中的部分目标训练数据视为无标签数据,避免将直接将这部分目标训练数据标记为AI生成数据。
此外,在多个目标训练数据中,由于第一部分数据中的目标训练数据实际上是多个原始训练数据的子集,因此第一部分数据中的目标训练数据的类别标签维持不变;第二部分数据中的另一部分目标训练数据是基于对应的原始训练数据得到,因此这部分目标训练数据的类别标签可以与其对应的原始训练数据的类别标签相同。简单来说,如果一个原始训练数据的类别标签为用户生成数据,那么基于该原始训练数据所得到的数据量大于或等于预设阈值的目标训练数据的类别标签也可以为用户生成数据;如果一个原始训练数据的类别标签为AI生成数据,那么基于该原始训练数据所得到的数据量大于或等于预设阈值的目标训练数据的类别标签也可以为AI生成数据。
示例性地,请参阅图7,图7为本申请实施例提供的一种确定多个目标训练数据的类别标签的示意图。如图7所示,多个原始训练数据共包括2N个数据,具体为:数据1、数据2…数据2N。并且,数据1至数据N的类别标签均为用户生成数据,数据N+1至数据2N的类别标签均为AI生成数据。
由于多个目标训练数据中的第一部分数据也包括上述的数据1、数据2…数据2N,因此第一部分数据中的目标训练数据的类别标签维持不变,即数据1至数据N的类别标签均为用户生成数据,数据N+1至数据2N的类别标签均为AI生成数据。
此外,多个目标训练数据中的第二部分数据中包括2N组数据,第1组数据中的数据A1、数据B1以及数据C1均是由多个原始训练数据中的数据1得到的;第2组数据中的数据A2、数据B2以及数据C2均是由多个原始训练数据中的数据2得到的…以此类推,第2N组数据中的数据A2N、数据B2N以及数据C2N均是由多个原始训练数据中的数据2N得到的。其中,由于第1组数据-第N组数据中的目标训练数据是由多个原始训练数据中的数据1至数据N得到的,因此第1组数据-第N组数据中的目标训练数据的类别标签维持不变,即为用户生成数据。此外,对于第N+1组数据至第2N组数据,这N组数据对应的原始训练数据的类别标签均为AI生成数据,且每组数据中的第一个数据(即数据AN+1、数据AN+2…数据A2N)的数据量小于预设阈值,因此将第N+1组数据至第2N组数据中每组数据的第一个数据标记为无标签数据,即不具有类别标签;而第N+1组数据至第2N组数据中数据量不小于预设阈值的其他数据则标记为AI生成数据,即类别标签与对应的原始训练数据的类别标签相同。
本方案中,先基于原始训练数据,生成数据量更小的目标训练数据,以得到不同尺度的训练数据,确保训练数据的尺度多样性;并且,考虑到AI生成数据的特点,对于数据量较小且原始是由AI生成的目标训练数据,将这部分目标训练数据标记为无标签数据,进而使得分类模型在训练时能够聚焦于AI生成的与人工生成不同的数据,避免将其标记为AI生成数据时影响分类模型对AI生成数据风格的感知,有效提高了分类模型的预测准确率。
示例性地,请参阅图8,图8为本申请实施例提供的一种分类模型的训练流程示意图。如图8所示,在训练分类模型的过程中,可以基于模型训练架构来实现分类模型的训练。其中,模型训练架构包括数据扩增模块和模型训练模块,通过将原始训练数据输入至数据扩增模块中,能够由数据扩增模块对原始训练数据进行处理,从而输出数据量比原始训练数据更小的训练数据(即上述步骤502中所述的多个目标训练数据的第二部分数据)。即,数据扩增模块用于执行上述的步骤502。然后,将原始训练数据以及数据扩增模块所输出的训练数据一并输入至模型训练模型中,由模型训练模块基于所输入的数据对分类模型进行训练,从而得到训练好的分类模型(即上述的第二模型)。即,模型训练模块用于执行上述的步骤503和步骤504。
为了便于理解,以下将介绍求取损失函数值的具体过程。
可选的,用于更新第一模型的损失函数值具体可以是基于第一子损失函数值和第二子损失函数值得到的。
其中,第一子损失函数值是基于第一差异和第二差异得到的,第一差异是不具有类别标签的目标训练数据对应的分类结果与为目标训练数据假设的类别标签之间的差异,第二差异是多个目标训练数据中的正样本训练数据对应的分类结果与为正样本数据假设的类别标签之间的差异。其中,为目标训练数据以及正样本训练数据假设的类别标签均是AI生成数据,正样本训练数据包括类别标签为用户生成数据的目标训练数据。
简单来说,第一子损失函数值可以理解为正类和无标记类(Positive-Unlabeled,PU)损失,是基于正样本(即类别标签为用户生成数据的目标训练数据)和无标记样本(即不具有类别标签的目标训练数据)得到的。
请参阅图9,图9为本申请实施例提供的一种正样本、无标记样本以及负样本的划分示意图。如图9所示,首先,对于基于多个原始训练数据所得到的多个目标训练数据,先基于每个目标训练数据对应的原始训练数据,将对应的原始训练数据是用户生成数据的目标训练数据标记为正样本,将对应的原始训练数据是AI生成数据的目标训练数据标记为负样本。然后,再基于目标训练数据的数据量,从负样本中划分为一部分目标训练数据标记为无标记样本。具体来说,在原先所标记的负样本中,将数据量小于预设阈值的目标训练数据重新标记为无标记样本,而数据量不小于预设阈值的目标训练数据则保留标记为负样本。因此,无标记样本实际上则为数据量小于预设阈值的AI生成数据,而负样本则为数据量不小于预设阈值的AI生成数据。
示例性地,第一子损失函数值的求取方式可以如以下的公式1所示。
Figure BDA0004195590870000181
其中,
Figure BDA0004195590870000182
表示第一子损失函数值(即PU损失),πP表示正样本与正样本和无标记样本之和之间的比值,/>
Figure BDA0004195590870000183
表示基于正样本的类别标签以及正样本对应的分类结果所计算得到的差异值,/>
Figure BDA0004195590870000184
表示基于为无标记样本假设的类别标签(即AI生成数据)以及无标记样本对应的分类结果所计算得到的差异值,/>
Figure BDA0004195590870000185
表示基于为正样本假设的类别标签(即AI生成数据)以及正样本对应的分类结果所计算得到的差异值。/>
本方案中,将类别标签为用户生成数据的目标训练数据视为正样本,将不具有类别标签的目标训练数据视为无标记样本,进而基于正样本和无标记样本来估计负样本的分类损失,进而使得分类模型在训练时能够聚焦于AI生成的与人工生成不同的数据,避免直接将数据量较小且原始是由AI生成的目标训练数据标记为负样本时影响分类模型对AI生成数据风格的感知,有效提高训练得到的分类模型的预测准确率。
此外,第二子损失函数值是基于多个分类结果与多个目标训练数据对应的类别标签之间的差异均值得到的。并且,在确定第二子损失函数值的过程中,部分目标训练数据对应的类别标签为AI生成数据。
也就是说,在计算第二子损失函数值时,同样可以为不具有类别标签的部分目标训练数据假设相应的类别标签,进而基于为这部分目标训练数据假设的类别标签以及这部分目标训练数据对应的分类结果来计算损失函数值。其中,为不具有类别标签的部分目标训练数据假设的类别标签同样为AI生成数据。
简单来说,第二子损失函数值可以理解为正类和负类(Positive-negative,PN)损失,是基于正样本(即类别标签为用户生成数据的目标训练数据)和负样本(即类别标签为AI生成数据的目标训练数据)得到的。
示例性地,第二子损失函数值的求取方式可以如以下的公式2所示。
Figure BDA0004195590870000191
其中,
Figure BDA0004195590870000193
表示第二子损失函数值(即PN损失),E[·]代表对/>
Figure BDA0004195590870000196
求总期望值,/>
Figure BDA0004195590870000194
表示基于正样本的类别标签以及正样本对应的分类结果所计算得到的差异值,/>
Figure BDA0004195590870000195
表示基于正样本的类别标签以及正样本对应的分类结果所计算得到的差异值。
在得到第一子损失函数值和第二子损失函数值之后,可以对第一子损失函数值和第二子损失函数值进行加权求和得到用于更新第一模型的损失函数值,且第一子损失函数值和第二子损失函数值对应于不同的权重。
示例性地,基于第一子损失函数值和第二子损失函数值来求取损失函数值的方式如公
式3所示。
Figure BDA0004195590870000192
其中,
Figure BDA0004195590870000198
表示损失函数值,/>
Figure BDA0004195590870000197
表示第一子损失函数值,/>
Figure BDA0004195590870000199
表示第二子损失函数值,γ为超参数(即第一子损失函数值对应的权重)。总的来说,PU损失相当于是PN分类的正则化项,能够用于纠正分类模型针对于较小数据量的训练数据的分类偏差。
以上介绍了训练分类模型的过程,以下将介绍基于训练得到的分类模型来对数据执行分类的过程。
请参阅图10,图10为本申请实施例提供的一种分类方法的流程示意图。如图10所示,该分类方法包括以下的步骤1001-1004。
步骤1001,获取待分类数据。
在本实施例中,待分类数据可以为以下类型中的任意一种:文本、图像、视频以及语音。并且,该待分类数据是需要进行分类的数据,即需要确定该待分类数据的类别为用户生成数据还是AI生成数据。
例如,在新闻领域,新闻机构可能会接收到大量由用户所投稿的新闻资料(例如文本、图像、视频或语音),新闻机构需要对这些新闻资料进行分类,以确定这些新闻资料中的哪些新闻资料是由用户生成的,哪些新闻资料则是由AI生成的,进而进一步地核对新闻资料的真实性。
步骤1002,基于待分类数据生成至少一个目标数据,至少一个目标数据均是基于待分类数据得到的,且至少一个目标数据的数据量均小于待分类数据的数据量。
本实施例中,基于待分类数据生成目标数据的方式可以有多种,且每一种方式都需要保证所生成的目标数据的数据量小于待分类数据的数据量,即目标数据所包含的内容少于待分类数据所包含的内容。并且,上述至少一个目标数据中的每个目标数据均是基于待分类数据的一部分内容得到的。
可选的,在至少一个目标数据中,不同的目标数据具有不同的数据量。即,在基于待分类数据生成多个目标数据的情况下,所生成的多个目标数据分别具有不同的数据量,从而保证数据尺度的多样性。例如,在待分类数据为文本数据的情况下,可以是生成多个长度不同的文本作为目标数据。
在一种可能的实现方式中,可以通过对待分类数据进行裁剪来得到对应的目标数据,且目标数据中仅包括待分类数据中的一部分内容。例如,至少一个目标数据中包括第一目标数据,第一目标数据是通过裁剪待分类数据中的部分内容得到的。
在另一种可能的实现方式中,可以通过对待分类数据进行裁剪,并将裁剪后所得到的内容融合处理来得到对应的目标数据。例如,至少一个目标数据中包括第二目标数据,第二目标数据是对裁剪待分类数据所得到的多部分内容进行融合处理得到的。
其中,基于待分类数据生成目标数据的方式与上述步骤502中基于原始训练数据生成目标训练数据的方式类似,具体可以参考上述步骤502的描述,此处不再赘述。
总的来说,对于基于待分类数据所得到的目标数据而言,目标数据中至少包括待分类数据中的一部分内容,或者是目标数据中包括基于待分类数据的一部分内容所得到的数据。
示例性地,可以参阅图11和图12,图11为本申请实施例提供的一种数据分类架构的示意图,图12为本申请实施例提供的本申请实施例提供的一种对数据进行分类的流程示意图。如图11所示,本实施例中的分类方法可以基于数据分类架构来实现,该数据分类架构中包括数据扩增模块以及分类模块。其中,数据扩增模块用于执行步骤1002,即数据扩增模块的输入为待分类数据,输出为一个或多个比待分类数据具有更小数据量的目标数据。
如图12所示,假设待分类数据为文本,且待分类数据的文本内容具体为“Hello!How are you!I am fine,thank you!And you?”,则可以基于待分类数据生成两个目标数据,该两个目标数据的文本内容分别为“How are you!I am fine,thank you!And you?”、“I am fine,thank you!And you?”。
步骤1003,将待分类数据和至少一个目标数据输入分类模型,得到对应于多个分类结果。
本实施例中,分类模型具体可以是基于上文所述的分类模型的训练方法所训练得到的模型(即上述步骤504中所述的第二模型),该分类模型能够用于对输入数据进行分类,以确定输入数据所属的类别。
因此,本实施例将待分类数据和至少一个目标数据分别输入分类模型后,分类模型能够输出每个输入数据所对应的分类结果,从而得到多个分类结果。其中,该多个分类结果对应于待分类数据和至少一个目标数据。并且,每个分类结果均是用于指示输入数据是属于“用户生成数据”和“AI生成数据”中的一个。
如图12所示,将待分类数据以及两个目标数据输入至分类模型后,分类模型输出待分类数据以及两个目标数据所对应的分类结果。其中,待分类数据对应的分类结果为“AI生成数据”,第1个目标数据对应的分类结果为“AI生成数据”,第2个目标数据对应的分类结果为“用户生成数据”。
步骤1004,基于多个分类结果,得到目标分类结果,目标分类结果用于作为待分类数据的分类结果。
在基于分类模型得到多个分类结果的情况下,可以综合多个分类结果来得到目标分类结果,该目标分类结果则作为待分类数据的最终分类结果。
本方案中,通过对待分类数据进行扩增,得到多个数据量更小的目标数据,再将待分类数据和目标数据一同输入至分类模型中进行分类,并整合分类模型所输出的多个分类结果,得到待分类数据最终的目标分类结果,能够在多尺度视角下对分类模型的决策进行强化,从而提高数据的分类准确度。
其中,基于多个分类结果得到目标分类结果的方式可以有多种。
在一种可能的实现方式中,可以将多个分类结果进行加权求和,得到目标分类结果。其中,每个分类结果所对应的权重可以是相同,也可以是不同。
可选的,多个分类结果中每个分类结果的权重与每个分类结果对应的模型输入数据的数据量相关。例如,每个分类结果的权重与每个分类结果对应的模型输入数据的数据量具有正相关关系,即模型输入数据的数据量越大,则该模型输入数据所对应的分类结果的权重则越大。这样一来,数据量最大的待分类数据所对应的分类结果则能够具有最大的权重,从而使得在确定目标分类结果的过程中更加关注原始的待分类数据对应的分类结果。
需要说明的是,在对多个分类结果进行加权求和的过程中,可以直接对多个分类结果所指示的分类类别(例如“用户生成数据”或“AI生成数据”)进行加权求和。例如,在图12中,分类模型所输出的前两个分类结果均为“AI生成数据”,后一个分类结果则为“用户生成数据”,在为每个分类结果均赋予相同权重的情况下,可以对各个类型下的分类结果进行加权求和,从而确定求和值更大的“AI生成数据”为最终的目标分类结果。
此外,由于分类模型在确定分类结果时实际上会先输出每种类别所对应的类别,因此每个分类结果实际上包括了每个类别的预测概率,因此在对多个分类结果进行加权求和时,可以是对每个分类结果中的每个类别的预测概率进行加权求和,从而确定求和值最大的类别为最终的目标分类结果。例如,假设分类模型输出三个分类结果,第1个分类结果针对于“用户生成数据”以及“AI生成数据”这两种类别的预测概率为(0.8,0.2),第2个分类结果针对于“用户生成数据”以及“AI生成数据”这两种类别的预测概率为(0.7,0.3),第3个分类结果针对于“用户生成数据”以及“AI生成数据”这两种类别的预测概率为(0.4,0.6)。那么,在三个分类结果的权重分别为0.5、0.3以及0.2的情况下,“用户生成数据”这一类别对应的加权求和值为“0.5*0.8+0.3*0.7+0.2*0.4=0.69”,“AI生成数据”这一类别对应的加权求和值为“0.5*0.2+0.3*0.3+0.2*0.6=0.31”。显然,“用户生成数据”这一类别对应的加权求和值大于“AI生成数据”这一类别对应的加权求和值,因此可以确定目标分类结果为“用户生成数据”。
在另一种可能的实现方式中,可以是基于每一种分类结果类型在多个分类结果中所占的比例来确定目标分类结果。例如,如果某一种分类结果类型在多个分类结果中所占的比例最高,则将这种分类结果类型确定为目标分类结果。示例性地,假设分类模型共输出5个分类结果,其中3个分类结果均为“用户生成数据”,另外2个分类结果则为“AI生成数据”,则代表“用户生成数据”这一类型的分类结果在多个分类结果中占最高的比例,因此将“用户生成数据”作为目标分类结果。
以文本分类为例,通过实验对比,本申请实施例提供的分类方法能够比相关技术的分类方法在各种语料上具有更高的预测精度,具体如表1所示。
表1
针对短文本的预测精度 针对长短文本混合的预测精度
相关技术 0.3352 0.7360
本实施例提供的方法 0.8952 0.9336
由表1可知,在针对短文本以及长短文本混合等语料的预测精度上,本申请实施例提供的分类方法均具有更高的预测精度。
以上详细介绍了本申请实施例提供的方法,接下来将介绍本申请实施例提供的用于执行上述方法的设备。
请参阅图13,图13为本申请实施例提供的一种分类模型的训练装置的结构示意图。如图13所示,该分类模型的训练装置,包括:
获取模块1301,用于获取多个原始训练数据,多个原始训练数据中的每个原始训练数据所对应的类别标签为用户生成数据或AI生成数据;
处理模块1302,用于基于多个原始训练数据得到多个目标训练数据,多个目标训练数据的第一部分数据属于多个原始训练数据,多个目标训练数据的第二部分数据中的每个目标训练数据均是由多个原始训练数据中对应的原始训练数据得到,且每个目标训练数据的数据量小于对应的原始训练数据的数据量;
处理模块1302,还用于将多个目标训练数据输入分类模型,得到对应于多个目标训练数据的多个分类结果;
处理模块1302,还用于基于损失函数值更新第一模型,得到第二模型,损失函数值是基于多个分类结果以及多个目标训练数据对应的类别标签得到的,其中第二部分数据中的部分目标训练数据不具有类别标签,部分目标训练数据的数据量小于预设阈值且对应的原始训练数据是由AI生成。
在一种可能的实现方式中,第二部分数据中的目标训练数据是基于对应的原始训练数据的一部分内容得到的。
在一种可能的实现方式中,第二部分数据中包括第一目标训练数据,第一目标训练数据是通过裁剪第一目标训练数据对应的原始训练数据中的部分内容得到的。
在一种可能的实现方式中,第二部分数据中包括第二目标训练数据,第二目标训练数据是对裁剪第二目标训练数据对应的原始训练数据所得到的多部分内容进行融合处理得到的。
在一种可能的实现方式中,所述多个原始训练数据的数据类型为以下类型中的任意一种:文本、图像、视频以及语音。
在一种可能的实现方式中,所述损失函数值是基于第一子损失函数值得到,所述第一子损失函数值是基于第一差异和第二差异得到的,所述第一差异是所述部分目标训练数据对应的分类结果与为所述目标训练数据假设的类别标签之间的差异,所述第二差异是所述多个目标训练数据中的正样本训练数据对应的分类结果与为所述正样本数据假设的类别标签之间的差异;
其中,为所述目标训练数据以及所述正样本训练数据假设的类别标签均是AI生成数据,所述正样本训练数据包括类别标签为用户生成数据的目标训练数据。
在一种可能的实现方式中,所述损失函数值还基于第二子损失函数值得到,所述第二子损失函数值是基于所述多个分类结果与所述多个目标训练数据对应的类别标签之间的差异均值得到的;
其中,在确定所述第二子损失函数值的过程中,所述部分目标训练数据对应的类别标签为AI生成数据。
在一种可能的实现方式中,所述损失函数值是对所述第一子损失函数值和所述第二子损失函数值进行加权求和得到的,且所述第一子损失函数值和所述第二子损失函数值对应于不同的权重。
请参阅图14,图14为本申请实施例提供的一种分类装置的结构示意图。如图14所示,该分类装置,包括:
获取模块1401,用于获取待分类数据;
处理模块1402,用于基于待分类数据生成至少一个目标数据,至少一个目标数据均是基于待分类数据得到的,且至少一个目标数据的数据量均小于待分类数据的数据量;
处理模块1402,还用于将待分类数据和至少一个目标数据输入分类模型,得到对应于多个分类结果;
处理模块1402,还用于基于多个分类结果,得到目标分类结果,目标分类结果用于作为待分类数据的分类结果。
在一种可能的实现方式中,处理模块1402,还用于将多个分类结果进行加权求和,得到目标分类结果。
在一种可能的实现方式中,多个分类结果中每个分类结果的权重与每个分类结果对应的模型输入数据的数据量相关。
在一种可能的实现方式中,在至少一个目标数据中,不同的目标数据具有不同的数据量。
在一种可能的实现方式中,至少一个目标数据中的每个目标数据均是基于待分类数据的一部分内容得到的。
在一种可能的实现方式中,至少一个目标数据中包括第一目标数据,第一目标数据是通过裁剪待分类数据中的部分内容得到的。
在一种可能的实现方式中,至少一个目标数据中包括第二目标数据,第二目标数据是对裁剪待分类数据所得到的多部分内容进行融合处理得到的。
请参阅图15,图15为本申请实施例提供的执行设备的一种结构示意图,执行设备1500具体可以表现为手机、平板、笔记本电脑、智能穿戴设备、服务器等,此处不做限定。具体的,执行设备1500包括:接收器1501、发射器1502、处理器1503和存储器1504(其中执行设备1500中的处理器1503的数量可以一个或多个,图15中以一个处理器为例),其中,处理器1503可以包括应用处理器15031和通信处理器15032。在本申请的一些实施例中,接收器1501、发射器1502、处理器1503和存储器1504可通过总线或其它方式连接。
存储器1504可以包括只读存储器和随机存取存储器,并向处理器1503提供指令和数据。存储器1504的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1504存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1503控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1503中,或者由处理器1503实现。处理器1503可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1503可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该处理器1503可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1504,处理器1503读取存储器1504中的信息,结合其硬件完成上述方法的步骤。
接收器1501可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器1502可用于通过第一接口输出数字或字符信息;发射器1502还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1502还可以包括显示屏等显示设备。
本申请实施例提供的电子设备具体可以为芯片,芯片包括:处理单元和通信单元,处理单元例如可以是处理器,通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的模型结构的确定方法,或者,以使训练设备内的芯片执行上述实施例描述的模型结构的确定方法。可选地,存储单元为芯片内的存储单元,如寄存器、缓存等,存储单元还可以是无线接入设备端内的位于芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random accessmemory,RAM)等。
具体的,请参阅图16,图16为本申请实施例提供的芯片的一种结构示意图,芯片可以表现为神经网络处理器NPU 1600,NPU 1600作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1603,通过控制器1604控制运算电路1603提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1603内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1603是二维脉动阵列。运算电路1603还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1603是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1602中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1601中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1608中。
统一存储器1606用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)1605,DMAC被搬运到权重存储器1602中。输入数据也通过DMAC被搬运到统一存储器1606中。
BIU为Bus Interface Unit即,总线接口单元1610,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1609的交互。
总线接口单元1610(Bus Interface Unit,BIU),用于取指存储器1609从外部存储器获取指令,还用于存储单元访问控制器1605从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1606或将权重数据搬运到权重存储器1602中或将输入数据数据搬运到输入存储器1601中。
向量计算单元1607包括多个运算处理单元,在需要的情况下,对运算电路1603的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如批归一化(Batch Normalization),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1607能将经处理的输出的向量存储到统一存储器1606。例如,向量计算单元1607可以将线性函数;或,非线性函数应用到运算电路1603的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1607生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1603的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1604连接的取指存储器(instruction fetch buffer)1609,用于存储控制器1604使用的指令;
统一存储器1606,输入存储器1601,权重存储器1602以及取指存储器1609均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述程序执行的集成电路。
可以参阅图17,图17为本申请实施例提供的一种计算机可读存储介质的结构示意图。本申请还提供了一种计算机可读存储介质,在一些实施例中,上述图5所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。
图17示意性地示出根据这里展示的至少一些实施例而布置的示例计算机可读存储介质的概念性局部视图,示例计算机可读存储介质包括用于在计算设备上执行计算机进程的计算机程序。
在一个实施例中,计算机可读存储介质1700是使用信号承载介质1701来提供的。信号承载介质1701可以包括一个或多个程序指令1702,其当被一个或多个处理器运行时可以提供以上针对图5描述的功能或者部分功能。
在一些示例中,信号承载介质1701可以包含计算机可读介质1703,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、ROM或RAM等等。
在一些实施方式中,信号承载介质1701可以包含计算机可记录介质1704,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1701可以包含通信介质1705,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1701可以由无线形式的通信介质1705(例如,遵守IEEE 802.11标准或者其它传输协议的无线通信介质)来传达。
一个或多个程序指令1702可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,计算设备的计算设备可以被配置为,响应于通过计算机可读介质1703、计算机可记录介质1704、和/或通信介质1705中的一个或多个传达到计算设备的程序指令1702,提供各种操作、功能、或者动作。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(SolidState Disk,SSD))等。

Claims (30)

1.一种分类模型的训练方法,其特征在于,包括:
获取多个原始训练数据,所述多个原始训练数据中的每个原始训练数据所对应的类别标签为用户生成数据或人工智能AI生成数据;
基于所述多个原始训练数据得到多个目标训练数据,所述多个目标训练数据的第一部分数据属于所述多个原始训练数据,所述多个目标训练数据的第二部分数据中的每个目标训练数据均是由所述多个原始训练数据中对应的原始训练数据得到,且所述每个目标训练数据的数据量小于对应的原始训练数据的数据量;
将所述多个目标训练数据输入分类模型,得到对应于所述多个目标训练数据的多个分类结果;
基于损失函数值更新所述第一模型,得到第二模型,所述损失函数值是基于所述多个分类结果以及所述多个目标训练数据对应的类别标签得到的,其中所述第二部分数据中的部分目标训练数据不具有类别标签,所述部分目标训练数据的数据量小于预设阈值且对应的原始训练数据是由AI生成。
2.根据权利要求1所述的方法,其特征在于,所述第二部分数据中的目标训练数据是基于对应的原始训练数据的一部分内容得到的。
3.根据权利要求1或2所述的方法,其特征在于,所述第二部分数据中包括第一目标训练数据,所述第一目标训练数据是通过裁剪所述第一目标训练数据对应的原始训练数据中的部分内容得到的。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述第二部分数据中包括第二目标训练数据,所述第二目标训练数据是对裁剪所述第二目标训练数据对应的原始训练数据所得到的多部分内容进行融合处理得到的。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述多个原始训练数据的数据类型为以下类型中的任意一种:文本、图像、视频以及语音。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述损失函数值是基于第一子损失函数值得到,所述第一子损失函数值是基于第一差异和第二差异得到的,所述第一差异是所述部分目标训练数据对应的分类结果与为所述目标训练数据假设的类别标签之间的差异,所述第二差异是所述多个目标训练数据中的正样本训练数据对应的分类结果与为所述正样本数据假设的类别标签之间的差异;
其中,为所述目标训练数据以及所述正样本训练数据假设的类别标签均是AI生成数据,所述正样本训练数据包括类别标签为用户生成数据的目标训练数据。
7.根据权利要求6所述的方法,其特征在于,所述损失函数值还基于第二子损失函数值得到,所述第二子损失函数值是基于所述多个分类结果与所述多个目标训练数据对应的类别标签之间的差异均值得到的;
其中,在确定所述第二子损失函数值的过程中,所述部分目标训练数据对应的类别标签为AI生成数据。
8.根据权利要求7所述的方法,其特征在于,所述损失函数值是对所述第一子损失函数值和所述第二子损失函数值进行加权求和得到的,且所述第一子损失函数值和所述第二子损失函数值对应于不同的权重。
9.一种分类方法,其特征在于,包括:
获取待分类数据;
基于所述待分类数据生成至少一个目标数据,所述至少一个目标数据均是基于所述待分类数据得到的,且所述至少一个目标数据的数据量均小于所述待分类数据的数据量;
将所述待分类数据和所述至少一个目标数据输入分类模型,得到对应于多个分类结果;
基于所述多个分类结果,得到目标分类结果,所述目标分类结果用于作为所述待分类数据的分类结果。
10.根据权利要求9所述的方法,其特征在于,所述基于所述多个分类结果,得到目标分类结果,包括:
将所述多个分类结果进行加权求和,得到所述目标分类结果。
11.根据权利要求10所述的方法,其特征在于,所述多个分类结果中每个分类结果的权重与所述每个分类结果对应的模型输入数据的数据量相关。
12.根据权利要求9-11任意一项所述的方法,其特征在于,在所述至少一个目标数据中,不同的目标数据具有不同的数据量。
13.根据权利要求9-12任意一项所述的方法,其特征在于,所述至少一个目标数据中的每个目标数据均是基于所述待分类数据的一部分内容得到的。
14.根据权利要求9-13任意一项所述的方法,其特征在于,所述至少一个目标数据中包括第一目标数据,所述第一目标数据是通过裁剪所述待分类数据中的部分内容得到的。
15.根据权利要求9-14任意一项所述的方法,其特征在于,所述至少一个目标数据中包括第二目标数据,所述第二目标数据是对裁剪所述待分类数据所得到的多部分内容进行融合处理得到的。
16.一种分类模型的训练装置,其特征在于,包括:
获取模块,用于获取多个原始训练数据,所述多个原始训练数据中的每个原始训练数据所对应的类别标签为用户生成数据或AI生成数据;
处理模块,用于基于所述多个原始训练数据得到多个目标训练数据,所述多个目标训练数据的第一部分数据属于所述多个原始训练数据,所述多个目标训练数据的第二部分数据中的每个目标训练数据均是由所述多个原始训练数据中对应的原始训练数据得到,且所述每个目标训练数据的数据量小于对应的原始训练数据的数据量;
所述处理模块,还用于将所述多个目标训练数据输入分类模型,得到对应于所述多个目标训练数据的多个分类结果;
所述处理模块,还用于基于损失函数值更新所述第一模型,得到第二模型,所述损失函数值是基于所述多个分类结果以及所述多个目标训练数据对应的类别标签得到的,其中所述第二部分数据中的部分目标训练数据不具有类别标签,所述部分目标训练数据的数据量小于预设阈值且对应的原始训练数据是由AI生成。
17.根据权利要求16所述的装置,其特征在于,所述第二部分数据中的目标训练数据是基于对应的原始训练数据的一部分内容得到的。
18.根据权利要求16或17所述的装置,其特征在于,所述第二部分数据中包括第一目标训练数据,所述第一目标训练数据是通过裁剪所述第一目标训练数据对应的原始训练数据中的部分内容得到的。
19.根据权利要求16-18任意一项所述的装置,其特征在于,所述第二部分数据中包括第二目标训练数据,所述第二目标训练数据是对裁剪所述第二目标训练数据对应的原始训练数据所得到的多部分内容进行融合处理得到的。
20.一种分类装置,其特征在于,包括:
获取模块,用于获取待分类数据;
处理模块,用于基于所述待分类数据生成至少一个目标数据,所述至少一个目标数据均是基于所述待分类数据得到的,且所述至少一个目标数据的数据量均小于所述待分类数据的数据量;
所述处理模块,还用于将所述待分类数据和所述至少一个目标数据输入分类模型,得到对应于多个分类结果;
所述处理模块,还用于基于所述多个分类结果,得到目标分类结果,所述目标分类结果用于作为所述待分类数据的分类结果。
21.根据权利要求20所述的装置,其特征在于,所述处理模块,还用于将所述多个分类结果进行加权求和,得到所述目标分类结果。
22.根据权利要求21所述的装置,其特征在于,所述多个分类结果中每个分类结果的权重与所述每个分类结果对应的模型输入数据的数据量相关。
23.根据权利要求20-22任意一项所述的装置,其特征在于,在所述至少一个目标数据中,不同的目标数据具有不同的数据量。
24.根据权利要求20-23任意一项所述的装置,其特征在于,所述至少一个目标数据中的每个目标数据均是基于所述待分类数据的一部分内容得到的。
25.根据权利要求20-24任意一项所述的装置,其特征在于,所述至少一个目标数据中包括第一目标数据,所述第一目标数据是通过裁剪所述待分类数据中的部分内容得到的。
26.根据权利要求20-25任意一项所述的装置,其特征在于,所述至少一个目标数据中包括第二目标数据,所述第二目标数据是对裁剪所述待分类数据所得到的多部分内容进行融合处理得到的。
27.一种分类模型的训练装置,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述装置执行如权利要求1至8任意一项所述的方法。
28.一种分类装置,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述装置执行如权利要求9至15任意一项所述的方法。
29.一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,所述指令在由计算机执行时使得所述计算机实施权利要求1至15任意一项所述的方法。
30.一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时使得所述计算机实施权利要求1至15任意一项所述的方法。
CN202310444662.7A 2023-04-14 2023-04-14 一种分类模型的训练方法及相关装置 Pending CN116401552A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310444662.7A CN116401552A (zh) 2023-04-14 2023-04-14 一种分类模型的训练方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310444662.7A CN116401552A (zh) 2023-04-14 2023-04-14 一种分类模型的训练方法及相关装置

Publications (1)

Publication Number Publication Date
CN116401552A true CN116401552A (zh) 2023-07-07

Family

ID=87014115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310444662.7A Pending CN116401552A (zh) 2023-04-14 2023-04-14 一种分类模型的训练方法及相关装置

Country Status (1)

Country Link
CN (1) CN116401552A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117095416A (zh) * 2023-07-19 2023-11-21 人民网股份有限公司 文本来源识别方法、装置、计算设备及存储介质
CN117892799A (zh) * 2024-03-15 2024-04-16 中国科学技术大学 以多层次任务为导向的金融智能分析模型训练方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117095416A (zh) * 2023-07-19 2023-11-21 人民网股份有限公司 文本来源识别方法、装置、计算设备及存储介质
CN117095416B (zh) * 2023-07-19 2024-03-29 人民网股份有限公司 文本来源识别方法、装置、计算设备及存储介质
CN117892799A (zh) * 2024-03-15 2024-04-16 中国科学技术大学 以多层次任务为导向的金融智能分析模型训练方法及系统

Similar Documents

Publication Publication Date Title
KR102434728B1 (ko) 처리방법 및 장치
Chen et al. ReGAN: A pipelined ReRAM-based accelerator for generative adversarial networks
CN112183718B (zh) 一种用于计算设备的深度学习训练方法和装置
WO2022068623A1 (zh) 一种模型训练方法及相关设备
US11423288B2 (en) Neuromorphic synthesizer
CN113326930B (zh) 数据处理方法、神经网络的训练方法及相关装置、设备
CN116401552A (zh) 一种分类模型的训练方法及相关装置
Kung et al. Efficient object detection using embedded binarized neural networks
WO2021218517A1 (zh) 获取神经网络模型的方法、图像处理方法及装置
CN113065636A (zh) 一种卷积神经网络的剪枝处理方法、数据处理方法及设备
CN114997412A (zh) 一种推荐方法、训练方法以及装置
Hu et al. Quantized STDP-based online-learning spiking neural network
CN115512005A (zh) 一种数据处理方法及其装置
CN115879508A (zh) 一种数据处理方法及相关装置
CN116468114A (zh) 一种联邦学习方法及相关装置
Guan et al. Recursive binary neural network training model for efficient usage of on-chip memory
CN113656563A (zh) 一种神经网络搜索方法及相关设备
CN110083842B (zh) 译文质量检测方法、装置、机器翻译系统和存储介质
US10990525B2 (en) Caching data in artificial neural network computations
CN111898636B (zh) 一种数据处理方法及装置
US20240135174A1 (en) Data processing method, and neural network model training method and apparatus
Shakibhamedan et al. EASE: Energy Optimization through Adaptation–A Review of Runtime Energy-Aware Approximate Deep Learning Algorithms
CN116306815A (zh) 一种模型结构的确定方法及相关装置
CN117391138A (zh) 一种数据处理方法及其装置
Bytyn Efficiency and scalability exploration of an application-specific instruction-set processor for deep convolutional neural networks

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