CN111797895B - 一种分类器的训练方法、数据处理方法、系统以及设备 - Google Patents
一种分类器的训练方法、数据处理方法、系统以及设备 Download PDFInfo
- Publication number
- CN111797895B CN111797895B CN202010480915.2A CN202010480915A CN111797895B CN 111797895 B CN111797895 B CN 111797895B CN 202010480915 A CN202010480915 A CN 202010480915A CN 111797895 B CN111797895 B CN 111797895B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- sample
- training
- classifier
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/048—Activation functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了人工智能领域的一种分类器的训练方法,可以减少噪声标签的影响,获得一个分类效果良好的分类器。该方法包括:获取样本数据集,该样本数据集中的每个样本均包括第一标签。将样本数据集划分为K份子样本数据集,从K份子样本数据集中确定一组数据作为测试数据集,除测试数据集之外的其他子样本数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。至少依据第一标签和第二标签获取第一指标和第一超参数。至少依据第一超参数获取分类器的损失函数,损失函数用于更新分类器。当第一指标满足第一预设条件时,完成分类器的训练。
Description
技术领域
本发明涉及人工智能领域,具体涉及一种分类器的训练方法、数据处理方法、系统以及设备。
背景技术
随着深度学习的快速发展,大数据集也变得越来越普遍。对于监督学习来说,训练数据所对应的标签质量对于学习效果起到至关重要的作用。如果学习时使用的标签数据是错误的,就很难获得一个有效的预测模型。然而,在实际应用中,许多数据集都含有噪声,即数据的标签不正确。导致数据集含有噪声的原因很多,包括:人工打标错误、数据收集过程中有错误或者通过在线问询客户获取标签的方式难以保证标签质量。
处理噪声标签的一般做法就是不断地对数据集进行检查,找出标签错误的样本,并修正其标签。但这种方案往往需要大量的人力来修正标签。还有一些方案通过设计噪声鲁棒的损失函数或采用噪声检测算法筛选出噪声样本并删除。其中一些方法对噪声分布进行假设,只适用于某些特定的噪声分布情况,因此分类效果难以保证。再或者是需要干净的数据集来辅助。但在实际应用中,一份干净的数据常常难以获得,这种方案的实施存在瓶颈。
发明内容
本申请实施例提供一种分类器的训练方法,不需要额外的干净数据集和额外的人工标注,就可以获得一个分类效果良好的分类器。
为了达到上述目的,本申请提供如下技术方案:
本申请第一方面提供一种分类器的训练方法,可以包括:获取样本数据集,样本数据集可以包括多个样本,多个样本中的每个样本均可以包括第一标签,第一标签可以包括一个也可以包括多个标签。样本数据集中包括的多个样本可以是图像数据,音频数据,还可以是文本数据等等。将样本数据集划分为K份子样本数据集,从K份子样本数据集中确定一组数据作为测试数据集,K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集,K为大于1的整数。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。至少依据第一标签和第二标签获取第一指标和第一超参数,第一指标为测试数据集中第二标签不等于第一标签的样本数与测试数据中的总样本数的比值。至少依据第一超参数获取分类器的损失函数,损失函数用于更新分类器。当第一指标满足第一预设条件时,完成分类器的训练。本申请通过第一指标来判断模型是否收敛。其中预设条件可以是第一指标是否达到预先设定的阈值,当第一指标达到该阈值时,则无需更新第一超参数,即无需更新损失函数,可以认为分类器训练完成。或者该预设条件还可以根据连续几次迭代训练的结果确定,具体的,该连续几次迭代结果的第一指标相同,或者联系几次迭代结果确定的第一指标的波动小于预先设定的阈值,则无需更新第一超参数,即无需更新损失函数。由第一方面可知,至少依据第一超参数获取分类器的损失函数,通过该损失函数用于更新分类器,通过这样的方式,可以减少标签噪声的影响。此外,本申请提供的方案不需要额外的干净数据集和额外的人工标注,就可以获得一个分类效果良好的分类器。
可选地,结合上述第一方面,在第一种可能的实施方式中,第一超参数根据第一指标和第二指标确定,第二指标为测试数据集中第二标签不等于第一标签的全部样本的损失值的平均值。由第一方面第一种可能的实施方式可知,给出一种第一超参数的确定方式,通过此种方式确定的第一超参数用于更新分类器的损失函数,在通过该损失函数更新分类器,提升分类器的性能,具体可以提升分类器的准确度。
可选地,结合上述第一方面第一种可能的实现方式,在第二种可能的实施方式中,第一超参数通过以下公式表示:
其中,C*为第二指标,q*为第一指标,a大于0,b大于0。
可选地,结合上述第一方面或第一方面第一种或第一方面第二种可能的实施方式,在第三种可能的实施方式中,至少依据第一超参数获取分类器的损失函数,可以包括:至少依据第一超参数以及交叉熵获取分类器的损失函数。
可选地,结合上述第一方面第三种可能的实施方式,在第四种可能的实施方式中,损失函数通过以下公式表示:
ei用于表示第一样本的第一标签对应的第一向量,f(x)用于表示第一样本的第二标签对应的第二向量,第一向量和第二向量的维度相同,第一向量和第二向量的维度为测试数据集中样本的类别的数目。
可选地,结合上述第一方面或第一方面第一种至第一方面第四种可能的实施方式,在第五种可能的实施方式中,将样本数据集划分为K份子样本数据集,可以包括:将样本数据集均分为K份子样本数据集。
可选地,结合上述第一方面或第一方面第一种至第一方面第五种可能的实施方式,在第六种可能的实施方式中,该分类器可以包括卷积神经网络CNN和残差网络ResNet。
本申请第二方面提供一种数据处理方法,可以包括:获取数据集,数据集包含多个样本,多个样本中的每个样本均可以包括第一标签。将数据集划分为K份子数据集,K为大于1的整数。对数据集进行至少一次分类,以得到数据集的第一干净数据,至少一次分类中的任意一次分类可以包括:从K份子数据集中确定一组数据作为测试数据集,K份子数据集中除测试数据集之外的其他子数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第一干净数据可以包括测试数据集中第二标签和第一标签一致的样本。由第二方面可知,通过本申请提供的方案,可以对带噪数据集进行筛选,获得该带噪数据集的干净数据。
可选地,结合上述第二方面,在第一种可能的实施方式中,对数据集进行至少一次分类,以得到数据集的第一干净数据之后,该方法还可以包括:将数据集划分为M份子数据集,M为大于1的整数,M份子数据集与K份子数据集不同。对数据集进行至少一次分类,以得到数据集的第二干净数据,至少一次分类中的任意一次分类可以包括:从M份子数据集中确定一组数据作为测试数据集,M份子数据集中除测试数据集之外的其他子数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第二干净数据可以包括测试数据集中第二标签和第一标签一致的样本。根据第一干净数据和第二干净数据确定第三干净数据,第三干净数据为第一干净数据和第二干净数据的交集。由第二方面第一种可能的实施方式可知,为了得到更好的分类效果,即得到更加干净的数据,还可以对该数据集重新分组,根据重新分组后的子数据集确定数据集的干净数据。
本申请第三方面提供一种数据处理方法,可以包括:获取数据集,数据集包含多个样本,多个样本中的每个样本均可以包括第一标签。通过分类器对数据集进行分类,以确定数据集中每个样本的第二标签。确定数据集中第二标签和第一标签一致的样本为数据集的干净样本,分类器为通过权利要求1至7任一项的训练方法得到的分类器。
本申请第四方面提供一种分类器的训练系统,该数据处理系统可以包括云侧设备和端侧设备,端侧设备,用于获取样本数据集,样本数据集可以包括多个样本,多个样本中的每个样本均可以包括第一标签。云侧设备,用于:将样本数据集划分为K份子样本数据集,从K份子样本数据集中确定一组数据作为测试数据集,K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集,K为大于1的整数。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。至少依据第一标签和第二标签获取第一指标和第一超参数,第一指标为测试数据集中第二标签不等于第一标签的样本数与测试数据中的总样本数的比值。至少依据第一超参数获取分类器的损失函数,并根据损失函数得到更新后的分类器。当第一指标满足第一预设条件时,完成分类器的训练。
本申请第五方面提供一种数据处理系统,该数据处理系统可以包括云侧设备和端侧设备,端侧设备,用于获取数据集,数据集包含多个样本,多个样本中的每个样本均可以包括第一标签。云侧设备,用于:将样本数据集划分为K份子数据集,K为大于1的整数。对数据集进行至少一次分类,以得到数据集的第一干净数据,至少一次分类中的任意一次分类可以包括:从K份子样本数据集中确定一组数据作为测试数据集,K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第一干净数据可以包括测试数据集中第二标签和第一标签一致的样本。向端侧设备发送第一干净数据。
本申请第六方面提供一种分类器的训练装置,可以包括:获取模块,用于获取样本数据集,样本数据集可以包括多个样本,多个样本中的每个样本均可以包括第一标签。划分模块,用于将样本数据集划分为K份子样本数据集,从K份子样本数据集中确定一组数据作为测试数据集,K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集,K为大于1的整数。训练模块,用于:通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。至少依据第一标签和第二标签获取第一指标和第一超参数,第一指标为测试数据集中第二标签不等于第一标签的样本数与测试数据中的总样本数的比值。至少依据第一超参数获取分类器的损失函数,并根据损失函数得到更新后的分类器。当第一指标满足第一预设条件时,完成分类器的训练。
可选地,结合上述第六方面,在第一种可能的实施方式中,第一超参数根据第一指标和第二指标确定,第二指标为测试数据集中第二标签不等于第一标签的全部样本的损失值的平均值。
可选地,结合上述第六方面第一种可能的实现方式,在第二种可能的实施方式中,第一超参数通过以下公式表示:
其中,C*为第二指标,q*为第一指标,a大于0,b大于0。
可选地,结合上述第六方面或第六方面第一种或第六方面第二种可能的实施方式,在第三种可能的实施方式中,训练模块,具体用于:至少依据以第一超参数为自变量的函数以及交叉熵获取分类器的损失函数。
可选地,结合上述第六方面第三种可能的实施方式,在第四种可能的实施方式中,以第一超参数为自变量的函数通过以下公式表示:
y=γf(x)T(1-ei)
ei用于表示第一样本的第一标签对应的第一向量,f(x)用于表示第一样本的第二标签对应的第二向量,第一向量和第二向量的维度相同,第一向量和第二向量的维度为测试数据集中样本的类别的数目。
可选地,结合上述第六方面或第六方面第一种至第一方面第四种可能的实施方式,在第五种可能的实施方式中,获取模块,具体用于将样本数据集均分为K份子样本数据集。
可选地,结合上述第六方面或第六方面第一种至第六方面第五种可能的实施方式,在第六种可能的实施方式中,训练数据集包含的多个样本的数量为测试数据集包含的多个样本的数量的k倍,k为大于0的整数。
本申请第七方面提供一种数据处理装置,可以包括:获取模块,用于获取数据集,数据集包含多个样本,多个样本中的每个样本均可以包括第一标签。划分模块,用于将样本数据集划分为K份子数据集,K为大于1的整数。分类模块,用于:对数据集进行至少一次分类,以得到数据集的第一干净数据,至少一次分类中的任意一次分类可以包括:从K份子样本数据集中确定一组数据作为测试数据集,K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第一干净数据可以包括测试数据集中第二标签和第一标签一致的样本。
可选地,结合第七方面,在第一种可能的实施方式中,划分模块,还用于将样本数据集划分为M份子数据集,M为大于1的整数,M份子数据集与K份子数据集不同。分类模块,还用于:对数据集进行至少一次分类,以得到数据集的第二干净数据,至少一次分类中的任意一次分类可以包括:从M份子样本数据集中确定一组数据作为测试数据集,M份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第二干净数据可以包括测试数据集中第二标签和第一标签一致的样本。根据第一干净数据和第二干净数据确定第三干净数据,第三干净数据为第一干净数据和第二干净数据的交集。
本申请第八方面提供一种数据处理装置,可以包括:获取模块,用于获取数据集,数据集包含多个样本,多个样本中的每个样本均可以包括第一标签。分类模块,用于:通过分类器对数据集进行分类,以确定数据集中每个样本的第二标签。确定数据集中第二标签和第一标签一致的样本为数据集的干净样本,分类器为通过权利要求1至7任一项的训练方法得到的分类器。
本申请第九方面提供一种分类器的训练装置,可以包括处理器和存储器,处理器和存储器耦合,处理器调用存储器中的程序代码用于执行上述第一方面或第一方面任一项所描述的方法。
本申请第十方面提供一种数据处理装置,可以包括处理器,处理器和存储器耦合,存储器存储有程序,当存储器存储的程序指令被处理器执行时实现第二方面或第二方面任一项所描述的方法。
本申请第十一方面提供一种计算机可读存储介质,可以包括程序,当其在计算机上执行时,执行第一方面或第一方面任一项所描述的方法。
本申请第十二方面提供一种计算机可读存储介质,可以包括程序,当其在计算机上执行时,执行如第二方面或第二方面任一项所描述的方法。
本申请第十三方面提供一种模型训练装置,可以包括处理器和通信接口,处理器通过通信接口获取程序指令,当程序指令被处理器执行时上述第一方面或第一方面任一项所描述的方法。
本申请第十四方面提供一种数据处理装置,可以包括处理器和通信接口,处理器通过通信接口获取程序指令,当程序指令被处理单元执行时第二方面或第二方面任一项所描述的方法。
附图说明
图1本申请应用的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种卷积神经网络结构示意图;
图3为本申请实施例提供的另一种卷积神经网络结构示意图;
图4为本申请提供的一种分类器的训练方法的流程示意图;
图5为本申请提供的另一种分类器的训练方法的流程示意图;
图6为本申请提供的另一种分类器的训练方法的流程示意图;
图7为本申请提供的一种数据处理方法的流程示意图;
图8为本申请提供的另一种数据处理方法的流程示意图;
图9为本申请实施例提供的一种数据处理方法的准确率示意图;
图10为本申请实施例提供的一种分类器的训练装置的结构示意图;
图11为本申请实施例提供的一种数据处理装置的结构示意图;
图12为本申请实施例提供的另一种分类器的训练装置的结构示意图;
图13为本申请实施例提供的另一种数据处理装置的结构示意图;
图14为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了能够更好的理解本申请所描述的技术方案,下面对本申请实施例所涉及的关键技术术语进行解释:
由于本申请实施例涉及到了大量神经网络的应用,为了便于理解,下面先对本申请实施例涉及的相关术语及神经网络等相关概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以如下公式所示:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
神经网络有多种类型,例如,深度神经网络(deep neural network,DNN),也称多层神经网络,也就是具有多层隐含层的神经网络;再例如,卷积神经网络(convolutionalneuron network,CNN),是带有卷积结构的深度神经网络。本申请不限定涉及的神经网络的具体类型。
(2)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(3)循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播算法,不过有一点区别:即,如果将RNN进行网络展开,那么其中的参数,如W,是共享的;而如上举例上述的传统神经网络却不是这样。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,还依赖前面若干步网络的状态。该学习算法称为基于时间的反向传播算法(back propagation through time,BP20200202TT)。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(4)残差网络
在不断加神经网络的深度时,会出现退化的问题,即随着神经网络深度的增加,准确率先上升,然后达到饱和,再持续增加深度则会导致准确率下降。普通直连的卷积神经网络和残差网络(residual network,ResNet)的最大区别在于,ResNet有很多旁路的支线将输入直接连到后面的层,通过直接将输入信息绕道传到输出,保护信息的完整性,解决退化的问题。残差网络包括卷积层和/或池化层。
残差网络可以是:深度神经网络中多个隐含层之间除了逐层相连之外,例如第1层隐含层连接第2层隐含层,第2层隐含层连接第3层隐含层,第3层隐含层连接第4层隐含层(这是一条神经网络的数据运算通路,也可以形象的称为神经网络传输),残差网络还多了一条直连支路,这条直连支路从第1层隐含层直接连到第4层隐含层,即跳过第2层和第3层隐含层的处理,将第1层隐含层的数据直接传输给第4层隐含层进行运算。公路网络可以是:深度神经网络中除了有上面所述的运算通路和直连分支之外,还包括一条权重获取分支,这条支路引入传输门(transform gate)进行权重值的获取,并输出权重值T供上面的运算通路和直连分支后续的运算使用。
(5)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(6)超参数(hyper-parameter)
超参数是在开始学习过程之前设置值的参数,是不通过训练得到的参数。超参数用于调节神经网络的训练过程,例如卷积神经网络的隐藏层的数量,核函数的大小,数量等等。超参数并不直接参与到训练的过程,而只是配置变量。需要注意的是在训练过程中,超参数往往都是不变的。现在使用的各种神经网络,再经由数据,通过某种学习算法训练后,便得到了一个可以用来进行预测,估计的模型,如果这个模型表现的不好,有经验的工作者便会调整网络结构,算法中学习率或是每批处理的样本的个数等不通过训练得到的参数,一般称之为超参数。通常是通过大量的实践经验来调整超参数,使得神经网络的模型表现更为优秀,直到神经网络的输出满足需求。本申请所提及的一组超参数组合,即包括了神经网络的全部或者部分超参数的值。通常,神经网络由许多神经元组成,输入的数据通过这些神经元来传输到输出端。在神经网络训练时候,每个神经元的权重会随着损失函数的值来优化从而减小损失函数的值。这样便可以通过算法来优化参数得到模型。而超参数是用来调节整个网络训练过程的,如前述的卷积神经网络的隐藏层的数量,核函数的大小或数量等等。超参数并不直接参与到训练的过程中,而只作为配置变量。
本申请提供的神经网络优化方法可以应用于人工智能(artificialintelligence,AI)场景中。AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片,如中央处理器(centralprocessing unit,CPU)、网络处理器(neural-network processing unit,NPU)、图形处理器(英语:graphics processing unit,GPU)、专用集成电路(applicationspecificintegrated circuit,ASIC)或现场可编程逻辑门阵列(field programmablegate array,FPGA)等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
在上述的场景中,神经网络作为重要的节点,用于实现机器学习,深度学习,搜索,推理,决策等。本申请提及的神经网络可以包括多种类型,如深度神经网络(deep neuralnetworks,DNN)、卷积神经网络(convolutional neural networks,CNN)、循环神经网络(recurrent neural networks,RNN)、残差网络或其他神经网络等。下面对一些神经网络进行示例性介绍。
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,示例性地,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,WS为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid,修正线性单元(rectified linear unit,ReLU),tanh等等函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
卷积神经网络(convolutional neural networks,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,我们都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
卷积神经网络可以采用误差反向传播(back propagation,BP20200202)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
示例性地,下面以卷积神经网络(convolutional neural networks,CNN)为例。
CNN是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。
如图2所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
如图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)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图2中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图2所示的131、132至13n)以及输出层140。在本申请中,该卷积神经网络为:以延迟预测模型的输出作为约束条件对超级单元进行搜索得到至少一个第一构建单元,并对该至少一个第一构建单元进行堆叠得到。该卷积神经网络可以用于图像识别,图像分类,图像超分辨率重建等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图2由110至140的传播为前向传播)完成,反向传播(如图2由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图3所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
通常对于监督学习来说,训练数据所对应的标签质量对于学习效果起到至关重要的作用。如果学习时使用的标签数据是错误的,就很难获得一个有效的预测模型。然而,在实际应用中,许多数据集都含有噪声,即数据的标签不正确。导致数据集含有噪声的原因很多,包括:人工打标错误、数据收集过程中有错误或者通过在线问询客户获取标签的方式难以保证标签质量。
处理噪声标签的一般做法就是不断地对数据集进行检查,找出标签错误的样本,并修正其标签。但这种方案往往需要大量的人力来修正标签。如果采用模型预测结果来修正标签的方式,则难以保证重新标注的标签质量。此外,还有一些方案通过设计噪声鲁棒的损失函数或采用噪声检测算法筛选出噪声样本并删除。其中一些方法对噪声分布进行假设,只适用于某些特定的噪声分布情况,因此分类效果难以保证。再或者是需要干净的数据集来辅助。但在实际应用中,一份干净的数据常常难以获得,这种方案的实施存在瓶颈。
因此,本申请提供一种模型训练方法,用于从噪声数据集下筛选出干净数据集,噪声数据集是指数据中存在部分数据的标签不正确。
参阅图4,本申请提供的一种分类器的训练方法的流程示意图,如下所述。
401、获取样本数据集。
该样本数据集包括多个样本,该多个样本中的每个样本均包括第一标签。
样本数据集中包括的多个样本可以是图像数据,音频数据,还可以是文本数据等等,本申请实施例并不对此进行限定。
该多个样本中的每个样本均包括第一标签,其中,该第一标签可以包括一个也可以包括多个标签。需要说明的是,本申请有时也将标签称为类别标签,再不强调二者区别的时候,二者表示相同的意思。
以该多个样本是图像数据为例对第一标签可以包括一个也可以包括多个标签进行说明。假设该样本数据集包括多个图像样本数据,假设该样本数据集是单标签分类的,在这种场景下,每一个图像样本数据仅对应于一个类别标签,即具有唯一的语义意义,在这种场景下,可以认为第一标签包括一个标签。在更多的场景下,考虑到客观对象本身所存在的语义多样性,物体很可能同时与多个不同的类别标签相关,或者常使用多个相关的类别标签来描述每个对象所对应的语义信息。以图像样本数据为例,该图像样本数据可能同时与多个不同的类别标签相关。例如,一个图像样本数据可能同时对应多个标签,如“草地”,“天空”和“大海”,则该第一标签可以包括“草地”,“天空”和“大海”,在这种场景下,可以认为该第一标签包括多个标签。
402、将样本数据集划分为K份子样本数据集,从该K份子样本数据集中确定一组数据作为测试数据集,将该K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集。
K为大于1的整数。举例说明,假设该样本数据集包括1000份样本,K为5,则可以将该1000份样本划分为5组子样本数据集(或者5份子样本数据集,本申请实施例中使用的量词并不影响方案的实质),该5组子样本数据集分别为第一子样本数据集,第二子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集。可以选择这五组子样本数据集中的任意一组作为测试数据集,将除该测试数据集之外的其他子样本数据集作为训练数据集。比如,可以选择第一子样本数据集作为测试数据集,则第二子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集作为训练数据集。再比如,可以选择第二子样本集合作为测试数据集,则第一子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集则为训练数据集。
在一个可能的实施方式中,可以将该样本数据集均分为K份子样本数据集。比如,以上面1000份样本数据为例,均分后的第一子样本数据集,第二子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集包括相同数目的样本数,比如第一子样本数据集,第二子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集都包括200份样本数据。需要说明的是,在实际应用中,由于样本数据集包括的样本数目可能非常巨大,该K份子样本数据集中每一份子样本数据集包括的样本的数目之间的偏差如果在一定范围,都可以认为是将该样本数据集均分为K份子样本数据集。举例说明,比如第一子样本数据集包括10000份样本,第二子样本数据集包括10005份样本,第三子样本数据集包括10020份样本,第四子样本数据集包括10050,则可以认为第一子样本数据集,第二子样本数据集,第三子样本数据集以及第四子样本数据集是均分的。
在一个可能的实施方式中,K是大于2小于20的整数。
403、通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。
比如,在标签包括图像类别时,可以采用深度神经网络模型对训练数据集中的图像样本数据进行分类,得到样本的预测类别,即预测标签。该预测类别或者预测标签即为本申请方案中涉及的第二标签。
本申请提供的分类器可以是多种神经网络,本申请有时也将分类器称为神经网络模型,或者简称为模型,在不强调他们之间的区别之时,他们表示相同的意思。在一个可能的实施方式中,本申请提供的分类器可以是CNN,具体的可以是4层CNN(4-layer CNN),比如,该神经网络可以包括2层卷积层和2层全连接层,在卷积神经网络的最后接上几层全连接层,用来把前边提取到的特征综合起来。或者,本申请提供的分类器还可以是8层CNN(8-layer CNN),比如,该神经网络可以包括6层卷积层和2层全连接层。或者,本申请提供的分类器还可以是ResNet,比如可以是ResNet-44,ResNet的结构可以极快地加速超深神经网络的训练,模型的准确率也有非常大的提升。需要说明的是,本申请提供的分类器还可以是其他神经网络模型,上述提到的几种神经网络模型仅作为几种优选的方案。
下面对第二标签进行解释说明,神经网络模型可以包括输出层,该输出层可以包括多个输出函数,每个输出函数用于输出相应标签如类别的预测结果,如预测标签、预测标签对应的预测概率等等。比如,深度网络模型的输出层可以包括m个输出函数如Sigmoid函数,该m为多标签图像训练集对应的标签数量,例如,在标签为类别时,m为多标签图像训练集的类别数量,该m为正整数。其中,每个输出函数如Sigmoid函数的输出可以包括给定训练图像属于某一个标签如物体类别、和/或概率值,即预测概率。举例说明,假设样本数据集一共有10个类别,将测试数据集中的一个样本输入至分类器中,模型预测该样本为第1类的概率为p1,第二类p2,那么预测概率为f(x)=[p1,p2,...,p10],可以认为最大的概率对应的类别为该样本的预测标签,比如假设P3最大,那么P3对应的第3类就是这个样本的预测标签。
404、至少依据第一标签和第二标签获取第一指标和第一超参数。
第一指标为测试数据集中第二标签不等于第一标签的样本数与测试数据中的总样本数的比值。换句话说,第一指标是第二标签不等于第一标签的概率,可以通过第二标签不等于第一标签的样本数除以样本总数确定。本申请有时也将第一指标称为概率期望值,在不强调二者的区别之时,二者表示相同的意思。假设测试数据集中包括1000个样本,该1000个样本中的每一个样本分别对应一个第一标签,即观测标签,通过分类器可以输出该1000个样本的第二标签,即预测标签。可以分别比对每一个样本的观测标签与预测标签是否相等,其中相等可以理解观测标签和预测标签完全相同,或者观测标签和预测标签对应的取值的偏差在一定范围内。假设该1000个样本中有800个样本的第一标签和第二标签是相等的,第一标签不等于第二标签的样本数为200个,则根据200个样本和该1000个样本可以确定第一指标。第一超参数至少依据第一标签和第二标签获取,用于更新损失函数。
405、至少依据第一超参数获取分类器的损失函数,损失函数用于更新分类器。
损失函数的输出值(loss)越高表示差异越大,分类器的训练过程是要尽可能的缩小这个loss的过程,本申请提供的方案至少依据第一超参数获取分类器的损失函数。在迭代训练的过程中,根据每一次迭代训练获取的第二标签可以不断更新第一超参数,该第一超参数可以用于确定分类器的损失函数。
406、当第一指标满足预设条件时,完成分类器的训练。
本申请通过第一指标来判断模型是否收敛。其中预设条件可以是第一指标是否达到预先设定的阈值,当第一指标达到该阈值时,则无需更新第一超参数,即无需更新损失函数,可以认为分类器训练完成。或者该预设条件还可以根据连续几次迭代训练的结果确定,具体的,该连续几次迭代结果的第一指标相同,或者联系几次迭代结果确定的第一指标的波动小于预先设定的阈值,则无需更新第一超参数,即无需更新损失函数。
为了更好的体现本申请提供的方案,下面结合图5,对本申请实施例中分类器的训练过程进行说明。
如图5所示,为本申请实施例体提供的另一种分类器的训练方法的流程示意图。如图5所示,首先获取样本数据集,其中样本数据集也可以称为噪声数据集,这是因为该样本数据集中包括的样本的标签可能不正确。通过留一法(leave-one-out,LOO)训练分类器,LOO是一种用来训练和测试分类器的方法,会用到样本数据集里所有的样本数据,假定数据集有K份子样本数据集(K1、K2、...Kn),将这K份子样本数据集分为两部分,第一部份包含的K-1份子样本数据集用来训练分类器,另外一部分包含了1份子样本数据集用来测试,如此从K1到Kn迭代n次,所有的样本里所有对象都经历了测试和训练。确定是否要更新第一超参数,在一个可能的实施方式中,根据第一指标来确定是否需要更新第一超参数,比如通过第一指标是否满足预设条件来确定是否要更新第一超参数。比如当第一指标不满足预设条件,则认为需要更新第一超参数,当第一指标满足预设条件时,则认为不需要更新第一超参数。当第一指标不满足预设条件时,此时需要更新第一超参数。在一种可能的实施方式中,可以根据第一标签和第二标签确定第一超参数,其中第二标签根据每一次迭代训练输出的结果确定。再根据满足预设条件的第一超参数来确定分类器的损失函数,该损失函数用于更新分类器的参数。当第一指标满足预设条件时,此时无需更新第一超参数,可以认为分类器的损失函数确定训练好的分类器可以用于筛选干净数据。比如以步骤402中列举的例子继续说明,将样本数据集划分为5组,该5组子样本数据集分别为第一子样本数据集,第二子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集。比如,选择第一子样本数据集作为第一测试数据集,第二子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集作为第一训练数据集。则通过第一训练数据集对分类器进行训练,可以输出第一子样本数据集的干净数据,同时可以确定分类器的损失函数。再分别以第二训练数据集,第三训练数据集,第四训练数据集以及第五训练数据集对分类器进行训练,以输出第二子样本数据集的干净数据,第三子样本数据集的干净数据,第四子样本数据集的干净数据以及第五子样本数据集的干净数据。需要说明的是,以第二训练数据集,第三训练数据集,第四训练数据集以及第五训练数据集对分类器进行训练时,分类器的损失函数已经确定,仅需要根据损失函数调整分类器的参数,以输出测试数据集对应的干净数据。其中,第二训练数据集包括第一子样本数据集,第三子样本数据集,第四子样本数据集以及第五子样本数据集。第三训练数据集,包括第一子样本数据集,第二子样本数据集,第四子样本数据集以及第五子样本数据集。第四训练数据集包括第一子样本数据集,第二子样本数据集,第三子样本数据集,以及第五子样本数据集。第五训练数据集包括第一子样本数据集,第二子样本数据集,第三子样本数据集,以及第四子样本数据集。
由图4和图5对应的实施例可知,本申请提供的方案至少依据第一超参数获取分类器的损失函数,通过该损失函数用于更新分类器,通过这样的方式,可以减少标签噪声的影响。此外,本申请提供的方案不需要额外的干净数据集和额外的人工标注,就可以获得一个分类效果良好的分类器。
图6为本申请提供的另一种分类器的训练方法的流程示意图。
如图6所示,本申请提供的另一种分类器的训练方法,可以包括以下步骤:
601、获取样本数据集。
602、将样本数据集划分为K份子样本数据集,从该K份子样本数据集中确定一组数据作为测试数据集,将该K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集。
603、通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。
步骤601至步骤603可以参阅图4对应的实施例中的步骤401至403进行理解,这里不再重复赘述。
604、至少依据第一标签和第二标签获取第一指标和第一超参数。
第一超参数根据第一指标和第二指标确定,第二指标为测试数据集中第二标签不等于第一标签的全部样本的损失值的平均值。
其中,在一个可能的实施方式中,第一超参数可以通过以下公式表示:
其中,C*为所述第二指标,q*为所述第一指标,所述a大于0,所述b大于0。
605、至少依据第一超参数以及交叉熵获取分类器的损失函数,损失函数用于更新分类器。
损失函数可以包括两部分,一部分是交叉熵,另一部分是以第一超参数为自变量的函数。其中,交叉熵也可以称为交叉熵损失函数。交叉熵损失函数可以用于确定为预测标签的概率分布差异度。交叉熵损失函数可以通过以下公式表示:
ei用于表示第一样本的第一标签对应的第一向量,f(x)用于表示第一样本的第二标签对应的第二向量,第一向量和第二向量的维度相同,第一向量和第二向量的维度为测试数据集中样本的类别的数目。举例说明,比如样本数据集一共有10个类别,模型预测样本x为第1类的概率为p1,第二类p2,那么f(x)=[p1,p2,...,p10],ei是维度等于类别数的向量,比如我样本数据集一共有10个类别,那么ei维度为10,如果样本x的观测标签是第2类,那么ei=[0,1,0,0,0,...,0],i=2。
以第一超参数为自变量的函数可以通过以下公式表示:
lnip=γf(x)T(1-ei)
则在一种可能的实现方式中,损失函数可以通过以下公式表示:
606、当第一指标满足预设条件时,完成分类器的训练。
步骤606可以参阅图4对应的实施例中的步骤406进行理解,此处不再重复赘述。
由图6对应的实施例可知,给出了一种损失函数的具体的表达方式,增加了方案的多样性。
由图4至图6所示的实施例可知,本申请提供的方案将样本数据集划分为K份子样本数据集,从该K份子样本数据集中确定一组数据作为测试数据集,需要说明的是,此种方案为本申请实施例提供的优选方案。在一些实施例中,本申请还可以确定至少一组数据作为测试数据集,比如可以确定两组,三组数据作为测试数据集,将样本数据集中除该测试数据集之外的其他子样本数据集作为训练数据集。换句话说,本申请提供的方案可以选择K-1组数据作为训练数据集,剩下的一组数据作为测试数据集,也可以选择至少一组数据作为测试数据集,将数据集中除测试数据集之外的数据组作为训练数据集,比如还可以选择K-2组数据作为训练数据集,将剩下的两组数据作为测试数据集,或者还可以选择K-3组数据作为训练数据集,将剩下的三组数据作为测试数据集等等。
本申请中的样本数据集是一个包含噪声的数据集,即该样本数据集中包括的多个样本中,有部分样本的观测标签是不正确的。本申请可以通过在不含有噪声的数据集中添加噪声来获取包含噪声的数据集。举例说明,假设某个干净的数据集中包括100个样本,默认该100个样本的观测标签都是正确的,则可以通过人工修改的方式,将该100个样本中的一个或者多个样本的预测标签替换为除原始标签之外的其他标签,以得到包括噪声的数据集,比如某个样本的标签为猫咪,则可以将该样本的标签替换为除猫咪之外的其他标签,比如可以将该样本的标签替换为老鼠。在一个可能的实施方式中,该干净的数据集可以是MNIST、CIFAR-10和CIFAR-100数据集中的任意一个。其中,MNIST数据集包含60,000个用于训练的示例和10,000个用于测试的示例。CIFAR-10一共包含10个类别的RGB彩色图片,CIFAR-10数据集中一共有50000张训练图片和10000张测试图片。Cifar-100数据集包含有60000张图片,来自100个分类,每个分类包含600张图片。
以上,对如何对分类器进行训练进行了说明,下面对如何应用训练好的分类器进行分类进行说明。
图7为本申请实施例提供的一种数据处理方法的流程示意图。
如图7所示,本申请实施例提供的一种数据处理方法,可以包括以下步骤:
701、获取数据集。
该数据集包含多个样本,多个样本中的每个样本均包括第一标签。
702、将数据集划分为K份子数据集,K为大于1的整数。
在一个可能的实施方式中,可以将该数据集均分为K份子数据集,在一个可能的实施方式中,也可以不将该数据集均分为K份子数据集。
703、对数据集进行至少一次分类,以得到数据集的第一干净数据。
至少一次分类中的任意一次分类包括:
从K份子数据集中确定一组数据作为测试数据集,K份子数据集中除测试数据集之外的其他子数据集作为训练数据集。
通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。
根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第一干净数据包括测试数据集中第二标签和第一标签一致的样本。
其中通过训练数据集对分类器进行训练的过程可以参照图4和图5中对的分类器的训练方法进行理解,这里不再重复赘述。
举例说明,假设数据集包括1000个样本,K为5,则将该数据集划分为5份子数据集。假设在这个例子中,将该1000个样本均分为5份子数据集,分别为第一子数据集,第二子数据集,第三子数据集,第四子数据集以及第五子数据集,每一份子数据集均包括200个样本。假设以第一子数据集为测试数据集,第二子数据集,第三子数据集,第四子数据集以及第五子数据集为训练数据集,则通过训练数据集对分类器进行训练,如果分类器完成训练,则通过训练完成后的分类器对测试数据集进行分类。其中是否完成分类器的训练,可以通过第一指标是否满足预设条件判断。比如,假设通过第二子数据集,第三子数据集,第四子数据集以及第五子数据集为训练数据集,训练得到了分类器,则通过第一分类器对第一子数据集进行分类,以输出第一数据集中包括的200个样本的预测标签。其中,通过第二子数据集,第三子数据集,第四子数据集以及第五子数据集为训练数据集对分类器进行训练,可以确定分类器的损失函数。该损失函数可以用于后续对分类器的训练过程中。之后的训练,损失函数不变,测试数据集和训练数据集轮流发生变化,每次变化分别确定分类器参数,并输出一份干净数据。过训练好的分类器分别输出第一子数据集,第二子数据集,第三子数据集,第四子数据集以及第五子数据集的预测标签,即第二标签。再根据预测标签和观测标签,即第二标签和第一标签是否一致,确定数据集的干净样本。以第一子数据集为例进行说明,假设通过比较第一子数据集的第二标签和第一标签,确定第一子数据集中有180个样本的第二标签和第一标签一致,则确定第一子数据集中该180个样本是干净数据。通过这样的方式,可以确定出第二子数据集,第三子数据集,第四子数据集以及第五子数据集的干净数据,这5份干净数据的组合即为数据集的干净数据。
在一个可能的实施方式中,为了得到更好的分类效果,即得到更加干净的数据,还可以对该数据集重新分组,根据重新分组后的子数据集确定数据集的干净数据。下面进行说明。
图8为本申请实施例提供的一种数据处理方法的流程示意图。
如图8所示,本申请实施例提供的一种数据处理方法,可以包括以下步骤:
801、获取数据集。
802、将数据集划分为K份子数据集,K为大于1的整数。
803、对数据集进行至少一次分类,以得到数据集的第一干净数据。
步骤801至步骤803可以参照图7对应的实施例中的步骤701至步骤703进行理解,这里不再重复赘述。
804、将数据集划分为M份子数据集,M为大于1的整数,M份子数据集与K份子数据集不同。M可以等于K,M也可以不等于K。
805、对数据集进行至少一次分类,以得到数据集的第二干净数据。
至少一次分类中的任意一次分类包括:
从M份子数据集中确定一组数据作为测试数据集,M份子数据集中除测试数据集之外的其他子数据集作为训练数据集。
通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。
根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第二干净数据包括测试数据集中第二标签和第一标签一致的样本。
806、根据第一干净数据和第二干净数据确定第三干净数据,第三干净数据为第一干净数据和第二干净数据的交集。
换句话说,可以重复执行图7对应的实施例中的步骤702和703,其中重复执行的次数可以预先设定,比如可以重复执行P次,P为大于1的整数,则可获得数据集对应的P个干净数据。在P个数据集中,挑选出现次数大于t=2次的样本作为最终的干净数据集。用最终的干净数据集训练得到一个效果不错的分类器模型。
需要说明的是,图7和图8描述的实施例中的数据集中对象的类别可以与图4和图5中训练模型使用的样本数据集中包括的对象的类别完全不相同,换句话说,待分类的数据集可以和训练模型使用的数据集可以不相关。在一个可能的实施方式中,如果图4和图5中训练模型使用的样本数据集中包括的对象的类别涵盖待分类的数据集中包括的对象的类别,则可以直接使用图4和图5中训练得到分类器对数据集进行分类,不需要重新训练得到分类器。比如,在这种实施方式中,可以包括以下步骤:
1、获取数据集,数据集包含多个样本,多个样本中的每个样本均包括第一标签。
2、通过分类器对数据集进行分类,以确定数据集中每个样本的第二标签。
3、确定数据集中第二标签和第一标签一致的样本为数据集的干净样本。
需要说明的是,本申请提供的技术方案可以通过端云结合的方式来实现,比如:
在一个具体的实施方式中,对于图4所对应的实施例中,步骤401可以由端侧设备执行,步骤402至步骤406可以由云侧设备执行或者由端侧设备执行。或者步骤401和步骤402由端侧设备执行,步骤403至步骤406可以由云侧设备执行或者由端侧设备执行。需要说明的是,在一个可能的实施方式中,端侧设备获取的原始样本数据集可能是不包括第一标签的,此时,可以通过人工打标,或者自动打标的方式来获取带有第一标签的样本数据集,此种方式也可以看做是由终端设备获取样本数据集。在一个可能的实施方式中,自动打标的过程也可以由云侧设备执行,本申请实施例对此并不进行限定,以下对此不再重复说明。
对于图6所对应的实施例,步骤601可以由端侧设备执行,步骤602至步骤606由云侧设备执行或者由端侧设备执行。比如,步骤601和步骤602可以由端侧设备执行,端侧设备完成了步骤602之后,可以将结果向云侧设备发送。步骤603至步骤606可以由云侧设备执行,在一个具体的实施方式中,云侧设备完成了步骤606之后,可以将步骤605的结果返回给端侧设备。
对于图7所对应的实施例,步骤701可以由端侧设备执行,步骤702和步骤703由云侧设备执行或者,步骤701和步骤702由端侧设备执行,步骤703由云侧设备执行。
对于图8所对应的实施例,步骤801可以由端侧设备执行,步骤802至步骤806可以由云侧设备执行,或者步骤801和步骤802由端侧设备执行,步骤803至步骤806由云侧设备执行。
示例性地,下面分别以噪声比例为0,0.2,0.4,0.6以及0.8的MNIST、CIFAR-10和CIFAR-100数据集分别作为神经网络的输入数据,对本申请提供的数据处理方法和常用的方案进行对比,对本申请提供的数据处理方法的有益效果进行示例性说明。
图9为本申请实施例提供的一种数据处理方法的准确率示意图。
参阅图9,对现有的几种分类方法与本申请提供的数据处理方法的效果进行比较说明。图9中第一种方法为只通过交叉熵损失函数更新分类器的方法,而本申请中的损失函数结合了交叉熵损失函数以及以第一超参数确定的损失函数。第二种方法为通过广义交叉熵损失(generalized cross entropy loss,GCE)更新分类器的方法,第三种方法为有噪声的标签上的维度驱动学习(dimensionality-driven learning with noisy labels,D2L)。现有的几种方式中,只通过交叉熵损失函数以及通过广义交叉熵损失训练的分类器,对数据集的分类效果不佳,D2L是通过提高模型的抗噪性能。而本申请提供的方案,先输出包括噪声的数据集对应的干净数据集,在根据该干净数据集对模型进行训练,此时采用交叉熵损失函数,就可以收获良好的分类效果。
由图9可知,本申请提供的数据处理方法,损失函数结合了交叉熵损失函数以及以第一超参数确定的损失函数,在应用到神经网络中时,分类的精确度高于常用的一些方式。因此,本申请提供的数据处理方法可以获得更好的分类效果。
前述对本申请提供的分类器的训练流程以及数据处理方法进行了详细介绍,下面基于前述的分类器的训练方法以及数据处理方法,对本申请提供的分类器的训练装置以及数据处理装置进行阐述,该分类器的训练装置用于执行前述图4-6对应的方法的步骤,该数据处理装置用于执行图7和图8对应的方法的步骤。
参阅图10,本申请提供的一种分类器的训练装置的结构示意图。该分类器的训练装置包括:
获取模块1001,用于获取样本数据集,样本数据集可以包括多个样本,多个样本中的每个样本均可以包括第一标签。划分模块1002,用于将样本数据集划分为K份子样本数据集,从K份子样本数据集中确定一组数据作为测试数据集,K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集,K为大于1的整数。训练模块1003,用于:通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。至少依据第一标签和第二标签获取第一指标和第一超参数,第一指标为测试数据集中第二标签不等于第一标签的样本数与测试数据中的总样本数的比值。至少依据第一超参数获取分类器的损失函数,并根据损失函数得到更新后的分类器。当第一指标满足第一预设条件时,完成分类器的训练。
在一个具体的实施方式中,可以将训练模块1003进一步划分为评价模块10031,更新模块10032以及损失函数模块10033。其中,评价模块10031用于评价第一指标是否满足第一预设条件。更新模块,用于第一指标没有满足第一预设条件时,更新第一超参数。损失函数模块,用于根据更新的第一超参数获取分类器的损失函数。
在一种可能的实施方式中,第一超参数根据第一指标和第二指标确定,第二指标为测试数据集中第二标签不等于第一标签的全部样本的损失值的平均值。
在一种可能的实施方式中,第一超参数通过以下公式表示:
其中,C*为第二指标,q*为第一指标,a大于0,b大于0。
在一种可能的实施方式中,训练模块1003,具体用于:至少依据以第一超参数为自变量的函数以及交叉熵获取分类器的损失函数。
在一种可能的实施方式中,以第一超参数为自变量的函数通过以下公式表示:
y=γf(x)T(1-ei)
ei用于表示第一样本的第一标签对应的第一向量,f(x)用于表示第一样本的第二标签对应的第二向量,第一向量和第二向量的维度相同,第一向量和第二向量的维度为测试数据集中样本的类别的数目。
在一种可能的实施方式中,获取模块1001,具体用于将样本数据集均分为K份子样本数据集。
在一种可能的实施方式中,训练数据集包含的多个样本的数量为测试数据集包含的多个样本的数量的k倍,k为大于0的整数。
参阅图11,本申请提供的一种数据处理装置的结构示意图。该数据处理装置包括:
获取模块1101,用于获取数据集,数据集包含多个样本,多个样本中的每个样本均可以包括第一标签。划分模块1102,用于将样本数据集划分为K份子数据集,K为大于1的整数。分类模块1103,用于:对数据集进行至少一次分类,以得到数据集的第一干净数据,至少一次分类中的任意一次分类可以包括:从K份子样本数据集中确定一组数据作为测试数据集,K份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第一干净数据可以包括测试数据集中第二标签和第一标签一致的样本。
在一种可能的实施方式中,划分模块1102,还用于将样本数据集划分为M份子数据集,M为大于1的整数,M份子数据集与K份子数据集不同。分类模块1103,还用于:对数据集进行至少一次分类,以得到数据集的第二干净数据,至少一次分类中的任意一次分类可以包括:从M份子样本数据集中确定一组数据作为测试数据集,M份子样本数据集中除测试数据集之外的其他子样本数据集作为训练数据集。通过训练数据集对分类器进行训练,并用训练后的分类器对测试数据集进行分类,得到测试数据集中的每个样本的第二标签。根据第二标签与第一标签进行比较,以确定测试数据集中第二标签和第一标签一致的样本,第二干净数据可以包括测试数据集中第二标签和第一标签一致的样本。根据第一干净数据和第二干净数据确定第三干净数据,第三干净数据为第一干净数据和第二干净数据的交集。
请参阅图12,本申请提供的另一种分类器的训练装置的结构示意图,如下所述。
该分类器的训练装置可以包括处理器1201和存储器1202。该处理器1201和存储器1202通过线路互联。其中,存储器1202中存储有程序指令和数据。
存储器1202中存储了前述图4至图6中的步骤对应的程序指令以及数据。
处理器1201用于执行前述图4至图6中任一实施例所示的分类器的训练装置执行的方法步骤。
请参阅图13,本申请提供的另一种数据处理装置的结构示意图,如下所述。
该分类器的训练装置可以包括处理器1301和存储器1302。该处理器1301和存储器1302通过线路互联。其中,存储器1302中存储有程序指令和数据。
存储器1302中存储了前述图7或图8中的步骤对应的程序指令以及数据。
处理器1301用于执行前述图7或图8中实施例所示的数据处理装置执行的方法步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于生成分类器训练的程序,当其在计算机上行驶时,使得计算机执行如前述图4至图6所示实施例描述的方法中的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于生成数据处理的程序,当其在计算机上行驶时,使得计算机执行如前述图7或图8所示实施例描述的方法中的步骤。
本申请实施例还提供了一种分类器的训练装置,该分类器的训练装置也可以称为数字处理芯片或者芯片,芯片包括处理器和通信接口,处理器通过通信接口获取程序指令,程序指令被处理器执行,处理器用于执行前述图4或图6中任一实施例所示的分类器的训练装置执行的方法步骤。
本申请实施例还提供了一种数据处理装置,该数据处理装置也可以称为数字处理芯片或者芯片,芯片包括处理器和通信接口,处理器通过通信接口获取程序指令,程序指令被处理器执行,处理器用于执行前述图7或图8中实施例所示的数据处理装置执行的方法步骤。
本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器1201,或者处理器1201的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中分类器的训练装置执行的动作。
本申请实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器1301,或者处理器1301的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过通信接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中数据处理装置执行的动作。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上行驶时,使得计算机执行如前述图4至图6所示实施例描述的方法中分类器的训练装置所执行的步骤。或者执行如图7或图8所示实施例描述的方法中数据处理装置所执行的步骤。
本申请实施例提供的分类器的训练装置或者数据处理装置可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图4至图6所示实施例描述的分类器的训练方法,或者图7和图8所示实施例描述的数据处理方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体地,前述的处理单元或者处理器可以是中央处理器(central processingunit,CPU)、神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程逻辑门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
具体的,请参阅图14,图14为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU140,NPU140作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1403,通过控制器1404控制运算电路1403提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1403内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路1403是二维脉动阵列。运算电路1403还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1403是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1402中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1401中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1408中。
统一存储器1406用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)1405,DMAC被搬运到权重存储器1402中。输入数据也通过DMAC被搬运到统一存储器1406中。
总线接口单元(bus interface unit,BIU)1410,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1409的交互。
总线接口单元1410(bus interface unit,BIU),用于取指存储器1409从外部存储器获取指令,还用于存储单元访问控制器1405从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1406或将权重数据搬运到权重存储器1402中或将输入数据数据搬运到输入存储器1401中。
向量计算单元1407包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如批归一化(batch normalization),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1407能将经处理的输出的向量存储到统一存储器1406。例如,向量计算单元1407可以将线性函数和/或非线性函数应用到运算电路1403的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1407生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1403的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1404连接的取指存储器(instruction fetch buffer)1409,用于存储控制器1404使用的指令;
统一存储器1406,输入存储器1401,权重存储器1402以及取指存储器1409均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,循环神经网络中各层的运算可以由运算电路1403或向量计算单元1407执行。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述图4至图6的方法的程序执行的集成电路,或者用于控制上述图7和图8的方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
最后应说明的是:以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (27)
1.一种分类器的训练方法,其特征在于,包括:
获取样本数据集,所述样本数据集包括多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
将所述样本数据集划分为K份子样本数据集,从所述K份子样本数据集中确定一组数据作为测试数据集,所述K份子样本数据集中除所述测试数据集之外的其他子样本数据集作为训练数据集,所述K为大于1的整数;
通过所述训练数据集对所述分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
至少依据所述第一标签和第二标签获取第一指标和第一超参数,所述第一指标为所述测试数据集中所述第二标签不等于所述第一标签的样本数与所述测试数据中的总样本数的比值;
至少依据所述第一超参数获取所述分类器的损失函数,所述损失函数用于更新所述分类器;
当所述第一指标满足第一预设条件时,完成所述分类器的训练。
2.根据权利要求1所述的训练方法,其特征在于,所述第一超参数根据所述第一指标和第二指标确定,所述第二指标为所述测试数据集中所述第二标签不等于所述第一标签的全部样本的损失值的平均值。
3.根据权利要求2所述的训练方法,其特征在于,所述第一超参数通过以下公式表示:
其中,C*为所述第二指标,q*为所述第一指标,所述a大于0,所述b大于0。
4.根据权利要求1至3任一项所述的训练方法,其特征在于,所述至少依据所述第一超参数获取所述分类器的损失函数,包括:
至少依据所述第一超参数以及交叉熵获取所述分类器的损失函数。
5.根据权利要求4所述的训练方法,其特征在于,所述损失函数通过以下公式表示:
所述ei用于表示第一样本的所述第一标签对应的第一向量,所述f(x)用于表示所述第一样本的所述第二标签对应的第二向量,所述第一向量和所述第二向量的维度相同,所述第一向量和所述第二向量的维度为所述测试数据集中样本的类别的数目。
6.根据权利要求1至3任一项所述的训练方法,其特征在于,所述将所述样本数据集划分为K份子样本数据集,包括:
将所述样本数据集均分为所述K份子样本数据集。
7.根据权利要求1至3任一项所述的训练方法,其特征在于,所述分类器包括卷积神经网络CNN和残差网络ResNet。
8.一种数据处理方法,其特征在于,包括:
获取数据集,所述数据集包含多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
将所述数据集划分为K份子数据集,所述K为大于1的整数;
对所述数据集进行至少一次分类,以得到所述数据集的第一干净数据,所述至少一次分类中的任意一次分类包括:
从所述K份子数据集中确定一组数据作为测试数据集,所述K份子数据集中除所述测试数据集之外的其他子数据集作为训练数据集;
通过所述训练数据集对分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
根据所述第二标签与所述第一标签进行比较,以确定所述测试数据集中所述第二标签和所述第一标签一致的样本,所述第一干净数据包括所述测试数据集中所述第二标签和所述第一标签一致的样本。
9.根据权利要求8所述的数据处理方法,其特征在于,所述对所述数据集进行至少一次分类,以得到所述数据集的第一干净数据之后,所述方法还包括:
将所述数据集划分为M份子数据集,所述M为大于1的整数,所述M份子数据集与所述K份子数据集不同;
对所述数据集进行至少一次分类,以得到所述数据集的第二干净数据,所述至少一次分类中的任意一次分类包括:
从所述M份子数据集中确定一组数据作为测试数据集,所述M份子数据集中除所述测试数据集之外的其他子数据集作为训练数据集;
通过所述训练数据集对所述分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
根据所述第二标签与所述第一标签进行比较,以确定所述测试数据集中所述第二标签和所述第一标签一致的样本,所述第二干净数据包括所述测试数据集中所述第二标签和所述第一标签一致的样本;
根据所述第一干净数据和所述第二干净数据确定第三干净数据,所述第三干净数据为所述第一干净数据和所述第二干净数据的交集。
10.一种数据处理方法,其特征在于,包括:
获取数据集,所述数据集包含多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
通过分类器对所述数据集进行分类,以确定所述数据集中每个样本的第二标签;
确定所述数据集中所述第二标签和所述第一标签一致的样本为所述数据集的干净样本,所述分类器为通过权利要求1至7任一项所述的训练方法得到的分类器。
11.一种分类器的训练系统,其特征在于,所述训练系统包括云侧设备和端侧设备,
所述端侧设备,用于获取样本数据集,所述样本数据集包括多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
所述云侧设备,用于:
将所述样本数据集划分为K份子样本数据集,从所述K份子样本数据集中确定一组数据作为测试数据集,所述K份子样本数据集中除所述测试数据集之外的其他子样本数据集作为训练数据集,所述K为大于1的整数;
通过所述训练数据集对所述分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
至少依据所述第一标签和第二标签获取第一指标和第一超参数,所述第一指标为所述测试数据集中所述第二标签不等于所述第一标签的样本数与所述测试数据中的总样本数的比值;
至少依据所述第一超参数获取所述分类器的损失函数,所述损失函数用于更新所述分类器;
当所述第一指标满足第一预设条件时,完成所述分类器的训练。
12.一种数据处理系统,其特征在于,所述数据处理系统包括云侧设备和端侧设备,
所述端侧设备,用于获取数据集,所述数据集包含多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
所述云侧设备,用于:
将所述样本数据集划分为K份子数据集,所述K为大于1的整数;
对所述数据集进行至少一次分类,以得到所述数据集的第一干净数据,所述至少一次分类中的任意一次分类包括:
从所述K份子样本数据集中确定一组数据作为测试数据集,所述K份子样本数据集中除所述测试数据集之外的其他子样本数据集作为训练数据集;
通过所述训练数据集对分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
根据所述第二标签与所述第一标签进行比较,以确定所述测试数据集中所述第二标签和所述第一标签一致的样本,所述第一干净数据包括所述测试数据集中所述第二标签和所述第一标签一致的样本;
向所述端侧设备发送所述第一干净数据。
13.一种分类器的训练装置,其特征在于,包括:
获取模块,用于获取样本数据集,所述样本数据集包括多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
划分模块,用于将所述样本数据集划分为K份子样本数据集,从所述K份子样本数据集中确定一组数据作为测试数据集,所述K份子样本数据集中除所述测试数据集之外的其他子样本数据集作为训练数据集,所述K为大于1的整数;
训练模块,用于:
通过所述训练数据集对所述分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
至少依据所述第一标签和第二标签获取第一指标和第一超参数,所述第一指标为所述测试数据集中所述第二标签不等于所述第一标签的样本数与所述测试数据中的总样本数的比值;
至少依据所述第一超参数获取所述分类器的损失函数,所述损失函数用于更新所述分类器;
当所述第一指标满足第一预设条件时,完成所述分类器的训练。
14.根据权利要求13所述的分类器的训练装置,其特征在于,所述第一超参数根据所述第一指标和第二指标确定,所述第二指标为所述测试数据集中所述第二标签不等于所述第一标签的全部样本的损失值的平均值。
15.根据权利要求14所述的分类器的训练装置,其特征在于,所述第一超参数通过以下公式表示:
其中,C*为所述第二指标,q*为所述第一指标,所述a大于0,所述b大于0。
16.根据权利要求13至15任一项所述的分类器的训练装置,其特征在于,所述训练模块,具体用于:
至少依据所述第一超参数以及交叉熵获取所述分类器的损失函数。
17.根据权利要求16所述的分类器的训练装置,其特征在于,所述损失函数通过以下公式表示:
所述ei用于表示第一样本的所述第一标签对应的第一向量,所述f(x)用于表示所述第一样本的所述第二标签对应的第二向量,所述第一向量和所述第二向量的维度相同,所述第一向量和所述第二向量的维度为所述测试数据集中样本的类别的数目。
18.根据权利要求13至15任一项所述的分类器的训练装置,其特征在于,所述划分模块,具体用于:
将所述样本数据集均分为所述K份子样本数据集。
19.一种数据处理装置,其特征在于,包括:
获取模块,用于获取数据集,所述数据集包含多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
划分模块,用于将所述样本数据集划分为K份子数据集,所述K为大于1的整数;
分类模块,用于:
对所述数据集进行至少一次分类,以得到所述数据集的第一干净数据,所述至少一次分类中的任意一次分类包括:
从所述K份子样本数据集中确定一组数据作为测试数据集,所述K份子样本数据集中除所述测试数据集之外的其他子样本数据集作为训练数据集;
通过所述训练数据集对分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
根据所述第二标签与所述第一标签进行比较,以确定所述测试数据集中所述第二标签和所述第一标签一致的样本,所述第一干净数据包括所述测试数据集中所述第二标签和所述第一标签一致的样本。
20.根据权利要求19所述的数据处理装置,其特征在于,
所述划分模块,还用于将所述样本数据集划分为M份子数据集,所述M为大于1的整数,所述M份子数据集与所述K份子数据集不同;
所述分类模块,还用于:
对所述数据集进行至少一次分类,以得到所述数据集的第二干净数据,所述至少一次分类中的任意一次分类包括:
从所述M份子样本数据集中确定一组数据作为测试数据集,所述M份子样本数据集中除所述测试数据集之外的其他子样本数据集作为训练数据集;
通过所述训练数据集对所述分类器进行训练,并用训练后的所述分类器对所述测试数据集进行分类,得到所述测试数据集中的每个样本的第二标签;
根据所述第二标签与所述第一标签进行比较,以确定所述测试数据集中所述第二标签和所述第一标签一致的样本,所述第二干净数据包括所述测试数据集中所述第二标签和所述第一标签一致的样本;
根据所述第一干净数据和所述第二干净数据确定第三干净数据,所述第三干净数据为所述第一干净数据和所述第二干净数据的交集。
21.一种数据处理装置,其特征在于,包括:
获取模块,用于获取数据集,所述数据集包含多个样本,所述多个样本中的每个样本均包括第一标签,所述多个样本为图像数据,音频数据或文本数据;
分类模块,用于:
通过分类器对所述数据集进行分类,以确定所述数据集中每个样本的第二标签;
确定所述数据集中所述第二标签和所述第一标签一致的样本为所述数据集的干净样本,所述分类器为通过权利要求1至7任一项所述的训练方法得到的分类器。
22.一种分类器的训练装置,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至7中任一项所述的方法。
23.一种数据处理装置,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序,当所述存储器存储的程序指令被所述处理器执行时实现权利要求8或9所述的方法。
24.一种计算机可读存储介质,包括程序,当其被处理单元所执行时,执行如权利要求1至7中任一项所述的方法。
25.一种计算机可读存储介质,包括程序,当其被处理单元所执行时,执行如权利要求8或9所述的方法。
26.一种模型训练装置,其特征在于,包括处理单元和通信接口,所述处理单元通过所述通信接口获取程序指令,当所述程序指令被所述处理单元执行时实现权利要求1至7中任一项所述的方法。
27.一种数据处理装置,其特征在于,包括处理单元和通信接口,所述处理单元通过所述通信接口获取程序指令,当所述程序指令被所述处理单元执行时实现权利要求8或9所述的方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010480915.2A CN111797895B (zh) | 2020-05-30 | 2020-05-30 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
| PCT/CN2021/093596 WO2021244249A1 (zh) | 2020-05-30 | 2021-05-13 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
| US18/070,682 US20230095606A1 (en) | 2020-05-30 | 2022-11-29 | Method for training classifier, and data processing method, system, and device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010480915.2A CN111797895B (zh) | 2020-05-30 | 2020-05-30 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111797895A CN111797895A (zh) | 2020-10-20 |
| CN111797895B true CN111797895B (zh) | 2024-04-26 |
Family
ID=72806244
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010480915.2A Active CN111797895B (zh) | 2020-05-30 | 2020-05-30 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20230095606A1 (zh) |
| CN (1) | CN111797895B (zh) |
| WO (1) | WO2021244249A1 (zh) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111797895B (zh) * | 2020-05-30 | 2024-04-26 | 华为技术有限公司 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
| CN112308166B (zh) * | 2020-11-09 | 2023-08-01 | 建信金融科技有限责任公司 | 一种处理标签数据的方法和装置 |
| CN112257470B (zh) * | 2020-11-12 | 2025-07-22 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、装置、计算机设备和可读存储介质 |
| CN112631930B (zh) * | 2020-12-30 | 2024-06-21 | 平安证券股份有限公司 | 动态系统测试方法及相关装置 |
| CN114692667B (zh) * | 2020-12-30 | 2025-06-10 | 华为技术有限公司 | 一种模型训练方法及相关装置 |
| CN115048966A (zh) * | 2021-02-25 | 2022-09-13 | 阿里巴巴集团控股有限公司 | 数据处理方法及计算机程序产品 |
| CN113204660B (zh) * | 2021-03-31 | 2024-05-17 | 北京达佳互联信息技术有限公司 | 多媒体数据处理方法、标签识别方法、装置及电子设备 |
| CN113033689A (zh) * | 2021-04-07 | 2021-06-25 | 新疆爱华盈通信息技术有限公司 | 图像分类方法、装置、电子设备及存储介质 |
| CN113569067A (zh) * | 2021-07-27 | 2021-10-29 | 深圳Tcl新技术有限公司 | 标签分类方法、装置、电子设备及计算机可读存储介质 |
| CN113963203B (zh) * | 2021-10-19 | 2024-07-19 | 动联(山东)电子科技有限公司 | 一种智能捕鼠监测方法、系统、装置及介质 |
| CN114004297A (zh) * | 2021-11-02 | 2022-02-01 | 上海观安信息技术股份有限公司 | 投毒数据识别方法、装置、系统及计算机可读存储介质 |
| CN114529367B (zh) * | 2022-02-21 | 2025-03-21 | 广州华多网络科技有限公司 | 模型训练样本校验方法及其装置、设备、介质、产品 |
| CN114726749B (zh) * | 2022-03-02 | 2023-10-31 | 阿里巴巴(中国)有限公司 | 数据异常检测模型获取方法、装置、设备及介质 |
| CN115171004A (zh) * | 2022-06-08 | 2022-10-11 | 东软睿驰汽车技术(沈阳)有限公司 | 确定关键帧的系统、方法、设备及存储介质 |
| US12272422B2 (en) * | 2022-11-10 | 2025-04-08 | International Business Machines Corporation | Compensation for conductance drift in analog memory in crossbar array |
| CN115731421B (zh) * | 2022-11-29 | 2025-08-19 | 电子科技大学长三角研究院(湖州) | 一种机器学习中零样本图片分类方法及系统 |
| CN116186532B (zh) * | 2022-12-12 | 2025-08-08 | 西安交通大学 | 一种基于ErrP的运动想象算法在线自适应方法 |
| CN115809697A (zh) * | 2022-12-26 | 2023-03-17 | 上海高德威智能交通系统有限公司 | 一种数据修正方法、装置及电子设备 |
| CN116204820B (zh) * | 2023-04-24 | 2023-07-21 | 山东科技大学 | 一种基于稀有类挖掘的冲击危险性等级判别方法 |
| CN118898735B (zh) * | 2023-05-05 | 2025-11-25 | 北京字跳网络技术有限公司 | 一种基于增量数据的模型迭代方法、活体检测方法及装置 |
| CN116434753B (zh) * | 2023-06-09 | 2023-10-24 | 荣耀终端有限公司 | 一种文本顺滑方法、设备及存储介质 |
| CN117236376A (zh) * | 2023-09-14 | 2023-12-15 | 京东方科技集团股份有限公司 | 状态回声网络的训练方法、监控轨迹确定方法及装置 |
| CN117828290B (zh) * | 2023-12-14 | 2024-07-23 | 广州番禺职业技术学院 | 一种施工数据可靠性的预测方法、系统、设备及存储介质 |
| CN118798302B (zh) * | 2024-09-10 | 2025-04-29 | 杭州世平信息科技有限公司 | 卷积神经网络训练方法及系统 |
| CN119202540B (zh) * | 2024-11-22 | 2025-03-07 | 南京工业大学 | 一种基于神经网络的环锚钢绞线索力识别方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9552549B1 (en) * | 2014-07-28 | 2017-01-24 | Google Inc. | Ranking approach to train deep neural nets for multilabel image annotation |
| CN109711474A (zh) * | 2018-12-24 | 2019-05-03 | 中山大学 | 一种基于深度学习的铝材表面缺陷检测算法 |
| CN110298415A (zh) * | 2019-08-20 | 2019-10-01 | 视睿(杭州)信息科技有限公司 | 一种半监督学习的训练方法、系统和计算机可读存储介质 |
| CN110427466A (zh) * | 2019-06-12 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 用于问答匹配的神经网络模型的训练方法和装置 |
| CN110543898A (zh) * | 2019-08-16 | 2019-12-06 | 上海数禾信息科技有限公司 | 用于噪声标签的监督学习方法、数据分类处理方法以及装置 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9087303B2 (en) * | 2012-02-19 | 2015-07-21 | International Business Machines Corporation | Classification reliability prediction |
| US20190347571A1 (en) * | 2017-02-03 | 2019-11-14 | Koninklijke Philips N.V. | Classifier training |
| CN111797895B (zh) * | 2020-05-30 | 2024-04-26 | 华为技术有限公司 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
-
2020
- 2020-05-30 CN CN202010480915.2A patent/CN111797895B/zh active Active
-
2021
- 2021-05-13 WO PCT/CN2021/093596 patent/WO2021244249A1/zh not_active Ceased
-
2022
- 2022-11-29 US US18/070,682 patent/US20230095606A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9552549B1 (en) * | 2014-07-28 | 2017-01-24 | Google Inc. | Ranking approach to train deep neural nets for multilabel image annotation |
| CN109711474A (zh) * | 2018-12-24 | 2019-05-03 | 中山大学 | 一种基于深度学习的铝材表面缺陷检测算法 |
| CN110427466A (zh) * | 2019-06-12 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 用于问答匹配的神经网络模型的训练方法和装置 |
| CN110543898A (zh) * | 2019-08-16 | 2019-12-06 | 上海数禾信息科技有限公司 | 用于噪声标签的监督学习方法、数据分类处理方法以及装置 |
| CN110298415A (zh) * | 2019-08-20 | 2019-10-01 | 视睿(杭州)信息科技有限公司 | 一种半监督学习的训练方法、系统和计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2021244249A1 (zh) | 2021-12-09 |
| US20230095606A1 (en) | 2023-03-30 |
| CN111797895A (zh) | 2020-10-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111797895B (zh) | 一种分类器的训练方法、数据处理方法、系统以及设备 | |
| CN113570029B (zh) | 获取神经网络模型的方法、图像处理方法及装置 | |
| CN113705769B (zh) | 一种神经网络训练方法以及装置 | |
| US20220319154A1 (en) | Neural network model update method, image processing method, and apparatus | |
| CN114255361B (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
| CN112183718B (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
| CN112445823B (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
| CN111882031B (zh) | 一种神经网络蒸馏方法及装置 | |
| CN112651511A (zh) | 一种训练模型的方法、数据处理的方法以及装置 | |
| US12327400B2 (en) | Neural network optimization method and apparatus | |
| CN113128285B (zh) | 一种处理视频的方法及装置 | |
| CN112215332B (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
| CN110175671A (zh) | 神经网络的构建方法、图像处理方法及装置 | |
| CN112418392A (zh) | 一种神经网络构建方法以及装置 | |
| CN111368656A (zh) | 一种视频内容描述方法和视频内容描述装置 | |
| US20240135174A1 (en) | Data processing method, and neural network model training method and apparatus | |
| CN118643874A (zh) | 训练神经网络的方法和装置 | |
| CN111340190A (zh) | 构建网络结构的方法与装置、及图像生成方法与装置 | |
| CN114004383A (zh) | 时间序列预测模型的训练方法、时间序列预测方法及装置 | |
| CN114091554A (zh) | 一种训练集处理方法和装置 | |
| CN115146757A (zh) | 一种神经网络模型的训练方法及装置 | |
| CN116802646A (zh) | 数据处理的方法和装置 | |
| US12380688B2 (en) | Neural network construction method and apparatus, and image processing method and apparatus | |
| CN115545143A (zh) | 神经网络训练的方法与装置、数据处理方法与装置 | |
| CN115147635A (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |