能否对基于人工智能的解决方案进行安全认证以用于安全关键系统?

5
首先,我阅读了这篇文章,但我想扩展一下。总结如下:
1. 在设计安全关键系统时,设计师必须评估一些指标以确保系统按预期工作。这有点像数学证明,复杂度足够低以便人类能够理解。这涉及责任、可靠性、审计等方面。
2. 另一方面,目前的人工智能是一个黑盒子,看起来效果非常好,但大多数情况下我们没有其正确性的证明(主要是因为盒子里发生的事情过于复杂,无法进行分析),更像是一种统计上的确定性:我们训练了系统,系统在所有测试中表现良好。
那么,有一些问题吗?
Q1. 这两个模糊的想法现在是否有意义?
Q2. 是否可以将AI用于安全关键系统并确信其性能?我们能否确定AI的确定性行为?有任何参考资料吗?
Q3. 我猜已经有一些公司在汽车领域销售基于AI的安全关键系统。他们如何管理为如此严格的市场认证其产品?
关于Q1:感谢Peter的指导,我意识到,例如对于汽车领域,没有关于总体确定性的要求。ASIL D级别,汽车系统最严格的级别,仅需要对故障概率设定上限。因此,其他ISO26262标准和级别也是如此。我会进一步精化问题:
Q1. 在任何领域/领域中,在系统设计的任何级别/子组件中,是否存在要求“总体”确定性的安全标准?
关于Q2:即使不需要总体确定性,这个问题仍然存在。
关于Q3:现在我明白他们将如何实现认证。无论如何,任何参考资料都将非常受欢迎。
1个回答

6
没有任何解决方案或技术类别的安全关键系统实际上被认证。在规定系统时,确定危险,定义要求以避免或减轻这些危险至适当的信心水平,并提供设计和实现满足这些要求的证据。认证只是签署文件,证明在特定系统的背景下,已经提供了适当的证据来证明风险(某事件发生的可能性与发生该事件的不利影响的乘积)是可以接受的低的。最多,一组证据为特定产品(在您的情况下是AI引擎)提供或开发,他们将在其他系统组件的背景下进行分析(必须获取或提供证据),并且装配这些组件成为工作系统的手段。获得认证的是系统,而不是用于构建它的技术。一种特定技术或子系统提供的证据可能会被重复使用,但是它将在每个使用该技术或子系统的完整系统的要求的上下文中进行分析。
这就是为什么一些技术被描述为“可认证”而不是“已认证”。例如,一些实时操作系统(RTOS)具有可提供支持所使用系统验收的证据包的版本。但是,这些操作系统并未获得在安全关键系统中使用的认证,因为必须根据RTS所用的每个总系统的整体要求来评估证据。
正式的证明被提倡为某些类型的系统或子系统提供所需的证据。通常来说,正式的证明方法无法很好地扩展(证明的复杂性至少与系统或子系统的复杂性同步增长),因此经常采用除证明以外的方法。无论如何提供证据,都必须在构建整个系统的要求的上下文中进行评估。
那么,AI适用于什么地方?如果AI用于满足与避免危险相关的要求,则有必要提供证据以确保它们在整个系统的上下文中恰当地做出反应。如果AI未能满足这些要求,那么整个系统(或受到AI未能满足要求影响的其他子系统)必须包含或减轻影响,以便整个系统满足其完整的一套要求。
如果AI存在防止提供足够证据表明整个系统满足要求,则不能使用AI。无论是技术上不可能提供这样的证据,还是现实约束条件阻止在正在开发的系统的背景下提供这些证据(例如,影响交付系统和提供其满足要求的能力的可用人力,时间和其他资源的限制),都同样适用。
对于具有非确定性行为的子系统(例如AI的学习),任何无法在一段时间内重复给出结果的情况都会使提供所需证据更加困难。提供证据的间隙越多,就越需要提供其他部分的证据以减轻已确定的危险。
通常来说,仅靠测试本身是被认为提供证据的一个差劲手段。基本原因是测试只能确定缺陷是否符合要求(如果测试结果表明),但不能提供缺陷不存在的证据(即系统通过所有测试用例不能证明未测试的任何内容)。难点在于提供测试提供足够覆盖要求的证据。这引入了使用AI解决有安全相关要求系统的主要障碍 - 工作必须在系统级别提供证据以满足要求,因为使用AI提供足够的基于测试的证据将非常昂贵。
系统级别使用的一种策略是分区。 AI与其他子系统的交互将受到重大限制。例如,AI可能不会直接与可能导致危害的执行机构进行交互,而是向其他子系统发出请求。然后,证据的负担就放在其他子系统如何满足要求以及它们与执行机构交互的方式上。作为提供该证据的一部分,其他子系统可能会检查AI的所有数据或请求,并忽略任何可能导致不适当动作(或任何其他违反整个系统要求的)的数据或请求。因此,AI本身实际上可能根本不符合任何与安全相关的要求-它可能仅获取或向其他子系统提供信息,而这些其他子系统实际上更直接地促进满足整个系统要求。考虑到AI的开发人员可能无法提供所有所需的证据,因此系统开发人员将尝试限制AI-(如果使用)对总体系统行为的影响。
另一种策略是限制AI的学习机会。例如,每个训练集都将提供证据-在AI本身的上下文中-表明AI的行为是可预测的。该证据需要在每次更新训练集时完全提供,然后整个系统的分析也需要重新进行。这很可能是一个重大的任务(即一个漫长而昂贵的过程),因此AI或其训练集可能不会以特别高的速率进行更新。

1
非常感谢您的回复。总结一下:1. 认证流程是基于系统而不是仅仅技术本身的。2. 正式方法并不能扩展。3. 测试无法证明绝对正确性,只能丢弃一些错误。4a. 一个可能的技术是通过让其他子系统做出关键决策来限制AI对系统行为的影响。4b. 学习阶段停止,并为该训练集提供证据。我同意它们中的所有观点,但对于4a则有所保留:AI学会了哪个是正确的决策,重新实现有什么意义呢?你会相信哪一个,AI还是非AI? - Fusho
我会编辑我的问题。你让我意识到了一些要点。谢谢! - Fusho
在4a中,您已经超出了我所说的范围。它不允许其他系统做出“关键决策”。它是通过分析来确保这些系统满足其接收到的所有输入的要求,而不管来源(可能包括AI)。 AI不会学习任何“正确的决定”。培训是建立一种输入到输出的映射,该映射在某些度量条件下是最优的,取决于训练集 - 这意味着对AI的信心取决于训练集的验证(这通常导致需要4b)。 - Peter
1
我知道没有任何安全相关的标准或指南要求绝对确定性。通常的原则是风险界定,认识到在某一点上,进一步降低风险所带来的成本已经不成比例地高于获得的收益。因此,有一些措施/原则,如SIL(安全完整性水平)[在多个标准中,不仅限于ISO 26262]、ALARP(尽可能低)、DAL(设计保证水平)、STL(虚假跳闸水平)。 - Peter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接