一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

生成对比学习模型的负样本对的方法、装置、设备和介质与流程

2023-01-14 11:32:41 来源:中国专利 TAG:


1.本公开的示例实施方式总体涉及机器学习,特别地涉及用于生成对比学习模型的负样本对的方法、装置、设备和计算机可读存储介质。


背景技术:

2.在自监督学习中,不需要人工标注样本的标签。可以通过修改样本来构造出与该样本对应的正样本和负样本。进一步,可以使用正样本和负样本来训练对比学习模型。负样本的质量和数量极大地影响对比学习模型的性能,进而影响调用对比学习模型的下游模型的性能。此时,如何生成适合的负样本以便提高对比学习模型的准确性,成为一个亟待解决的问题。


技术实现要素:

3.在本公开的第一方面,提供了一种用于生成对比学习模型的负样本对的方法。在该方法中,从用于训练对比学习模型的多个数据序列中的第一数据序列中获取第一数据段,并且从多个数据序列中的第二数据序列中获取第二数据段。从多个数据序列中的第二数据序列以外的其他数据序列中选择数据帧。基于第二数据段和数据帧,生成第三数据段。基于第一数据段和第三数据段,确定用于训练对比学习模型的负样本对。
4.在本公开的第二方面,提供了一种用于生成对比学习模型的负样本对的装置。该装置包括:获取模块,被配置用于从用于训练对比学习模型的多个数据序列中的第一数据序列中获取第一数据段,并且从多个数据序列中的第二数据序列中获取第二数据段;选择模块,被配置用于从多个数据序列中的第二数据序列以外的其他数据序列中选择数据帧;生成模块,被配置用于基于第二数据段和数据帧,生成第三数据段;以及确定模块,被配置用于基于第一数据段和第三数据段以确定用于训练对比学习模型的负样本对。
5.在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。
6.在本公开的第四方面,提供了一种计算机可读存储介质。介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面的方法。
7.应当理解,本内容部分中所描述的内容并非旨在限定本公开的实施方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的描述而变得容易理解。
附图说明
8.结合附图并参考以下详细说明,本公开各实施方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
9.图1示出了能够在其中实现本公开的实施方式的示例环境的示意图;
10.图2示出了根据一个技术方案的训练对比学习模型的过程的框图;
11.图3示出了根据本公开的一些实施方式的用于生成对比学习模型的负样本对的过程的框图;
12.图4示出了根据本公开的一些实施方式的用于生成噪声数据帧的过程的框图;
13.图5示出了根据本公开的一些实施方式的用于生成噪声数据帧的过程的框图;
14.图6示出了根据本公开的一些实施方式的用于生成第三数据段中的数据帧的过程的框图;
15.图7示出了根据本公开的一些实施方式的用于生成第三数据段中的数据帧的过程的框图;
16.图8示出了根据本公开的一些实施方式的用于生成负样本对的过程的框图;
17.图9示出了根据本公开的一些实施方式的用于调整数据段的采样频率的过程的框图;
18.图10示出了根据本公开的一些实施方式的用于生成对比学习模型的负样本对的方法的流程图;
19.图11示出了根据本公开的一些实现方式的用于生成对比学习模型的负样本对的装置的框图;以及
20.图12示出了其中可以实施本公开的一个或多个实施方式的电子设备。
具体实施方式
21.下面将参照附图更详细地描述本公开的实现方式。虽然附图中示出了本公开的某些实现方式,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反,提供这些实现方式是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实现方式仅用于示例性作用,并非用于限制本公开的保护范围。
22.在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。如本文中所使用的,术语“模型”可以表示各个数据之间的关联关系。例如,可以基于目前已知的和/或将在未来开发的多种技术方案来获取上述关联关系。
23.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
24.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
25.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
26.作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹出窗口中可以以文字的方式呈现提示信息。此外,弹出窗口中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
27.可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
28.在此使用的术语“响应于”表示相应的事件发生或者条件得以满足的状态。将会理解,响应于该事件或者条件而被执行的后续动作的执行时机,与该事件发生或者条件成立的时间,二者之间未必是强关联的。例如,在某些情况下,后续动作可在事件发生或者条件成立时立即被执行;而在另一些情况下,后续动作可在事件发生或者条件成立后经过一段时间才被执行。
29.示例环境
30.图1示出了本公开的实现方式能够在其中实现的示例环境100的框图。在图1的环境100中,期望训练和使用这样的机器学习模型(即,模型130),该模型被配置用于多种应用环境,例如,用于识别视频的相似性,等等。如图1所示,环境100包括模型训练系统150和模型应用系统152。图1上部示出了模型训练阶段的过程,并且下部示出模型应用阶段的过程。在训练前,模型130的参数值可以具有初始值,或者可以具有通过预训练过程获得经预训练的参数值。可以经由正向传播和反向传播来训练该模型130,在训练过程中模型130的参数值可以被更新和调整。在训练完成后可以获得模型130’。此时,模型130’的参数值已经被更新,并且基于已更新的参数值,模型130在模型应用阶段可以被用于实现预测任务。
31.在模型训练阶段,可以基于包括多个样本112的训练样本集110,并利用模型训练系统150来训练模型130。在对比学习中,可以利用多个样本112来分别构造正样本和负样本,并且可以利用大量样本迭代地执行训练过程。在训练完成之后,模型130可以包括有关待处理任务的知识。在模型应用阶段,可以利用模型应用系统152来调用模型130’(此时的模型130’具有训练后的参数值)。进一步,可以在模型130’之后调用下游模型140来执行具体的任务。
32.在图1中,模型训练系统150和模型应用系统152可以包括具有计算能力的任何计算系统,例如各种计算设备/系统、终端设备、服务器等。终端设备可以涉及任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。服务器包括但不限于大型机、边缘计算节点、云环境中的计算设备,等等。
33.应当理解,图1示出的环境100中的部件和布置仅仅是示例,适于用于实现本公开所描述的示例性实现方式的计算系统可以包括一个或多个不同的部件、其他部件和/或不同的布置方式。例如,虽然被示出为是分离的,但模型训练系统150和模型应用系统152可以集成在相同系统或设备中。本公开的实现方式在此方面不受限制。以下将继续参考附图,分别描述模型训练和模型应用的示例性实现方式。
34.为了便于描述,在本公开中仅以视频处理作为对比学习模型的应用环境,可以利用对比学习模型来执行视频自监督任务。例如,可以获取用作样本的视频序列集,并且利用
视频序列集中的各个视频序列来构造样本。
35.图2示出了根据一个技术方案的训练对比学习模型的过程的框图200。如图2所示,可以从一个视频中确定原始样本210,并且通过修改该样本来生成样本220(也即,正样本)。进一步,可以将样本230(例如,来自其他视频的样本)作为负样本。可以将样本210和220作为正样本对,并且可以将样本210和230作为负样本对,来训练模型130。在训练过程中,模型130中的编码器240可以分别输出样本210、220和230的特征,也即,特征212、222和232。如箭头240所示,可以朝向拉近特征212和222之间的距离的方向来训练模型130;如箭头242所示,可以朝向推远特征212和232之间的距离的方向来训练模型130。可以利用大量正样本对和负正样本对来迭代地执行训练过程。
36.目前已经提出了用于构造负样本的多种技术方案。在be技术方案中,直接将正样本以外的其他视频作为负样本。这导致对比学习模型不能感知视频内容的动态信息(例如,播放速度),并且需要准备大量训练视频才能获得足够的负样本。在pace技术方案中,可以调整正样本以外的其他视频的采样频率(也即变速,例如可以将采样频率从每帧0.25秒调整至每帧0.5秒,或者其他数值),并且将调整后的视频作为负样本。此时,正样本和负样本之间的区别过于明显,导致学习难度下降因此训练效果并不理想。
37.在rspnet技术方案中,可以调整正样本的视频的采样频率,并且将调整后的视频作为负样本。调整后的视频与调整前的视频具有不同的播放速度,进而使得对比学习模型可以在动态信息方面区分正样本和负样本。然而,正样本和负样本具有相同的视频内容(也即,外观),这导致对比学习模型无法获取关于外观区别的语义知识。
38.将会理解,负样本的构建将会极大影响训练过程中所获得的语义知识,进而影响对比学习模型的准确性。此时,期望可以以更为简单并且有效的方式来生成高质量的负样本。
39.生成负样本的概要过程
40.为了至少部分地解决上文描述的缺陷,提出了一种用于生成对比学习模型的负样本对的方法。参见图3描述根据本公开的一个示例性实现方式的概要,该图3示出了根据本公开的一些实施方式的用于生成对比学习模型的负样本对的过程的框图300。如图3所示,可以获取用于训练对比学习模型的多个数据序列350。将会理解,尽管以视频序列作为数据序列的示例来描述根据本公开的一个示例性实现方式的细节,备选地和/或附加地,数据序列可以包括其他格式的序列。例如,在音频处理的应用环境下,数据序列可以包括音频序列。在其他应用场景下,数据序列还可以包括例如热图像序列、温度序列、湿度序列或者其他被监控参数的序列。
41.可以从多个数据序列350中分别确定第一数据序列310和第二数据序列320。在此,两个数据序列可以分别包括多个数据帧,并且其分辨率和长度可以相同或者也可以不同。进一步,可以从第一数据序列310中获取第一数据段330。此时,第一数据段330可以包括第一数据序列310中的多个数据帧中的一部分数据帧。第一数据段330可以具有预定长度,假设第一数据序列包括n(正整数)个数据帧,第一数据段330可以包括n(正整数)个数据帧(n<n)。
42.进一步,可以以类似方式从多个数据序列350中的第二数据序列320中确定第二数据段332。第一数据段330和第二数据段332可以具有相同的长度(例如,包括n个数据帧)。进
一步,可以从多个数据序列340中的第二数据序列320以外的其他数据序列中选择数据帧334。在此,数据帧334将用作干扰因素,并且可以向生成的负样本中添加噪声,进而提高训练难度并且提高对比学习模型的准确性。
43.可以基于多种方式来选择数据帧334,例如,可以随机选择数据帧334,可以选择特定位置处的数据帧,或者可以基于数据序列的内容来选择数据帧334。进一步,可以基于第二数据段332和数据帧334来生成第三数据段360(也即,负样本)。换言之,可以利用数据帧334来修改第二数据段332中的各个数据帧,进而生成第三数据段360。进一步,可以利用第一数据段330和第三数据段360,确定用于训练对比学习模型的负样本对340。
44.在视频处理的应用环境下,可以从不同视频序列中分别确定两个不同的视频段,可以将两个视频段用作构建负样本对的基础,可以将两个视频段中的一个作为原始视频段,并且将另一个作为负样本。进一步,可以利用来自不同视频序列的视频帧来扰动负样本的外观(例如,向负样本中的各个视频帧中融合视频帧的内容,也即重叠两个视频帧)。继而,可以利用原始视频段和扰动后的负样本,作为负样本对。
45.将会理解,此时负样本是基于来自其他视频序列中的视频帧来修改的,因而可以向负样本中引入更为激进的外观扰动,进而破坏负样本中的原始信息。进一步,来自其他视频序列的视频帧通常具有不同的颜色信息,相对于仅基于调整视频的采样频率的技术方案而言,可以在外观方面向负样本中引入更强的扰动,进而提供包括更为丰富语义信息的负样本。进一步,可以利用不同的视频帧来作为干扰因素并且生成大量的负样本。以此方式,可以在无需额外扩大训练样本集的情况下,生成更多的并且外观信息更为丰富的负样本,进而提高对比学习模型的准确性。进一步,可以提高下游模型的训练效率和准确性。
46.生成负样本的详细过程
47.已经描述了生成负样本对的概要,在下文中将参见附图描述生成负样本对的更多细节。根据本公开的一个示例性实现方式,可以从公开的视频序列集中选择多个数据序列350。可以从多个数据序列350中选择第一数据序列310和第二数据序列320。可以随机选择两个数据序列,备选地和/或附加地,可以基于视频序列的分辨率、长度、速度、内容等来选择两个数据序列。进一步,可以从第一数据序列310中获取第一数据段330,并且可以从第二数据序列320中获取第二数据段332。第一数据段330和第二数据段332可以具有相同的长度。
48.通常而言,各个视频序列可能会具有不同的长度,并且可能会包括多个镜头。假设第一数据序列310涉及汽车内容,并且包括两个镜头:汽车在道路上行驶(镜头1)、以及汽车的内部装饰(镜头2)。在从第一数据序列310获取第一数据段330时,需要选择单一镜头数据,以避免镜头切换导致第一数据段330包括关联性较弱的两个镜头的内容,进而影响样本的质量。例如,可以从镜头1(或者镜头2)中选择第一数据段330。可以按照预定长度来从第一数据序列310中选择第一数据段330。可以以类似方式来从第二数据序列320中确定第二数据段332。具体地,按照预定长度来从第二数据序列320中的包括单一镜头的部分中选择第二数据段332。
49.进一步,可以从多个数据序列340中的第二数据序列320以外的其他数据序列中选择数据帧334。将会理解,在此的数据帧334用于干扰第二数据段332的外观信息,因而需要从第二数据序列320以外的其他数据序列中选择数据帧334。为了进一步引入更多干扰信
息,可以从与第二数据序列320存在较大内容差异的数据序列中选择数据帧334。此时,可以确定第二数据序列320中的各个数据帧的第二数据范围。进一步,可以确定多个数据序列350中的其他数据序列中的各个数据帧的数据范围,并且通过比较来确定与第二数据范围具有较大数据差异的数据序列,继而,可以从该数据序列中选择数据帧334。
50.具体地,在视频序列的场景下,可以确定第二数据序列320中的多个数据帧的第二颜色范围,并且从多个数据序列350中选择颜色反差较大的数据序列。可以确定多个数据序列340中的各个数据序列的颜色范围。如果确定某个数据序列的颜色范围与第二颜色范围之间的差异满足预定条件,则可以选择该数据序列并且从中选择数据帧334。
51.在此,可以利用视频序列中的各个视频帧的像素值来确定预定条件,例如,预定条件可以表示:两个视频中的相应像素的数值差异应当超过预定阈值。例如,当以rgb三元组来表示三个通道中的像素颜色时,预定阈值可以表示三个通道中的像素的空间距离。假设第二数据序列320包括火车视频并且整体颜色范围为蓝灰色,例如可以从多个视频序列350中选择包括颜色范围为红棕色的视频序列,并且从中选择视频帧334。
52.根据本公开的一个示例性实现方式,可以基于多种方式来选择数据帧334。例如,可以从确定的数据序列中随机选择任意数据帧,可以选择指定位置(例如,开始位置、中心位置、或者结束位置)处的数据帧。由于两个数据序列中的颜色有所区别,利用数据帧334来修改第二数据段332,可以干扰第二数据段332的原有颜色分布进而增加学习难度,这将有助于对比学习模型获得更多语义知识。
53.在此,可以将第一数据段330作为原始数据段并且将第二数据段332作为负样本。进一步,可以利用数据帧334来修改第二数据段332以便引入更多干扰信息。根据本公开的一个示例性实现方式,可以直接将数据帧334融合至第二数据段332中的每个数据帧(也即,将数据帧334叠加至每个数据帧),进而生成第三数据段360并将其作为负样本。以此方式,数据帧334将被直接融合至第二数据段332的每个视频帧,此时负样本可以包括更为丰富的语义信息,进而提高对比学习模型的泛化能力。进一步,融合过程仅涉及简单处理,并且不会大幅度增加生成负样本的工作负载。以此方式,可以以简单并且高效的方式来生成负样本。
54.根据本公开的一个示例性实现方式,为了进一步丰富负样本的外观信息,可以向第三数据段360中添加高频信息。具体地,可以基于数据帧334来生成高频的噪声数据帧,并且利用噪声数据帧来更新第二数据段332中的各个数据帧。参见图4描述生成噪声数据帧的过程,该图4示出了根据本公开的一些实施方式的用于生成噪声数据帧的过程的框图400。
55.如图4所示,数据帧334表示用作干扰数据的数据帧。可以根据预定比例来调整数据帧334的维度(例如,将视频帧的高度和宽度缩小至原来的1/k,例如k=3或者其他数值),以生成中间数据帧420。可以复制中间数据帧420并且生成多个复制的中间数据帧,继而可以拼接多个复制的中间数据帧以生成噪声数据410。此时,噪声数据帧410将包括k*k个缩小的数据帧。
56.将会理解,尽管上文示出了在高度和宽度两个维度执行相同比例的调整,备选地和/或附加地,可以执行不同的调整方式。图5示出了根据本公开的一些实施方式的用于生成噪声数据帧的过程的框图500。如图5所示,可以仅调整高度维度的比例,以便生成噪声数据510。又例如,可以仅调整宽度维度的比例,以便生成噪声数据520。再例如,可以以不同的
比例来调整高度维度和宽度维度,以便生成噪声数据帧530。
57.将会理解,尽管上文示出了噪声数据帧恰好包括整数倍的中间图像的情况,备选地和/或附加地,噪声数据可以包括非整数倍的中间图像。例如,噪声数据帧540可以包括6个完整的中间数据帧,并且包括3个不完整的中间数据帧。
58.将会理解,尽管上文示出了噪声数据帧与第二数据段332中的数据帧具有相同分辨率的情况,噪声数据帧与数据帧可以具有不同分辨率,此时可以将噪声数据帧裁切至第二数据段332中的数据帧的分辨率。备选地和/或附加地,可以将噪声数据帧缩放至第二数据段332中的数据帧的分辨率。以此方式,可以确保噪声数据和第二数据段332中的各个数据帧具有相同分别率,进而便于基于统一的处理地方时,以更为简单并且快速的方式生成第三数据段360中的各个数据帧。
59.在下文中,将以具体公式描述如何生成噪声数据帧410。假设符号x表示数据帧334,可以针对数据帧334的高度维度和宽度维度进行调整,以便将数据帧334的高度h和宽度w分别调整为原来的1/k1和1/k2。此时,中间数据帧420的维度为h/k1*w/k2。可以拼接k1*k2个复制的中间数据帧420,以便生成维度为h*w的噪声数据帧410(以符号d表示)。
60.进一步,可以将噪声数据帧410融合至第二数据段332中的各个数据帧,进而生成第三数据段360。根据本公开的一个示例性实现方式,可以利用噪声数据帧410来更新第二数据段332中的每个数据帧。图6示出了根据本公开的一些实施方式的用于生成第三数据段中的数据帧的过程的框图600。如图6所示,仅以数据帧610作为第二数据段332中的数据帧的示例进行描述。可以融合数据帧610与噪声数据帧410,以便生成数据帧620。
61.根据本公开的一个示例性实现方式,可以逐一确定数据帧620中的每个像素。例如,假设以符号v
′i表示第二数据段332,以符号v
′i(j)表示第二数据段332中的第j帧,可以基于如下公式1来确定数据帧620。
[0062][0063]
在公式1中,表示第三数据段360,表示第三数据段360中的第j帧的像素数据,λ表示噪声数据帧410的预定权重,并且d表示噪声数据帧510的像素数据。可以基于公式1来处理第二数据段332中的每个数据帧,进而生成第三数据段360中的数据帧。
[0064]
具体地,针对第二数据段332中的数据帧610中的给定数据点(例如,位置为(x,y)的像素),获取给定数据点的数据值(例如,像素值)。继而,可以获取噪声数据帧410中的与给定数据点相对应的数据点的对应数据值。进一步,可以基于数据值、对应数据值和噪声数据帧的权重,确定数据帧620中的与给定数据点相对应的数据点的数据值。换言之,可以基于数据帧420中的位置为(x,y)的像素的像素值、噪声数据帧410中的位置为(x,y)的像素的像素值、以及权重来确定合成的数据帧620中的位置为(x,y)的像素的像素值。
[0065]
将会理解,像素值可以包括rgb(红色、绿色、蓝色)三个通道,因而可以分别处理每个通道中的像素值,进而确定数据帧620中的每个通道中的像素值。假设第j帧的rgb三个通道分别表示为vi′r(j)、vi′g(j)、vi′b(j),可以基于如下公式2来确定第三数据段360中的第j帧的各个通道的像素值:
[0066][0067][0068][0069][0070]
在公式2中,和分别表示第三数据段360中的第j帧的三个通道的像素数据,λ表示噪声数据帧510的预定权重,并且dr、dg和db分别表示噪声数据帧510的三个通道的像素数据。可以基于公式2来处理第二数据段332中的每个数据帧,进而生成第三数据段360中的数据帧。
[0071]
例如,使用权重λ=50%来生成数据帧620。此时,数据帧610和噪声数据帧410对于合成的数据帧620的贡献各占50%。根据本公开的一个示例性实现方式,可以修改权重λ以便调整噪声数据帧410对于第二数据段332中的各个数据帧的干扰程度。具体地,降低权重λ的数值可以添加较少的噪声,并且提高权重λ的数值可以添加更多的噪声。
[0072]
图7示出了根据本公开的一些实施方式的用于生成第三数据段中的数据帧的过程的框图700。如图7所示,使用权重λ=30%来生成数据帧710,并且使用权重λ=70%来生成数据帧720。从图7中可见,不同权重可以调整噪声数据帧410对于数据帧610的干扰程度。过小的权重仅能引入微小的噪声,这使得对比学习模型的泛化能力不足。过大的权重将会引入大量噪声,这使得对比学习模型可能会忽略原始数据段所承载的动态信息(也即,各个数据帧之间的动作变化关系),进而在对比学习模型中引入不确定因素。可以在以上两方面之间进行均衡,并且选择适合的权重。
[0073]
图8示出了根据本公开的一些实施方式的用于生成负样本对的过程的框图800。在已经生成第三数据段360的情况下,可以组合第一数据段330和第三数据段360,进而生成负样本对340。此时,可以利用负样本对340来训练对比学习模型,以便推远第一数据段330和第三数据段360的特征之间的距离。
[0074]
将会理解,尽管上文仅描述了生成一个负样本对的过程,可以基于类似的方式来生成多个负样本对。假设数据序列集合包括m个数据序列,可以将m个数据序列中的任一数据序列作为上文描述的第一数据序列310,并且可以将其余m-1个数据序列中的任一数据序列作为上文描述的第二数据序列320。可以从第一数据序列310中确定第一数据段330,并且可以从第二数据序列320中确定第二数据段332,可以从其他数据序列中确定数据帧334。进一步,可以利用数据帧334来更新第二数据段332以便生成第三数据段360。继而,可以组合第一数据的330和第三数据段360来生成负样本对340。以此方式,可以生成大量的负样本对340,从而迭代地训练对比学习模型。
[0075]
上文已经描述了向负样本中添加扰动信息的过程,备选地和/或附加地,可以进一步调整用作负样本的数据段的采样频率,以便使得对比学习模型可以更强烈地感知到样本中的动态信息。图9示出了根据本公开的一些实施方式的用于调整数据段的采样频率的过程的框图900。如图9所示,假设数据段910为负样本,并且包括多个数据帧912、914、916、918、920、

、922。此时,可以通过例如“下采样”方式,按照预定间隔从多个数据帧中选择一部分数据帧,也即,数据帧912、916、920、

、922,并且生成调整采样频率之后的数据段930。
[0076]
相比于数据段910而言,数据段930中的各个数据帧的动态变化将会更为显著,由此可以使得对比学习模型在数据帧的外观信息之外,额外第感知到动态信息,进而增强对比学习模型的性能。具体地,视频处理的场景下,数据段930可以是具有更快播放速度的视频,这使得对比学习模型可以更好地掌握各个视频帧之间的动态变化。
[0077]
上文已经描述了利用来自不同数据序列的数据段来构造负样本的过程,备选地和/或附加地,可以利用来自相同数据序列的数据段来构造负样本。具体地,可以调整第一数据序列310中的多个数据帧的采样频率,以生成第四数据段。例如,可以按照图9所示的方式,按照“抽帧”的方式从第一数据序列310中生成第四数据段。此时,由于第四数据段与第一数据段330具有不同的外观和速度,可以组合第一数据段330和第四数据段以确定用于训练对比学习模型的负样本对。以此方式,一方面可以向负样本中引入动态变化,另一方面还可以进一步增加负样本的数量。
[0078]
备选地和/或附加地,可以进一步向来自相同数据序列的负样本中引入外观上的干扰。例如,可以按照上文描述的融合方式,基于第四数据段和数据帧334,生成第五数据段。进一步,可以基于第一数据段和第五数据段以确定用于训练对比学习模型的负样本对。此时,来自相同数据序列的负样本即包括动态信息又包括外观干扰信息。以此方式,可以进一步提高样本的数量和质量,进而对比学习模型的性能。
[0079]
上文已经描述了生成负样本的过程,根据本公开的一个示例性实现方式,可以进一步基于来自相同数据序列的数据段来构造正样本。例如,可以从第一数据序列310中确定第六数据段,并且利用数据帧334来向第六数据段中添加干扰,从而生成第七数据段。
[0080]
此时,第一数据段330和第七数据段均来自于第一数据序列310,然而,第七数据段中包括干扰因素(也即,融合了来自数据帧334的信息)。此时,可以组合第一数据段和第七数据段以确定用于训练对比学习模型的正样本对。在该正样本中包括来自其他数据序列的干扰因素,因而可以提高正样本的学习难度,从而提高对比学习模型区分正样本的准确性。
[0081]
利用本公开的示例性实现方式,可以通过多种方式来分别生成负样本对和正样本对。概括而言,可以利用来自相同数据序列的数据段生成正样本对。下文表1以符号示出了来自相同数据序列的多个数据段。
[0082]
表1来自数据序列i的数据段
[0083][0084]
[0085]
进一步,可以利用来自不同数据序列的数据段生成负样本对。例如,针对来自不同数据序列的两个数据段中的任一数据段,可以基于上文描述的公式来向该数据段中添加干扰信息,以便调整样本的外观信息。备选地和/或附加地,可以修改该数据段的采样频率,以便调整样本的动态信息。备选地和/或附加地,可以执行上述两方面的操作,以便调整样本的外观信息和动态信息两者。下文表2以符号示出了来自不同数据序列的多个数据段。
[0086]
表2来自数据序列j的数据段
[0087][0088]
根据本公开的一个示例性实现方式,正样本可以包括v
i
。负样本可以包括来自相同数据序列的数据段和换言之,来自相同数据序列的数据段在经过变速操作之后,可以作为负样本。备选地和/或附加地,负样本还可以包括来自不同数据序列的数据段v
j≠i
、换言之,来自不同数据序列的数据段可以作为负样本,并且为了提高负样本的信息丰富程度,可以针对来自不同数据序列的数据段执行图像融合、变速、或者执行图像融合和变速。
[0089]
根据本公开的一个示例性实现方式,可以分别利用上文所示的各个数据段,来分别构造正样本对和负样本对。例如,正样本对可以包括:(vi,v
i
)。负样本对可以包括(vi,v
j≠i
)、利用本公开的示例性实现方式,可以构造包括丰富语义信息的正样本对和负样本对。
[0090]
进一步,可以利用上文描述正样本对和负样本对,训练对比学习模型。以此方式,正样本对可以拉近正样本之间的特征,并且负样本对可以推远负样本之间特征。以此方式,可以提高对比学习模型的准确性。
[0091]
根据本公开的一个示例性实现方式,可以在多个公开数据集(例如,视频数据集ucf101和kinetics-400)下验证利用所提出的技术方案来训练对比学习模型的效果。下文表3示出了在下游使用全微调和线性评估场景下的评估结果。在此,全微调和线性评估是用于下游任务训练的两种形式,其中全微调表示训练好的模型参数直接在下游任务中参与全参数微调训练,并且线性评估表示仅调整最后的全连接层并且固定其他参数。
[0092]
表3使用不同样本训练的对比学习模型的准确度
[0093][0094]
在表3中,ucf和hmdb表示不同的数据集,“ad-pos”表示利用上文描述的基于同视频中数据段的图像融合来生成正样本的技术方案,intra-neg表示基于同视频中的数据段的变速来生成负样本的技术方案,ad-intra-neg表示基于同视频中的数据段的图像融合和变速来生成负样本的技术方案。
[0095]
例如,在ucf101数据集上执行预训练的场景下,在ucf数据集上执行全微调操作时,在不采用本公开的方法生成负样本的情况下,模型准确率为76.0%。当采用ad-pos技术方案时,准确率提高至78.2%;当采用ad-pos和intra-neg技术方案时,准确率提高至79.6%;当采用ad-pos、intra-neg以及ad-intra-neg技术方案时,准确率提高至80.9%。从表3可见,以上三种生成负样本的方式可以提高对比学习模型的准确率。
[0096]
将会理解,尽管上文仅以视频序列作为数据序列的示例描述了生成样本对的过程。备选地和/或附加地,数据序列还可以包括例如音频序列、热图像序列、温度序列、湿度序列或者其他被监控参数的序列。具体地,在处理音频数据的情况下,可以按照预定频率来采样音频数据,并且生成在预定采样点的音频数据序列。可以以上文描述的方法来处理引擎数据序列,进而生成相应的正样本对。
[0097]
利用本公开的示例性实现方式,可以向正样本中添加更多噪声信息,并且实现更为激进的扰度。例如,拼接后的噪声数据帧中的高频信息可以增加对比学习模型识别正样本的难度。以此方式,可以使得对比学习模型更加关于各个正样本对中的语义信息,进而学习到更为丰富的语义知识。
[0098]
示例过程
[0099]
上文已经描述了生成样本的具体过程。在下文中,参见图10描述相应的方法。图10示出了根据本公开的一些实施方式的用于生成对比学习模型的负样本对的方法1000的流程图。在框1010处,从用于训练对比学习模型的多个数据序列中的第一数据序列中获取第一数据段,并且从多个数据序列中的第二数据序列中获取第二数据段;在框1020处,从多个数据序列中的第二数据序列以外的其他数据序列中选择数据帧;在框1030处,基于第二数据段和数据帧,生成第三数据段;以及在框1040处,基于第一数据段和第三数据段,确定用于训练对比学习模型的负样本对。
[0100]
根据本公开的一个示例性实现方式,生成第三数据段包括:基于数据帧来生成噪声数据帧;以及利用噪声数据帧来更新第二数据段中的数据帧。
[0101]
根据本公开的一个示例性实现方式,生成噪声数据帧包括:根据预定比例来调整数据帧的维度,以生成中间数据帧;复制中间数据帧以生成多个复制的中间数据帧;以及拼接多个复制的中间数据帧以生成噪声数据。
[0102]
根据本公开的一个示例性实现方式,数据帧的维度包括宽度和高度中的至少任一项。
[0103]
根据本公开的一个示例性实现方式,该方法1000进一步包括:响应于确定噪声数据帧的分辨率与第二数据段中的数据帧的分辨率不同,执行以下至少任一项:将噪声数据帧裁切至第二数据段中的数据帧的分辨率;将噪声数据帧缩放至第二数据段中的数据帧的分辨率。
[0104]
根据本公开的一个示例性实现方式,利用噪声数据帧来更新第二数据段中的数据帧包括:针对第二数据段中的数据帧中的给定数据点,获取给定数据点的数据值;获取噪声数据帧中的与给定数据点相对应的数据点的对应数据值;以及基于数据值、对应数据值和噪声数据帧的权重,确定数据帧中的与给定数据点相对应的数据点的数据值。
[0105]
根据本公开的一个示例性实现方式,获取第一数据段包括:从第一数据序列中选择满足预定长度的第一数据段,第一数据段仅包括单一镜头。
[0106]
根据本公开的一个示例性实现方式,获取第二数据段包括:从第二数据序列中选择满足预定长度的第二数据段,第二数据段仅包括单一镜头。
[0107]
根据本公开的一个示例性实现方式,该方法1000进一步包括:确定第二数据序列中的多个数据帧的数据范围;确定其他数据序列中的给定数据序列中的多个数据帧的给定数据范围;以及响应于确定数据范围与给定数据范围之间的差异满足预定条件,从给定数据序列中选择数据帧。
[0108]
根据本公开的一个示例性实现方式,生成第三数据段进一步包括:调整第三数据段中的多个数据帧的采样频率。
[0109]
根据本公开的一个示例性实现方式,该方法1000进一步包括:调整第一数据序列中的多个数据帧的采样频率,以生成第四数据段;基于第一数据段和第四数据段,确定用于训练对比学习模型的负样本对。
[0110]
根据本公开的一个示例性实现方式,该方法1000进一步包括:基于第四数据段和数据帧,生成第五数据段;以及基于第一数据段和第五数据段,确定用于训练对比学习模型的负样本对。
[0111]
根据本公开的一个示例性实现方式,该方法1000进一步包括:从第一数据序列中获取第六数据段;基于第六数据段和数据帧,生成第七数据段;以及基于第一数据段和第七数据段,确定用于训练对比学习模型的正样本对。
[0112]
根据本公开的一个示例性实现方式,该方法1000进一步包括:利用正样本对和负样本对,训练对比学习模型。
[0113]
示例装置和设备
[0114]
图11示出了根据本公开的一些实现方式的用于生成对比学习模型的负样本对的装置1100的框图。该装置1100包括:获取模块1110,被配置用于从用于训练对比学习模型的
多个数据序列中的第一数据序列中获取第一数据段,并且从多个数据序列中的第二数据序列中获取第二数据段;选择模块1120,被配置用于从多个数据序列中的第二数据序列以外的其他数据序列中选择数据帧;生成模块1130,被配置用于基于第二数据段和数据帧,生成第三数据段;以及确定模块1140,被配置用于基于第一数据段和第三数据段以确定用于训练对比学习模型的负样本对。
[0115]
根据本公开的一个示例性实现方式,生成模块1130包括:噪声生成模块,被配置用于基于数据帧来生成噪声数据帧;以及更新模块,被配置用于利用噪声数据帧来更新第二数据段中的数据帧。
[0116]
根据本公开的一个示例性实现方式,噪声生成模块包括:调整模块,被配置用于根据预定比例来调整数据帧的维度,以生成中间数据帧;复制模块,被配置用于复制中间数据帧以生成多个复制的中间数据帧;以及拼接模块,被配置用于拼接多个复制的中间数据帧以生成噪声数据。
[0117]
根据本公开的一个示例性实现方式,数据帧的维度包括宽度和高度中的至少任一项。
[0118]
根据本公开的一个示例性实现方式,该装置1100进一步包括:裁切模块,被配置用于响应于确定噪声数据帧的分辨率与第二数据段中的数据帧的分辨率不同,将噪声数据帧裁切至第二数据段中的数据帧的分辨率。
[0119]
根据本公开的一个示例性实现方式,该装置1100进一步包括:缩放模块,被配置用于响应于确定噪声数据帧的分辨率与第二数据段中的数据帧的分辨率不同,将噪声数据帧缩放至第二数据段中的数据帧的分辨率。
[0120]
根据本公开的一个示例性实现方式,更新模块包括:数据值获取模块,被配置用于针对第二数据段中的数据帧中的给定数据点,获取给定数据点的数据值;对应值获取模块,被配置用于获取噪声数据帧中的与给定数据点相对应的数据点的对应数据值;以及数据值确定模块,被配置用于基于数据值、对应数据值和噪声数据帧的权重,确定数据帧中的与给定数据点相对应的数据点的数据值。
[0121]
根据本公开的一个示例性实现方式,获取模块1110包括:第一数据段选择模块,被配置用于从第一数据序列中选择满足预定长度的第一数据段,第一数据段仅包括单一镜头。
[0122]
根据本公开的一个示例性实现方式,获取模块1110包括:第二数据段选择模块,被配置用于从第二数据序列中选择满足预定长度的第二数据段,第二数据段仅包括单一镜头。
[0123]
根据本公开的一个示例性实现方式,该装置1100进一步包括:第一数据范围确定模块,被配置用于确定第二数据序列中的多个数据帧的数据范围;第二数据范围确定模块,被配置用于确定其他数据序列中的给定数据序列中的多个数据帧的给定数据范围;以及数据帧选择模块,被配置用于响应于确定数据范围与给定数据范围之间的差异满足预定条件,从给定数据序列中选择数据帧。
[0124]
根据本公开的一个示例性实现方式,生成模块1130进一步包括:调整模块,被配置用于调整第三数据段中的多个数据帧的采样频率。
[0125]
根据本公开的一个示例性实现方式,该装置1100进一步包括:采样频率调整模块,
被配置用于调整第一数据序列中的多个数据帧的采样频率,以生成第四数据段;以及确定模块1140进一步被配置用于基于第一数据段和第四数据段,确定用于训练对比学习模型的负样本对。
[0126]
根据本公开的一个示例性实现方式,生成模块1130进一步被配置用于基于第四数据段和数据帧,生成第五数据段;以及确定模块1140进一步被配置用于基于第一数据段和第五数据段,确定用于训练对比学习模型的负样本对。
[0127]
根据本公开的一个示例性实现方式,获取模块1110进一步被配置用于从第一数据序列中获取第六数据段;生成模块1130进一步被配置用于基于第六数据段和数据帧,生成第七数据段;以及确定模块1140进一步被配置用于基于第一数据段和第七数据段,确定用于训练对比学习模型的正样本对。
[0128]
根据本公开的一个示例性实现方式,该装置1100进一步包括:训练模块,被配置用于利用正样本对和负样本对,训练对比学习模型。
[0129]
图12示出了其中可以实施本公开的一个或多个实施方式的电子设备1200的框图。应当理解,图12所示出的电子设备1200仅仅是示例性的,而不应当构成对本文所描述的实施方式的功能和范围的任何限制。
[0130]
如图12所示,电子设备1200是通用计算设备的形式。电子设备1200的组件可以包括但不限于一个或多个处理器或处理单元1210、存储器1220、存储设备1230、一个或多个通信单元1240、一个或多个输入设备1250以及一个或多个输出设备1260。处理单元1210可以是实际或虚拟处理器并且能够根据存储器1220中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备1200的并行处理能力。
[0131]
电子设备1200通常包括多个计算机存储介质。这样的介质可以是电子设备1200可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1220可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备1230可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的样本)并且可以在电子设备1200内被访问。
[0132]
电子设备1200可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图12中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1220可以包括计算机程序产品1225,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施方式的各种方法或动作。
[0133]
通信单元1240实现通过通信介质与其他电子设备进行通信。附加地,电子设备1200的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备1200可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
[0134]
输入设备1250可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1260可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备1200还可以根
据需要通过通信单元1240与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备1200交互的设备进行通信,或者与使得电子设备1200与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
[0135]
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
[0136]
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0137]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0138]
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0139]
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0140]
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献