未来挑战:确保人工智能的安全
2021-05-26
作者:Andres Barrilado
来源:恩智浦
随着人工智能及其在未来扮演的角色成为社会讨论的焦点,恩智浦也在探索一个关键问题:如何从开发流程着手,确保人工智能和机器学习的安全?
在恩智浦,我们会按照客户提出的正式要求,为硬件开发相应的功能。为了满足客户的要求,我们首先列出一些已知的输入信息,也就是用例。用例可能是雷达传感器在汽车中的位置(面朝前方或角落)、电动汽车电池的工作电压、汽车驾驶舱内的屏幕数量等。然后,我们再定义设计,验证功能是否按照预期方式工作,而且我们不仅在模拟环境中验证,还在实地环境中验证。在实地环境中,因为无法控制功能实际接收到的输入,所以要在选定的用例范围内,将功能设计得尽可能稳定可靠。
但对于人工智能而言,这个开发过程会有一点变化。我们仍然会定义用例,但还要为每个用例分配明确定义的输出。我们会将这个任务交给计算机完成,然后再定义功能。从示例中学习的过程可称为训练,我们要教计算机做出我们需要的响应。
一旦对计算机进行了用例训练,即可将这些知识转移到设备,让设备将知识应用于实地环境,更好地处理难以预知的数据,这个过程就称为推理。它与非人工智能流程的关键差别在于,在人工智能的开发中,工程师不一定像过去那样理解功能本身。
因此我们必须进行评估,调节机器的行为,直至输出的结果符合我们最初的预期。对于需要高计算量的设备,这个调节过程在云端进行,而不是在边缘进行。
什么是安全的人工智能/机器学习?为什么我们需要它?
人工智能和机器学习将被应用于汽车安全功能,因此必须确保它们不会违反安全规则。从汽车行业背景来思考人工智能和机器学习时,汽车OEM面临的问题是如何了解特定功能的风险级别,以及它们可能对人造成的伤害。因此,在定义功能时,既要避免系统性故障,还要减少随机故障。我们利用安全管理流程和安全架构来满足这些要求,从而在由人管理的开发中,实现设备监控。
但是,仅遵循我们现有的开发流程是不够的,因为训练和推理在本质上有所不同。因此,我们需要定义不同的问题陈述。首先,我们必须了解训练数据是否存在系统性故障。其次,我们还必须了解人工智能模型是如何创建的。该模型是否会产生可能导致系统性故障的不必要偏差?此外,在推理过程中,模型的执行是否存在随机故障?
在这一方面,机器学习质保可以发挥作用,涉及到训练和评估步骤的完整性、正确性和一致性,涵盖所有顶级安全流程和数据管理,其目的是确保使用的数据是正确和完整的,不存在任何偏差。
在推理层面上,安全机制可以确保硬件的完整性,而这些硬件可能是任何形式的硬件内核。经典的安全机制具有ECC/奇偶校验、锁步和流量监控功能。另外,其还能够利用安全封装器加以增强,对数据进行更多检查,从统计上衡量安全性能。
恩智浦有关算法道德的白皮书阐述了恩智浦对人工智能开发完整性的看法,并探讨了可靠人工智能的安全性和透明度。我们有一款名为Auto eIQ的专用软件,可帮助开发人员评估和优化训练模型,并将训练模型部署到目标环境中,帮助我们持续提高模型的可靠性。
作者简介:
Andres Barrilado
恩智浦半导体功能安全评估员
Andres在恩智浦核心团队中担任功能安全评估员。过去,Andres还曾经担任雷达前端设备的安全架构师,以及汽车传感器的应用工程师。