1.2 人工智能安全的范畴
1.2.1 人工智能安全的范畴与特征
近十几年来,深度学习技术的突破性发展使人工智能技术得到了日益深入且广泛的运用,并获得了举世瞩目的成果。与此同时,人工智能系统的研发与使用过程中暴露出了大量的安全性问题,引起了人们从不同角度对人工智能安全问题广泛而深切的关注。
从通常的工程系统的观点考虑,人工智能系统作为一类特别的工程系统,同样具备其他工程系统可能存在的安全问题。例如,作为一个计算机软件或硬件的人工智能系统,它会具有计算机软硬件可能存在的安全问题;作为无人驾驶系统、机器人或其他自动控制系统中的人工智能系统,它可能存在材料性质、机械性能、电器性能、环境适应性等方面的安全性问题。但是,人工智能系统或“智能体”与其他工程系统的根本差别就是其具备“智能”,可以“思考”,可以通过“学习”来掌握知识、获得技能,也可以进行自主性判断、实施自主活动。区分于其他工程系统具有普适性的安全问题,本书所讨论的人工智能安全问题,主要聚焦人工智能系统因为具备学习、思考、判断、自主决策和行动等智能行为而造成的安全风险,既包含人工智能系统自身因为设计、制造、使用或遭受攻击而造成的安全风险,又包含人工智能技术的开发与使用所产生的对其他系统的安全威胁与潜在风险。人工智能安全问题引起了人们从技术[2,10,16-20,31]、法律和伦理[2,21-24,31]、经济和社会发展[25-29,68]、政治和国家安全[2,29-31]等不同角度的广泛关注。
从技术角度考虑,人工智能系统可以通过学习获得“知识”或者“技能”,并且可以自主做出决策、执行行动,这既是人工智能系统相对于其他技术系统的优势,又是其区别于其他技术而产生特别的安全问题或隐患的原因。下面我们主要从人工智能技术的几个属性,以及对人工智能系统的对抗性攻击等方面分析人工智能安全区别于其他技术安全问题的特征。这几个属性是机器学习算法本身的内在属性,是形成人工智能系统本身安全隐患的关键因素,也是对抗环境中攻击者设计攻击策略的理论依据和进行攻击的薄弱环节。
1.机器学习的可理解性和可解释性问题
机器学习技术是人工智能系统广泛采用的核心技术,而机器学习中庞大的网络结构和复杂的学习过程,使人们(即使是领域的专业人员)难以理解其从大量的数据中逐步获得的结论,以及基于其获得的结论而做出决策的内在逻辑,难以用使用者可以理解的方式对其学习和推理过程做出解释,也难以对其推理过程中一个步骤所出现的问题进行追溯。这构成了机器学习技术的可理解性和可解释性问题。人们对于可理解性、可解释性给出了多种定义,也发明了多种技术以增强机器学习模型和算法的可理解性和可解释性[17,32-34,75]。对机器学习输出的判断或决策的不可理解、不可解释意味着潜在的安全风险,尤其是对于关键问题的决策、关键设备或过程的控制、医疗诊断等安全攸关的应用领域,对于收集的数据所反映的规律认识错误(如分类错误)、决策错误甚至产生错误的自主行为,均可能造成严重的后果。因此,机器学习的可理解性和可解释性是其区别于其他技术的安全特性。
2.机器学习的鲁棒性问题
机器学习的鲁棒性是影响人工智能安全问题的一个重要因素。机器学习的鲁棒性要求,即使新的数据在学习数据的基础上有一定的变化,学习所得的结果也应具有适用性。
鲁棒性不强的系统,其模型的泛化能力不强;当应用环境中数据的分布特性与训练数据的分布特性存在偏差时,就可能做出意想不到的判断或决策,蕴含安全风险。其风险性在于,在应用环境中,机器所给出的判断(如一个人是否有某种疾病、一个工业过程是否需要进行某种调整、一辆自动驾驶的汽车是否需要改变路线或速度等)或决策(如给出医疗方案、调整工业过程的控制参数或配料、给出停车或转弯的指令等)是根据训练数据所学到的知识做出的,机器对此在逻辑上具有充分的信心和“理由”,难以引发怀疑和进一步的验证,从而可能造成安全事故[35-37,74]。同样地,即使有安全监测系统,如果实际应用的数据分布与训练数据分布有较大差距,而安全监测系统是在特定的数据基础上训练得出的,则也难以发现潜在的风险。虽然人们提出了一些方法来增强机器学习的鲁棒性,例如,利用多种分布特性不同的数据进行训练,希望训练出来的可以适应多种数据分布特性的模型,也能适应具有新的数据分布特性的环境,但能使得训练出来的模型对数据分布的差别有多强大的适应性还是问题。另外,在一般的不受故意干扰或攻击的情况下,系统的鲁棒性可能成为系统安全的重要影响因素,在对抗环境中,如果模型和算法的鲁棒性不强,就易被对手利用而进行有针对性的攻击。
3.目标函数或奖励函数描述的不完备性问题
在机器学习中,往往把学习问题描述为对一个目标函数的优化,而算法的设计者对目标函数的描述和具体的实现难以真正体现其想要达到的目标。原因是设计者对优化目标的描述有误或者不完善,从而使算法在对所给出的目标函数进行优化时,产生设计者预想不到的不良后果。在设计者对所优化的目标函数给出描述的时候,难以全面考虑各种复杂的影响因素;另外,随着时间的推移或应用环境的变更,可能产生一些新的因素,影响设计者真正意图的实现,但这些因素在目标函数的描述中没有得到反映。这种对目标或意图的错误或不完善的描述称为目标函数描述的不完备性,其是造成隐含的安全风险的重要原因之一[18]。另外,在强化学习算法的设计中,设计者通常以奖励函数的方式鼓励和引导学习算法达到设计者所期望的目的。然而,奖励函数的设计和描述中同样存在不完备性(错误或不完善),从而可能被学习算法在优化过程中“搭便车”,通过曲解奖励的意图而采取一些行动以获得最大化的奖励,字面上符合奖励函数形式上的规则,但事实上却违背了设计者的意图。这种情况通常称为“Reward Hacking”(黑客奖励)。或者,学习算法也可能以一种“取巧”的方式跨过实现设计者真实意图的必要行动,直接获取最大奖励而不通过行动实现设计者的意图,这称为Wireheading[35-37]。
4.有针对性的对抗攻击
如果说前面介绍的问题是人工智能模型和算法中存在的安全薄弱环节,那么在对抗性的应用环境中,对手针对人工智能模型和算法的薄弱环节设计各种攻击方法的行为,成为人工智能安全的重要隐患[45]。
如前所述,机器学习的鲁棒性问题容易成为被对手利用而进行攻击的薄弱环节。著名的对抗样本攻击就是利用鲁棒性不强进行的攻击。与前文所述的安全风险不同的是,前文所述的情况只是应用环境的数据分布与训练时的数据分布有差距,其原因可能是环境的变化、过程的变化等,并不是人为因素;在对抗样本攻击中,对于一定的模型,攻击者可以计算出一些有害数据,仅对数据做出微小的(从而难以被人发现的)扰动,就能使系统做出错误的判断或决策。Szegedy 等人2014年的研究[38]发现,神经网络存在对抗样本,这些对抗样本可以通过对测试的图像施以很小的、难以被人觉察的扰动,使网络预测错误最大化而得到。文献[39]提出了一种衡量对抗鲁棒性的方法,对于不同分类器的对抗鲁棒性,可以量化地进行计算和比较,并且用对抗性示例对训练数据进行扩展,从而提升应对对抗性攻击的能力。人们已经提出了大量的对抗样本攻击与防御的方法,相关研究[40-42]表明,存在普遍适用的对抗性扰动,可使深度神经网络做出错误的判断。这种对抗性扰动对不同的数据和网络均有适用性。另外,人们提出了大量能够提高机器学习鲁棒性的技术[43],如对抗训练[44-46]、防御蒸馏[47,73]、模型正则化[48]等。
除了对抗样本攻击,针对机器学习的模型、算法、数据、运行等不同环节,还有多种攻击方法,如数据投毒、模型窃取、隐私推断等,都是人工智能系统的重要安全威胁[31,40,43,49-53]。