是否有可能为安全关键系统认证基于AI的解决方案?

时间:2017-06-03 14:01:11

标签: machine-learning artificial-intelligence requirements safety-critical

首先,我读了this。但我想扩大。总结一下:

  1. 在设计安全关键系统时,设计人员必须评估一些指标,以确保系统按预期工作。它是一种数学证明,具有足够低的复杂性,可供人类使用。它与问责制,可靠性,可审计性等有关......

  2. 另一方面,在这一点上,AI是一个看起来效果很好的黑盒子,但我们做的大部分时间都有证明正确性(主要是因为盒子里发生的事情太复杂而无法分析),它更像是统计确定性: 我们对系统进行了培训,系统在所有测试中表现良好

  3. 那么,有些问题吗?

    Q1。现在这两个模糊的想法是否有意义?

    Q2。是否可以将AI用于安全关键系统并确保其性能?我们能否确定AI的确定性行为?有没有参考?

    Q3。我想已经有一些公司在汽车领域销售基于AI的安全关键系统。他们如何设法为这样一个限制性市场认证他们的产品?

    修改

    关于Q1:感谢Peter,我意识到,例如,对于汽车示例,没有关于完全确定性的要求。 ASIL D水平是汽车系统最严格的水平,只需要一个失效概率的上限。其他ISO26262标准和级别也是如此。我会改进这个问题:

    Q1。系统设计中是否有任何安全标准,在任何级别/子组件,任何领域/领域,是否需要确定性?

    关于Q2:即使不需要完全确定性,问题仍然存在。特别是,我现在正在阅读有关AI的可能攻击:我将在此处发布链接(此时我无法访问它们)。

    关于Q3:现在我了解他们将如何获得认证。无论如何,任何参考都会非常受欢迎。

1 个答案:

答案 0 :(得分:4)

没有任何解决方案或技术类别能够获得安全关键系统的认证。在确定系统时,确定危险,定义要求以避免或减轻这些危险到适当的置信水平,并提供证据证明设计和实施符合这些要求。认证只是签署,在特定系统的背景下,已经提供了适当的证据证明风险(某些事件发生的可能性的产物,以及该事件发生时的不利影响)是可接受的低。最多,为特定产品(在您的情况下为AI引擎)提供或开发了一组证据,这些证据将在其他系统组件(也需要获取或提供证据)的背景下进行分析,并且将这些组件组装成工作系统。它是获得认证的系统,而不是用于构建认证的技术。随特定技术或子系统提供的证据可能会被重复使用,但会根据技术或子系统所使用的每个完整系统的要求进行分析。

这就是为什么有些技术被描述为"可证明的"而不是"认证"。例如,某些实时操作系统(RTOS)的版本随附一系列证据,可用于支持其所使用的系统的接受。但是,这些操作系统未经认证可用于安全关键系统,因为证据必须根据使用RTOS的每个整个系统的总体要求进行评估。

提倡正式证明为某些类型的系统或子系统提供所需的证据。一般而言,形式证明方法不能很好地扩展(证明的复杂性至少与系统或子系统的复杂性一样快),因此通常采用除证明之外的方法。无论如何提供证据,都必须根据正在建立的整个系统的要求进行评估。

现在,人工智能在哪里适合这个?如果要使用AI来满足与减轻或避免危害相关的要求,则必须提供证据证明它们在整个系统的背景下适当地这样做。如果AI无法满足这些要求,则整个系统(或受AI故障影响的其他子系统满足要求)必须包含或减轻影响,因此系统整体上满足其全部要求。

如果AI的存在阻止提供足够的证据证明整个系统符合其要求,那么AI就无法使用。无论在技术上是否无法提供此类证据,或者现实世界的限制是否妨碍在正在开发的系统中传递该证据(例如,对可用人力,时间和影响交付系统的能力的其他资源的限制),同样如此并提供符合其要求的证据。)

对于具有非确定性行为的子系统,例如AI的学习,任何无法随着时间的推移重复给出结果将使得提供所需证据变得更加困难。提供的证据越多,就越需要提供证据证明系统的其他部分可以减轻已识别的危害。

一般而言,单独进行测试被认为是提供证据的不良手段。基本原因是测试只能确定是否存在针对需求的缺陷(如果测试结果证明)但不能提供缺陷缺陷的证据(即,通过其所有测试用例的系统不提供任何未测试的证据对于)。困难在于提供测试提供足够的需求覆盖率的理由。这引入了在具有安全相关要求的系统中使用AI的主要障碍 - 系统级工作必须提供满足要求的证据,因为提供足够的基于测试的证据是非常昂贵的。 AI

系统级使用的一种策略是分区。 AI与其他子系统的交互将受到很大限制。例如,AI可能不会直接与可能导致危险的执行器相互作用,而是会向其他子系统发出请求。然后,证据的负担放在其他子系统满足要求的程度,包括它们与执行器相互作用的方式。作为提供该证据的一部分,其他子系统可以检查来自AI的所有数据或请求,并忽略任何会导致不适当的启动(或任何其他违反整体系统要求)的数据。因此,AI本身实际上可能根本不满足任何与安全相关的要求 - 它可能只是将信息或信息提供给其他子系统,而其他子系统实际上更直接地满足了整个系统的要求。鉴于AI的开发人员可能无法提供所有需要的证据,系统开发人员会试图限制AI(如果使用的话)可能对整个系统的行为产生影响,这是公平的赌注。

另一个策略是限制人工智能的学习机会。例如,将在每个训练集中提供证据 - 在AI本身的背景下 - AI以可预测的方式表现。每次更新训练集时,都需要提供总证据,然后需要重新进行整个系统的分析。这可能是一项重大任务(即漫长而昂贵的过程),因此AI或其培训集可能不会以特别高的速度更新。