【深度学习:集中偏差】减少计算机视觉数据集中偏差的 5 种方法
尽管计算机视觉领域有无数的创新,但"垃圾进,垃圾出"的概念仍然是数据科学领域内任何事物的关键原则。与此特别相关的一个领域是用于训练机器学习模型的数据集中的偏差。
如果您的数据集在某种程度上存在偏差,则会对计算机视觉模型的结果产生负面影响,无论是使用训练数据集还是已进入生产阶段。
机器学习模型中有一些众所周知的偏差例子。例如,亚马逊的招聘算法被发现存在性别偏见,偏袒男性而不是女性。美国各州法官使用的一种风险评估量刑算法,即 COMPAS(替代制裁的惩教罪犯管理分析),被发现在因暴力犯罪被判刑时对黑人被告存在偏见。微软在 2016 年的一天试验了一款名为 Tay 的 Twitter 聊天机器人,该算法生成了数千条充满种族主义、仇恨言论、反犹太主义、性别歧视和厌女症的推文。
所有这些事情有什么共同点,这对于尝试在基于图像或视频的数据集上使用人工智能模型的公司意味着什么?
算法本身不能有偏见。另一方面,无论有意还是无意,人类都是如此。偏爱某件事、概念或人口统计的个人偏见可能会无意中影响算法产生的结果。不仅如此,如果使用有偏差的数据集来训练这些算法,那么结果将偏向或反对特定的结果和结果。
在本文中,我们概述了由有偏差的计算机视觉数据集引起的问题以及减少这些数据集中的偏差的五种方法。
有偏差的计算机视觉数据集会导致哪些问题?
偏差几乎可以在任何时候进入数据集或计算机视觉模型。可以肯定地假设几乎所有数据集都存在偏见,即使是那些不涉及人的数据集。基于图像或视频的数据集可能会偏向或反对过多或过少的特定对象示例,例如汽车、卡车、鸟类、猫或狗。困难在于,知道如何识别偏见,然后了解如何有效地抵消它。
偏差可能会在项目的收集、聚合、模型选择和最终用户解释阶段无意中进入数据集。这种偏见可能源于人类的偏见和成见,源于那些参与选择数据集、生成注释和标签的人,或者源于对数据集的无意简化。
在基于图像或视频的计算机视觉数据集中,通常会无意中出现不同类型的偏差。最常见的三种如下:
样本类数量不均匀: 当数据集中存在这种偏差时⏤特别是在训练阶段⏤模型会多次暴露于不同类别的对象。因此,合理的假设是模型可能会赋予更频繁出现的样本更多的权重,而代表性不足的样本可能表现不佳。例如,培训项目的目的可能是向计算机视觉模型展示如何识别特定品牌和型号的汽车。如果您没有展示足够多的非该品牌和型号的其他汽车的示例,那么它的性能就不会达到您想要的效果。
理想情况下,为了减少这种类型的偏差,我们希望模型看到不同类别的相同数量的样本,特别是在尝试识别正面和负面结果时。更重要的是,当模型训练旨在支持医学诊断时,CV 模型会接触到足够范围的样本类别。
选择偏差: 收集数据集时,可能是从人口的子集(例如特定种族群体)中抽样的,或者在许多情况下,数据集无意中排除了各个种族群体。或者数据集中包含太多男性或女性。
在任何情况下,数据集都不会完全代表总体人口,并且会有意或无意地带有选择偏差。当模型在此类数据集上进行训练时,它们在生产阶段的泛化性能很差,产生有偏差的结果。
类别偏差: 注释数据集时,注释器甚至自动注释工具有时可能会将一种标签类别与另一种标签类别混淆。例如,狗可以被标记为狐狸,或者猫可以被标记为老虎。
在这种情况下,由于类别标签的混乱和偏差,计算机视觉模型的表现将低于预期。
其中任何一个都可能导致数据集不平衡,从而产生不平衡或有偏差的结果。当然,还有其他例子,例如根据国家/地区应用错误的标签。例如,在美国使用"purse"一词,意思是女性的手提包,而在英国,"purse"是女性钱包的名称。
算法偏差也是可能的,这可能是由多种因素引起的。例如,计算机视觉模型在错误的上下文或环境中使用,例如为医学成像数据集设计的模型被用来识别天气模式或潮汐侵蚀。人类偏见自然也会影响计算机视觉模型。
如何减少计算机视觉数据集中偏差的示例
值得庆幸的是,有多种方法可以减少计算机视觉数据集中的偏差,例如:
-
观察注释过程以测量类别不平衡,使用质量控制过程来限制任何潜在的类别或选择偏差。
-
在获取数据集时,图像或视频必须尽可能来自不同的来源,以覆盖尽可能广泛的对象和/或人员,包括适用的性别和种族群体。
-
注释程序应该明确定义,当数据集中存在矛盾的例子或边缘/边缘情况时,应该达成共识。
对于每个训练和生产就绪的数据集,目标应该是收集大量图像或视频,这些图像或视频代表您要解决的问题的类和类别,并正确注释它们。
现在,这里有五种更详细地减少偏见的方法:
观察并监控带注释样本的类别分布
在注释过程中,我们应该观察数据集中的类分布。如果数据集中存在代表性不足的样本组,我们可以使用主动学习模式提高未标记样本中代表性不足的类的优先级。例如,我们可以在数据集中找到与少数类别相似的图像,并且可以增加它们在注释队列中的顺序。
借助 Encord Active,您可以更轻松地在数据集中找到相似的图像或对象,并优先标记这些图像或视频,以减少数据中的整体偏差。
确保数据集代表模型适用的人群
在收集和整理任何数据集时,我们应该小心创建一个准确代表总体的数据集(例如,"总体"是指模型在生产阶段将处理的任何目标群体)。
例如,假设一个医学成像计算机视觉项目正在尝试收集胸部 X 射线图像来检测患者的 COVID-19。那么,这些图像应该来自不同的机构和广泛的国家。否则,当特定群体没有足够广泛的样本量时,我们就会面临模型出现偏差的风险。
明确定义对象分类、标记和注释的流程
在开始任何注释工作之前,应准备一个程序/策略。
在此政策中,应明确定义类别和标签。如果存在令人困惑的类别,则应详细解释它们的差异,甚至应共享每个类别的样本图像。如果存在非常接近的同一类型的对象,则应明确定义是否将它们单独标记或是否单个注释将覆盖两者。如果存在被遮挡的物体,它们的部分是单独标记还是整体标记?所有这些都应该在应用任何注释和标签之前定义。
为标签质量保证建立共识基准
当存在特定领域的任务时,例如在医疗保健领域,图像或视频应该由不同的专家进行注释,以避免根据自己的经验产生偏见。例如,一位医生可能会根据自己的经验和性格更倾向于将肿瘤归类为恶性,而其他医生可能会采取相反的做法。 Encord Annotate 拥有共识基准和质量保证等工具,可以减少此类偏差对模型产生负面影响的可能性。
定期检查模型的性能
您必须定期检查模型的性能。通过检查模型的性能,您可以了解模型在哪些样本/条件下失败或表现良好。这样您就知道应该优先进行标签工作的样品。 Encord Active 提供了一个用户界面 (UI),以便您可以轻松地可视化模型的性能。
借助 Encord Active,用户可以定义指标来评估其模型针对这些指标和目标的表现。