CN114693986A - 主动学习模型的训练方法、图像处理方法及装置 - Google Patents
主动学习模型的训练方法、图像处理方法及装置 Download PDFInfo
- Publication number
- CN114693986A CN114693986A CN202011468284.9A CN202011468284A CN114693986A CN 114693986 A CN114693986 A CN 114693986A CN 202011468284 A CN202011468284 A CN 202011468284A CN 114693986 A CN114693986 A CN 114693986A
- Authority
- CN
- China
- Prior art keywords
- image
- learning model
- active learning
- unmarked
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及人工智能领域中计算机视觉领域的图像处理技术,提供了一种主动学习模型的训练方法、图像处理方法及装置,包括:利用已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,利用未标记图像数据集Di训练主动学习模型Mi1,得到主动学习模型Mi2;利用已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到每张未标记图像的分歧权重,根据每张未标记图像的分歧权重选出N张未标记图像进行人工标记,得到已标记图像数据集Ci+1;根据已标记图像数据集Ci+1确定目标主动学习模型。采用本申请实施例,可以在尽可能少地选取需要人工标记图像的情况下,保证模型精度,节约人力资源。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种主动学习模型训练方法、图像处理方法及装置。
背景技术
计算机视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断中各种智能/自主系统中不可分割的一部分,它是一门关于如何运用照相机/摄像机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机/摄像机)和大脑(算法)用来代替人眼对目标进行识别、跟踪和测量等,从而使计算机能够感知环境。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。总的来说,计算机视觉就是用各种成象系统代替视觉器官获取输入信息,再由计算机来代替大脑对这些输入信息完成处理和解释。计算机视觉的最终研究目标就是使计算机能像人那样通过视觉观察和理解世界,具有自主适应环境的能力。
图像分类(image classification,IC)、目标检测(object detection,OD)和图像分割(image segmentation,IS)是高层视觉语义理解任务中的重要问题,随着人工智能技术的快速发展,上述三种基本任务在计算机视觉领域的应用越来越广泛。现有技术中,在对执行上述三种基本任务的神经网络模型进行训练的过程中,对未标记数据集中需要进行人工标记的数据进行挑选的过程,没有规律性或规律性较差,且容易选择到冗余的样本,从而导致神经网络训练耗时长,收敛速度慢。
因此,如何从未标记数据集中选择最具代表性的未标记样本进行人工标记成为一个亟待解决的问题。
发明内容
本申请实施例提供了一种主动学习模型的训练方法、图像处理方法及装置,可以从未标记数据集中选择最具代表性的未标记样本进行人工标记,从而在尽可能少地选取未标记数据的情况下,提高模型的预测精度。
第一方面,本申请提供了一种主动学习模型的训练方法,该方法包括:S1:利用已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,主动学习模型Mi包括主干网络和多个并行分类器,多个并行分类器与主干网络连接,i为正整数;S2:利用未标记图像数据集Di训练主动学习模型Mi1,得到主动学习模型Mi2,主动学习模型Mi2中多个并行分类器的参数与主动学习模型Mi1中多个并行分类器的参数相同,主动学习模型Mi2中主干网络的参数与主动学习模型Mi1中主干网络的参数不同;S3:利用已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到主动学习模型Mi+1和未标记图像数据集Di中每张未标记图像的分歧权重,主动学习模型Mi+1中多个并行分类器的参数与主动学习模型Mi2中多个并行分类器的参数不同,主动学习模型Mi+1中主干网络的参数与主动学习模型Mi2中主干网络的参数相同,分歧权重用于表征每张未标记图像的多个预测值之间的偏差,每张未标记图像的多个预测值分别由多个并行分类器输出;S4:根据未标记图像数据集Di中每张未标记图像的分歧权重从未标记图像数据集Di中选出N张未标记图像进行人工标记,将人工标记的N张图像加入已标记图像数据集Ci,得到已标记图像数据集Ci+1和未标记数据集Di+1,N为正整数;S5:根据已标记图像数据集Ci+1确定目标主动学习模型。
可以看出,在本申请实施例中,首先通过已标记图像数据集训练主动学习模型,调整主动学习模型中主干网络和多个并行分类器的参数,得到主动学习模型Mi1;然后固定主动学习模型Mi1中分类器参数,利用未标记图像数据集中大量的未标记图像更新主动学习模型Mi1中主干网络的参数,使得多个并行分类器对同一未标记图像的预测结果尽可能一致,得到主动学习模型Mi2,此时可认为主干网络中的参数已优化到最佳;进而固定主动学习模型Mi2中主干网络的参数,利用未标记图像数据集和已标记图像数据集中的图像对主动学习模型Mi2中分类器的参数进行更新,得到每个未标记图像的分歧权重,由于分歧权重表征了分类器对同一图像预测结果的偏差程度,即可以定量表征机器对未标记图像进识别的难易程度,进而可通过分歧权重筛选出最具代表性的需要进行人工标记的未标记图像,从而在尽可能少地选取需要人工进行标记图像的情况下,得到精度高的主动学习模型,节约人工标记成本;此外,在步骤S3中,采用未标记图像数据集和已标记图像数据集同时训练模型,可以保证多个分类器在对同一图像的预测值接近的条件下,该多个分类器的预测值也尽可能接近该图像的真实值(即已标记值)。
在一种可行的实施方式中,上述根据已标记图像数据集Ci+1确定目标主动学习模型,包括:当已标记图像数据集Ci+1中图像数量和未标记数据集Di+1中图像数量的比值大于或等于预设比例值,或者利用主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率大于或等于预设准确率时,将主动学习模型Mi+1作为目标主动学习模型;否则,令i=i+1,并重复执行步骤S1-S5。
可以看出,在本申请实施例中,通过将主动学习模型训练终止的条件设为上述实施例中的两种方式之一,可以保证模型在达到预设条件时停止训练,得到目标主动学习模型,从而在确保模型满足需求的同时尽可能节省模型训练时间。
在一种可行的实施方式中,上述利用未标记图像数据集Di训练主动学习模型Mi1,得到主动学习模型Mi2,包括:将未标记图像数据集Di输入主动学习模型Mi1,得到未标记图像数据集Di中每张未标记图像的多个第一预测值,每张未标记图像的多个第一预测值与多个并行分类器一一对应;根据每张未标记图像的多个第一预测值和第一损失函数,更新主动学习模型Mi1中主干网络的参数,得到主动学习模型Mi2,第一损失函数的输入数据为每张未标记图像的多个第一预测值。
应当理解,上述主干网络可以为卷积神经网络或其它功能类似的神经网络,其作用为对输入模型中的图像进行特征提取。
可以看出,在本申请实施例中,通过利用大量未标记的图像对主动学习模型Mi1中的主干网络中的参数进行更新,使得主干网络中的参数尽可能达到最优,从而保证后续在S3步骤中对多个分类器参数进行更新时,消除主干网络对分类器预测结果差异性的影响。
在一种可行的实施方式中,上述利用已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到主动学习模型Mi+1和未标记图像数据集Di中每张未标记图像的分歧权重,包括:Q1:将已标记图像数据集Ci和未标记图像数据集Di中的第j张图像Pj输入主动学习模型Mj-1,得到图像Pj的多个第二预测值,图像Pj的多个第二预测值与多个并行分类器一一对应,j为正整数;Q2:根据图像Pj的多个第二预测值更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj;当图像Pj为未标记图像数据集Di中的图像时,根据图像Pj的多个第二预测值确定该图像的分歧权重;Q3:当j小于E和F之和时,令j=j+1,并重复执行步骤Q1-Q2;当j等于E和F之和时,将主动学习模型Mj作为主动学习模型Mi+1,当j=1时,主动学习模型Mj-1为主动学习模型Mi2;E和F分别为已标记图像数据集Ci和未标记图像数据集Di中图像的数量,且E和F为正整数。
应当理解,在本申请实施例中,采用已标记图像和未标记图像训练主动学习模型Mi2的过程,输入图像数据没有先后顺序,可以先采用已标记图像训练主动学习模型Mi2,再采用未标记图像训练主动学习模型Mi2,或先采用未标记图像训练主动学习模型Mi2,再采用已标记图像训练主动学习模型Mi2,也可采用已标记图像和已标记图像交替训练主动学习模型Mi2,也可以采用其它输入顺序来输入上述未标记图像和已标记图像来训练模型。
可以看出,在本申请实施例中,同时使用未标记图像和已标记图像来更新主动学习模型Mi2中分类器的参数,在确保多个分类器的预测值尽可能接近或相同的情况下,该预测值也尽可能接近真实值,避免在只采用未标记图像进行训练的情况下,模型预测性能的下降。
在一种可行的实施方式中,上述根据图像Pj的多个第二预测值更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj,包括:当图像Pj为未标记图像数据集Di中的图像时,根据图像Pj的多个第二预测值和第二损失函数更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj,第二损失函数的输入数据为图像Pj的多个第二预测值,第二损失函数的函数值与图像Pj的分歧权重成正比;当图像Pj为已标记图像数据集Ci中的图像时,根据图像Pj的多个第二预测值和第三损失函数更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj,第三损失函数的输入数据为所述图像Pj的多个第二预测值和所述图像Pj的真实值。
可以看出,在本申请实施例中,当使用未标记图像训练主动学习模型Mj-1中多个分类器的参数时,将表征分类器预测偏差程度的分歧权重加入第二损失函数中,在利用该第二损失函数来调整分类器的参数的情况下,对于不同分歧权重的图像,可以对分类器的参数进行有针对性地调整,进而加快模型收敛速度,节约模型训练时间。
在一种可行的实施方式中,上述根据未标记图像数据集Di中每张未标记图像的分歧权重从未标记图像数据集Di中选出N张未标记图像进行人工标记,包括:对未标记图像数据集Di中每张未标记图像按照其分歧权重从大到小进行排序,得到排序结果,从排序结果中选出前N张未标记图像进行人工标记。
应当理解,分歧权重越大表明多个分类器对同一图像的多个预测值差异越大,反之,分歧权重越小表明多个分类器对同一图像的多个预测值越接近。
可以看出,在本申请实施例中,在每次迭代过程中,通过对未标记图像按照其分歧权重从大到小进行排序,从排序结果中选择出的前N张图像为最具代表性图像,即机器较难识别的图像,对该选出的N张图片进行人工标记,并利用该已标记N张图像更新已标记图像数据集,因而,在后续利用已标记图像进行模型训练时,可以加快模型收敛的速度,进而节约人工标记的成本。
第二方面,本申请提供了一种图像处理方法,包括:获取待处理图像;利用目标主动学习模型对待处理图像进行图像处理,得到待处理图像的预测值;目标主动学习模型包括主干网络和多个并行分类器,所述多个并行分类器与所述主干网络连接。具体地,该目标主动学习模型通过K次训练得到,在上述K次训练的第i次训练中:通过已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,主动学习模型Mi为K次训练中的第i-1次训练得到的,已标记图像数据集Ci为第i-1次训练后更新得到的;通过未标记图像数据集Di训练主动学习模型Mi1,得到主动学习模型Mi2,未标记图像数据集Di为第i-1次训练后更新得到的,主动学习模型Mi2中多个并行分类器的参数与主动学习模型Mi1中多个并行分类器的参数相同,主动学习模型Mi2中主干网络的参数与主动学习模型Mi1中主干网络的参数不同;通过已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到主动学习模型Mi+1和未标记图像数据集Di中每张未标记图像的分歧权重,主动学习模型Mi+1中多个并行分类器的参数与主动学习模型Mi2中多个并行分类器的参数不同,主动学习模型Mi+1中主干网络的参数与主动学习模型Mi2中主干网络的参数相同;根据每张未标记图像的分歧权重更新已标记图像数据集Ci和未标记图像数据集Di,得到已标记数据集Ci+1和未标记图像数据集Di+1,i和K为正整数。
可以看出,在本申请实施例中,通过采用第一方面中的方法训练得到的目标主动学习模型,在尽可能节省人力成本的条件下,目标主动学习模型的预测准确率较高,因而在采用目标主动学习模型进行图像处理时,可以提高图像处理效果。
在一种可行的实施方式中,根据已标记图像数据集Ci+1中图像数量和未标记数据集Di+1中图像数量的比值,或者通过主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率,确定训练次数K。
应当理解,目标主动学习模型的具体训练过程与第一方面中对应的步骤相同,此处不再赘述。可以看出,在本申请实施例中,通过上述实施例中的两种方式之一来确定模型训练的次数K,可以保证模型在达到预设条件时停止训练,得到目标主动学习模型,从而在确保模型满足需求的同时尽可能节省模型训练时间。
在一种可行的实施方式中,上述图像处理包括图像分类、目标检测和图像分割中的至少一种。
可以看出,本申请实施例中的方法可以用于图像分类、目标检测和图像分割中的任一任务下,通过在上述三个任务下运用本申请实施例中的图像处理方法可以提高图像处理的效果。
第三方面,本申请提供了一种训练主动学习模型的装置,该装置包括用于执行第一方面中的方法的模块。
第四方面,本申请提供了一种图像处理的装置,该装置包括用于执行第二方面中的方法的模块。
第五方面,本申请提供一种训练主动学习模型的装置,该装置包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序,当存储器存储的程序被执行时,处理器用于执行第一方面中的方法。
第六方面,本申请提供了一种图像处理的装置,该装置包括处理器和存储器,该存储器用于存储程序指令,该处理器用于调用程序指令来执行第二方面中的方法。
第七方面,本申请提供一种计算机可读存储介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如第一方面和/或第二方面的方法。
第八方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面和/或第二方面中的方法。
第九方面,本申请提供一种芯片,该芯片包括处理器与数据接口,处理器通过数据接口读取存储器上存储的指令,执行第一方面和/或第二方面中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行存储器上存储的指令,当指令被执行时,处理器用于执行第一方面和/或第二方面中的方法。
上述芯片具体可以是现场可编程门阵列(field-programmable gate array,FPGA)或者专用集成电路(application-specific integrated circuit,ASIC)。
第十方面,本申请提供一种电子设备,该电子设备包括上述第三方面至第六方面中的任意一个方面中的装置。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1是本申请实施例提供的系统架构的结构示意图;
图2本申请实施例提供的一种主干网络的结构示意图;
图3是本申请实施例提供的一种芯片硬件结构示意图;
图4是本申请实施例提供的另一种系统架构的结构示意图;
图5是本申请实施例提供的一种主动学习模型的结构示意图;
图6是本申请实施例提供的一种训练主动学习模型的方法的示意性流程图;
图7是本申请实施例提供的一种根据本申请的训练方法进行样本筛选的实例示意图;
图8是本申请实施例提供的一种根据目标主动学习模型进行图像分类的效果示意图;
图9是本申请实施例提供的另一种根据目标主动学习模型进行图像分类的效果示意图;
图10是本申请实施例提供的一种图像处理方法的示意性流程图;
图11是本申请实施例提供的一种主动学习模型的训练装置的示意性框图;
图12是本申请实施例提供的一种图像处理装置的示意性框图;
图13是本申请实施例提供的一种主动学习模型的训练装置的硬件结构示意图;
图14是本申请实施例提供的一种图像处理装置的硬件结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
本申请实施例可以应用在图片检测、相册管理、录像、平安城市、人机交互以及其他需要进行图像处理的场景,例如,图像分类、图像分割和目标检测等。
应理解,本申请实施例中的图像可以为静态图像(或称为静态画面)或动态图像(或称为动态画面),例如,本申请中的图像可以为视频或动态图片,或者,本申请中的图像也可以为静态图片或照片。为了便于描述,本申请在下述实施例中将静态图像或动态图像统一称为图像。
本申请实施例的方法可以具体应用到相册管理和目标检测场景中,下面对这两种场景进行详细的介绍。
相册管理:
用户的终端设备,如手机等的相册中可能存储有大量的图像,例如,通过相机拍照、截图或者从网络下载等方式获取的大量图像。当用户需要从大量的图像数据中找出自己需要的图像时,可以采用本申请实施例中的方法对相册中大量的图像进行分类,不同类型的图像保存在不同的目录下,例如,动物类,风景类和人物类等,其中,动物类也可进行细分为不同的子类,例如根据图像中具体的动物类别对该图像中的动物进行识别,划分到该图像所属的子类。
可以看出,采用本申请的方法可以快速地帮助用户定位到其想要寻找的图像所属的类别,进而节省用户时间,提升用户体验。
目标检测:
目标检测即是从图像中找出感兴趣的物体,并确定该物体的位置和大小。例如,用户想要在自己终端设备的相册中寻找一些包含猫的图像,此时,可以采用本申请实施例中的方法,识别用户终端设备中所有包含有猫的图像,以供用户选择。
可以看出,采用本申请实施例中的方法可以准确地对图像中的目标进行检测,从而对包含用户感兴趣物体的图像进行筛选,提升用户体验。
应理解,上文介绍的相册管理和目标检测只是本申请实施例的方法所应用的两个具体场景,本申请实施例的方法在应用时并不限于上述两个场景,本申请实施例的方法能够应用到任何需要进行图像处理的场景中,例如,图像分割。或者,本申请实施例中的方法也可以类似地应用于其他领域,例如,语音识别及自然语言处理等,本申请实施例中对此并不限定。
本申请实施例提供的方法和装置还可以用于扩充训练数据库,如图1所示执行设备110的I/O接口112可以将经执行设备处理挑选出需要进行人工标记的未标记图像输出到客户设备140,在客户设备140上对上述挑选出的未标记图像进行人工标记,将标记后的图像作为训练数据对发送给数据库130,以使得数据库130维护的训练数据更加丰富,从而为训练设备120的训练工作提供更丰富的训练数据。
下面从模型训练侧和模型应用侧对本申请提供的方法进行描述:
本申请实施例提供的主动学习模型的训练方法,涉及计算机视觉的处理,具体可以应用于数据训练、机器学习、深度学习等数据处理方法,对训练数据(如本申请中的待处理图像)进行符号化和形式化的智能信息建模、抽取、预处理、训练等,最终得到训练好的目标主动学习模型;并且,本申请实施例提供的图像处理方法可以运用上述训练好的目标主动学习模型,将输入数据(如本申请中的待处理图像)输入到训练好的目标主动学习模型中,得到输出数据(如本申请中的待处理图像的预测值)。需要说明的是,本申请实施例提供的主动学习模型的训练方法和图像处理方法是基于同一个构思产生的发明,也可以理解为一个系统中的两个部分,或一个整体流程的两个阶段:如模型训练阶段和模型应用阶段。
本申请实施例涉及了大量神经网络的相关应用,为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的神经网络和计算机视觉领域的相关术语和概念进行介绍。
(1)图像分类
从待处理图像或视频判断里面包含什么类别的目标。
(2)目标检测
从给定的待处理图像中识别出所有感兴趣的目标(物体),并确定它们的类别和位置。由于各类物体有不同的外观,形状,姿态,加上成像时光照,遮挡等因素的干扰,目标检测是计算机视觉领域的核心且最具挑战性的问题之一。
(3)图像分割
图像分割分为实例分割和场景分割,图像分割主要用于判断待处理图像中的每个像素点属于哪个目标或物体。
(4)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入。激活函数可以是sigmoid函数。神经网络是将许多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(5)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,则系数W和偏移向量的数量也就很多了。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。总结就是:第L-1层的第k个神经元到第L层的第j个神经元的系数定义为需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(6)卷积神经网络
卷积神经网络(CNN,convolutional neuron network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。
卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(7)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(8)反向传播算法
卷积神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。
(9)像素值
图像的像素值可以是一个红绿蓝(RGB)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*Red+100*Green+76Blue,其中,Blue代表蓝色分量,Green代表绿色分量,Red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。
(10)熵(英文:Entropy):可以表示事物的确定性,确定性越高,熵越低,反之,熵越高。针对分类任务来说,如果一张图片的分类结果的置信度越接近0或者1,其熵越低,分类结果越接近0.5,熵越高,代表分类结果不确定。
下面介绍本申请实施例提供的系统架构。
参见附图1,图1为本申请实施例提供的一种系统架构100。如系统架构100所示,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括已标记的图像和未标记的图像,其中,已标记图像的标签可以是该图像对应的类别,或该图像内的目标对应的类别,或该图像的每个像素点对应的类别,上述类别在数学上的表示形式为一个多维向量。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101(即为本申请实施例中的目标主动学习模型)。
下面将以实施例一更详细地描述训练设备120如何基于训练数据得到目标模型/规则101,该目标模型/规则101能够用于实现本申请实施例提供的图像处理方法,即,将待处理图像通过相关预处理后输入该目标模型/规则101,即可得到待处理图像的预测值。本申请实施例中的目标模型/规则101具体可以为目标主动学习模型,在本申请提供的实施例中,该目标主动学习模型是通过训练对抗分类器和由卷积神经网络构成的主干网络得到的。需要说明的是,在实际的应用中,数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在附图1中,执行设备110配置有输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,输入数据在本申请实施例中可以包括各种图像或视频数据。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,如上述得到的待处理图像的预测值(即该待处理图像的类别标签,或从该待处理图像中识别出的目标,或对该待处理图像进行分割的结果)返回给客户设备140,从而提供给用户。
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在附图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,附图1仅是本发明实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在附图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本申请实施例中可以是基于本申请实施例主动学习模型的训练方法训练得到的目标主动学习模型,具体的,本申请实施例提供的目标主动学习模型可以包括对抗分类器和主干网络。在本申请实施例提供的主干网络中,该主干网络可以是卷积神经网络,该对抗分类器可以是卷积神经网络或全连接神经网络或其他功能类似的神经网络,本方案对此不做具体限定。
如前文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning,DL)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
如图2所示,卷积神经网络(CNN)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。
卷积层/池化层220:
卷积层:
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行×列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行×列)相同,经过该多个尺寸相同的权重矩阵提取后的特征图的尺寸也相同,再将提取到的多个尺寸相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层230:
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等……
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图2所示的卷积神经网络200仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。
下面介绍本申请实施例提供的一种芯片硬件结构。
图3为本发明实施例提供的一种芯片硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图2所示的卷积神经网络中各层的算法均可在如图3所示的芯片中得以实现。
神经网络处理器NPU 50作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508(accumulator)中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元507能将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(on-chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,简称DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
其中,图2所示的卷积神经网络中各层的运算可以由运算电路503或向量计算单元507执行。
上文中介绍的图1中的训练设备120能够执行本申请实施例中训练主动学习模型的方法的各个步骤,图1中的执行设备110能够执行本申请实施例的图像处理方法(比如,图像分类、图像分割和目标检测)的各个步骤,图2所示的神经网络模型和图3所示的芯片也可以用于执行本申请实施例的图像处理方法的各个步骤,图3所示的芯片也可以用于执行本申请实施例中训练主动学习模型的方法的各个步骤。
如图4所示,本申请实施例提供了一种系统架构300。该系统架构包括本地设备301、本地设备302以及执行设备210和数据存储系统250,其中,本地设备301和本地设备302通过通信网络与执行设备210连接。
执行设备210可以由一个或多个服务器实现。可选的,执行设备210可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码来实现本申请实施例的训练神经网络的方法或图像处理方法(比如,图像超分方法、图像去噪方法、图像去马赛克方法及图像去模糊方法)。
具体地,执行设备210可以执行以下过程:
获取训练图像的输入特征图;使用神经网络的特征提取核,对输入特征图进行特征提取处理,得到第一候选特征图,特征提取处理使得第一候选特征图中的每个元素为特征提取核与输入特征图中对应位置的数据的L1正则距离;将第一候选特征图与第二候选特征图相加,得到输出特征图,第二候选特征图为输入特征图扩大N倍后得到的特征图,N大于0;根据输出特征图确定训练图像的图像处理结果;根据图像处理结果,调整神经网络的参数。
通过上述过程执行设备210能够训练得到一个神经网络,神经网络可以用于图像处理、语音处理及自然语言处理等,例如,该神经网络可以用于实现本申请实施例中的图像超分方法、图像去噪方法、图像去马赛克方法及图像去模糊方法。
或者,通过上述过程执行设备210能够搭建成一个图像处理装置,该图像处理装置可以用于图像处理(例如,可以用于实现本申请实施例中的图像超分方法、图像去噪方法、图像去马赛克方法及图像去模糊方法)。
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
在一种实现方式中,本地设备301、本地设备302从执行设备210获取到神经网络的相关参数,将神经网络部署在本地设备301、本地设备302上,利用该神经网络对待处理图像进行图像处理,得到待处理图像的处理结果。
在另一种实现中,执行设备210上可以直接部署神经网络,执行设备210通过从本地设备301和本地设备302获取待处理图像,并利用该神经网络对待处理图像进行图像处理,得到待处理图像的处理结果。
在一种实现方式中,本地设备301、本地设备302从执行设备210获取到图像处理装置的相关参数,将图像处理装置部署在本地设备301、本地设备302上,利用该图像处理装置对待处理图像进行图像处理,得到待处理图像的处理结果。
在另一种实现中,执行设备210上可以直接部署图像处理装置,执行设备210通过从本地设备301和本地设备302获取待处理图像,并利用该图像处理装置对待处理图像进行图像处理,得到待处理图像的处理结果。
也就是说,上述执行设备210也可以为云端设备,此时,执行设备210可以部署在云端;或者,上述执行设备210也可以为终端设备,此时,执行设备210可以部署在用户终端侧,本申请实施例对此并不限定。
下面结合附图对本申请实施例的训练主动学习模型的方法及图像处理方法(例如,图像处理方法可以包括图像分类、目标检测和图像分割)进行详细的介绍。
请参见图5,图5为本申请中的主动学习模型的结构示意图。如图5中步骤(a)所示,主动学习模型包括主干网络g和两个对抗分类器f1和f2,该主干网络g可以是卷积神经网络或其它神经网络,本申请对此不做具体限定,主干网络g对输入的待处理图像进行特征提取,得到待处理图像的特征向量,对抗分类器用于根据输入的待处理图像的特征向量,得到待处理图像的预测值,该预测值可以是图像的类别、或者图像中目标物体的类别,或者图像中每个像素点的类别,上述三种类别的数学表示形式为多维向量。
请参见图6,图6为本申请实施例提供的一种训练主动学习模型的方法600的示意性流程图。如图6所示,方法600包括步骤S1、步骤S2、步骤S3、步骤S4和步骤S5。
在一些示例中,该方法600可以由图1中的执行设备120、图3所示的芯片以及图4中的执行设备210等设备执行。
步骤S1:利用已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,主动学习模型Mi包括主干网络和多个并行分类器,多个并行分类器与主干网络连接,i为正整数。
具体地,请对应参考图5中所示步骤(a),将已标记图像数据集Ci中的每张已标记图像xl输入主动学习模型Mi中,得到该已标记图像xl的两个预测值和然后基于反向传播算法、公式(1-2)所示的二值交叉熵损失函数和上述两个预测值,调整主动学习模型Mi中主干网络和两个并行分类器的参数,得到主动学习模型Mi,所述主动学习模型Mi中两个分类器的参数相同。
其中,主动学习模型Mi调整的方向为:使公式(1-2)中二值交叉熵损失函数的值最小,也即是使两个对抗分类器的预测值尽可能接近该已标记图像xl的真实值。当i等于零时,上述主动学习模型Mi为初始主动学习模型,初始主动学习模型中主干网络和两个并行分类器的参数随机初始化确定。
其中,在图5的步骤(a)中,xl代表已标记的输入图像,g代表特征提取器,f1和f2分别代表两个分类器,和分别代表输入图像的标签,和分别代表两个分类器的预测值,分别为一个多维向量,C表示该多维向量的维度,和分别表示该分类器所输出的两个多维向量中第c维的数值,和分别表示已标记图像的真实值(即标记值)所对应的多维向量中第c维的数值,应当理解,和相等,Ll代表二值交叉熵损失函数,argmin表示模型参数的调整方向为使损失函数的损失值最小。
下面将具体描述利用已标记图像数据集Ci中的已标记图像训练主动学习模型Mi,得到主动学习模型Mi1的过程:
(1)将已标记图像数据集Ci中的已标记图像Xr输入主动学习模型Mr-1中,主干网络提取已标记图像Xr的特征,得到一个特征向量,并将该特征向量输入两个对抗分类器中,两个对抗分类器输出已标记图像Xr的两个预测值;
(2)基于反向传播算法、公式(1-2)所示的二值交叉熵损失函数和图像Xr的两个预测值,更新主动学习模型Mr-1中主干网络和两个并行分类器的参数,得到主动学习模型Mr;
(3)令r=r+1,并重复上述步骤(1)和(2),直到r等于E,E为已标记图像数据集Ci中的已标记图像的数量,r和E为正整数;
其中,当r等于1时,主动学习模型Mr-1为初始主动学习模型,当r等于E时,主动学习模型Mr即为主动学习模型Mi1。
步骤S2:利用未标记图像数据集Di训练主动学习模型Mi1,得到主动学习模型Mi2,主动学习模型Mi2中多个并行分类器的参数与主动学习模型Mi1中多个并行分类器的参数相同,主动学习模型Mi2中主干网络的参数与主动学习模型Mi1中主干网络的参数不同。
在一种可行的实施方式中,请对应参阅图5中的步骤(b),将未标记图像数据集Di输入主动学习模型Mi1,得到未标记图像数据集Di中每张未标记图像的多个第一预测值;根据每张未标记图像的多个第一预测值和第一损失函数,更新主动学习模型Mi1中主干网络的参数,得到主动学习模型Mi2,第一损失函数的输入数据为每张未标记图像的多个第一预测值。
具体地,将未标记图像数据集Di中的每张未标记图像xu输入主动学习模型Mi1中,得到该未标记图像xu的两个第一预测值和然后基于反向传播算法、公式(1-3)和公式(1-4)所示第一损失函数和上述两个第一预测值,调整主动学习模型Mi1中主干网络的参数,对抗分类器中的参数固定不变,得到主动学习模型Mi2。
其中,主动学习模型Mi1调整的方向为:使公式(1-3)中所表示的第一损失函数的值最小,也即是使两个对抗分类器的第一预测值尽可能相同。
下面将详细描述利用未标记图像数据集Di中的未标记图像训练主动学习模型Mi1,得到主动学习模型Mi2的过程:
(1)将未标记图像数据集Di中的未标记图像Xa输入主动学习模型Ma-1中,主干网络提取未标记图像Xa的特征,得到一个特征向量,并将该特征向量输入两个对抗分类器中,两个对抗分类器输出已标记图像Xa的两个第一预测值;
(2)基于反向传播算法、公式(1-3)所示的第一损失函数和未标记图像Xa的两个第一预测值,更新主动学习模型Ma-1中主干网络的参数,两个对抗分类器的参数保持不变,得到主动学习模型Ma;根据未标记图像Xa的两个第一预测值和公式(1-5)计算两个对抗分类器预测结果的平均熵E(u),并基于平均熵E(u)和公式(1-6)计算该未标记图像Xa的对其权重Wa;平均熵E(u)和对齐权重Wa用于表征分类器预测结果的偏差,即预测结果的确定性:两个第一预测值的差异越大,平均熵越大,对齐权重越小;两个第一预测值越接近,平均熵越小,对齐权重越大;
其中,n表示每次输入模型的图像数量,τ为一个超参数,可以设置为0.1,δ(x)激活函数。
可选地,所示激活函数可以为Sigmoid函数、tanh函数、Relu函数等非线性激活函数,或者,或者,还可以为其他功能的激活函数,本申请实施例中对此并不限定。
(3)令a=a+1,并重复上述步骤(1)和(2),直到a等于F,F为未标记图像数据集Di中的未标记图像的数量,a和F为正整数;
其中,当a等于1时,主动学习模型Ma-1为主动学习模型Mi1,当a等于F时,主动学习模型Ma即为主动学习模型Mi2。
步骤S3:利用已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到主动学习模型Mi+1和未标记图像数据集Di中每张未标记图像的分歧权重,主动学习模型Mi3中多个并行分类器的参数与主动学习模型Mi2中多个并行分类器的参数不同,主动学习模型Mi3中主干网络的参数与主动学习模型Mi2中主干网络的参数相同,分歧权重用于表征每张未标记图像的多个预测值之间的偏差,每张未标记图像的多个预测值分别由多个并行分类器输出。
请对应参阅图5中的步骤(c),将未标记图像数据集Di中的每张未标记图像xu和已标记图像数据集Ci中的每张已标记图像xl输入主动学习模型Mi2,根据分类器输出的预测值更新主动学习模型Mi2中对抗分类器的参数,主动学习模型Mi2中主干网络的参数保持不变,得到主动学习模型Mi+1,所述主动学习模型Mi+1中两个分类器的参数相同。
上述利用已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到主动学习模型Mi+1和未标记图像数据集Di中每张未标记图像的分歧权重,具体包括步骤Q1、步骤Q2和步骤Q3:
步骤Q1:将已标记图像数据集Ci和未标记图像数据集Di中的第j张图像Pj输入主动学习模型Mj-1,得到图像Pj的多个第二预测值,j为正整数;其中,该多个并行分类器指图5中的两个对抗分类器;
步骤Q2:根据图像Pj的多个第二预测值更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj;当图像Pj为未标记图像数据集Di中的图像时,根据图像Pj的多个第二预测值确定该图像的分歧权重。
其中,分歧权重Wd根据图像Pj的多个第二预测值和公式(1-7)计算得到,未标记图像的分歧权重Wd用于表征两个对抗分类器输出的两个第二预测值之间的偏差。根据公式(1-7)容易理解,当两个第二预测值的差异较大,平均熵越大,分歧权重Wd越大;当两个第二预测值较为接近,平均熵较小,分歧权重Wd较小。
在一种可行的实施方式中,上述根据图像Pj的多个第二预测值更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj,具体包括两种情况:
当图像Pj为未标记图像数据集Di中的图像时,根据图像Pj的多个第二预测值和第二损失函数更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj,第二损失函数的输入数据为图像Pj的多个第二预测值,且第二损失函数的函数值与分歧权重成正比;其中,第二损失函数的数学表达式如公式(1-8)和(1-9)所示,主动学习模型Mj-1中分类器参数的更新方向为使第二损失函数的值达到最小。
当图像Pj为已标记图像数据集Ci中的图像时,根据图像Pj的多个第二预测值和第三损失函数更新主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj,第三损失函数的输入数据为图像Pj的多个第二预测值和图像Pj的真实值,第三损失函数的数学表达式为公式(1-2)中所示的交叉熵损失函数。
步骤Q3:当j小于E和F之和时,令j=j+1,并重复执行步骤Q1-Q2;当j等于所述E和所述F之和时,将主动学习模型Mi3作为主动学习模型Mi+1;E和F分别为已标记图像数据集Ci和未标记图像数据集Di中图像的数量,且E和F为正整数。
应当理解,在本申请实施例中,采用已标记图像和未标记图像训练主动学习模型Mi2的过程,输入图像数据没有先后顺序,可以先采用已标记图像训练主动学习模型Mi2,再采用未标记图像训练主动学习模型Mi2,或先采用未标记图像训练主动学习模型Mi2,再采用已标记图像训练主动学习模型Mi2,也可采用已标记图像和已标记图像交替训练主动学习模型Mi2,也可以采用其它输入顺序来输入上述未标记图像和已标记图像来训练主动学习模型Mi2,本申请对此不做具体限定。
步骤S4:根据未标记图像数据集Di中每张未标记图像的分歧权重从未标记图像数据集Di中选出N张未标记图像进行人工标记,将人工标记的N张图像加入已标记图像数据集Ci,得到已标记图像数据集Ci+1和未标记数据集Di+1,N为正整数。
具体地,将从未标记图像数据集Di中选出的N张未标记图像进行人工标记后,加入已标记图像数据集Ci,并从未标记图像数据集Di中删除该选出的N张未标记图像。
在一种可行的实施方式中,上述根据未标记图像数据集Di中每张未标记图像的分歧权重从未标记图像数据集Di中选出N张未标记图像进行人工标记,包括:对未标记图像数据集Di中每张未标记图像按照其分歧权重从大到小进行排序,得到排序结果,从排序结果中选出前N张未标记图像进行人工标记。
其中,如上述步骤S3中的步骤Q2所述,分歧权重越大,表明对抗分类器难以对输入的待处理图像的预测结果形成共识,此种分歧权重较大的样本为机器较难识别的复杂样本,反之,分歧权重较小的样本即为机器容易识别的简单样本。
步骤S5:根据已标记图像数据集Ci+1确定目标主动学习模型。
在一种可行的实施方式中,当已标记图像数据集Ci+1中图像数量和未标记数据集Di+1中图像数量的比值大于或等于预设比例值,或者利用主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率大于或等于预设准确率时,将主动学习模型Mi+1作为目标主动学习模型,应当理解,经过训练得到的目标主动学习模型中的多个分类器的参数相同;其中,上述预设比例值和预设准确率可以根据实际场景进行设定,此外,也可采用其它条件作为主动学习模型终止训练的条件,本申请对此不做具体限定。
当已标记图像数据集Ci+1中图像数量和未标记数据集Di+1中图像数量的比值小于预设比例值,或者利用主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率小于预设准确率时,令i=i+1,并重复执行上述步骤S1-S5。
上述利用主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率的过程具体为:利用主动学习模型Mi+1对已标记图像数据集Ci+1中的每张已标记图像进行预测,得到每张已标记图像的预测值,统计每张已标记图像的预测值和其真实值是否相同;统计预测值和真实值相同的已标记图像的数量,该数量与已标记图像数据集Ci+1中图像数量的比值即为预测的准确率。
可以看出,在本申请实施例中,首先通过已标记图像数据集训练主动学习模型,调整主动学习模型中主干网络和多个并行分类器的参数,得到主动学习模型Mi1;然后固定主动学习模型Mi1中分类器参数,利用未标记图像数据集中大量的未标记图像更新主动学习模型Mi1中主干网络的参数,使得多个并行分类器对同一未标记图像的预测结果尽可能一致,得到主动学习模型Mi2,此时可认为主干网络中的参数已优化到最佳;进而固定主动学习模型Mi2中主干网络的参数,利用未标记图像数据集和已标记图像数据集中的图像对主动学习模型Mi2中分类器的参数进行更新,得到每个未标记图像的分歧权重,由于分歧权重表征了分类器对同一图像预测结果的偏差程度,即定量表征机器对未标记图像进区分的难易程度,进而柯通过分歧权重筛选出最具代表性的需要进行人工标记的未标记图像,从而在尽可能少地选取需要人工进行标记图像的情况下,得到精度高的主动学习模型,节约人工标记成本;此外,在步骤S3中,采用未标记图像数据集和已标记图像数据集同时训练模型,可以保证多个分类器在对同一图像的预测值接近的条件下,该多个分类器的预测值也尽可能接近该图像的真实值。
请参见图7,图7为本申请实施例提供的一种根据本申请的方法进行样本筛选和训练主动学习模型进行图像分类的实例示意图。图7中的“一致-分歧-选择”(agreement-disagreement-selection,ADS)即为本申请中训练主动学习模型的方法。如图7所示,训练主动学习模型的目的为:使得模型能识别出待处理图像是属于猫、狗和牛中的哪一种。具体训练过程为:将已标记和未标记图像输入主动学习模型中,对于有标记的图像,可以将模型的预测值和图像真实值进行比较,利用图6中所描述的交叉熵损失函数来调整模型参数;对于未标记的图像,通过ADS训练后,得到未标记图像的预测值,该预测值为一个多维向量,该多维向量中的每个元素对应一个动物类别,该每个元素的值用于表征该未标记图像为该每个元素所对应的动物类别的概率值,如图7所示,该预测值为一个三维向量,该向量中的三个元素分别表示该未标记图像为狗、猫和牛的概率值。如图7所示,当两个分类器得到的两个三维向量比较接近,且该每个三维向量中有一个元素,比如对应猫的元素,的值接近于1或者远高于其它两个元素的值,则该两个预测器的预测结果一致,同时将此未标记图像作为简单图像,即机器容易识别的图像;当两个分类器得到的两个三维向量区别较大或者任一三维向量中的三个元素值比较接近,则将该未标记图像作为较难识别样本;然后计算未标记图像中每个图像的分歧权重,来量化每张未标记图像容易识别或难以识别的程度,通过分歧权重选出需要进行人工标记的图像进行人工标记,并将标记后图像假如有标记的数据集。
下面以图像分类任务为例,对使用上述方法600训练后得到的目标主动学习模型的性能进行验证。
如图8所示,在CIFAR-10数据集上,分别采用本申请实施例中ADS方式和基于学习损失的主动学习(learning loss for active learning,LL4AL)方式对主动学习模型进行训练,得到如图8所示的不同比例已标注样本的条件下,通过两种方式分别得到的不同目标主动学习模型的预测准确率。从图8中可以看出,ADS明显优于现有技术LL4AL,特别是在早期迭代中,当使用2%、4%和6%的已标记样本时,ADS的预测准确率分别优于现有技术LL4AL6.00%、4.43%和2.09%。上述效果的提升验证了ADS能够将未标注样本与标注样本的分布对齐(即对相同类型的未标记图像和已标记图像的预测结果相同或接近),并利用小的已标记图像数据集选取具有代表性的未标记样本进行人工标记。在最后的迭代使用20%样本时,ADS准确率达到90.63%,与全量训练集非常接近。
如图9所示,在CIFAR-10数据集上,分别采用本申请实施例中ADS方式、LL4AL方式、状态-重新标记的对抗主动学习(state-relabeling adversarial active learning,SRAAL)、变分对抗主动学习(variational adversarial active learning,VAAL)方式和卷积神经网络的主动学习:一种核心集(active learning for convolutional neuralnetworks:core-set)方式对主动学习模型进行训练,得到如图9所示的不同比例已标注样本的条件下,通过上述四种方式分别得到的不同目标主动学习模型的预测准确率。从图9中可以看出,ADS在标准偏差较小的情况下,预测准确率明显优于其它三种方法。特别地,当使用10%、15%和20%的已标记样本时,ADS的预测准确率分别比SRAAL方法高2.51%、4.4%和2.25%。
综上所述,通过本申请实施例中的ADS方法训练后得到的目标主动学习模型可以在尽可能少地挑选未标注样本进行人工标注的情况下,达到与采用其它方式训练得到的目标主动学习模型相同的预测准确率;或者,也即是采用相同比例的有标注样本对主动学习模型进行训练时,使用ADS方式得到的目标主动学习模型的预测准确率高于其它方式得到的目标主动学习模型的准确率。
图10为本申请的图像处理方法的一个示意性流程图。图10中的方法1000包括步骤1010及步骤1020。
在一些示例中,该方法1000可以由图1中的执行设备110、图3所示的芯片以及图4中的执行设备210等设备执行。
步骤S1010,获取待处理图像的输入特征图。
步骤S1020,使用目标主动学习模型对待处理图像进行图像处理,得到待处理图像的预测值。目标主动学习模型包括主干网络和多个并行分类器,所述多个并行分类器与所述主干网络连接。
该目标主动学习模型通过K次训练得到,在上述K次训练的第i次训练中:通过已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,主动学习模型Mi为K次训练中的第i-1次训练得到的,已标记图像数据集Ci为第i-1次训练后更新得到的;通过未标记图像数据集Di训练主动学习模型Mi1,得到主动学习模型Mi2,未标记图像数据集Di为第i-1次训练后更新得到的,主动学习模型Mi2中多个并行分类器的参数与主动学习模型Mi1中多个并行分类器的参数相同,主动学习模型Mi2中主干网络的参数与主动学习模型Mi1中主干网络的参数不同;通过已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到主动学习模型Mi+1和未标记图像数据集Di中每张未标记图像的分歧权重,主动学习模型Mi+1中多个并行分类器的参数与主动学习模型Mi2中多个并行分类器的参数不同,主动学习模型Mi+1中主干网络的参数与主动学习模型Mi2中主干网络的参数相同;根据每张未标记图像的分歧权重更新已标记图像数据集Ci和未标记图像数据集Di,得到已标记数据集Ci+1和未标记图像数据集Di+1,i和K为正整数。
根据所述已标记图像数据集Ci+1中图像数量和所述未标记数据集Di+1中图像数量的比值,或者通过主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率,确定所述训练次数K。
上述目标主动学习模型的具体训练过程可以参照图6中的方法600的具描述,此处不再赘述。
可选的,上述方法500可以由CPU处理,也可以由CPU和GPU共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。
上述图像处理可以包括图像分类、图像分割、目标检测或其它有关的图像处理,本申请对此不做具体限定。下面将具体描述方法1000在图像分类、图像分割以及目标检测领域的应用。
图像分类:将待处理图像输入目标主动学习模型,模型中的主干网络对待处理图像的特征进行提取,得到待处理图像的特征向量,并将该特征向量输入分类器中,得到该待处理图像的预测值,该预测值是一个多维向量,该多维向量中的每个元素对应一个图像类别,该多维向量中的每个元素用于表征待处理图像为该每个元素对应图像类别的概率值。
图像分割:将待处理图像输入目标主动学习模型,模型中的主干网络对待处理图像的特征进行提取,得到待处理图像的特征向量,并将该特征向量输入分类器中,得到该待处理图像的多个预测值,该多个预测值与该待处理图像的多个像素点一一对应。该多个预测值中的每个预测值为一个多维向量,任一多维向量中的每个元素对应一个图像类别,任一多维向量中的每个元素用于表征该任一多维向量对应像素点为该每个元素所对应图像类别的概率值。
目标检测:将待处理图像输入目标主动学习模型,模型中的主干网络对待处理图像的特征进行提取,得到待处理图像的特征向量,并将该特征向量输入分类器中,分类器首先会对待处理图像中的目标物体进行识别并分割,得到目标物体对应目标区域,最后输出与目标区域对应的多维向量,该多维向量表示的含义与上述图像分类中的含义相同,此处不再赘述。
可以理解图6所描述的实施例为该主动学习模型的训练阶段(如图1所示的训练设备120执行的阶段),具体训练是采用由图6所示的实施例或该实施例基础上任意一种可能的实现方式中提供的主干网络和多个对抗分类器进行的;而图10所描述的实施例则可以理解为是该主动学习模型的应用阶段(如图1所示的执行设备110执行的阶段),具体可以体现为采用由图6所示实施例训练得到的主动学习模型,并根据用户输入的待处理图像,得到待处理图像的预测值。
图11为本申请实施例提供的训练主动学习模型的装置1100,该装置包括:训练单元1101,用于执行步骤S1-S3,S1:利用已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,主动学习模型Mi包括主干网络和多个并行分类器,多个并行分类器与主干网络连接,i为正整数;S2:利用未标记图像数据集Di训练主动学习模型Mi1,得到主动学习模型Mi2,主动学习模型Mi2中多个并行分类器的参数与主动学习模型Mi1中多个并行分类器的参数相同,主动学习模型Mi2中主干网络的参数与主动学习模型Mi1中主干网络的参数不同;S3:利用已标记图像数据集Ci和未标记图像数据集Di训练主动学习模型Mi2,得到主动学习模型Mi+1和未标记图像数据集Di中每张未标记图像的分歧权重,主动学习模型Mi+1中多个并行分类器的参数与主动学习模型Mi2中多个并行分类器的参数不同,主动学习模型Mi+1中主干网络的参数与主动学习模型Mi2中主干网络的参数相同,分歧权重用于表征每张未标记图像的多个预测结果之间的偏差,每张未标记图像的多个预测结果与多个并行分类器一一对应;
筛选单元1102,用于执行步骤S4:根据未标记图像数据集Di中每张未标记图像的分歧权重从未标记图像数据集Di中选出N张未标记图像进行人工标记,将人工标记的N张图像加入已标记图像数据集Ci,得到已标记图像数据集Ci+1和未标记数据集Di+1,N为正整数;
确定单元1103,用于执行步骤S5:根据已标记图像数据集Ci+1确定目标主动学习模型。
在一种可行的实施方式中,上述确定单元具体用于:当已标记图像数据集Ci+1中图像数量和未标记数据集Di+1中图像数量的比值大于或等于预设比例值,或者利用主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率大于或等于预设准确率时,将主动学习模型Mi+1作为目标主动学习模型;否则,令i=i+1,并重复执行步骤S1-S5。
应当理解,装置1100中的训练单元1101、筛选单元1102和确定单元1103还可以执行图6所示实施例中对应的方法,此处不再赘述。
图12为本申请实施例提供的图像处理装置1200,该装置包括:
获取单元1201:用于获取待处理图像。
处理单元1202:用于使用目标主动学习模型对待处理图像进行图像处理,得到待处理图像的预测值。
具体地,图像处理装置1200可以用于处理图10中所述的图像处理方法1000的对应步骤,此处不再赘述。
图13是本申请实施例提供的一种主动学习模型的训练装置的硬件结构示意图。图13所示的主动学习模型的训练装置1300(该装置1300具体可以是一种计算机设备)包括存储器1301、处理器1302、通信接口1303以及总线1304。其中,存储器1301、处理器1302、通信接口1303通过总线1304实现彼此之间的通信连接。
存储器1301可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1301可以存储程序,当存储器1301中存储的程序被处理器1302执行时,处理器1302和通信接口1303用于执行本申请实施例的主动学习模型的训练方法的各个步骤。
处理器1302可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例中主动学习模型的训练装置中的单元所需执行的功能,或者执行本申请方法实施例的主动学习模型的训练方法。
处理器1302还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的主动学习模型的训练方法的各个步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1302还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1301,处理器1302读取存储器1301中的信息,结合其硬件完成本申请实施例的主动学习模型的训练装置中包括的单元所需执行的功能,或者执行本申请方法实施例的主动学习模型的训练方法。
通信接口1303使用例如但不限于收发器一类的收发装置,来实现装置1300与其他设备或通信网络之间的通信。例如,可以通过通信接口1303获取训练数据(如本申请实施例所述的已标记图像数据集和未标记图像数据集)。
总线1304可包括在装置1300各个部件(例如,存储器1301、处理器1302、通信接口1303)之间传送信息的通路。
图14是本申请实施例提供的图像处理装置的硬件结构示意图。图14所示的图像处理装置1400(该装置1400具体可以是一种计算机设备)包括存储器1401、处理器1402、通信接口1403以及总线1404。其中,存储器1401、处理器1402、通信接口1403通过总线1404实现彼此之间的通信连接。
存储器1401可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器1401可以存储程序,当存储器1401中存储的程序被处理器1402执行时,处理器1402和通信接口1403用于执行本申请实施例的图像处理方法的各个步骤。
处理器1402可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的图像处理装置中的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
处理器1402还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的图像处理方法的各个步骤可以通过处理器1402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1402还可以是通用处理器、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1401,处理器1402读取存储器1401中的信息,结合其硬件完成本申请实施例的图像处理装置中包括的单元所需执行的功能,或者执行本申请方法实施例的图像处理方法。
通信接口1403使用例如但不限于收发器一类的收发装置,来实现装置1400与其他设备或通信网络之间的通信。例如,可以通过通信接口1403获取训练数据(如本申请图10所描述实施例中的待处理图像)。
总线1404可包括在装置1400各个部件(例如,存储器1401、处理器1402、通信接口1403)之间传送信息的通路。
应注意,尽管图13和图14所示的装置1300和1400仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置1300和1400还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置1300和1400还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置1300和1400也可仅仅包括实现本申请实施例所必须的器件,而不必包括图13或图14中所示的全部器件。
可以理解,上述装置1300相当于图1中的训练设备120,装置1400相当于图1中的执行设备110。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种主动学习模型的训练方法,其特征在于,所述方法包括:
S1:利用已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,所述主动学习模型Mi包括主干网络和多个并行分类器,所述多个并行分类器与所述主干网络连接,所述i为正整数;
S2:利用未标记图像数据集Di训练所述主动学习模型Mi1,得到主动学习模型Mi2,所述主动学习模型Mi2中多个并行分类器的参数与所述主动学习模型Mi1中多个并行分类器的参数相同,所述主动学习模型Mi2中主干网络的参数与所述主动学习模型Mi1中主干网络的参数不同;
S3:利用所述已标记图像数据集Ci和所述未标记图像数据集Di训练所述主动学习模型Mi2,得到主动学习模型Mi+1和所述未标记图像数据集Di中每张未标记图像的分歧权重,所述主动学习模型Mi+1中多个并行分类器的参数与所述主动学习模型Mi2中多个并行分类器的参数不同,所述主动学习模型Mi+1中主干网络的参数与所述主动学习模型Mi2中主干网络的参数相同,所述分歧权重用于表征所述每张未标记图像的多个预测值之间的偏差,所述每张未标记图像的多个预测值分别由所述多个并行分类器输出;
S4:根据所述未标记图像数据集Di中每张未标记图像的分歧权重从所述未标记图像数据集Di中选出N张未标记图像进行人工标记,将所述人工标记的N张图像加入所述已标记图像数据集Ci,得到已标记图像数据集Ci+1和未标记数据集Di+1,所述N为正整数;
S5:根据所述已标记图像数据集Ci+1确定目标主动学习模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述已标记图像数据集Ci+1确定目标主动学习模型,包括:
当所述已标记图像数据集Ci+1中图像数量和所述未标记数据集Di+1中图像数量的比值大于或等于预设比例值,或者利用主动学习模型Mi+1对所述已标记图像数据集Ci+1中的图像进行预测的准确率大于或等于预设准确率时,将所述主动学习模型Mi+1作为所述目标主动学习模型;
否则,令i=i+1,并重复执行步骤S1-S5。
3.根据权利要求1或2所述的方法,其特征在于,所述利用未标记图像数据集Di训练所述主动学习模型Mi1,得到主动学习模型Mi2,包括:
将所述未标记图像数据集Di输入所述主动学习模型Mi1,得到所述未标记图像数据集Di中每张未标记图像的多个第一预测值;
根据所述每张未标记图像的多个第一预测值和第一损失函数,更新所述主动学习模型Mi1中主干网络的参数,得到所述主动学习模型Mi2,所述第一损失函数的输入数据为所述每张未标记图像的多个第一预测值。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述利用所述已标记图像数据集Ci和所述未标记图像数据集Di训练所述主动学习模型Mi2,得到主动学习模型Mi+1和所述未标记图像数据集Di中每张未标记图像的分歧权重,包括:
Q1:将所述已标记图像数据集Ci和所述未标记图像数据集Di中的第j张图像Pj输入主动学习模型Mj-1,得到所述图像Pj的多个第二预测值,所述j为正整数;
Q2:根据所述图像Pj的多个第二预测值更新所述主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj;当所述图像Pj为未标记图像数据集Di中的图像时,根据所述图像Pj的多个第二预测值确定该图像的所述分歧权重;
Q3:当j小于E和F之和时,令j=j+1,并重复执行步骤Q1-Q2;当j等于所述E和所述F之和时,将所述主动学习模型Mj作为主动学习模型Mi+1,当j=1时,主动学习模型Mj-1为所述主动学习模型Mi2;所述E和所述F分别为所述已标记图像数据集Ci和所述未标记图像数据集Di中图像的数量,且所述E和所述F为正整数。
5.根据权利要求4中所述方法,其特征在于,所述根据所述图像Pj的多个第二预测值更新所述主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj,包括:
当所述图像Pj为未标记图像数据集Di中的图像时,根据所述图像Pj的多个第二预测值和第二损失函数更新所述主动学习模型Mj-1中多个分类器的参数,得到所述主动学习模型Mj,所述第二损失函数的输入数据为所述图像Pj的多个第二预测值,且所述第二损失函数的函数值与所述图像Pj的分歧权重成正比;
当所述图像Pj为已标记图像数据集Ci中的图像时,根据所述图像Pj的多个第二预测值和第三损失函数更新所述主动学习模型Mj-1中多个分类器的参数,得到所述主动学习模型Mj,所述第三损失函数的输入数据为所述图像Pj的多个第二预测值和所述图像Pj的真实值。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述根据所述未标记图像数据集Di中每张未标记图像的分歧权重从所述未标记图像数据集Di中选出N张未标记图像进行人工标记,包括:
对所述未标记图像数据集Di中每张未标记图像按照其分歧权重从大到小进行排序,得到排序结果,从所述排序结果中选出前N张未标记图像进行人工标记。
7.一种图像处理方法,其特征在于,所述方法包括:
获取待处理图像;
使用目标主动学习模型对所述待处理图像进行图像处理,得到所述待处理图像的预测值,所述目标主动学习模型包括主干网络和多个并行分类器,所述多个并行分类器与所述主干网络连接;
所述目标主动学习模型通过K次训练得到,在所述K次训练的第i次训练中:通过已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,所述主动学习模型Mi为所述K次训练中的第i-1次训练得到的,所述已标记图像数据集Ci为所述第i-1次训练后更新得到的;通过未标记图像数据集Di训练所述主动学习模型Mi1,得到主动学习模型Mi2,所述未标记图像数据集Di为所述第i-1次训练后更新得到的,所述主动学习模型Mi2中多个并行分类器的参数与所述主动学习模型Mi1中多个并行分类器的参数相同,所述主动学习模型Mi2中主干网络的参数与所述主动学习模型Mi1中主干网络的参数不同;通过所述已标记图像数据集Ci和所述未标记图像数据集Di训练所述主动学习模型Mi2,得到主动学习模型Mi+1和所述未标记图像数据集Di中每张未标记图像的分歧权重,所述主动学习模型Mi+1中多个并行分类器的参数与所述主动学习模型Mi2中多个并行分类器的参数不同,所述主动学习模型Mi+1中主干网络的参数与所述主动学习模型Mi2中主干网络的参数相同;根据所述每张未标记图像的分歧权重更新所述已标记图像数据集Ci和所述未标记图像数据集Di,得到已标记数据集Ci+1和未标记图像数据集Di+1,所述i和所述K为正整数。
8.根据权利要求7所述的方法,其特征在于,根据所述已标记图像数据集Ci+1中图像数量和所述未标记数据集Di+1中图像数量的比值,或者通过主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率,确定所述训练次数K。
9.根据权利要求7或8所述的方法,其特征在于,所述图像处理包括图像分类、目标检测和图像分割中的至少一种。
10.一种主动学习模型的训练装置,其特征在于,所述装置包括:
训练单元,用于执行步骤S1-S3;
筛选单元,用于执行步骤S4;
确定单元,用于执行步骤S5;
所述步骤S1:利用已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,所述主动学习模型Mi包括主干网络和多个并行分类器,所述多个并行分类器与所述主干网络连接,所述i为正整数;
所述步骤S2:利用未标记图像数据集Di训练所述主动学习模型Mi1,得到主动学习模型Mi2,所述主动学习模型Mi2中多个并行分类器的参数与所述主动学习模型Mi1中多个并行分类器的参数相同,所述主动学习模型Mi2中主干网络的参数与所述主动学习模型Mi1中主干网络的参数不同;
所述步骤S3:利用所述已标记图像数据集Ci和所述未标记图像数据集Di训练所述主动学习模型Mi2,得到主动学习模型Mi+1和所述未标记图像数据集Di中每张未标记图像的分歧权重,所述主动学习模型Mi+1中多个并行分类器的参数与所述主动学习模型Mi2中多个并行分类器的参数不同,所述主动学习模型Mi+1中主干网络的参数与所述主动学习模型Mi2中主干网络的参数相同,所述分歧权重用于表征所述每张未标记图像的多个预测值之间的偏差,所述每张未标记图像的多个预测值分别由所述多个并行分类器输出;
所述步骤S4:根据所述未标记图像数据集Di中每张未标记图像的分歧权重从所述未标记图像数据集Di中选出N张未标记图像进行人工标记,将所述人工标记的N张图像加入所述已标记图像数据集Ci,得到已标记图像数据集Ci+1和未标记数据集Di+1,所述N为正整数;
所述步骤S5:根据所述已标记图像数据集Ci+1确定目标主动学习模型。
11.根据权利要求10所述的装置,其特征在于,所述确定单元具体用于:
当所述已标记图像数据集Ci+1中图像数量和所述未标记数据集Di+1中图像数量的比值大于或等于预设比例值,或者利用主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率大于或等于预设准确率时,将主动学习模型Mi+1作为所述目标主动学习模型;
否则,令i=i+1,并利用所述训练单元执行所述步骤S1-S3,所述筛选单元执行所述步骤S4,所述确定单元执行所述步骤S5。
12.根据权利要求10或11所述的装置,其特征在于,在所述利用未标记图像数据集Di训练所述主动学习模型Mi1,得到主动学习模型Mi2的方面,所述训练单元具体用于:
将所述未标记图像数据集Di输入所述主动学习模型Mi1,得到所述未标记图像数据集Di中每张未标记图像的多个第一预测值;
根据所述每张未标记图像的多个第一预测值和第一损失函数,更新所述主动学习模型Mi1中主干网络的参数,得到所述主动学习模型Mi2,所述第一损失函数的输入数据为所述每张未标记图像的多个第一预测值。
13.根据权利要求10-12任一项所述的装置,其特征在于,在所述利用所述已标记图像数据集Ci和所述未标记图像数据集Di训练所述主动学习模型Mi2,得到主动学习模型Mi+1和所述未标记图像数据集Di中每张未标记图像的分歧权重的方面,所述训练单元具体用于:
Q1:将所述已标记图像数据集Ci和所述未标记图像数据集Di中的第j张图像Pj输入主动学习模型Mj-1,得到所述图像Pj的多个第二预测值,所述j为正整数;
Q2:根据所述图像Pj的多个第二预测值更新所述主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj;当所述图像Pj为未标记图像数据集Di中的图像时,根据所述图像Pj的多个第二预测值确定该图像的所述分歧权重;
Q3:当j小于E和F之和时,令j=j+1,并重复执行步骤Q1-Q2;当j等于所述E和所述F之和时,将所述主动学习模型Mj作为主动学习模型Mi+1,当j=1时,主动学习模型Mj-1为所述主动学习模型Mi2;所述E和所述F分别为所述已标记图像数据集Ci和所述未标记图像数据集Di中图像的数量,且所述E和所述F为正整数。
14.根据权利要求13中所述的装置,其特征在于,在所述根据所述图像Pj的多个第二预测值更新所述主动学习模型Mj-1中多个分类器的参数,得到主动学习模型Mj的方面,所述训练单元具体用于:
当所述图像Pj为未标记图像数据集Di中的图像时,根据所述图像Pj的多个第二预测值和第二损失函数更新所述主动学习模型Mj-1中多个分类器的参数,得到所述主动学习模型Mj,所述第二损失函数的输入数据为所述图像Pj的多个第二预测值,且所述第二损失函数的函数值与所述图像Pj的分歧权重成正比;
当所述图像Pj为已标记图像数据集Ci中的图像时,根据所述图像Pj的多个第二预测值和第三损失函数更新所述主动学习模型Mj-1中多个分类器的参数,得到所述主动学习模型Mj,所述第三损失函数的输入数据为所述图像Pj的多个第二预测值和所述图像Pj的真实值。
15.根据权利要求10-14任一项所述的装置,其特征在于,所述筛选单元具体用于:
对所述未标记图像数据集Di中每张未标记图像按照其分歧权重从大到小进行排序,得到排序结果,从所述排序结果中选出前N张未标记图像进行人工标记。
16.一种图像处理装置,其特征在于,所述装置包括:
获取单元:获取待处理图像;
处理单元:利用目标主动学习模型对所述待处理图像进行图像处理,得到所述待处理图像的预测值;所述目标主动学习模型包括主干网络和多个并行分类器,所述多个并行分类器与所述主干网络连接;
所述目标主动学习模型通过K次训练得到,在所述K次训练的第i次训练中:通过已标记图像数据集Ci训练主动学习模型Mi,得到主动学习模型Mi1,所述主动学习模型Mi为所述K次训练中的第i-1次训练得到的,所述已标记图像数据集Ci为所述第i-1次训练后更新得到的;通过未标记图像数据集Di训练所述主动学习模型Mi1,得到主动学习模型Mi2,所述未标记图像数据集Di为所述第i-1次训练后更新得到的,所述主动学习模型Mi2中多个并行分类器的参数与所述主动学习模型Mi1中多个并行分类器的参数相同,所述主动学习模型Mi2中主干网络的参数与所述主动学习模型Mi1中主干网络的参数不同;通过所述已标记图像数据集Ci和所述未标记图像数据集Di训练所述主动学习模型Mi2,得到主动学习模型Mi+1和所述未标记图像数据集Di中每张未标记图像的分歧权重,所述主动学习模型Mi+1中多个并行分类器的参数与所述主动学习模型Mi2中多个并行分类器的参数不同,所述主动学习模型Mi+1中主干网络的参数与所述主动学习模型Mi2中主干网络的参数相同;根据所述每张未标记图像的分歧权重更新所述已标记图像数据集Ci和所述未标记图像数据集Di,得到已标记数据集Ci+1和未标记图像数据集Di+1,所述i和所述K为正整数。
17.根据权利要求16中所述的装置,其特征在于,根据所述已标记图像数据集Ci+1中图像数量和所述未标记数据集Di+1中图像数量的比值,或者通过主动学习模型Mi+1对已标记图像数据集Ci+1中的图像进行预测的准确率,确定所述训练次数K。
18.根据权利要求16或17中所述的装置,其特征在于,所述图像处理包括图像分类、目标检测和图像分割中的至少一种。
19.一种训练主动学习模型的装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至6中任一项所述的方法。
20.一种图像处理装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求7至9中任一项所述的方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至9中任一项所述的方法。
22.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468284.9A CN114693986A (zh) | 2020-12-11 | 2020-12-11 | 主动学习模型的训练方法、图像处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468284.9A CN114693986A (zh) | 2020-12-11 | 2020-12-11 | 主动学习模型的训练方法、图像处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114693986A true CN114693986A (zh) | 2022-07-01 |
Family
ID=82130196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011468284.9A Pending CN114693986A (zh) | 2020-12-11 | 2020-12-11 | 主动学习模型的训练方法、图像处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114693986A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385818A (zh) * | 2023-02-09 | 2023-07-04 | 中国科学院空天信息创新研究院 | 云检测模型的训练方法、装置及设备 |
-
2020
- 2020-12-11 CN CN202011468284.9A patent/CN114693986A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385818A (zh) * | 2023-02-09 | 2023-07-04 | 中国科学院空天信息创新研究院 | 云检测模型的训练方法、装置及设备 |
CN116385818B (zh) * | 2023-02-09 | 2023-11-28 | 中国科学院空天信息创新研究院 | 云检测模型的训练方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378381B (zh) | 物体检测方法、装置和计算机存储介质 | |
CN110188795B (zh) | 图像分类方法、数据处理方法和装置 | |
CN112446270B (zh) | 行人再识别网络的训练方法、行人再识别方法和装置 | |
WO2021043112A1 (zh) | 图像分类方法以及装置 | |
WO2022083536A1 (zh) | 一种神经网络构建方法以及装置 | |
CN111291809B (zh) | 一种处理装置、方法及存储介质 | |
WO2022042713A1 (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
CN112446380A (zh) | 图像处理方法和装置 | |
CN110222717B (zh) | 图像处理方法和装置 | |
CN112639828A (zh) | 数据处理的方法、训练神经网络模型的方法及设备 | |
CN112446834A (zh) | 图像增强方法和装置 | |
US20220148291A1 (en) | Image classification method and apparatus, and image classification model training method and apparatus | |
CN111914997B (zh) | 训练神经网络的方法、图像处理方法及装置 | |
CN110222718B (zh) | 图像处理的方法及装置 | |
CN111819568A (zh) | 人脸旋转图像的生成方法及装置 | |
CN111368972B (zh) | 一种卷积层量化方法及其装置 | |
CN111832592B (zh) | Rgbd显著性检测方法以及相关装置 | |
US20220157046A1 (en) | Image Classification Method And Apparatus | |
CN113191489B (zh) | 二值神经网络模型的训练方法、图像处理方法和装置 | |
CN111882031A (zh) | 一种神经网络蒸馏方法及装置 | |
CN111695673B (zh) | 训练神经网络预测器的方法、图像处理方法及装置 | |
CN112529146B (zh) | 神经网络模型训练的方法和装置 | |
CN111797882A (zh) | 图像分类方法及装置 | |
CN113011562A (zh) | 一种模型训练方法及装置 | |
CN113807183A (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 |