1.3 人工智能安全
1.3.1 数据与模型安全
在上一节中我们看到人工智能在不同领域的成功应用,未来可预见的是,人工智能技术将不断蓬勃发展,更加深入到我们生产生活的方方面面。然而,作为一项新技术,我们必须认识到人工智能技术是一把双刃剑。因此,我们在享受人工智能带来的诸多便利的同时,也不能忽视随之而来的安全问题。当技术被赋能,一个安全性不足的智能系统所能带来的伤害是不可估量的。此外,随着技术的发展,人工智能是否会真正超越人类智能,是否还完全可控,这是永远都不能忽视的重要问题。
对于一个系统来说,往往其结构决定功能,内生决定外在,原理驱动技术[1]。根据安全问题所涉及的作用对象以及作用效果的不同,人工智能安全大致可以分为以下三类[2]:人工智能内生安全、人工智能衍生安全以及人工智能助力安全。人工智能内生安全指的是由于技术本身的脆弱性所引发的智能系统本身出现的安全问题,其作用对象是系统本身。理论上,任何一个智能系统的组件,如训练所使用的人工智能框架、训练数据、模型结构等,都有可能出现安全问题。人工智能衍生安全指的是由于智能模型的不安全性而给其他领域带来的安全问题,其作用对象是智能系统以外的其他领域。自动驾驶事故、智能体脱离控制甚至攻击人类等就属于人工智能给交通和公共安全领域带来的衍生安全问题。从作用效果来看,不管是内生安全还是衍生安全,我们一般认为其引发的安全问题都是负面有害的。与之相反,人工智能助力安全指的是利用人工智能技术为其他领域提升安全性,其作用是正向有益的。典型的人工智能助力安全的例子包括利用人工智能技术进行计算机病毒检测、虚假视频检测、危险事故预判等。尽管每一类安全问题都不容小觑,但是一个完全安全可靠的人工智能系统除了技术之外,还需要依托国家政策、法律法规、行业规范等多方约束。本书重点关注人工智能内生安全方面的数据安全和模型安全。需要说明的是,人工智能内生安全不只包括数据和模型安全,还包括框架安全、依赖库安全、云服务安全等。此外,本书中数据安全和模型安全的叫法是从攻击目标来说的,有时二者也被称为算法安全。
数据安全。人工智能的核心是机器学习。经过几十年的发展,机器学习衍生出有监督学习、无监督学习、强化学习、联邦学习、对比学习、特征学习等不同的学习范式,但不管是哪一种学习范式,要构建智能系统(模型)都离不开训练数据。可以说,训练数据的特性,如数据规模、数据均衡性、标注准确性等,在很大程度上直接决定了智能系统的最终表现。一般来说,数据规模越大,训练得到的模型的表征能力和泛化能力也就越强。数据均衡性则会直接影响模型所学习知识的均衡性,即训练数据分布越均衡、不同类别间的分布偏差越小,人工智能算法的泛化效果往往也就越好。标注准确性同样也是影响人工智能内生安全的一个重要因素。由于标注工作的繁重性及其对专业知识的要求,标注过程中难免会产生一些错误,这会对人工智能算法的执行效果产生不可估量的影响。训练数据对最终模型起着决定性作用,其也就成为攻击者的重点攻击目标,此外,数据中所包含的隐私和敏感信息也是攻击者的攻击目标。现有针对训练数据的攻击主要包括以下四种。
● 数据投毒:通过操纵数据收集或标注过程来污染(毒化)部分训练样本,从而大幅降低最终模型的性能。
● 隐私攻击:利用模型的记忆能力,挖掘模型对特定用户的预测偏好,从而推理出用户的隐私信息。
● 数据窃取:从已训练好的模型中逆向工程出训练样本,从而达到窃取原始训练数据的目的。
● 数据篡改:利用模型的特征学习和数据生成能力,对已有数据进行篡改或者合成全新的虚假数据。
模型安全。模型无疑是人工智能系统最核心的部分。高性能的模型是解决实际问题的关键,无论采用何种训练数据、训练方式、超参数选择,最终也往往都作用在模型上。因此,模型成为攻击者的首要攻击目标。现有针对人工智能模型的攻击大致可分为以下三种。
●对抗攻击:在测试阶段向测试样本中添加对抗噪声,让模型做出错误预测结果,从而破坏模型在实际应用中的性能。
●后门攻击:以数据投毒或者修改训练算法的方式,向模型中安插精心设计的后门触发器,从而在测试阶段操纵模型的预测结果。
● 模型窃取:通过与目标模型交互的方式,训练一个窃取模型来模拟目标模型的结构、功能和性能。