CN113657411A - 神经网络模型的训练方法、图像特征提取方法及相关装置 - Google Patents
神经网络模型的训练方法、图像特征提取方法及相关装置 Download PDFInfo
- Publication number
- CN113657411A CN113657411A CN202110970481.9A CN202110970481A CN113657411A CN 113657411 A CN113657411 A CN 113657411A CN 202110970481 A CN202110970481 A CN 202110970481A CN 113657411 A CN113657411 A CN 113657411A
- Authority
- CN
- China
- Prior art keywords
- image
- neural network
- positive
- network model
- loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000012549 training Methods 0.000 title claims abstract description 79
- 238000000605 extraction Methods 0.000 title claims abstract description 17
- 238000003860 storage Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 230000003321 amplification Effects 0.000 claims description 12
- 238000005065 mining Methods 0.000 claims description 12
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 230000000052 comparative effect Effects 0.000 description 10
- 238000012935 Averaging Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000009412 basement excavation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种神经网络模型的训练方法、图像特征提取方法及相关装置,用于解决相关技术中自监督学习对硬件要求高且训练速度低的问题。在本申请实施例提供的对比学习方法中,提出了困难负样本对的概念,通过构建正样本对和困难负样本对,能够使得神经网络模型学习到正样本之间的特征,而且能够准确的区分差别较小的负样本。由此,保证了对困难负样本的学习,即保证了对差别较大的负样本的学习,使得神经网络模型能够准确的提取图像特征。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种神经网络模型的训练方法、图像特征提取方法及相关装置。
背景技术
随着图像、视频资源的不断增多,为了便于对不同的多媒体资源进行管理、查询,往往需要获得多媒体资源的一些特征。利用特征之间的相似度能够找到相似的资源,利用多媒体资源的特征也能够实现多媒体资源推荐。
相关技术中,面对海量的多媒体资源,通常采用神经网络模型提取多媒体资源的特征。神经网络模型从大规模无标注的数据集中学习,在计算机视觉中,一直是个很热的方向。
自监督学习方式中每个单独的任务都需要花费大量精力,时间成本等来获取大规模的高质量的标签。而在各种数据中心和数据源中,非标注的数据是海量的,这些非标注数据可采用非监督学习或者自监督学习从海量的非标注数据中高效地学习任务无关的特征表示。
然而,现有的主流自监督学习方式的学习效率有待提高。
发明内容
本申请实施例提供一种神经网络模型的训练方法、图像特征提取方法及相关装置,用于解决相关技术中用于提取图像特征的神经网络采用自监督学习方式需要提高学习效率的问题。
第一方面,本申请提供一种基于对比学习的神经网络模型训练方法,所述神经网络模型用于提取图像特征,所述方法包括:
提取正样本对和困难负样本对,其中,正样本对包括第一图像和第二图像,所述第二图像为对所述第一图像经过数据扩增处理之后得到的,困难负样本对包括第三图像和第四图像,且所述第三图像和所述第四图像之间的差异度小于指定差异度;
基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型。
可选的,基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型,包括:
将所述正样本对和所述困难负样本对分别输入所述神经网络模型,得到所述神经网络模型提取的所述第一图像、所述第二图像、所述第三图像和所述第四图像各自的图像特征;
基于所述第一图像的图像特征和所述第二图像的图像特征,确定所述第一图像和所述第二图像之间的差异度作为正样本损失,并基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的差异度作为负样本损失;
基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失;
基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数。
可选的,同一训练批次包括多个正样本对和多个困难负样本对,所述基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失,包括:
获取所述同一训练批次中正样本对的正样本损失,以及所述同一训练批次中困难负样本对的负样本损失;
基于同一训练批次中正样本对的正样本损失确定正样本总损失,基于同一训练批次中困难负样本对的负样本损失确定负样本总损失;
将所述正样本总损失和所述负样本总损失进行加权求和,得到所述神经网络模型的总损失,其中,正样本总损失的权重为正数,负样本总损失的权重为负数。
可选的,所述基于同一训练批次中正样本对的正样本损失确定正样本总损失,包括:
确定正样本损失的平均期望作为所述正样本总损失。
可选的,负样本损失表示负样本对中两样本的特征距离;所述基于同一训练批次中困难负样本对的负样本损失确定负样本总损失,包括:
基于负样本总损失确定公式,确定所述负样本总损失:
其中,表示所述负样本总损失、D表示第四图像集合,Ii表示所述第四图像集合中的第i个图像、Bi表示与第i个图像构建的困难负样本对的第三图像集合、U′i表示第i个图像的图像特征、Uj表示第三图像集合中第j个图像的图像特征、DisSim()表示负样本损失、E表示求平均期望。
可选的,所述神经网络模型包括老师网络和学生网络,其中正样本对中的两张图像分别输入给老师网络和学生网络,困难负样本对中的两张图像分别输入给老师网络和学生网络,其中,老师网络用于处理第二图像和第三图像,学生网络用于处理第一图像和第四图像。
可选的,所述神经网络模型包括老师网络和学生网络,所述基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数,包括:
基于所述神经网络模型的总损失求解老师网络参数的梯度,其中,若梯度超过相应的梯度截止门限,则将梯度设置为相应的梯度截止门限;
基于求解的梯度,确定更新后的所述老师网络参数;
基于更新后的所述老师网络参数和学生网络参数,对所述学生网络参数进行更新。
可选的,所述基于更新后的所述老师网络参数和学生网络参数,对所述学生网络参数进行更新,包括:
对所述老师网络参数和所述学生网络的当前参数进行加权求平均,得到所述学生网络的更新后的参数。
可选的,所述提取困难负样本对,包括:
采用老师网络提取所述第三图像的图像特征;并,采用学生网络提取所述第四图像的图像特征;
基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度;
若所述差异度小于所述指定差异度,则采用所述第三图像和所述第四图像构建所述困难负样本对。
可选的,基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度,包括:
基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的L2距离作为所述差异度。
可选的,所述负样本对中的所述第三图像和所述第四图像来自所述同一训练批次。
第二方面本申请还提供一种图像特征提取方法,所述方法包括:
获取待处理图像;
将所述待处理图像输入至如第一方面中的任一所述神经网络模型,得到所述待处理图像的图像特征。
可选的,所述所述神经网络模型包括老师网络和学生网络,则采用所述老师网络提取所述待处理图像的图像特征。
第三方面,本申请还提供一种基于对比学习的神经网络模型训练装置,所述神经网络模型用于提取图像特征,所述装置包括:
样本对挖掘模块,被配置为执行提取正样本对和困难负样本对,其中,正样本对包括第一图像和第二图像,所述第二图像为对所述第一图像经过数据扩增处理之后得到的,困难负样本对包括第三图像和第四图像,且所述第三图像和所述第四图像之间的差异度小于指定差异度;
学习模块,被配置为执行基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型。
可选的,所述学习模块被配置为执行:
将所述正样本对和所述困难负样本对分别输入所述神经网络模型,得到所述神经网络模型提取的所述第一图像、所述第二图像、所述第三图像和所述第四图像各自的图像特征;
基于所述第一图像的图像特征和所述第二图像的图像特征,确定所述第一图像和所述第二图像之间的差异度作为正样本损失,并基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的差异度作为负样本损失;
基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失;
基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数。
可选的,同一训练批次包括多个正样本对和多个困难负样本对,执行所述基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失,所述学习模块被配置为执行:
获取所述同一训练批次中正样本对的正样本损失,以及所述同一训练批次中困难负样本对的负样本损失;
基于同一训练批次中正样本对的正样本损失确定正样本总损失,基于同一训练批次中困难负样本对的负样本损失确定负样本总损失;
将所述正样本总损失和所述负样本总损失进行加权求和,得到所述神经网络模型的总损失,其中,正样本总损失的权重为正数,负样本总损失的的权重为负数。
可选的,执行所述基于同一训练批次中正样本对的正样本损失确定正样本总损失,所述学习模块被配置为执行:
确定正样本损失的平均期望作为所述正样本总损失。
可选的,负样本损失表示负样本对中两样本的特征距离;执行所述基于同一训练批次中困难负样本对的负样本损失确定负样本总损失,所述学习模块被配置为执行:
基于负样本总损失确定公式,确定所述负样本总损失:
其中,表示所述负样本总损失、D表示第四图像集合,Ii表示所述第四图像集合中的第i个图像、Bi表示与第i个图像构建的困难负样本对的第三图像集合、U′i表示第i个图像的图像特征、Uj表示第三图像集合中第j个图像的图像特征、DisSim()表示负样本损失、E表示求平均期望。
可选的,所述神经网络模型包括老师网络和学生网络,其中正样本对中的两张图像分别输入给老师网络和学生网络,困难负样本对中的两张图像分别输入给老师网络和学生网络,其中,老师网络用于处理第二图像和第三图像,学生网络用于处理第一图像和第四图像。
可选的,所述神经网络模型包括老师网络和学生网络,执行所述基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数,所述学习模块被配置为执行:
基于所述神经网络模型的总损失求解老师网络参数的梯度,其中,若梯度超过相应的梯度截止门限,则将梯度设置为相应的梯度截止门限;
基于求解的梯度,确定更新后的所述老师网络参数;
基于更新后的所述老师网络参数和学生网络参数,对所述学生网络参数进行更新。
可选的,执行所述基于更新后的所述老师网络参数和学生网络参数,对所述学生网络参数进行更新,所述学习模块被配置为执行:
对所述老师网络参数和所述学生网络的当前参数进行加权求平均,得到所述学生网络的更新后的参数。
可选的,执行所述提取困难负样本对,所述样本对挖掘模块被配置为执行:
采用老师网络提取所述第三图像的图像特征;并,采用学生网络提取所述第四图像的图像特征;
基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度;
若所述差异度小于所述指定差异度,则采用所述第三图像和所述第四图像构建所述困难负样本对。
可选的,执行基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度,所述样本对挖掘模块被配置为执行:
基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的L2距离作为所述差异度。
可选的,所述负样本对中的所述第三图像和所述第四图像来自所述同一训练批次。
第四方面,本申请还提一种图像特征提取装置,所述装置包括:
获取模块,被配置为执行获取待处理图像;
特征提取模块,被配置为执行将所述待处理图像输入至如第一方面提供的任一所述神经网络模型,得到所述待处理图像的图像特征。
可选的,所述神经网络模型包括老师网络和学生网络,则采用所述老师网络提取所述待处理图像的图像特征。
第五方面,本申请还提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如本申请第一方面和第二方面中提供的任一方法。
第六方面,本申请一实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本申请第一方面和第二方面中提供的任一方法。
第七方面,本申请一实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本申请第一方面和第二方面中提供的任一方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
在本申请实施例提供的对比学习方法中,提出了困难负样本对的概念,通过构建正样本对和困难负样本对,能够使得神经网络模型学习到正样本之间的特征,而且能够准确的区分差别较小的负样本。由此,保证了对困难负样本的学习,即保证了对差别较大的负样本的学习,使得神经网络模型能够准确的提取图像特征。由此,本申请不需要对差异很大的负样本对进行无效学习,在保证准确性的情况下,由于只需要学习困难负样本对,对样本对数量的需求降低,因而学习的批次batch size(批次大小)可以降低,故而可以提高学习效率。此外,由于学习batch size降低,学习时对硬件的性能要求可以降低。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于对比学习的神经网络模型训练方法的应用场景示意图;
图2为本申请一实施例提供的神经网络模型的结构示意图;
图3为本申请一实施例提供的自动挖掘困难负样本对的流程示意图;
图4为本申请一实施例提供的基于对比学习的神经网络模型训练方法的流程示意图;
图5是根据一示例性实施例示出的一种基于对比学习的神经网络模型训练装置的框图;
图6是根据一示例性实施例示出的一种图像特征提取装置的框图;
图7是根据一示例性实施例示出的电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
(2)“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
(3)服务器,是为终端服务的,服务的内容诸如向终端提供资源,保存终端数据;服务器是与终端上安装的应用程序相对应的,与终端上的应用程序配合运行。
(4)终端设备,既可以指软件类的APP(Application,应用程序),也可以指客户端。它具有可视的显示界面,能与用户进行交互;是与服务器相对应,为客户提供本地服务。针对软件类的应用程序,除了一些只在本地运行的应用程序之外,一般安装在普通的客户终端上,需要与服务端互相配合运行。因特网发展以后,较常用的应用程序包括了如短视频应用、收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,配置参数服务等,这样在客户终端和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。
(5)样本图像,本申请实施例中如没有特别说明,样本图像是采集的原始数据集中的图像。后文中,第一图像多指样本图像。
(6)扩增样本,后文也称之为第二图像。扩展样本是样本图像经数据扩增操作之后得到的图像。数据扩增操作例如旋转变换、平移变换、随机裁剪、高斯模糊、水平翻转、颜色抖动等能够扩充样本的方式均适用于本申请实施例。
(7)正样本对,样本图像和该样本图像的扩增样本构成正样本对,正样本对包括的两样本为正样本。
(8)负样本对,两张不同的样本图像可构建负样本对。负样本对包括的两样本为负样本。
(9)困难负样本对,负样本对中两样本间的差异度小于指定差异度,即两样本之间的差异度较小,则构成困难负样本对。
在本申请实施例中,样本图像A和样本图像B经数据扩增之后,获得扩增样本A’和扩增样本B’。则认为原始样本图像和其扩增样本为正样本对,样本图像A和另一个样本图像,或和除扩增样本A’之外的扩增样本都可以构成负样本对。然而,当负样本对的两样本的差异度较小时,则该类负样本对为困难负样本对。
为便于理解,后文中困难负样本对中的两样本分别称为第三图像和第四图像。
(10)对比学习,对比学习是一种常用的自监督学习方法。其核心思想是把正样本距离拉近,正样本与负样本之间的距离拉远。通过正样本对以及负样本对训练模型,使得模型基于提取的图像特征能够区分正负样本对,从而可以得到能够提取多媒体在资源的图像特征的神经网络模型。
相关技术中,自监督学习方式中每个单独的任务都需要花费大量精力,时间成本等来获取大规模的高质量的标签。
而在各种数据中心和数据源中,非标注的数据是海量的,这些非标注数据可采用非监督学习或者自监督学习从海量的非标注数据中高效地学习任务无关的特征表示。
然而,现有的主流自监督学习依赖大的batch size(批次大小)。但是大的batchsize对计算硬件,GPU(graphics processing unit,图形处理器)内存,IO读取速度有很高的要求,花费也较大。如而大的batch size需要大存储池。分批次训练时,每个批次的数据都需要更新到缓存中进行训练,大的batch size需要大的缓存,或者需要大的动态字典。这对硬件要求都较高。
同时,大的batch size大大降低训练速度。
从而,需要一种方式提高自监督学习的速度并降低对硬件的要求。
有鉴于此,为了解决上述问题,本申请实施例提供了一种能够降低batch size同时保证学习质量的对比学习方法。在本申请实施例提供的对比学习方法中,提出了困难负样本对的概念,通过构建正样本对和困难负样本对,能够使得神经网络模型学习到正样本之间的特征,而且能够准确的区分差别较小的负样本。由此,保证了对困难负样本的学习,即保证了对差别较大的负样本的学习,使得神经网络模型能够准确的提取图像特征。由此,本申请不需要对差异很大的负样本对进行无效学习,在保证准确性的情况下,由于只需要学习困难负样本对,对样本对数量的需求降低,因而学习的批次batch size(批次大小)可以降低,故而可以提高学习效率。此外,由于学习batch size降低,学习时对硬件的性能要求可以降低。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的对比学***板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
当然,本申请实施例提供的方法并不限于图1所示的应用场景,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
以图像为例,终端设备101可以生成图像发送给服务器102进行发布和存储。服务器102可基于海量图像的图像特征,挖掘出正样本对和困难负样本对,然后进行对比学习。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
一、正样本对,困难负样本对的挖掘
自监督学习/无监督学习尝试从大规模无标注数据集中学习一个很好的特征表示。数据集D记为D={I1,I2,…IN}。其中,N为正整数,Ii表示第i个样本图像。得到数据集之后可以为了提高网络的泛化能力,且使得网络能够学习到更多的特征,可以对样本图像进行数据扩增处理,得到扩增样本。
例如如图2所示,训练的神经网络包括学生网络S和老师网络T,学生网络S和老师网络T的结构类似,可以对老师网络T经简化后得到的学生网络S。
其中,为了便于自动的挖掘出正样本对和困难负样本对,学生网络S用于提取原始数据集中的样本图像的图像特征,老师网络用于提取各扩增样本的图像特征。由此,老师网络专门负责样本图像集、学生网络专门负责扩展样本集,在训练时,便于确定各网络从相应的图像集中获取数据,不同的网络不必在两个数据集中交叉获取数据,便于开发训练的代码,减少代码开发量。故此,需要理解的是,本申请实施例中,也可以由老师网络处理样本图像集,由学生网络负责扩展样本集。
定义扩增样本集合为A,则第Ii个样本图像的扩增样本可表示为A(Ii)。则经过老师网络T对A(Ii)提取的图像特征表示为:Ui=T(A(Ii);θT)。
经由学生网络S对Ii提取的图像特征表示为U′i=S(Ii;θS)。
正样本对的图像特征为同一样本的不同视角(老师网络视角和学生网络视角)的图像特征,例如第一图像经过数据扩增处理之后得到第二图像,则第一图像和其扩增样本即第二图像分别经由学生网络S和老师网络进行特征提取,得到正样本对的图像特征。
差异度不大的不同样本图像可用于构建第一类候选困难负样本,样本图像和另一样本图像的扩增样本可用于构建第二类候选困难负样本对,一个样本图像的扩增样本和另一样本图像的扩增样本可以用于构建第三类候选困难负样本对。针对任一类候选负样本对,只要该候选负样本对中两样本的差异度较小,则可以作为最终选择的困难负样本对。以第二类候选困难负样本为例,对困难负样本对的挖掘方式进行说明,为便于理解第二类候选困难负样本对中的扩增样本称之为第三图像,样本图像称之为第四图像。可实施为如图3所示的流程,包括以下步骤:
在步骤301中,采用老师网络提取所述第三图像的图像特征,并采用学生网络提取第四图像的图像特征。
在步骤302中,基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度;
实施时,计算扩增样本(第三图像)和样本图像(第四图像)之间的L2距离作为这两个样本之间的差异度。如公式(1)所示为L2距离的计算方式:
Uj=T(A(Ij);θT),j≠i
在公式(1)中,DisSim()表示L2距离,Uj表示第j个样本图像的扩增样本的图像特征,U′i表示第i个样本图像的图像特征,‖‖∞表示无穷范数。
在计算L2距离时,能够采用无穷范数对相应的特征映射到一个取值范围较小的值域,使得采用L2距离表达图像的距离同时,衡量不同样本之间的不相似度,即差异度在一个取值较低的值域内,便于后续计算处理。此外采用L2距离来衡量不同图像之间的距离,相对于L1距离侧重对一些敏感像素点的学习,采用L2距离来衡量不同图像之间的距离能够更为均衡的学习到整张图像的全局特征。
在步骤303中,若所述差异度小于所述指定差异度,则采用所述第三图像和所述第四图像构建所述困难负样本对。
由此,对应正负样本对的挖掘,本申请实施例均可以在线挖掘自动生成,相对人工标注正负样本对,能够快速高效的构建正负样本对。
在另一个实施例中,为了提高训练的精度,用于构建苦难负样本对的两样本即第三图像和第四图像来自于同一批次。
由此,采用同一批次构建困难负样本对,有助于对同一批次任务的学习。且能够自动在线挖掘出困难负样本对。当使用同一批次任务构建困难负样本对时,可以仅采用一个批次的样本进行训练,无需存储其他批次的任务,由此可以节约存储资源,降低对CPU的要求。
二、基于对比学习的模型训练
在构建处正样本对和困难负样本对之后,可以进行对比学习,参考图4为本申请实施例提供一种对比学习方法的流程示意图,包括以下步骤:
在步骤401中,提取正样本对和困难负样本对。
关于具体如何提取正样本对和困难负样本对在前文已经说明,这里不再赘述。
在步骤402中,基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型。
实施时,学习的过程中基于最大化困难负样本对的特征差异度的原则,确定负样本对的损失,基于缩小类内距离即正样本对中两样本之间的特征差异为原则确定正样本对的损失。如图4所示,可包括以下步骤:
在步骤4021中,将所述正样本对和所述困难负样本对分别输入所述神经网络模型,得到所述神经网络模型提取的所述第一图像、所述第二图像、所述第三图像和所述第四图像各自的图像特征。例如,所述神经网络模型包括老师网络和学生网络,其中正样本对中的两张图像分别输入给老师网络和学生网络,困难负样本对中的两张图像分别输入给老师网络和学生网络。在处理时,老师网络用于处理第二图像和第三图像,学生网络用于处理第一图像和第四图像。即老师网络用于处理扩增样本、学生网络用于处理样本图像,这样原始数据集和扩增样本集可分别输入给老师网络和学生网络处理,对数据集的处理比较简单有利于开发代码进行训练,减少代码开发量,缩短代码开发周期,提高老师网络和学生网络的训练速度。
在步骤4022中,基于所述第一图像的图像特征和所述第二图像的图像特征,确定所述第一图像和所述第二图像之间的差异度作为正样本损失,并基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的差异度作为负样本损失。基于所述正样本损失和所述负样本损失确定所述神经网络模型的总损失;然后基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数。
由此,基于正负样本的损失同时训练神经网络模型,使得神经网络模型能够同时学习到正负样本的特征。相对于单独学习正样本对和困难负样本对,能够提高学习效率。例如单独学习正样本对和困难负样本对需要两个批次,而同时学习时仅需要一个批次即可,一个批次的学习周期短语两个批次,故此能够提高学习效率。
实施时,本申请实施例可采用一个批次的数据进行循环训练,例如该批次的数据中包括原始数据集即样本图像集,还包含扩增样本集。第一次采用样本图像和其扩增样本构建正样本对,将样本数据集输入给学生网络,将扩增样本集输入给老师网络自动挖掘困难负样本对。然后将正样本对和困难负样本输入给神经网络模型得到总损失对神经网络模型参数进行更新。更新神经网络模型之后,样本图像集和扩增样本集再次分别输入给学生网络和老师网络,重新挖掘困难负样本对之后,基于正样本对和困难负样本对重新学习更新模型参数,以此类推。
同一训练批次包括多个正样本对和多个困难负样本对,确定所述神经网络模型的总损失时可实施为:获取所述同一训练批次中正样本对的正样本损失,以及所述同一训练批次中困难负样本对的负样本损失;基于同一训练批次中正样本对的正样本损失确定正样本总损失,基于同一训练批次中困难负样本对的负样本损失确定负样本总损失;将所述正样本总损失和所述负样本总损失进行加权求和,得到所述神经网络模型的总损失。总损失中包含正样本总损失和负样本总损失,便于同时学习正样本和负样本的特征,同时正负样本总损失通过权重来调整对正负样本学习的能力,例如正样本权重高一些则侧重对正样本的学习。实施时,二者权重一致即可。而且,采用同一训练批次来计算损失,不需要对同一训练批次,分开学习调整网络参数,能够提高学习效率。
其中,为了降低类内距离正样本总损失的权重为正数,为了最大化负样本距离负样本总损失的权重为负数。采用加权求和的方式能够使得神经网络模型能够同时学习正样本和负样本的特征。
在一些实施例中,针对任一第四图像,包含第四图像的负样本对构成负样本对集合,负样本总损失与负样本对集合中各负样本损失的累加值具有正相关关系。如可以基于如公式(2)所示的负样本总损失确定公式来确定负样本总损失:
在公式(2)中,表示所述负样本总损失、D表示第四图像集合,Ii表示所述第四图像集合中的第i个图像、Bi表示与第i个图像构建的困难负样本对的第三图像集合、U′i表示第i个图像的图像特征、Uj表示第三图像集合中第j个图像的图像特征、DisSim()表示负样本损失、E表示求平均期望。
基于负样本总损失确定公式,能够采用负样本损失的期望来表达负样本的总损失,采用期望能够很好的衡量困难负样本损失的整体情况,以便于对负样本进行特征提取和学习。
在另一实施例中,可确定正样本损失的平均期望作为所述正样本总损失。如实施时,可基于正样本总损失确定公式(3),确定所述正样本对的损失:
基于正样本总损失确定公式,能够采用期望来衡量正样本损失,采用期望能够很好的衡量正样本损失的整体情况,以便于对负样本进行特征提取和学习。
正负样本总损失都采用平均期望能够使得神经网络模型学习到同一批次各样本的特征。
然后,基于所述正样本损失和所述负样本损失基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数。
如在步骤4023中,可基于总损失更新老师网络参数,然后在步骤4024中基于更新后的老师网络参数更新学生网络参数。实施时,可采用对负样本对总损失和正样本对总损失加权求和方式来优化老师网络。加权求和方式如公式(4)所示:
在得到总损失之后,在误差反向传播中,可使用梯度截断技巧,来进一步稳定训练。如,可基于老师网络的总损失求解老师网络参数的梯度,其中,若梯度超过相应的梯度截止门限,则将梯度设置为相应的梯度截止门限;基于求解的梯度,确定所述老师网络参数。例如,如果梯度大于1(截止门限上限),则设定该梯度数值为1,如果梯度小于-1(截止门限下限),则设定该梯度数值为-1。由此,通过将梯度截断将梯度限定在门限内,缓解梯度值发散带来的网络参数不稳定的问题。
然后基于求解的梯度,确定更新后的所述老师网络参数。之后,基于更新后的所述老师网络参数和学生网络参数,对所述学生网络参数进行更新。
实施时,为了能够学***均来优化学生网络参数。如,对所述老师网络参数和所述学生网络的当前参数进行加权求平均的方式,得到所述学生网络的更新后的参数。更新方式可如公式(5)所示:
θS←τθS+(1-τ)θT (5)
在公式(5)中,箭头左侧的θS表示学生网络更新后的参数,箭头右侧的θS表示更新前即当前的学生网络参数,τ表示权重系数,θT表示更新后的老师网络参数。
由于指数移动平均使得参数的变化趋势比较平稳,能够保证训练的稳定性,防止陷入神经网络参数出现无效解的情况。
为便于理解,下面以图像为例对对比学习流程进行说明:
给定大规模不需标注的图像集D。对于每幅图像,可以获得老师网络和学生网络的两个图像特征,这两个图像特征即,Ui=T(A(Ii);θT);为U′i=S(Ii;θS)。其中,A为各种数据扩增手段。然后构建正样本对和困难负样本对。如前文所述,可使用不相似度(即差异度)衡量负样本对的困难程度。对于老师网络学***均来更新(如公式(5)所示)。
基于对比学习能够提取数据的图像特征,然后供下游应用使用。一种可能的应用场景为,给定一幅图像,使用老师网络来提取图像特征。提取的图像特征,可以用于分类、推荐***,广告,图像打标等任务。
综上所述,本申请实施例中,可以在较小的训练batch size下,获得最好的准确率。基于较少的训练batch size,无需大的存储池来存储,也无需大的缓存和动态字典可以显著降低训练对高性能硬件的依赖,可以显著节约训练花费。较小的训练batch size,也能提升训练速度,从而加速模型上线部署等待时间,和加速业务迭代速度。
基于相同的发明构思本申请实施例还提供一种基于对比学习的神经网络模型的训练装置。图5是根据一示例性实施例示出该装置的框图,参照图5,该装置500包括:
样本对挖掘模块501,被配置为执行提取正样本对和困难负样本对,其中,正样本对包括第一图像和第二图像,所述第二图像为对所述第一图像经过数据扩增处理之后得到的,困难负样本对包括第三图像和第四图像,且所述第三图像和所述第四图像之间的差异度小于指定差异度;
学习模块502,被配置为执行基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型。
可选的,所述学习模块被配置为执行:
将所述正样本对和所述困难负样本对分别输入所述神经网络模型,得到所述神经网络模型提取的所述第一图像、所述第二图像、所述第三图像和所述第四图像各自的图像特征;
基于所述第一图像的图像特征和所述第二图像的图像特征,确定所述第一图像和所述第二图像之间的差异度作为正样本损失,并基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的差异度作为负样本损失;
基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失;
基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数。
可选的,同一训练批次包括多个正样本对和多个困难负样本对,执行所述基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失,所述学习模块被配置为执行:
获取所述同一训练批次中正样本对的正样本损失,以及所述同一训练批次中困难负样本对的负样本损失;
基于同一训练批次中正样本对的正样本损失确定正样本总损失,基于同一训练批次中困难负样本对的负样本损失确定负样本总损失;
将所述正样本总损失和所述负样本总损失进行加权求和,得到所述神经网络模型的总损失,其中,正样本总损失的权重为正数,负样本总损失的的权重为负数。
可选的,执行所述基于同一训练批次中正样本对的正样本损失确定正样本总损失,所述学习模块被配置为执行:
确定正样本损失的平均期望作为所述正样本总损失。
可选的,负样本损失表示负样本对中两样本的特征距离;执行所述基于同一训练批次中困难负样本对的负样本损失确定负样本总损失,所述学习模块被配置为执行:
基于负样本总损失确定公式,确定所述负样本总损失:
其中,表示所述负样本总损失、D表示第四图像集合,Ii表示所述第四图像集合中的第i个图像、Bi表示与第i个图像构建的困难负样本对的第三图像集合、U′i表示第i个图像的图像特征、Uj表示第三图像集合中第j个图像的图像特征、DisSim()表示负样本损失、E表示求平均期望。
可选的,所述神经网络模型包括老师网络和学生网络,其中正样本对中的两张图像分别输入给老师网络和学生网络,困难负样本对中的两张图像分别输入给老师网络和学生网络,其中,老师网络用于处理第二图像和第三图像,学生网络用于处理第一图像和第四图像。
可选的,所述神经网络模型包括老师网络和学生网络,执行所述基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数,所述学习模块被配置为执行:
基于所述神经网络模型的总损失求解老师网络参数的梯度,其中,若梯度超过相应的梯度截止门限,则将梯度设置为相应的梯度截止门限;
基于求解的梯度,确定更新后的所述老师网络参数;
基于更新后的所述老师网络参数和学生网络参数,对所述学生网络参数进行更新。
可选的,执行所述基于更新后的所述老师网络参数和学生网络参数,对所述学生网络参数进行更新,所述学习模块被配置为执行:
对所述老师网络参数和所述学生网络的当前参数进行加权求平均,得到所述学生网络的更新后的参数。
可选的,执行所述提取困难负样本对,所述样本对挖掘模块被配置为执行:
采用老师网络提取所述第三图像的图像特征;并,采用学生网络提取所述第四图像的图像特征;
基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度;
若所述差异度小于所述指定差异度,则采用所述第三图像和所述第四图像构建所述困难负样本对。
可选的,执行基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度,所述样本对挖掘模块被配置为执行:
基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的L2距离作为所述差异度。
可选的,所述负样本对中的所述第三图像和所述第四图像来自所述同一训练批次。
基于相同的发明构思,本申请还提一种图像特征提取装置,如图6所示,所述装置600包括:
获取模块601,被配置为执行获取待处理图像;
特征提取模块602,被配置为执行将所述待处理图像输入至如前文提供的任一所述神经网络模型,得到所述待处理图像的图像特征。
可选的,所述所述神经网络模型包括老师网络和学生网络,则采用所述老师网络提取所述待处理图像的图像特征。
在介绍了本申请示例性实施方式的对比学习方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为***、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的方法。例如,处理器可以执行如基于对比学习的神经网络模型训练方法中的步骤或提取图像特征的方法的步骤。
下面参照图7来描述根据本申请的这种实施方式的电子设备130。图7显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同***组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、***总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。
存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器132,上述指令可由处理器131执行以完成上述对比学习方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器131执行时实现如本申请提供的示例性方法。
在示例性实施例中,本申请提供的一种基于对比学习的神经网络模型的训练方法和提取图像特征的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于基于对比学习的神经网络模型的训练方法和图像特征提取方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于对比学习的神经网络模型训练方法,其特征在于,所述神经网络模型用于提取图像特征,所述方法包括:
提取正样本对和困难负样本对,其中,正样本对包括第一图像和第二图像,所述第二图像为对所述第一图像经过数据扩增处理之后得到的,困难负样本对包括第三图像和第四图像,且所述第三图像和所述第四图像之间的差异度小于指定差异度;
基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型。
2.根据权利要求1所述的方法,其特征在于,基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型,包括:
将所述正样本对和所述困难负样本对分别输入所述神经网络模型,得到所述神经网络模型提取的所述第一图像、所述第二图像、所述第三图像和所述第四图像各自的图像特征;
基于所述第一图像的图像特征和所述第二图像的图像特征,确定所述第一图像和所述第二图像之间的差异度作为正样本损失,并基于所述第三图像的图像特征和所述第四图像的图像特征,确定所述第三图像和所述第四图像之间的差异度作为负样本损失;
基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失;
基于所述神经网络模型的总损失,更新所述神经网络模型的模型参数。
3.根据权利要求2所述的方法,其特征在于,同一训练批次包括多个正样本对和多个困难负样本对,所述基于所述正样本损失和所述负样本损失,确定所述神经网络模型的总损失,包括:
获取所述同一训练批次中正样本对的正样本损失,以及所述同一训练批次中困难负样本对的负样本损失;
基于同一训练批次中正样本对的正样本损失确定正样本总损失,基于同一训练批次中困难负样本对的负样本损失确定负样本总损失;
将所述正样本总损失和所述负样本总损失进行加权求和,得到所述神经网络模型的总损失,其中,正样本总损失的权重为正数,负样本总损失的权重为负数。
4.根据权利要求1所述的方法,其特征在于,所述神经网络模型包括老师网络和学生网络,其中正样本对中的两张图像分别输入给老师网络和学生网络,困难负样本对中的两张图像分别输入给老师网络和学生网络,其中,老师网络用于处理第二图像和第三图像,学生网络用于处理第一图像和第四图像。
5.根据权利要求4所述的方法,其特征在于,所述提取困难负样本对,包括:
采用老师网络提取所述第三图像的图像特征;并,采用学生网络提取所述第四图像的图像特征;
基于所述第三图像的图像特征和所述第四图像的图像特征确定所述第三图像和所述第四图像之间的差异度;
若所述差异度小于所述指定差异度,则采用所述第三图像和所述第四图像构建所述困难负样本对。
6.一种图像特征提取方法,其特征在于,所述方法包括:
获取待处理图像;
将所述待处理图像输入至如权利要求1-5中的任一所述神经网络模型,得到所述待处理图像的图像特征。
7.一种基于对比学习的神经网络模型训练装置,其特征在于,所述神经网络模型用于提取图像特征,所述装置包括:
样本对挖掘模块,被配置为执行提取正样本对和困难负样本对,其中,正样本对包括第一图像和第二图像,所述第二图像为对所述第一图像经过数据扩增处理之后得到的,困难负样本对包括第三图像和第四图像,且所述第三图像和所述第四图像之间的差异度小于指定差异度;
学习模块,被配置为执行基于所述正样本对和所述困难负样本对,采用对比学习方法训练所述神经网络模型。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970481.9A CN113657411B (zh) | 2021-08-23 | 2021-08-23 | 神经网络模型的训练方法、图像特征提取方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110970481.9A CN113657411B (zh) | 2021-08-23 | 2021-08-23 | 神经网络模型的训练方法、图像特征提取方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113657411A true CN113657411A (zh) | 2021-11-16 |
CN113657411B CN113657411B (zh) | 2024-07-12 |
Family
ID=78481647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110970481.9A Active CN113657411B (zh) | 2021-08-23 | 2021-08-23 | 神经网络模型的训练方法、图像特征提取方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113657411B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114463549A (zh) * | 2021-12-29 | 2022-05-10 | 广州极飞科技股份有限公司 | 特征提取网络模型的训练方法、图像处理方法及其装置 |
CN116523028A (zh) * | 2023-06-29 | 2023-08-01 | 深圳须弥云图空间科技有限公司 | 基于图像空间位置的图像表征模型训练方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647577A (zh) * | 2018-04-10 | 2018-10-12 | 华中科技大学 | 一种自适应难例挖掘的行人重识别模型、方法与*** |
CN108664893A (zh) * | 2018-04-03 | 2018-10-16 | 福州海景科技开发有限公司 | 一种人脸检测方法及存储介质 |
KR20190107984A (ko) * | 2018-03-13 | 2019-09-23 | 재단법인대구경북과학기술원 | 샘플링 및 적응적으로 변경되는 임계치에 기초하여 뉴럴 네트워크를 학습하는데 이용되는 하드 네거티브 샘플을 추출하는 영상 학습 장치 및 상기 장치가 수행하는 방법 |
CN110674714A (zh) * | 2019-09-13 | 2020-01-10 | 东南大学 | 基于迁移学习的人脸和人脸关键点联合检测方法 |
CN111401307A (zh) * | 2020-04-08 | 2020-07-10 | 中国人民解放军海军航空大学 | 基于深度度量学习的卫星遥感图像目标关联方法和装置 |
CN111523596A (zh) * | 2020-04-23 | 2020-08-11 | 北京百度网讯科技有限公司 | 目标识别模型训练方法、装置、设备以及存储介质 |
CN112734031A (zh) * | 2020-12-31 | 2021-04-30 | 珠海格力电器股份有限公司 | 神经网络模型训练方法、识别方法、存储介质以及设备 |
CN112990234A (zh) * | 2021-04-28 | 2021-06-18 | 广东西尼科技有限公司 | 基于改进孪生网络检测超分辨率小样本数据的方法 |
-
2021
- 2021-08-23 CN CN202110970481.9A patent/CN113657411B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190107984A (ko) * | 2018-03-13 | 2019-09-23 | 재단법인대구경북과학기술원 | 샘플링 및 적응적으로 변경되는 임계치에 기초하여 뉴럴 네트워크를 학습하는데 이용되는 하드 네거티브 샘플을 추출하는 영상 학습 장치 및 상기 장치가 수행하는 방법 |
CN108664893A (zh) * | 2018-04-03 | 2018-10-16 | 福州海景科技开发有限公司 | 一种人脸检测方法及存储介质 |
CN108647577A (zh) * | 2018-04-10 | 2018-10-12 | 华中科技大学 | 一种自适应难例挖掘的行人重识别模型、方法与*** |
CN110674714A (zh) * | 2019-09-13 | 2020-01-10 | 东南大学 | 基于迁移学习的人脸和人脸关键点联合检测方法 |
CN111401307A (zh) * | 2020-04-08 | 2020-07-10 | 中国人民解放军海军航空大学 | 基于深度度量学习的卫星遥感图像目标关联方法和装置 |
CN111523596A (zh) * | 2020-04-23 | 2020-08-11 | 北京百度网讯科技有限公司 | 目标识别模型训练方法、装置、设备以及存储介质 |
CN112734031A (zh) * | 2020-12-31 | 2021-04-30 | 珠海格力电器股份有限公司 | 神经网络模型训练方法、识别方法、存储介质以及设备 |
CN112990234A (zh) * | 2021-04-28 | 2021-06-18 | 广东西尼科技有限公司 | 基于改进孪生网络检测超分辨率小样本数据的方法 |
Non-Patent Citations (1)
Title |
---|
YANNIS KALANTIDIS等: "Hard Negative Mixing for Contrastive Learning", 《34TH CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS (NEURIPS 2020)》, pages 1 - 12 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114463549A (zh) * | 2021-12-29 | 2022-05-10 | 广州极飞科技股份有限公司 | 特征提取网络模型的训练方法、图像处理方法及其装置 |
CN116523028A (zh) * | 2023-06-29 | 2023-08-01 | 深圳须弥云图空间科技有限公司 | 基于图像空间位置的图像表征模型训练方法及装置 |
CN116523028B (zh) * | 2023-06-29 | 2023-10-03 | 深圳须弥云图空间科技有限公司 | 基于图像空间位置的图像表征模型训练方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113657411B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7331171B2 (ja) | 画像認識モデルをトレーニングするための方法および装置、画像を認識するための方法および装置、電子機器、記憶媒体、並びにコンピュータプログラム | |
CN111898696B (zh) | 伪标签及标签预测模型的生成方法、装置、介质及设备 | |
KR20210124111A (ko) | 모델을 훈련하기 위한 방법, 장치, 기기, 매체 및 프로그램 제품 | |
US20160210718A1 (en) | Data-parallel parameter estimation of the latent dirichlet allocation model by greedy gibbs sampling | |
US20220270384A1 (en) | Method for training adversarial network model, method for building character library, electronic device, and storage medium | |
CN113379627A (zh) | 图像增强模型的训练方法和对图像进行增强的方法 | |
CN112749300B (zh) | 用于视频分类的方法、装置、设备、存储介质和程序产品 | |
CN115861462B (zh) | 图像生成模型的训练方法、装置、电子设备及存储介质 | |
CN113657411B (zh) | 神经网络模型的训练方法、图像特征提取方法及相关装置 | |
CN114494784A (zh) | 深度学习模型的训练方法、图像处理方法和对象识别方法 | |
CN110633717A (zh) | 一种目标检测模型的训练方法和装置 | |
CN112785493B (zh) | 模型的训练方法、风格迁移方法、装置、设备及存储介质 | |
CN114693934A (zh) | 语义分割模型的训练方法、视频语义分割方法及装置 | |
CN113627536A (zh) | 模型训练、视频分类方法,装置,设备以及存储介质 | |
CN114817612A (zh) | 多模态数据匹配度计算和计算模型训练的方法、相关装置 | |
CN110633716A (zh) | 一种目标对象的检测方法和装置 | |
CN114792355A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN115359308A (zh) | 模型训练、难例识别方法、装置、设备、存储介质及程序 | |
CN114266937A (zh) | 模型训练、图像处理方法,装置,设备以及存储介质 | |
CN114332590A (zh) | 联合感知模型训练、联合感知方法、装置、设备和介质 | |
CN114462598A (zh) | 深度学习模型的训练方法、确定数据类别的方法和装置 | |
CN113792876A (zh) | 骨干网络的生成方法、装置、设备以及存储介质 | |
CN113052143A (zh) | 手写数字生成方法和装置 | |
CN112580666A (zh) | 图像特征的提取方法、训练方法、装置、电子设备及介质 | |
KR20230133808A (ko) | Roi 검출 모델 훈련 방법, 검출 방법, 장치, 설비 및 매체 |
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 |