深度学习中的偶然不确定性和认知不确定性

2024年11月29日 | 阅读 8 分钟

在深度学习和人工智能领域,不确定性起着至关重要的作用,尤其是在模型部署到实际应用中时。尽管神经网络表现出色,但它们本质上并不完美。为了确保在自动驾驶、医疗保健和金融预测等错误代价高昂的环境中的安全可靠运行,理解和量化不确定性变得至关重要。

深度学习中出现两种主要的不确定性:随机不确定性(aleatoric uncertainty)和认知不确定性(epistemic uncertainty)。本文将深入探讨这两种不确定性之间的区别、它们为何重要以及如何对它们进行建模。

什么是深度学习中的不确定性?

深度学习中的不确定性是指模型由于各种因素而无法做出完全准确预测的能力。在机器学习的上下文中,模型根据从数据中学到的模式进行预测。然而,由于数据本身的局限性或模型本身的局限性,这些预测可能会存在不确定性。

不确定性主要有两种类型:

  • 随机不确定性:这种不确定性源于数据中固有的随机性或噪声。例如,传感器测量存在噪声,或者数据中存在模型无法控制的不可预测的变化。这种不确定性是不可减少的,也就是说,无论收集多少数据,这种随机性仍然存在。
  • 认知不确定性:这种不确定性源于模型知识的缺乏。当模型遇到在训练期间未见过的新颖或意外数据时,就会发生这种情况。通过收集更多数据或改进模型,可以减少认知不确定性,因为它反映了模型知识的差距。

随机不确定性

随机不确定性是机器学习中的一个重要概念,尤其是在处理经常包含噪声或随机性的现实世界数据时。与来自不足训练或设计不良模型造成的错误不同,随机不确定性源于数据本身固有的不可预测性,并影响模型做出精确预测的能力。

随机不确定性的关键特征

  • 数据固有:随机不确定性直接与数据的特性相关。例如,在图像识别中,不良的光照条件、传感器故障或输入图像的模糊都可能引入噪声,影响模型做出准确预测的能力。
  • 不可减少:无论收集多少数据或模型训练得多么好,这种不确定性都无法消除。它是系统随机性的一部分。例如,即使是最好的模型也无法完美预测固有的随机结果,例如掷骰子的结果或股票市场的波动。
  • 任务相关:随机不确定性可能因手头的任务而异。在某些情况下,例如在光线充足的图像中识别物体,不确定性可能很低。在其他任务中,例如在低能见度条件下(例如,雾天)检测物体,不确定性可能要高得多。
  • 在模型中捕捉随机不确定性:深度学习模型处理随机不确定性的一种方法是,不仅预测一个单一结果,还预测一个相关的置信度。例如,在回归任务中,模型可以预测目标变量的均值和方差,从而将不确定性纳入预测。在分类任务中,模型可以输出概率而不是硬性分类,显示出对每个类别预测的置信度。

处理此问题的一种常见方法是调整损失函数以包含不确定性估计,例如在回归任务中使用负对数概率,这会调整模型,使其不仅能够预测结果,还能够量化其对预测的置信度。

实际示例

  • 自动驾驶汽车:在自动驾驶汽车中,由于雨、雾或不良光照,传感器对环境的误读可能导致随机不确定性。即使汽车的模型经过大量数据训练,也无法完全消除由这些外部随机因素引起的不确定性。
  • 医疗保健:在使用医学影像(如 MRI 或 X 射线)进行诊断时,影像过程中的不一致性,例如图像质量的变化或检查期间患者的移动,可能导致随机不确定性。
  • 机器人技术:在杂乱环境中导航的机器人可能会遇到传感器提供的距离读数存在随机不确定性,这可能是由于障碍物的不可预测移动或传感器测量的不完美造成的。

随机不确定性的重要性

在需要做出不确定性决策的应用中,理解和建模随机不确定性至关重要。它使模型能够不仅提供预测,还能提供对该预测可靠性的估计。这可以带来更安全、更可靠的系统,特别是在自动系统、医疗保健、金融和关键决策任务等领域,因为模型预测过度自信可能导致严重后果。

建模随机不确定性

随机不确定性通常通过预测模型输出的分布而不是单一的点估计来建模。例如,神经网络可能需要预测均值和方差,其中方差代表预测的不确定性。

在回归任务中,一种常见的技术是调整损失函数以考虑预测的方差,例如使用负对数概率来建模异方差不确定性。在分类任务中,像蒙特卡洛 dropout 这样的技术可以近似随机不确定性。

认知不确定性

认知不确定性是指模型自身由于缺乏知识或信息不完整而产生的不确定性。它反映了模型由于自身局限性(例如,训练数据不足或不熟悉某些类型输入)而对其预测不确定。与源于数据随机性且不可减少的随机不确定性不同,认知不确定性可以通过改进模型或收集更多数据来减少。

认知不确定性的关键特征

  • 基于模型:认知不确定性与模型由于信息不足或缺乏对某些情况的接触而无法完全理解问题相关。当模型遇到其训练经验之外的数据点时,通常会出现这种情况。
  • 可减少:可以通过提供更多样化或更高质量的数据以及改进模型设计来减少这种不确定性。通过在更具代表性的数据上训练模型,它可以更好地处理未见过的情况,从而减少认知不确定性。
  • 不熟悉的数据:当模型遇到以前未见过或训练很少的数据时,它会表现出很高的认知不确定性。当机器学习系统部署到新环境或遇到意外输入时,可能会发生这种情况。
  • 对安全决策至关重要:在医疗保健、自动系统和金融预测等领域,了解模型何时对其预测不确定至关重要。高认知不确定性可以表明模型何时不应完全依赖,并可能需要进一步的人为干预或额外数据。

认知不确定性的示例

  • 自动驾驶:如果一辆自动驾驶汽车仅接受过晴天数据的训练,而遇到了降雪,那么它可能会表现出很高的认知不确定性,因为它以前从未遇到过这种情况。汽车的模型可能不确定如何有效处理这种情况。
  • 医学诊断:一个用于从医学图像识别常见疾病的模型,在被要求诊断一种罕见或意想不到的疾病时,可能会表现出认知不确定性。通过在训练过程中让模型接触该罕见病的更多案例,可以减少这种不确定性。
  • 金融市场:在预测股票价格时,当出现重大的市场事件(例如,重大的政治事件或自然灾害)时,机器学习模型可能会遇到很高的认知不确定性,因为它过去从未遇到过类似的数据。

建模认知不确定性

有几种方法可用于量化和处理深度学习模型中的认知不确定性:

  • 贝叶斯神经网络 (BNN):这些模型通过学习模型参数(权重)的分布而不是单个数值来估计不确定性。通过将模型知识表示为分布,BNN 可以捕捉与参数相关的不确定性,这反映了认知不确定性。
  • 蒙特卡洛 Dropout:这是一种在不需要完整贝叶斯模型的情况下近似认知不确定性的实用方法。通过在训练和推理期间应用 dropout 并对多次随机前向传播的结果进行平均,模型可以提供对其预测不确定性的估计。
  • 深度集成:估计认知不确定性的另一种方法是训练具有不同初始化或训练子集的多个模型。这些模型之间的差异有助于量化不确定性。如果模型在预测上存在显著差异,则表明认知不确定性很高。

认知不确定性的重要性

  • 提高模型可靠性:通过了解模型不确定的地方,开发人员可以识别模型训练数据或结构中的薄弱环节。解决这些领域可以提高模型泛化能力并减少不确定性。
  • 高风险应用中的安全性:在自动驾驶汽车或医疗保健等应用中,了解模型何时不确定有助于防止重大错误。当模型的不确定性很高时,它可以允许人类专家介入或进行额外的检查。
  • 主动学习:认知不确定性经常用于主动学习,模型会请求有关不确定区域的更多标记数据。通过专注于模型不确定性最高的那些数据点,它可以更快地改进,通过从信息量最大的示例中学习。
  • 适应新环境:当将机器学习模型部署到新环境时(例如,将在一个国家训练好的模型迁移到另一个具有不同道路或天气条件的国家),认知不确定性有助于系统通过识别其知识不足的领域来适应。

随机不确定性和认知不确定性的应用

1. 自动驾驶

在动态且潜在危险的环境中需要做出决策的自动驾驶汽车,不确定性建模至关重要。随机不确定性有助于考虑传感器噪声,而认知不确定性则有助于汽车在意外情况下更加谨慎地行驶。

2. 医学诊断

在医疗保健领域,机器学习模型用于根据医学影像和患者数据进行诊断和预测。由于图像质量或患者数据的可变性,可能会出现随机不确定性,而认知不确定性有助于评估模型在罕见临床病例中的置信度,可能指导进一步的检查或人为干预。

3. 金融预测

预测股票价格或经济结果涉及随机不确定性(固有的市场波动)和认知不确定性(知识缺乏或模型限制)。通过量化这两种不确定性,金融机构可以更有效地管理风险。

4. 稳健的机器学习

在任何将模型部署到现实世界环境的领域,理解这两种不确定性都可以实现更好的模型校准。模型可以设计成在高度不确定的情况下避免做出预测,从而确保更可靠的决策。

结论

随机不确定性和认知不确定性是理解深度学习模型局限性和潜在故障的关键概念。虽然随机不确定性代表了数据中固有的随机性且不可减少,但认知不确定性反映了模型对其自身局限性的知识不足,可以通过在更多样化数据上进行训练来减少。量化和减轻这些不确定性的能力可以带来更安全、更可靠的人工智能系统,尤其是在安全关键应用中。

随着深度学习的不断发展,不确定性量化方面的研究对于提高模型的鲁棒性、可解释性和可信度至关重要。