数据处理方法、装置、计算设备和计算机可读存储介质与流程

文档序号:32516858发布日期:2022-12-13 16:14阅读:33来源:国知局
数据处理方法、装置、计算设备和计算机可读存储介质与流程

1.本公开涉及人工智能领域,并且更具体地,涉及一种数据处理方法、装置、计算设备和计算机可读存储介质。


背景技术:

2.数据集偏见是一种在机器学习,尤其是深度学习中负面影响巨大,且难以察觉、易被忽略的广泛问题。尤其对模型安全性要求较高的场景,如果基于含有偏见的数据集进行训练,那么得到的模型在实际使用中可能会导致严重的事故。
3.目前通过猜测或者基于经验对数据集偏见进行检查,但是这种方案需要消耗大量的人力资源,不仅效率低,而且准确度低,不能满足实际需求。


技术实现要素:

4.本公开的示例实施例提供了一种数据处理方法,该方法包括对数据集偏见进行评估的方案,能够对数据集偏见进行更精确的检查。
5.第一方面,提供了一种数据处理方法。该方法包括:基于待处理数据集构建无关数据集,无关数据集包括具有标签的无关数据项,无关数据项的标签是基于待处理数据集中的待处理数据项的标签确定的;将无关数据集划分为第一数据集和第二数据集,第一数据集具有第一样本权重分布,第二数据集具有第二样本权重分布,第一样本权重分布和第二样本权重分布是基于待处理数据集中的待处理数据项的样本权重确定的;基于第一数据集和第一样本权重分布,对分类模型进行训练;以及基于第二数据集和第二样本权重分布,对分类模型进行评估,以得到评估结果,评估结果指示具有样本权重分布的待处理数据集的偏见显著性。
6.如此,通过本公开的实施例的方式,可以更准确地评估数据集的偏见显著性。这种评估的方案便于用户对数据集进行调整等处理。
7.在第一方面的一些实施例中,还包括:如果评估结果大于预设阈值,更新待处理数据集的样本权重分布;基于更新后的样本权重分布,重复执行所述训练和所述评估,直到评估结果不大于预设阈值。
8.如此,本公开的实施例能够基于经训练的分类模型,对待处理数据集的样本权重分布进行更新,从而得到推荐样本权重分布,该过程不需要用户参与,效率高,自动化程度高。
9.在第一方面的一些实施例中,其中更新样本权重分布包括:更新样本权重分布的部分,使得更新第二样本权重分布而不更新第一样本权重分布。
10.在第一方面的一些实施例中,还包括:将评估结果不大于预设阈值时的样本权重分布作为推荐样本权重分布。
11.如此,本公开的实施例能够基于迭代地训练分类模型来更新样本权重分布,能够查看到数据集偏见随样本权重分布更新的变化,这样能够迭代地对待处理数据集进行检
测,得到有效的且准确度高的推荐样本权重分布。
12.在第一方面的一些实施例中,还包括:基于推荐样本权重分布,对待处理数据集进行增加或删除,以构建无偏数据集。
13.如此,本公开的实施例中,能够基于推荐样本权重分布对待处理数据集进行增加或删除,从而能够构建无偏数据集。进一步地,该无偏数据集可以用于训练更加稳健、无偏的特定任务的模型,进而满足实际需求。
14.在第一方面的一些实施例中,其中更新样本权重分布包括以下至少一项:采用预定的规则更新样本权重分布,采用随机的方式更新样本权重分布,获取用户对样本权重分布的修改以更新样本权重分布,或者通过遗传算法对样本权重分布进行优化以更新样本权重分布。
15.在第一方面的一些实施例中,其中基于待处理数据集构建无关数据集包括:从待处理数据集的目标待处理数据项中去除与目标待处理数据项的标签相关联的部分,以得到目标待处理数据项中的剩余部分;以及利用剩余部分来构建无关数据集中的一条无关数据项,一条无关数据项的标签对应于目标待处理数据项的标签。
16.在第一方面的一些实施例中,其中待处理数据集为图像数据集,并且其中基于待处理数据集构建无关数据集包括:对待处理数据集中的目标待处理数据项执行图像分割,以得到与目标待处理数据项对应的背景图像;以及利用背景图像来构建无关数据集中的一条无关数据项。
17.如此,本公开的实施例中将背景图像作为偏见的代表,进而可以对数据集进行偏见检查。
18.在第一方面的一些实施例中,其中待处理数据集中的待处理数据项为视频序列,并且其中基于待处理数据集构建无关数据集包括:基于视频序列中一帧图像与一帧图像的前一帧图像之间的梯度信息,确定视频序列的二值图像;基于二值图像,生成视频序列的背景图像;以及利用视频序列的背景图像来构建无关数据集中的一条无关数据项。
19.如此,考虑到视频序列中的各帧图像之间的相似性,以及视频序列中背景基本不变的特性,能够得到视频序列对应的背景图像。
20.在第一方面的一些实施例中,还包括:通过将目标无关数据项输入经训练的分类模型,得到类激活图cam;通过将cam与目标无关数据项叠加,得到叠加结果;以及显示叠加结果。
21.如此,本公开的实施例提供了一种将数据集偏见进行定量评估的方案,从而可以明确地表征数据集偏见的显著性,并且能够可视化地呈现产生偏见的具体位置。如此,用户能够更直观更全面地知道数据集偏见的情况。该方案不需要用户过多的参与,可以自动化进行,能够在保证对偏见的定量评估准确性的前提下,提高处理的效率。
22.第二方面,提供了一种数据处理装置。该装置包括:构建单元,被配置为基于待处理数据集构建无关数据集,无关数据集包括具有标签的无关数据项,无关数据项的标签是基于待处理数据集中的待处理数据项的标签确定的;划分单元,被配置为将无关数据集划分为第一数据集和第二数据集,第一数据集具有第一样本权重分布,第二数据集具有第二样本权重分布,第一样本权重分布和第二样本权重分布是基于待处理数据集中的待处理数据项的样本权重确定的;训练单元,被配置为基于第一数据集和第一样本权重分布,对分类
模型进行训练;以及评估单元,被配置为基于第二数据集和第二样本权重分布,对分类模型进行评估,以得到评估结果,评估结果指示具有样本权重分布的待处理数据集的偏见显著性。
23.在第二方面的一些实施例中,还包括更新单元,被配置为:如果评估结果大于预设阈值,更新待处理数据集的样本权重分布。
24.在第二方面的一些实施例中,其中更新单元被配置为:更新样本权重分布的部分,使得更新第二样本权重分布而不更新第一样本权重分布。
25.在第二方面的一些实施例中,其中更新单元被配置为:将评估结果不大于预设阈值时的样本权重分布作为推荐样本权重分布。
26.在第二方面的一些实施例中,还包括调整单元,被配置为:基于推荐样本权重分布,对待处理数据集进行增加或删除,以构建无偏数据集。
27.在第二方面的一些实施例中,其中更新单元被配置为通过以下至少一项来更新样本权重分布:采用预定的规则更新样本权重分布,采用随机的方式更新样本权重分布,获取用户对样本权重分布的修改以更新样本权重分布,或者通过遗传算法对样本权重分布进行优化以更新样本权重分布。
28.在第二方面的一些实施例中,其中构建单元被配置为:从待处理数据集的目标待处理数据项中去除与目标待处理数据项的标签相关联的部分,以得到目标待处理数据项中的剩余部分;以及利用剩余部分来构建无关数据集中的一条无关数据项,一条无关数据项的标签对应于目标待处理数据项的标签。
29.在第二方面的一些实施例中,其中待处理数据集为图像数据集,并且其中构建单元被配置为:对待处理数据集中的目标待处理数据项执行图像分割,以得到与目标待处理数据项对应的背景图像;以及利用背景图像来构建无关数据集中的一条无关数据项。
30.在第二方面的一些实施例中,其中待处理数据集中的待处理数据项为视频序列,并且其中构建单元被配置为:基于视频序列中一帧图像与一帧图像的前一帧图像之间的梯度信息,确定视频序列的二值图像;基于二值图像,生成视频序列的背景图像;以及利用视频序列的背景图像来构建无关数据集中的一条无关数据项。
31.在第二方面的一些实施例中,还包括:更新单元,被配置为:通过将目标无关数据项输入经训练的分类模型,得到cam;以及通过将cam与目标无关数据项叠加,得到叠加结果;以及显示单元,被配置为显示叠加结果。
32.第三方面,提供了一种计算设备,包括处理器以及存储器,所述存储器上存储有由处理器执行的指令,当该指令被处理器执行时使得所述计算设备实现:基于待处理数据集构建无关数据集,无关数据集包括具有标签的无关数据项,无关数据项的标签是基于待处理数据集中的待处理数据项的标签确定的;将无关数据集划分为第一数据集和第二数据集,第一数据集具有第一样本权重分布,第二数据集具有第二样本权重分布,第一样本权重分布和第二样本权重分布是基于待处理数据集中的待处理数据项的样本权重确定的;基于第一数据集和第一样本权重分布,对分类模型进行训练;以及基于第二数据集和第二样本权重分布,对分类模型进行评估,以得到评估结果,评估结果指示具有样本权重分布的待处理数据集的偏见显著性。
33.在第三方面的一些实施例中,当该指令被处理器执行时使得所述计算设备实现:
如果评估结果大于预设阈值,更新待处理数据集的样本权重分布。
34.在第三方面的一些实施例中,当该指令被处理器执行时使得所述计算设备实现:更新样本权重分布的部分,使得更新第二样本权重分布而不更新第一样本权重分布。
35.在第三方面的一些实施例中,当该指令被处理器执行时使得所述计算设备实现:将评估结果不大于预设阈值时的样本权重分布作为推荐样本权重分布。
36.在第三方面的一些实施例中,当该指令被处理器执行时使得所述计算设备实现:基于推荐样本权重分布,对待处理数据集进行增加或删除,以构建无偏数据集。
37.在第三方面的一些实施例中,当该指令被处理器执行时使得所述装置通过以下至少一项来更新样本权重分布:采用预定的规则更新样本权重分布,采用随机的方式更新样本权重分布,获取用户对样本权重分布的修改以更新样本权重分布,或者通过遗传算法对样本权重分布进行优化以更新样本权重分布。
38.在第三方面的一些实施例中,当该指令被处理器执行时使得所述计算设备实现:从待处理数据集的目标待处理数据项中去除与目标待处理数据项的标签相关联的部分,以得到目标待处理数据项中的剩余部分;以及利用剩余部分来构建无关数据集中的一条无关数据项,一条无关数据项的标签对应于目标待处理数据项的标签。
39.在第三方面的一些实施例中,其中待处理数据集为图像数据集,并且其中当该指令被处理器执行时使得所述计算设备实现:对待处理数据集中的目标待处理数据项执行图像分割,以得到与目标待处理数据项对应的背景图像;以及利用背景图像来构建无关数据集中的一条无关数据项。
40.在第三方面的一些实施例中,其中待处理数据集中的待处理数据项为视频序列,并且其中当该指令被处理器执行时使得所述计算设备实现:基于视频序列中一帧图像与一帧图像的前一帧图像之间的梯度信息,确定视频序列的二值图像;基于二值图像,生成视频序列的背景图像;以及利用视频序列的背景图像来构建无关数据集中的一条无关数据项。
41.在第三方面的一些实施例中,当该指令被处理器执行时使得所述计算设备实现:通过将目标无关数据项输入经训练的分类模型,得到cam;以及通过将cam与目标无关数据项叠加,得到叠加结果;以及显示叠加结果。
42.第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现根据上述第一方面或任一实施例中的方法的操作。
43.第五方面,提供了一种芯片或芯片系统。该芯片或芯片系统包括处理电路,被配置为执行根据上述第一方面或任一实施例中的方法的操作。
44.第六方面,提供了一种计算机程序或计算机程序产品。该计算机程序或计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时使设备实现根据上述第一方面或任一实施例中的方法的操作。
附图说明
45.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
46.图1示出了根据本公开的实施例的系统100的结构示意图;
47.图2示出了根据本公开的实施例的数据集处理模块200的一个结构示意图;
48.图3示出了根据本公开的实施例的模型训练模块130得到推荐样本权重的过程300的示意图;
49.图4示出了根据本公开的实施例的系统100被部署于云环境中的场景400的示意图;
50.图5示出了根据本公开的实施例的系统100被部署于不同环境中的场景500的示意图;
51.图6示出了根据本公开的实施例的计算设备600的结构示意图;
52.图7示出了根据本公开的实施例的数据处理方法700的示意流程图;
53.图8示出了根据本公开的实施例的构建无关数据项的过程800的示意流程图;
54.图9示出了根据本公开的实施例的对待处理数据集的样本权重分布进行更新的过程900的示意图;
55.图10示出了根据本公开的实施例的数据处理装置1000的示意框图。
具体实施方式
56.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
57.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
58.人工智能(artificial intelligence,ai)利用计算机来模拟人的某些思维过程和智能行为。人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的自然、清晰的脉络。人工智能已经被广泛地应用到了安防、医疗、交通、教育、金融等各个行业。
59.机器学习(machine learning)是人工智能的一个分支,其研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。也就是说,机器学习研究的是如何在经验学习中改善具体算法的性能。
60.深度学习(deep learning)是一类基于深层次神经网络算法的机器学习技术,其主要特征是使用多重非线性变换结构对数据进行处理和分析。主要应用于人工智能领域的感知、决策等场景,例如图像和语音识别、自然语言翻译、计算机博弈等。
61.数据与算法是人工智能的两个重要支柱,相应地,数据偏见(data bias)是人工智能领域中重点关注的问题。对于特定的机器学习任务而言,数据中存在与该任务呈相关但不存在非因果关系的因素,例如样本不均衡、数据中存在人为标志物等,这样的因素可以认为是数据偏见。
62.数据集偏见是指数据集中存在一些机器学习模型可能会学习到的虚假特征。以图像数据集为例,图像中可能存在一些与数据采集机型、采集参数等相关的信息,这些信息与
采集任务无关。但是由于数据采集缺陷,机器学习模型可能会基于这些信息进行推测,直接猜出分类结果,而不再学习与目标任务真正相关的图像特征。
63.机器学习模型在利用具有数据集偏见的图像数据集进行训练时,可能无法按照预期客观真实地对训练任务进行学习。从而导致学习得到的机器学习模型在实际使用环境中难以按预期完成目标任务,出现严重的性能下降;或者即便性能没有下降,但出错的原因也可能令人难以接受,甚至惹出伦理官司。例如,某一预测口红的模型,在将嘴部遮去之后,几乎不影响预测的结果,可见,该模型实际上并没有学习嘴部相关的特征。再例如,某一医学影像识别模型,基于医生放置的标记物来推测采集地点,从而影响了预测结果。
64.目前的一种方案是将可能影响模型学习的区域裁掉,或者针对图像数据,可以对色彩、灰阶等进行调整,从而可以避免这些数据偏见对模型训练的影响。然而,这种方式难以穷举所有的偏见,并且这种方式工作量大,需要大量的人力消耗和时间成本。
65.有鉴于此,本公开的实施例提供了一种对数据集偏见进行定量评估的方案,从而能够有效地确定数据集偏见的影响,进而能够基于此对数据集进行调整,确保调整后的数据集不会因数据偏见对模型有负面影响。
66.图1示出了根据本公开的实施例的系统100的结构示意图。如图1所示,系统100可以如图1所示,系统架构100包括输入/输出(input/output,i/o)模块110、数据集处理模块120和模型训练模块130。可选地,如图1所示,系统100还可以包括模型存储模块140和数据存储模块150。图1所示的各个模块之间可以彼此进行通信。
67.输入/输出模块110可以用于获取待处理数据集。例如可以接收由用户输入的待处理数据集。
68.可选地,该待处理数据集可以被存储在数据存储模块150中。作为一个示例,数据存储模块150可以是云服务提供商提供的对象存储服务(object storage service,obs)对应的数据存储资源。
69.待处理数据集包括大量的待处理数据项,每条待处理数据项具有标签。换句话说,待处理数据集中包含带由标注的多个待处理数据项。
70.标签可以是通过人工的方式被标注的,或者可以通过机器学习等方式得到的,本公开对此不限定。标签也可以被称为任务标签或标注信息或其他名称等,本文中不再一一罗列。
71.在一些示例中,标注信息可以是标注人员根据经验,针对待处理数据项中的特定部分进行标注的。或者,标注信息可以是通过图像识别模型和标注模型进行标注的。
72.例如,对于包括人脸的图像数据,可以针对人脸部分标注例如性别、年龄、是否戴眼镜、是否戴帽子、人脸大小等等的标签。例如,对于医疗图像(如超声采集图像),可以针对被检测部分标注有是否有病变。
73.可理解,待处理数据项可以包括与标签有关的部分和与标签无关的部分。以上述的人脸图像为例,假设标签是针对人脸的(例如同边界框标注出人脸位置),那么该图像中的人脸区域是与标签有关的部分,而该图像中人脸区域之外的其他区域是与标签无关的部分。假设标签是针对眼睛的(例如通过“黑”、“棕”等标注出瞳孔颜色),那么该图像中的眼睛区域是与标签有关的部分,而该图像中眼睛区域之外的其他区域是与标签无关的部分。
74.待处理数据集中的待处理数据项可以是任何类型的数据,例如图像、视频、语音、
文本等等。为了描述方便,下文中以图像为例进行阐述。
75.本公开的实施例对待处理数据项的来源不作限定,以图像为例,例如可以是从开源数据集收集的,例如可以是由不同的图像采集设备所采集的,例如可以是由同一图像采集设备在不同时间所采集的,例如可以是由图像采集设备所采集的视频序列中的图像帧,或上述所列的任意组合,或其他等等。
76.输入/输出模块110可以被实现为彼此独立的输入模块和输出模块,或者也可以被实现为同时具备输入和输出功能的耦合模块。作为示例,可以采用图形用户界面(graphical user interface,gui)或命令行界面(command-line interface,cli)实现。
77.数据集处理模块120可以从输入/输出模块110获取待处理数据集,或者可选地,可以从数据存储模块150获取待处理数据集。进一步地,数据集处理模块120可以基于待处理数据集构建无关数据集。无关数据集包括具有标签的无关数据项,并且无关数据项的标签是基于待处理数据集中的待处理数据项的标签确定的。
78.可选地,该无关数据集可以被存储在数据存储模块150中。
79.如上所述,待处理数据项具有标签,并且待处理数据项包括与标签有关的部分和与标签无关的部分。那么,可以将待处理数据项中的与标签有关的部分去除,仅保留待处理数据项中与标签无关的部分,作为无关数据项,且该无关数据项的标签即为待处理数据项的标签。该过程也可以被称为拆分、分割、分离或其他名称等,本公开对此不限定。
80.也就是说,针对待处理数据集的某一待处理数据项(称为目标待处理数据项),可以从该目标待处理数据项中去除与其标签相关联的部分,以得到目标待处理数据项中的剩余部分。随后利用剩余部分来构建无关数据集中的一条无关数据项,一条无关数据项的标签对应于目标待处理数据项的标签。
81.举例来讲,假设待处理数据项是人脸图像,标签表示人脸肤色,如“白”。那么,可以将该人脸图像中的人脸区域去除,将去除人脸区域之后的剩余部分作为对应的无关数据项,且该无关数据项仍具有人脸肤色的标签“白”。
82.在一些实现方式中,如果待处理数据集中的待处理数据项是图像,那么可以通过图像分割的方式得到无关数据项。图像中与标签关联的部分是前景区域,图像中除前景区域之外的其他区域为背景区域,那么可以通过前景-背景分离,仅基于背景区域确定无关数据项。
83.具体地,针对待处理数据集中的目标待处理数据项(目标图像)执行图像分割,得到目标图像对应的背景图像,然后再利用背景图像构建无关数据项。
84.本公开实施例对图像分割所采用的具体算法不作限定,例如可以采用如下列出的算法中的一项或多项来执行,也可以采用其他的算法来执行:基于阈值的图像分割算法、基于区域的图像分割算法、基于边缘检测的图像分割算法、基于小波分析和小波变换的图像分割算法、基于遗传算法的图像分割算法、基于主动轮廓模型的图像分割算法、基于深度学习的图像分割算法等等,其中基于深度学习的图像分割算法包括但不限于:基于特征编码(feature encoder based)的分割算法、基于区域选择(regional proposal based)的分割算法、基于rnn的分割算法、基于上采样/反卷积的分割算法、基于提高特征分辨率的分割算法、基于特征增强的分割算法、使用条件随机场(conditional random field,crf)/马尔可夫随机场(marcov random field,mrf)的分割算法等。
85.在另一些实现方式中,如果待处理数据集中的待处理数据项是视频序列。不同的待处理数据项可以具有相同或不同的时长,例如,待处理数据集中的第一待处理数据项为第一视频序列,其长度为m1帧,包括m1帧图像。例如,待处理数据集中的第二待处理数据项为第二视频序列,其长度为m2帧,包括m2帧图像。m1与m2可以相等或不相等。
86.具体地,针对待处理数据集中的目标待处理数据项(目标视频序列)执行视频分割,得到目标视频序列对应的背景图像,然后再利用背景图像构建无关数据项。
87.本公开实施例对视频分割所采用的具体算法不作限定。作为一例,可以针对目标视频序列中每一帧图像执行图像分割,将各帧图像分割后的背景区域进行融合,得到与该目标视频序列对应的背景图像。作为另一例,可以基于目标视频序列中相邻两帧之间的梯度得到与该目标视频序列对应的背景图像。具体的,可以基于视频序列的梯度信息,得到视频序列对应的二值图像。随后基于该二值图像生成视频序列的背景图像,如下结合图2所述。
88.图2示出了根据本公开的实施例的数据集处理模块200的一个结构示意图。数据集处理模块200可以作为如图1中的数据集处理模块120的一种实现方式,数据集处理模块200可以用于基于待处理数据集确定无关数据集,其中,待处理数据集的待处理数据项为视频序列,无关数据集中的无关数据项可以是与视频序列对应的背景图像。
89.如图2所示,数据集处理模块200可以包括梯度计算子模块210、梯度叠加子模块220、阈值化子模块230、形态学处理子模块240和分离子模块250。
90.梯度计算子模块210可以用于计算目标视频序列中的一帧图像与其前一帧图像之间的梯度信息。
91.举例来讲,假设目标视频序列包括m1帧图像,分别为第0帧图像、第1帧图像、

、第m1-1帧图像。那么可以计算每相邻两帧图像之间的梯度信息,具体的,计算第1帧图像与第0帧图像之间,第2帧图像与第1帧图像之间,

第m1-1帧图像与第m1-2帧图像之间的梯度信息。
92.本公开的实施例对计算梯度信息的具体方式不作限定,例如可以计算帧差。例如可以计算两帧图像的特征向量沿特定维度(例如时间维度t)的梯度,这样能够从视频序列中通过运动信息提取固定不变的背景部分,如图像边框等。例如可以计算图像与灰度化后的图像之差,从而能够提取视频帧图像中的彩色部分,这样能够避免将彩色标记作为前景部分,例如在视频采集之后后期增加的一些彩色标记或文字等。
93.梯度叠加子模块220可以用于将梯度计算子模块210得到的梯度信息进行叠加,从而得到梯度叠加图。
94.梯度叠加子模块220进行叠加的方式可以包括但不限于加权求和(如平均值)、求最大值、求最小值或其他等。
95.阈值化子模块230可以用于对梯度叠加子模块220得到的梯度叠加图进行阈值化处理,得到初始二值图。
96.具体地,针对梯度叠加图中的各个像素,将值大于阈值的那些像素标记为1,将值小于或等于阈值的那些像素标记为0,从而得到初始二值图,该初始二值图中的像素值要不为1要不为0。
97.形态学处理子模块240可以对阈值化子模块230得到的初始二值图进行形态学处
理,得到视频序列对应的二值图像。
98.举例来说,如果在初始二值图中某像素的像素值为1,但是该像素的所有相邻像素的像素值都是0,那么可以将该像素的像素值重置为0。
99.示例性地,形态学处理可以包括但不限于形态学膨胀、形态学腐蚀等。例如,形态学处理子模块240可以对阈值化子模块230得到的初始二值图进行若干次形态学膨胀,然后再执行同样次数的形态学腐蚀,从而得到二值图像。
100.分离子模块250可以基于形态学处理子模块240得到的二值图像,得到视频序列对应的背景图像。
101.示例性地,可以对二值图像执行抠图操作,得到背景图像。例如可以通过矩阵点乘的方式得到背景图像。
102.这样,能够充分考虑视频序列中各帧图像之间背景的相似性,来得到与视频序列对应的背景图像。
103.如此,本公开的实施例中将背景图像作为偏见的代表,进而可以对数据集进行偏见检查。可理解,如果该数据集不存在偏见,那么背景图像的特征不应该与关联于前景区域的标签存在任何关系的。
104.假设待处理数据集中包括n条待处理数据项,无关数据集中包括n1条无关数据项。如果针对每一条待处理数据项均执行处理,得到对应的无关数据项,那么n1=n。如果针对待处理数据集中的部分数据项执行处理,得到对应的无关数据项,那么n1《n。可理解,针对全部待处理数据项的处理得到的无关数据集具有更多的无关数据项,进而可以更完整全面地对待处理数据集进行分析和评估。
105.在一种实现方式中,可以将所构建的无关数据集分为两部分:第一部分无关数据项和第二部分无关数据项,其中,第一部分无关数据项可以用于训练模型,第二部分无关数据项可以用于测试模型。本公开实施例对该划分方式不做限定,作为一例,可以按照9:1或1:1或其他比例将无关数据集分为第一部分和第二部分。
106.示例性地,可以将第一部分无关数据项组成的集合称为无关训练集,将第二部分无关数据项组成的集合称为无关测试集。或者可选地,第一部分无关数据项组成的集合可以包括无关训练集和无关验证集。作为一例,可以按照7:2:1将无关数据集划分为无关训练集、无关验证集和无关测试集。
107.为了简化描述,下文中将第一部分无关数据项组成的集合称为第一数据集(或训练集),将第二部分无关数据项组成的集合称为第二数据集(或测试集)。
108.在一些实施例中,数据集处理模块120可以先对待处理数据集进行预处理,然后再基于经预处理的待处理数据集来构建无关数据集。预处理包括但不限于:聚类分析、数据去噪等。
109.模型训练模块130可以包括训练子模块132和评估子模块134。
110.训练子模块132可以用于对分类模型进行训练。具体地,可以基于无关数据集中的第一部分无关数据项和该第一部分中的每个无关数据项的标签,对分类模型进行训练。
111.作为一种实现方式,用于训练的第一部分无关数据项可以是无关数据集的全部,如此,可以采用更多的数据项参与训练,使得经训练的分类模型更加鲁棒。作为另一种实现方式,用于训练的第一部分无关数据项可以是无关数据集的部分,如上所述,无关数据集被
划分为第一部分无关数据项和第二部分无关数据项。
112.为了下文的描述方便,将用于训练的第一部分无关数据项组成的集合称为训练集,相应地,第一部分无关数据项可以为训练项。
113.应注意的是,此处的训练可以是对初始的分类模型进行训练或者可以是对先前训练的分类模型进行更新,其中初始的分类模型可以是未进行训练的分类模型。先前训练的分类模型可以是对初始的分类模型进行训练后得到的。作为示例,训练子模块132可以从模型存储模块140获取初始的分类模型或者先前训练的分类模型。
114.训练子模块132可以从数据集处理模块120或数据存储模块150获取用于训练的无关数据集中的第一部分无关数据项和该第一部分中的每个无关数据项的标签。或者,训练子模块132可以从数据集处理模块120获取用于训练的无关数据集中的第一部分无关数据项,并从输入/输出模块110获取该第一部分无关数据项中的每个无关数据项的标签。
115.可选地,在基于训练集(无关数据集中的第一部分无关数据项)进行训练之前,训练子模块132可以对训练集进行预处理,包括但不限于:特征提取、聚类分析、边缘检测、图像去噪等。举例来讲,经过特征提取之后的训练数据项可以被表征为s维特征向量,其中s大于1。
116.可理解,本公开实施例对分类模型的模型结构不做限定,作为一例,该分类模型可以是卷积神经网络(convolutional neural network,cnn)模型,可选地可以包括输入层、卷积层、反卷积层、池化层、全连接层、输出层等。
117.分类模型中包括大量的参数,可以表示该模型中的计算公式或计算因子的权重,并且可以通过训练对参数进行迭代更新。分类模型还包括超参数(hyper-parameter),用于指导分类型的构建或训练,超参数例如模型训练的迭代(iteration)次数、学习率(leaning rate)、批尺寸(batch size)、模型的层数、每层神经元的个数等。超参数可以是通过训练集对模型进行训练获得的参数,也可以是预先设定的参数,预先设定的参数指不会通过对模型的训练而被更新。
118.示例性地,训练子模块132对分类模型进行训练的过程可以参照已有的训练过程。作为示意性描述,该训练过程可以是:将训练集中的训练数据项输入到分类模型,将训练数据对应的标签作为参考,利用损失函数(loss function)得到分类模型的输出与对应的标签之间的损失值,并根据该损失值对分类模型的参数进行调整。训练集中的每个训练数据项迭代地对分类模型进行训练,分类模型的参数不断调整,直到分类模型可以根据输入的训练数据项准确度较高地输出与训练数据项对应的标签更接近的输出值,例如损失函数最小或小于参考阈值。
119.在训练过程中的损失函数是用于衡量分类模型被训练的程度(也就是用于计算分类模型预测的结果与真实值之间的差异)的函数。在训练分类模型的过程中,因为希望分类模型的输出尽可能的接近真实值(即对应的标签),所以可以通过比较当前分类模型的预测值和真实值,再根据两者之间的差异情况来更新分类模型中的参数。每次训练都通过损失函数判断当前的分类模型预测的值与真实值之间的差异,更新分类模型的参数,直到分类模型能够预测出与真实值非常接近的值,则认为分类模型被训练完成。
120.本公开的实施例中的“分类模型”也可以被称为机器学习模型、卷积分类模型、背景分类模型、数据偏见模型、或其他名称等,或者也可以被简称为“模型”等,本公开对此不
限定。可选地,经训练的分类模型可以被存储在模型存储模块140中。在一些示例中,模型存储模块140可以作为模型训练模块130的一部分。
121.评估子模块134可以用于对分类模型进行评估。具体的,可以基于无关数据集中的第二部分无关数据项和该第二部分中的每个无关数据项的标签,确定关于经训练的分类模型的评估结果。该评估结果可以用于表征待处理数据集的数据偏见的显著性。
122.如上所述,第二部分无关数据项组成的集合可以为测试集,相应地,第二部分无关数据项可以为测试数据项。
123.作为示例,该评估过程可以包括:将测试数据项输入到经训练的分类模型,得到关于该测试数据项的预测结果,基于该预测结果与测试数据项的标签的比较结果,确定评估结果。
124.本公开实施例中,评估结果可以包括以下至少一项:正确率、准确率、召回率、f1指数、准确率-召回率(precision-recall,p-r)曲线、平均精度(average precision,ap)指标、误报率、漏报率等。
125.具体地,可以构建混淆矩阵,其中示出正例(positive,也称阳性)和负例(negative,也称阴性)的数量、真实值以及预测值等。
126.准确率是指分类正确的样本占总样本的比例。例如,测试集中的测试数据项的数量为n2,其中预测结果与标签一致的数量为n21,那么准确率可以表示为n21/n2。
127.正确率也称为精确率,是指预测为正的样本中,实际也为正的样本的比例。例如,测试集中的测试数据项的数量为n2,若预测结果中为正例的数量为n22,且该n22个测试数据项中标注为正例的数量为n23,那么正确率可以表示为n23/n22。
128.召回率是指实际为正的样本中,被预测为正的比例。例如,测试集中的测试数据项的数量为n2,其中标注为正例的数量为n31,针对该n31个正例,若预测结果中也为正例的数量为n32,那么召回率可以表示为n32/n31。
129.p-r曲线是将横轴定义为召回率,将纵轴定义为精确率。p-r曲线上的一个点代表:在某一阈值下,模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本,此时返回结所对应的召回率和精确率。整条p-r曲线是通过将阈值从高到低移动而生成的。原点附近代表当阈值最大时模型的精确率和召回率。
130.f1指数也称为f1得分(score),是精确率和召回率的调和平均值。例如,可以将精确率与召回率的乘积的两倍与精确率和召回率之和两者的比值作为f1指数。
131.在本公开的一些实施例中,评估结果可以包括正例表征值,如第一正确率和/或第一召回率。第一正确率表示预测为正的样本中,实际也为正的样本的比例。第一召回率表示实际为正的样本中,被预测为正的比例。评估结果可以包括负例表征值,如第二正确率和/或第二召回率。第二正确率表示预测为负的样本中,实际也为负的样本的比例。第二召回率表示实际为负的样本中,被预测为负的比例。
132.在本公开的一些实施例中,评估结果可以包括第一预测均值和/或第二预测均值。第一预测均值表示针对实际为正的样本的预测值的平均值。第二预测均值表示针对实际为负的样本的预测值的平均值。评估结果可以包括均值差异,用于表示第一预测均值与第二预测均值之间的差异,如可以通过第一预测均值与第二预测均值之差或通过第一预测均值与第二预测均值的比值等来表示均值差异。
133.应理解,上面列出的仅是评估结果的一些示例,还可以通过其他的表征作为评估结果,本公开不再一一罗列。
134.示例性地,该评估结果可以由输入/输出模块110呈现给用户。例如可以通过图形用户界面呈现,便于用户查看。
135.如此,通过本公开的实施例的方式,可以将数据集的偏见显著性通过量化的形式进行表征。这种定量评估的方案能够给用户提供明确的参考,便于用户对数据集进行调整等处理。
136.在输入/输出模块110包括图形用户界面的场景下,输入/输出模块110还可以通过图形用户界面以可视化方式呈现数据集偏见的表征。
137.具体的,通过将目标无关数据项输入经训练的分类模型,得到类激活图(class activation map,cam)。随后通过将cam与目标无关数据项叠加而得到叠加结果,并显示该叠加结果。
138.类激活图即类激活热力图,这样,本公开的实施例能够通过cam表征分类模型的关注区域,具体的,是哪些区域(即模型的关注区域)导致了偏见。
139.本公开的实施例对得到cam的具体方式不作限定。作为一例,可以采用基于梯度的类激活图方法(gradient-based cam,grad-cam)得到cam。例如,可以提取分类模型的最后一个卷积层的输出,即最后一层特征图,将提取出的最后一层特征图加权求和,得到cam。可选地,也可以将加权求和后的结果再经线性整流单元(rectified linear unit,relu)激活函数的处理后,作为cam。这里进行加权求和的权重可以是顶层全连接层的权值。作为一例,可以计算分类模型的最后一层柔性最大值(softmax)的输出对最后一层特征图所有像素的偏导数,再取宽高维度上的全局平均,作为对应的权重。
140.本公开的实施例对cam与目标无关数据项(如背景图像)叠加的方式不作限定,例如可以采用加权求和的方式进行叠加,作为一例,cam与背景图形的权重可以相等。
141.如此,本公开的实施例提供了一种将数据集偏见进行定量评估和可视化呈现的方案,从而可以明确地表征数据集偏见的显著性,并且能够可视化地呈现产生偏见的具体位置。如此,用户能够更直观更全面地知道数据集偏见的情况。该方案不需要用户过多的参与,可以自动化进行,能够在保证对偏见的定量评估准确性的前提下,提高处理的效率。
142.模型训练模块130还可以用于基于分类模型对待处理数据集进行调整。
143.具体地,待处理数据集可以具有初始样本权重分布,相应地,第一数据集具有第一样本权重分布,第二数据集具有第二样本权重分布。举例来说,假设目标待处理数据项的初始样本权重为a,那么基于该目标待处理数据项所生成的无关数据项的样本权重也为a。
144.示例性地,模型训练模块130可以用于基于对分类模型的迭代训练,得到推荐样本权重分布,如下结合图3所述。
145.图3示出了根据本公开的实施例的模型训练模块130得到推荐样本权重的过程300的示意图。
146.在310处,确定具有第一样本权重分布的第一数据集和具有第二样本权重分布的第二数据集。
147.具体的,可以基于待处理数据集构建无关数据集,将无关数据集划分为第一数据集和第二数据集,如上文中的实施例所述。
148.示例性地,待处理数据集中的待处理数据项可以具有初始样本权重,也就是说,待处理数据集可以具有初始样本权重分布。作为一例,初始样本权重可以是用户通过输入/输出模块110输入的。作为另一例,可以通过初始化过程确定初始化样本权重。
149.样本权重可以用于指示待处理数据项的采样概率,举例来讲,假设第i条待处理数据项的样本权重为wi,那么该第i条待处理数据项的采样概率为
150.作为一例,初始样本权重分布可以指示待处理数据集中各条待处理数据项的采样概率相等。假设该待处理数据集中包括n条待处理数据项,每条待处理数据项的初始样本权重均为1,那么每条待处理数据项的采样概率都被初始化为1/n。
151.可理解,确定初始样本权重分布的同时可以相应地确定第一样本权重分布以及第二样本权重分布。
152.在320处,基于第一样本权重分布对第一数据集进行采样,并通过迭代的方式对分类模型进行训练。
153.在330处,基于第二数据集对s320训练之后的分类模型进行评估,得到评估结果。
154.示例性地,评估结果可以是基于经训练的分类模型对第二数据集中的无关数据项的预测结果与该无关数据项的标签的比较而得到的。作为示例,可以将无关数据项输入到经训练的分类模型,得到关于无关数据项的预测结果,基于无关数据项的预测结果与无关数据项的标签的比较结果,确定评估结果。评估结果可以包括以下至少一项:正确率、准确率、召回率、f1指数、准确率-召回率曲线、平均精度指标、误报率、漏报率等。关于评估结果可以参照上文的描述,这里不再赘述。
155.在340处,判断评估结果所指示的偏见显著性是否高。
156.如果340处判断确定评估结果指示偏见显著性高,例如评估结果大于预设阈值,那么可以进行到350处。否则如果340处判断确定评估结果指示偏见显著性不高,例如评估结果不大于预设阈值,那么可以进行到360处。
157.预设阈值可以基于待处理数据集的处理精度和应用场景等进行设定。预设阈值可以与评估结果的具体含义有关,如评估结果包括正确率,预设阈值可以被设定为例如30%或50%或其他数值等。
158.在350处,更新样本权重分布。
159.参照图3,如图3中虚线箭头所示,在350之后,可以返回310或320继续执行。
160.在一例中,可以返回310继续执行,也就是说重新构建第一数据集和第二数据集。这样,在上一循环中某个无关数据项可能属于第一数据集,但是在下一循环中该无关数据项可能属于第一数据集也可能属于第二数据集。
161.在另一例中,可以返回320继续执行,也就是说第一数据集和第二数据集中的无关数据项没有发生变化,但是第一样本权重分布和/或第二样本权重分布被更新了。
162.在350之后可以基于更新后的第一样本权重分布对第一数据集重新采样,并重新迭代地训练分类模型。并且基于第二数据集对重新训练后的分类模型进行评估,重新得到评估结果。
163.如此可以迭代地执行310至350或者320至350,直到评估结果指示偏见显著性不高(例如评估结果不大于预设阈值)为止。
164.本公开的实施例对更新样本权重分布的具体实现方式不作限定。
165.作为一例,可以采用随机的方式更新样本权重分布。举例来讲,可以随机地将部分待处理数据项的样本权重进行更新,例如将某待处理数据项的样本权重从1更新为2,将另一待处理数据项的样本权重从1更新为3等等。可理解,该随机的方式具有不确定性,可能会使得得到推荐样本权重分布的过程耗时较长。
166.作为另一例,可以采用预定的规则更新样本权重分布。例如,可以对第二样本权重分布进行更新。举例来讲,如果评估结果指示分类模型对第二数据集中的无关数据项的预测结果不同于该无关数据项的标签,则可以将该无关数据项的样本权重调高。如将该无关数据项的样本权重从a1更新为a1+1或2*a1或其他等。在该例中,第一样本权重分布可以保持不变或者可以采用其他方式对第一样本权重分布进行更新。可选地,在该例中,更新样本权重分布之后,可以将第二数据集与第一数据集进行交换再进行下一循环。例如,在下一循环中,将基于上一循环的第二数据集以及更新的第二样本权重分布训练分类模型。
167.作为另一例,可以通过遗传算法对样本权重分布进行优化以更新样本权重分布。举例来讲,可以将样本权重分布作为遗传算法的基因初始值,可以基于在330得到的评估结果构建目标函数,从而可以采用该遗传算法对样本权重分布进行优化,优化后的样本权重分布即更新后的样本权重分布。本公开的实施例对遗传算法的目标函数的具有构建方式不作限定,例如评估结果包括正样本与负样本的均值差异以及正确率,那么可以将均值差异与正确率之和作为目标函数。可理解,也可以采用其他方式构建目标函数,这里不再罗列。
168.如此,本公开的实施例能够基于经训练的分类模型,对待处理数据集的样本权重分布进行更新,从而得到推荐样本权重分布,该过程不需要用户参与,自动化程度高。
169.作为另一例,可以获取用户对样本权重分布的修改以更新样本权重分布。举例来讲,用户可以参考评估结果和/或所显示的叠加结果(如上所述),根据经验推测要对样本权重分布进行怎样的修改,然后通过输入/输出模块110输入该修改,以更新样本权重分布。
170.如此,该方式能够充分地考虑用户需求,基于用户的修改来更新样本权重分布,使得得到的推荐样本权重分布更能符合用户期望,提升用户满意度。
171.在360处,得到推荐样本权重分布。
172.如果340处判断确定评估结果指示偏见显著性不高,例如评估结果不大于预设阈值,那么可以将得到当前评估结果的样本权重分布作为推荐样本权重分布。
173.如此,本公开的实施例能够基于迭代地训练分类模型来更新样本权重分布,能够查看到数据集偏见随样本权重分布更新的变化,这样能够迭代地对待处理数据集进行检测,得到有效的具有高参考性的推荐样本权重分布。
174.输入/输出模块110还可以呈现该推荐样本权重分布,以供用户作为进一步调整待处理数据集的参考。例如,通过图形用户界面以可视化方式呈现推荐样本权重分布。
175.示例性地,数据集处理模块120可以基于得到的推荐样本权重分布,对待处理数据集进行增加或删除,以构建无偏数据集。
176.作为一例,数据集处理模块120可以将推荐样本权重大的待处理数据项进行复制,以扩充待处理数据集中的待处理数据项的数目。数据集处理模块120可以将推荐样本权重小的待处理数据项进行删除,以缩减待处理数据集中的待处理数据项的数目。
177.作为一例,可以经由输入/输出模块110获取用户对部分待处理数据项的删除指
令,以将部分待处理数据项进行删除。可以经由输入/输出模块110获取用户输入的其他的数据项,以增加到当前的待处理数据集中。
178.举例来讲,用户可以基于推荐样本权重分布对待处理数据集进行增加或删除。例如,用户可以找到与推荐样本权重大的待处理数据项相似的其他样本,作为新的数据项增加到该数据集中,从而实现了对数据集的数据补充。作为一例,相似的其他样本可以是由同一(或同一型号的)图像采集设备在相似的环境(如关照条件等)所采集的其他图像。
179.如此,本公开的实施例中,能够基于推荐样本权重分布对待处理数据集进行增加或删除,从而能够构建无偏数据集。进一步地,该无偏数据集可以用于训练更加稳健、无偏的特定任务的模型。
180.可理解,图1所示的系统100可以是能够与用户进行交互的系统,该系统10可以是软件系统也、硬件系统、或软硬结合的系统。
181.在一些示例中,该系统100可以被实现为计算设备或者计算设备的一部分,其中计算设备包括但不限于台式机、移动终端、可穿戴设备、服务器、云服务器等。
182.可理解,图1所示的系统100可以被实现为人工智能平台(ai平台)。ai平台是为ai开发者和用户提供便捷的ai开发环境以及便利的开发工具的平台。ai平台中可以内置有各种解决不同问题的ai模型或者ai子模型,ai平台可以根据用户输入的需求建立适用的ai模型。即用户只需在ai平台中确定自己的需求,且按照提示准备好数据集上传至ai平台,ai平台就能为用户训练出一个可用于实现用户需要的ai模型。本公开实施例中的ai模型可以用于评价用户输入的待处理数据集的数据偏见。
183.图4示出了根据本公开的实施例的系统100被部署于云环境中的场景400的示意图。场景400中,系统100被全部部署在云环境410中。
184.云环境410是云计算模式下利用基础资源向用户提供云服务的实体。云环境410包括云数据中心412和云服务平台414,云数据中心412包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心412包括的计算资源可以是大量的计算设备(例如服务器)。系统100可以独立地部署在云数据中心412内的服务器或虚拟机上,系统100也可以分布式地部署在云数据中心412内的多台服务器上、或者分布式地部署在云数据中心412内的多台虚拟机上、再或者分布式地部署在云数据中心412内的服务器和虚拟机上。
185.如图4所示,系统100可以由云服务提供商在云服务平台414抽象成一种ai开发云服务424提供给用户,用户在云服务平台414购买该云服务后(可预充值再根据最终资源的使用情况进行结算),云环境410利用部署在云数据中心412的系统平台100向用户提供ai开发云服务424。在使用ai开发云服务424时,用户可以通过应用程序接口(application program interface,api)或者gui上传待处理数据集等。云环境410中的系统100接收用户上传的待处理数据集,可以执行数据集处理、模型训练、数据集调整等操作。系统100可以通过api或者gui向用户返回模型的评估结果、推荐样本权重分布等。
186.在本技术的另一种实施例中,云环境410下的系统100被抽象成ai开发云服务424向用户提供时,可分为两部分,例如数据集偏见评估云服务和数据集调整云服务。用户在云服务平台414可以仅购买数据集偏见评估云服务,该云服务平台414可以基于用户上传的待处理数据集构建无关数据集,通过训练得到分类模型,并向用户返回分类模型的评估结果,
以便用户获知待处理数据集的偏见显著性。用户也可以在云服务平台414进一步购买数据集调整云服务,该云服务平台414可以基于样本权重分布,对分类模型进行迭代训练,对样本权重分布进行更新,并向用户返回推荐样本权重分布,以便用户参考该推荐样本权重分布对待处理数据集进行增加或删除以构建无偏数据集。
187.图5示出了根据本公开的实施例的系统100被部署于不同环境中的场景500的示意图。场景500中,系统100被分布式地部署在不同的环境中,不同的环境可以包括但不限于云环境510、边缘环境520和终端计算设备530中的至少两者。
188.系统100可以在逻辑上被分成多个部分,每个部分具有不同的功能。例如,如图1所示,系统100包括输入/输出模块110、数据集处理模块120、模型训练模块130、模型存储模块140和数据存储模块150。系统100的各部分可以分别部署在终端计算设备530、边缘环境520和云环境510中的任意两个或三个环境中。部署在不同环境的系统100的各个部分协同实现为用户提供各种功能。例如,在一种场景中,终端计算设备530中部署系统100的输入/输出模块110和数据存储模块150,边缘环境520的边缘计算设备中部署系统100的数据集处理模块120,云环境510中部署系统100的模型训练模块130和模型存储模块140。用户将待处理数据集发送至终端计算设备530中的输入/输出模块110,终端计算设备530将待处理数据集存储至数据存储模块150。边缘环境520的边缘计算设备中的数据集处理模块120基于来自终端计算设备530的待处理数据集构建无关数据集。云环境510中的模型训练模块130基于来自边缘环境520的无关数据集来训练分类模型。云环境510还可以将经训练的分类模型存在至模型存储模块140。应理解,本技术不对系统100的哪些部分具体被部署在什么环境进行限制,实际应用时可根据终端计算设备530的计算能力、边缘环境520和云环境510的资源占有情况或具体应用需求进行适应性的部署。
189.边缘环境520为包括距离终端计算设备530较近的边缘计算设备集合的环境,边缘计算设备包括但不限于:边缘服务器、拥有计算能力的边缘小站等。可理解,系统100也可以被单独部署在边缘环境520的一台边缘服务器上,或者可以被分布式地部署在边缘环境520的多台边缘服务器上。
190.终端计算设备530包括但不限于:终端服务器、智能手机、笔记本电脑、平板电脑、个人台式电脑、智能摄相机等。可理解,系统100也可以被单独部署在一台终端计算设备530上,或者可以被分布式地部署在多台终端计算设备530上。
191.图6示出了根据本公开的实施例的计算设备600的结构示意图。图6中的计算设备600可以被实现为图5中的云环境510中的设备、边缘环境520中的设备、或者终端计算设备530。应理解,图6所示的计算设备600也可以被视为计算设备集群,即,计算设备600包括前述云环境510中的设备、边缘环境520中的设备、终端计算设备530中的一个或多个设备。
192.如图6所示,计算设备600包括存储器610、处理器620、通信接口630以及总线640,其中,总线640用于计算设备600的各个部件彼此之间的通信。
193.存储器610可以是只读存储器(read only memory,rom),随机存取存储器(random access memory,ram),硬盘,快闪存储器或其任意组合。存储器610可以存储程序,当存储器610中存储的程序被处理器620执行时,处理器620和通信接口630用于执行如上所述的系统100中各个模块能够执行的过程。应理解,处理器620和通信接口630也可以用于执行本说明书下文所述的数据处理的方法实施例中的部分或全部内容。存储器还可以存储数据集和分
类模型。例如,存储器610中的一部分存储资源被划分成一个数据存储模块,用于存储数据集,如待处理数据集、无关数据集等,存储器610中的一部分存储资源被划分成模型存储模块,用于存储分类模型。
194.处理器620可以采用中央处理单元(central processing unit,cpu),专用集成电路(application-specific integrated circuit,asic),图形处理单元(graphics processing unit,gpu)或其任意组合。处理器620可以包括一个或多个芯片。处理器620可以包括加速器,例如神经处理单元(neural processing unit,npu)。
195.通信接口630使用例如收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。例如,可以通过通信接口630获取数据。
196.总线640可包括在计算设备600各个部件(例如,存储器610、处理器620、通信接口630)之间传送信息的通路。
197.图7示出了根据本公开的实施例的数据处理方法700的示意流程图。图7所示的方法700可以由系统100执行。
198.如图7所示,在框710,基于待处理数据集构建无关数据集,无关数据集包括具有标签的无关数据项,无关数据项的标签是基于待处理数据集中的待处理数据项的标签确定的。
199.示例性地,待处理数据集包括多个待处理数据项,每一待处理数据项具有标签。待处理数据项可以包括与标签有关的部分和与标签无关的部分。
200.在一些实施例中,可以从待处理数据集的目标待处理数据项中去除与目标待处理数据项的标签相关联的部分,以得到目标待处理数据项中的剩余部分。利用剩余部分来构建无关数据集中的一条无关数据项,一条无关数据项的标签对应于目标待处理数据项的标签。
201.在一些实施例中,待处理数据集为图像数据集,也就是说,待处理数据项为图像。那么可以对待处理数据集中的目标待处理数据项执行图像分割,以得到与目标待处理数据项对应的背景图像。利用背景图像来构建无关数据集中的一条无关数据项。
202.具体地,图像中与标签关联的部分是前景区域,图像中除前景区域之外的其他区域为背景区域,那么可以通过前景-背景分离,仅基于背景区域确定无关数据项。
203.在一些实施例中,待处理数据集中的待处理数据项为视频序列。那么可以基于视频序列中一帧图像与一帧图像的前一帧图像之间的梯度信息,确定视频序列的二值图像。并基于二值图像,生成视频序列的背景图像。随后利用视频序列的背景图像来构建无关数据集中的一条无关数据项。
204.图8示出了根据本公开的实施例的构建无关数据项的过程800的示意流程图。具体的,图8所示的是基于待处理数据项(视频序列)构建无关数据项的过程。
205.如图8所示,在框810,计算目标视频序列中相邻两帧图像之间的梯度信息。
206.示例性地,可以计算两帧图像的特征向量沿时间维度的梯度,从而得到梯度信息。这样,能够得到视频序列中静止不变的背景部分,例如图像边框等。
207.在框820,基于梯度信息的叠加,得到梯度叠加图。
208.示例性地,可以将810得到的梯度信息进行加权求和或求最大值或求最小值等,以完成叠加,得到梯度叠加图。
209.在框830,对梯度叠加图进行阈值化处理,得到初始二值图。
210.在框840,对初始二值图进行形态学处理,得到二值图像。
211.示例性地,对初始二值图进行若干次形态学膨胀,然后再执行相同次数的形态学腐蚀,从而得到二值图像。
212.在框850,基于二值图像得到背景图像,并且将背景图像作为与该视频序列对应的无关数据项。
213.示例性地,可以对二值图像执行抠图操作,例如可以通过矩阵点乘的方式,从而得到背景图像。
214.如此,考虑到视频序列中的各帧图像之间的相似性,以及视频序列中背景基本不变的特性,能够得到视频序列对应的背景图像。
215.另外,无关数据项的标签是基于待处理数据项的标签而确定的。具体地,目标待处理数据项具有标签a,且通过对目标待处理数据项进行处理(如图像分割等)得到目标无关数据项,那么该目标无关数据项的标签也为标签a。
216.在框720,将无关数据集划分为第一数据集和第二数据集,第一数据集具有第一样本权重分布,第二数据集具有第二样本权重分布,第一样本权重分布和第二样本权重分布是基于待处理数据集中的待处理数据项的样本权重确定的。
217.无关数据项的样本权重是基于待处理数据项的样本权重而确定的。具体地,目标待处理数据项具有样本权重w,且通过对目标待处理数据项进行处理(如图像分割等)得到目标无关数据项,那么该目标无关数据项的样本权重也为样本权重w。
218.本公开实施例中对第一数据集和第二数据集划分的方式不作限定。例如可以按照9:1的方式划分,使得第一数据集中无关数据项的数量与第二数据集中无关数据项的数量的比值约为9:1。例如可以按照1:1的方式划分,使得第一数据集中无关数据项的数量与第二数据集中无关数据项的数量的比值约为1:1。另外,第一数据集也可以被进一步划分为第一子数据集和第二子数据集,例如第一子数据集中无关数据项的数量与第二子数据集中无关数据项的数量的比值约为7:2。可理解,这里所列出的比例仅是示意,不构成对本公开实施例的限定。
219.在框730,基于第一数据集和第一样本权重分布,对分类模型进行训练。
220.具体地,可以基于第一样本权重分布对第一数据集进行采样,并基于第一数据集基于第一数据集中无关数据项的标签,对分类模型进行训练。
221.也就是说,可以将第一数据集作为训练集对分类模型进行训练。可选地,在训练之前,可以对第一数据集进行预处理,包括但不限于:特征提取、聚类分析、边缘检测、图像去噪等。
222.本公开实施例对分类模型的具体结构不作限定,例如可以为卷积神经网络,至少包括卷积层和全连接层。
223.在框740,基于第二数据集和第二样本权重分布,对分类模型进行评估,以得到评估结果,评估结果指示具有样本权重分布的待处理数据集的偏见显著性。
224.也就是说,可以将第二数据集作为测试集,得到评估结果。具体地,可以基于分类模型对第二数据集中无关数据项的预测结果以及第二数据集中无关数据项的标签两者之间的比较结果,得到评估结果。
225.作为一例,评估结果可以包括针对第二数据集中正样本的第一正确率以及针对第二数据集中负样本的第二正确率。
226.如此,本公开的实施例中能够通过构建无关数据集,基于无关数据集训练和评估,得到对于待处理数据集的偏见显著性的定量化表征。能够提供定量的偏见参见,便于对待处理数据集的进一步调整等操作。
227.示例性地,如果在框740得到的评估结果指示该偏见显著性大(或称存在显著的偏见),那么可以对待处理数据集的样本权重分布进行更新。
228.在一些实施例中,如果评估结果大于预设阈值,更新待处理数据集的样本权重分布。进一步地,在此之后,可以返回720重新获得第一数据集和第二数据集,并重复执行730和740,直到框740得到的评估结果指示该偏见显著性不大(或称不存在显著的偏见),例如,评估结果不大于预设阈值。随后,可以将评估结果不大于预设阈值时的样本权重分布作为推荐样本权重分布,输出该推荐样本权重分布。
229.本公开实施例中对更新样本权重分布的具体方式不作限定,例如可以采用如下的至少一种方式来更新:采用预定的规则更新样本权重分布,采用随机的方式更新样本权重分布,获取用户对样本权重分布的修改以更新样本权重分布,或者通过遗传算法对样本权重分布进行优化以更新样本权重分布。
230.在本公开的一些实现方式中,更新样本权重分布可以更新第一数据集的第一样本权重分布,如此在返回执行720时,再次执行的720中的第一数据集的第一样本权重分布被更新,进而在730处被训练的分类模型也被更新。
231.在本公开的另一实现方式中,更新样本权重分布可以更新第一数据集的第一样本权重分布以及更新第二数据集的第二样本权重分布。作为一例,可以更新待处理数据集的样本权重分布,并且可以重新对无关数据集进行划分。作为另一例,可以更新待处理数据集的样本权重分布,从而适应性地更新第一样本权重分布和第二样本权重分布,但是第一数据集和第二数据集中的无关数据项不变。如此在返回执行720时,再次执行的720中的第一数据集被更新或者第一数据集的第一样本权重分布被更新,进而在730处被训练的分类模型也被更新。
232.在本公开的另一实现方式中,更新样本权重分布可以更新第二数据集的第二样本权重分布。可选地,第一样本权重分布可以包括不变。作为一个示例,在该实现方式中,在返回执行720时,可以将上一次执行的720中的第一数据集和第二数据集进行交换。如此,在返回执行730时的第一数据集是上一次执行的过程中的第二数据集。这样,能够实现对待处理数据集的更全面的考虑,使得分类模型对于偏见显著性的评估结果更加准确。
233.图9示出了根据本公开的实施例的对待处理数据集的样本权重分布进行更新的过程900的示意图。
234.如图9所示,在框910,基于待处理数据集构建无关数据集,无关数据集包括具有标签的无关数据项,无关数据项的标签是基于待处理数据集中的待处理数据项的标签确定的。
235.在框920,将无关数据集划分为第一数据集和第二数据集,第一数据集具有第一样本权重分布,第二数据集具有第二样本权重分布,第一样本权重分布和第二样本权重分布是基于待处理数据集中的待处理数据项的样本权重确定的。
236.在框930,基于第一数据集和第一样本权重分布,对分类模型进行训练。
237.在框940,基于第二数据集和第二样本权重分布,对分类模型进行评估,以得到评估结果,评估结果指示具有样本权重分布的待处理数据集的偏见显著性。
238.关于图9中的910至940可以分别参照上面结合图7所描述的710至740,为了简洁,这里不再赘述。
239.在图9中,在框950,判断评估结果是否大于预设阈值。如果确定该评估结果大于预设阈值,则执行960。如果确定该评估结果不大于预设阈值,则执行980。
240.在框960,更新第二数据集的第二样本权重分布。
241.作为一些示例,可以更新第二数据集中所有无关数据项的样本权重,或者可以更新第二数据集中部分无关数据项的样本权重。
242.作为一些示例,可以基于在940中分类模型对第二数据集中无关数据项的预测结果,来更新第二样本权重分布。
243.具体的,可以将预测正确的第二数据集中无关数据项的样本权重调大,或者,可以将预测错误的第二数据集中无关数据项的样本权重调小。举例来讲,假设第二数据集中第一无关数据项的样本权重为2,且将该第二数据集中第一无关数据项输入到分类模型得到的预测结果与其标签一致,则可以将第二数据集中第一无关数据项的样本权重调大,例如从2变为3或4或其他值等。举例来讲,假设第二数据集中第二无关数据项的样本权重为2,且将该第二数据集中第二无关数据项输入到分类模型得到的预测结果与其标签不一致,则可以将第二数据集中第二无关数据项的样本权重调小,例如从2变为1。
244.在框970,将具有第一样本权重分布的第一数据集与具有更新的第二样本权重分布的第二数据集进行交换。
245.可理解,交换之后的第一数据集为框920中的第二数据集,且该交换之后的第一数据集所具有的第一样本权重分布为在框960所更新的第二样本权重分布。交换之后的第二数据集为框920中的第一数据集,且该交换之后的第二数据集所具有的第二样本权重分布为在框920中的第一样本权重分布。
246.在框970之后,返回执行930。也就是说,使用在970中交换之后的第一数据集对分类模型重新进行训练。
247.在框980,输出推荐样本权重分布。
248.示例性地,将评估结果不大于预设阈值时的样本权重分布作为推荐样本权重分布。具体的,可以基于第一样本权重分布和第二样本权重分布确定推荐样本权重分布。
249.在本公开的一些实施例中,可以通过可视化方式呈现数据集偏见的关注区域,具体的,可以通过将目标无关数据项输入经训练的分类模型,得到类激活图。随后通过将类激活图与目标无关数据项叠加得到叠加结果,并显示叠加结果。作为示例,该叠加结果可以通过对热图加权求和的方式得到,这样通过显示叠加结果,能够直观地查看到哪些是分类模型的关注区域,并且这些关注区域是造成偏见的重要因素。
250.在本公开的一些实施例中,在得到推荐样本权重分布之后,可选地还可以包括基于该推荐样本权重分布对待处理数据集进行调整,以得到无偏数据集。
251.示例性地,可以通过对待处理数据集进行增加或删除,构建无偏数据集。
252.作为一例,可以将推荐样本权重大的待处理数据项进行复制,以扩充待处理数据
集中的待处理数据项的数目。作为一例,可以将推荐样本权重小的待处理数据项进行删除,以缩减待处理数据集中的待处理数据项的数目。
253.作为一例,可以获取用户对部分待处理数据项的删除指令,以将部分待处理数据项进行删除。可以获取用户输入的其他的数据项,以增加到当前的待处理数据集中。
254.举例来讲,用户可以基于推荐样本权重分布对待处理数据集进行增加或删除。例如,用户可以找到与推荐样本权重大的待处理数据项相似的其他样本,作为新的数据项增加到该数据集中,从而实现了对数据集的数据补充。作为一例,相似的其他样本可以是由同一(或同一型号的)图像采集设备在相似的环境(如关照条件等)所采集的其他图像。
255.如此,本公开的实施例中,能够基于推荐样本权重分布对待处理数据集进行增加或删除,从而能够构建无偏数据集。进一步地,该无偏数据集可以用于训练更加稳健、无偏的特定任务的模型。
256.可理解的是,本公开实施例中结合图7至图9所描述的过程,可以参照上面结合图1至图6所描述的模块等的功能,为了简洁,不再重复。
257.图10示出了根据本公开的实施例的数据处理装置1000的示意框图。装置1000可以通过软件、硬件或者两者结合的方式实现。在一些实施例中,装置1000可以为实现图1所示的系统100中的部分或全部功能的软件或硬件装置。
258.如图10所示,装置1000包括构建单元1010、划分单元1020、训练单元1030和评估单元1040。
259.构建单元1010被配置为基于待处理数据集构建无关数据集,无关数据集包括具有标签的无关数据项,无关数据项的标签是基于待处理数据集中的待处理数据项的标签确定的。
260.划分单元1020被配置为将无关数据集划分为第一数据集和第二数据集,第一数据集具有第一样本权重分布,第二数据集具有第二样本权重分布,第一样本权重分布和第二样本权重分布是基于待处理数据集中的待处理数据项的样本权重确定的。
261.训练单元1030被配置为基于第一数据集和第一样本权重分布,对分类模型进行训练。
262.评估单元1040被配置为基于第二数据集和第二样本权重分布,对分类模型进行评估,以得到评估结果,评估结果指示具有样本权重分布的待处理数据集的偏见显著性。
263.在一些实施例中,装置1000还可以包括更新单元1050、调整单元1060和显示单元1070。
264.更新单元1050被配置为:如果评估单元1040得到的评估结果大于预设阈值,更新待处理数据集的样本权重分布。
265.作为一例,更新单元1050可以被配置为更新样本权重分布的部分,使得更新第二样本权重分布而不更新第一样本权重分布。
266.在一些实施例中,更新单元1050可以被配置为通过以下至少一项来更新样本权重分布:采用预定的规则更新样本权重分布,采用随机的方式更新样本权重分布,获取用户对样本权重分布的修改以更新样本权重分布,或者通过遗传算法对样本权重分布进行优化以更新样本权重分布。
267.在一些实施例中,更新单元1050可以被配置为将评估结果不大于预设阈值时的样
本权重分布作为推荐样本权重分布。
268.调整单元1060被配置为基于推荐样本权重分布,对待处理数据集进行增加或删除,以构建无偏数据集。
269.更新单元1050还被配置为:通过将目标无关数据项输入经训练的分类模型,得到类激活图;通过将嘞激活图与目标无关数据项叠加,得到叠加结果。
270.显示单元1070被配置为显示推荐样本权重分布和/或叠加结果。
271.在一些实施例中,构建单元1010可以被配置为从待处理数据集的目标待处理数据项中去除与目标待处理数据项的标签相关联的部分,以得到目标待处理数据项中的剩余部分;以及利用剩余部分来构建无关数据集中的一条无关数据项,该一条无关数据项的标签对应于目标待处理数据项的标签。
272.在一些实施例中,待处理数据集为图像数据集,构建单元1010可以被配置为对待处理数据集中的目标待处理数据项执行图像分割,以得到与目标待处理数据项对应的背景图像;以及利用背景图像来构建无关数据集中的一条无关数据项。
273.在一些实施例中,待处理数据集中的待处理数据项为视频序列,构建单元1010可以被配置为基于视频序列中一帧图像与一帧图像的前一帧图像之间的梯度信息,确定视频序列的二值图像;基于二值图像,生成视频序列的背景图像;以及利用视频序列的背景图像来构建无关数据集中的一条无关数据项。
274.本公开的实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在公开的实施例中的各功能单元可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上单元集成为一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
275.图10所示的数据处理装置1000能够用于实现上述结合图7至图9所示的数据处理过程。
276.本公开还可以实现为计算机程序产品。计算机程序产品可以包括用于执行本公开的各个方面的计算机可读程序指令。本公开可以实现为计算机可读存储介质,其上存储有计算机可读程序指令,当处理器运行所述指令时,使得处理器执行上述数据处理的过程。
277.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)或闪存、静态随机存取存储器(static random access memory,sram)、便携式压缩盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能盘(digital versatile disc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
278.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外
部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
279.用于执行本公开操作的计算机可读程序指令可以是汇编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(local area network,lan)或广域网(wide area network,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,fpga)或可编程逻辑阵列(programmable logic array,pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
280.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
281.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
282.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
283.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机可读程序指令的组合来实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1