当我们谈论起功能安全标准的时候已经知道,最早发布的是IEC 61508,在这个标准基础上衍生出了像ISO 26262,EN 50129等针对不同领域的功能安全标准。在汽车行业里,我们从2011年发布的第一版ISO26262过渡到了2018年的第二版,也有了GBT34590以及GB17675等国标,然后又从功能安全引申出了预期功能安全,ISO21448:2022是以附录的形式给出了用以覆盖AI功能局限性的一些考虑。而目前很火的据称集AI功能安全之大成的标准,就是ISO8800了。
ISO8800标准由ISO/TC22/SC32/WG14道路车辆人工智能AI安全工作组制定,主要关注自动驾驶领域的人工智能安全技术。中国、美国、德国、英国、奥地利、日本、韩国等17个国家的专家参与了这一标准的起草工作,其中中国专家代表团在AI运行监控和持续安全保障方面起到了牵头作用。
截止至2024年3月27日,ISO/CD PAS 8800已经处于“30.99 CD approved for registration as DIS”的阶段,这意味着它已经通过了委员会草案阶段,并准备注册为国际标准草案(DIS)。
下面总结了ISO/PAS 8800(2022)中的四大要点,本文也尝试结合业内实践给出一些落地的建议。
1、AI安全生命周期
首先,与ISO26262类似的,ISO PAS 8800(2022)针对汽车领域中的安全相关的人工智能系统定义了一个安全生命周期,如图一,主要包括以下几个阶段:
图一 AI安全生命周期 AI safety lifecycle
8.明确AI系统的功能需求,确定系统的预期用途和目标,并定义相关的安全要求。
9.基于需求,设计AI系统的架构,包括选择合适的AI技术、确定数据需求等。
10.根据系统设计,收集和处理训练数据,并进行数据清洗、标注等。
11.评估AI系统是否符合已定义的安全需求。
12.安全分析,分析错误的原因和影响,识别可能的措施。
13.安全性保证论据的评估:安全性保证论据,类似于ISO26262中的安全档案,是一个系统化的文件或结构,用于支持AI系统针对其安全要求和属性的符合性,下图是一个实例。
图二 安全保证论据(Safety Assurance Argument)的示例
14.将系统部署到实际环境中,并进行持续监控,以发现潜在的安全风险,并进行必要的维护和优化。
2、ISO26262和ISO21434在AI中的应用。
其次,ISO8800标准提供了在AI系统中应用ISO 26262和ISO 21448标准的指导,建立了人工智能系统危害行为的因果模型。这样一个模型描述了从AI系统故障到车辆级不安全行为的过程,见下图三中,一条因果链为从触发条件到AI要素的安全相关错误,另一条为机器学习模型的安全相关错误可能会导致危险的故障行为(比如非预期的车辆加速)以及合理可预见的间接误用预防(比如汽车油门被当成刹车),这些也正是ISO26262和ISO21448的覆盖范围。
图三 人工智能系统危害行为的因果模型
人工智能系统发生错误可归因于多个根源类别,包括经典的系统性失效、随机硬件故障、功能不足和操作不当四类。在AI系统中,标准对这四类故障分别举了几个例子,便于大家理解:
1系统性失效:
1.1过拟合,是指AI模型在训练数据上表现良好,但在新数据上表现不佳,导致泛化能力不足。原因可能是训练数据不够或模型过于复杂。
1.2概念漂移,就是如果AI系统在训练和实际部署时遇到数据分布差异,可能导致模型在新环境中表现不佳。例如,自动驾驶系统在冬季时遇到一些新场景。
1.3 数据偏差,是当训练数据集包含某种偏见,使得模型做出不公平或不正确的预测。例如,面部识别系统在训练数据中缺少黑人女子图像。
1.4 AI系统可能存在安全漏洞,如对抗样本攻击、隐私泄露等。
2.随机硬件故障,如传感器读数错误、内存损坏、供电系统不稳定,电磁干扰和温度过高等。
3.功能不足:
3.1 训练数据不足或分布偏差导致模型泛化能力不足。
3.2 模型训练过程中存在偏差,导致对某些群体或场景的识别能力不足。
3.3 性能指标不足,如识别率、准确率等性能指标未达到要求。
4.操作不当:
4.1 错误配置:系统配置错误,如超参数设置不当。
4.2 错误使用:用户错误使用AI系统,如未按照系统要求操作。
4.3 恶意操作:如攻击者故意干扰系统运行。
这些故障原因可能导致AI系统在实际应用中出现安全隐患,因此需要通过系统设计和安全分析来识别和缓解这些风险,比如进行冗余系统设计,即在关键系统中,采用多个独立的AI系统或组件,并比较它们的输出,以提高系统的鲁棒性和可靠性。例如,在自动驾驶系统中,可以采用多个摄像头和雷达进行冗余感知。此外,在自动驾驶系统中,AI可能会将某些异常输入(如遮挡或损坏的传感器数据)误判为正常。为缓解这一风险,可以设计异常输入检测机制,如使用模型预测输出概率,以识别和过滤可能的异常输入。
3、AI数据质量控制
再次,ISO8800还讨论了人工智能系统的数据相关考虑,并提供了人工智能系统的验证和确认方法。相对于传统开发过程(基于逻辑编程的V模型开发),基于AI的系统有一个显著的特点,即数据驱动,这意味着它们依赖于大量数据来进行训练和学习,以实现其预测或决策功能。数据是AI系统的“燃料”,是训练AI模型以识别模式、关联和决策的基础。同时数据在整个AI开发和部署过程中起核心作用,因此数据质量对于系统安全性能会有很大的影响。ISO8800建议采取相应的数据质量控制措施,并在数据处理和分析过程中考虑数据对安全性的潜在影响,国际上比较流行的做法是使用数据质量控制工具,比如Google Cloud Data Fusion (一个云数据集成服务,它支持数据质量检查,并提供数据清洗和转换功能)或者Amazon Redshift (一个云数据仓库服务,它提供数据质量功能,可以自动检测数据质量问题并触发修复流程),可以帮助企业提高数据的质量和可靠性。
4、AI系统的安全运维措施
最后,ISO8800讨论了运营期间保持AI系统安全的可能的措施。可以在AI系统部署后,持续监控其性能和输出,以确保系统的稳健运行。例如,持续监控图像传感器数据质量,以发现潜在的干扰或故障。也可以通过收集现场数据分析和优化AI模型,例如,在自动驾驶系统中,收集和分析遇到的新场景,以改进车辆的感知和决策能力。根据现场数据和反馈,还可以更新或重新训练AI模型,以减少误差和提高性能。例如,在语音识别系统中定期收集新词汇并重新训练模型。
整体而言,ISO8800这一标准为汽车安全相关的人工智能系统的开发和应用提供了全面的规范和指导。需要注意的是,ISO 8800是一个相对较新的标准,其具体的应用指南和最佳实践可能会随着技术的发展和实践经验的积累而不断更新和完善。因此,建议持续关注ISO 8800标准的相关动态,以确保在自动驾驶系统的安全评估中能够应用最新的要求和指导原则。