机器学习缺陷: 导致机器学习系统当前行为与预期行为不相符而有瑕疵的地方
机器学习测试: 检测机器学习缺陷的活动。
测试属性包括功能性需求(正确性correctness、过拟合overfitting)和非功能性需求(鲁棒性robustness、安全性security、隐私性privacy、效率性efficiency、公平性fairness、可解释性interpretability)
鲁棒性(健壮性): 在无效输入或压力环境条件下,系统或组件可以正确运行的程度。鲁棒性衡量了机器学习系统对微小扰动的恢复能力。鲁棒性定义中有一个已被广泛研究的子类称为对抗鲁棒性,对抗鲁棒性中的扰动通常被设计为难以检测的微小扰动。
机器学习系统鲁棒性的定义是:当机器学习系统的组件(数据、学习程序、框架)存在扰动的情况下,机器学习系统保持其原有性能的能力。这里将机器学习的鲁棒性进一步缩小到只讨论数据组件(即:测试数据)存在扰动时的鲁棒性,更确切地说是深度学习系统的对抗鲁棒性,即深度学习系统面对对抗样本(对抗攻击)时是否依然能够保持原有性能。
相关研究:
1)如何生成对抗样本?
2)如何防御对抗样本攻击?
3)利用对抗样本衡量系统对抗鲁棒性的研究。
4)利用故障注入的方法研究整个系统(包括软件和硬件)的鲁棒性。
机器学习系统的安全性是指:系统抵御通过操纵或非法访问机器学习组件而造成的潜在危害或损失的能力。
机器学习系统的安全性与鲁棒性密切相关。低鲁棒系统可能不安全:如果无法抵御待测样本数据上的微小扰动,系统容易遭受对抗攻击(通过生成对抗样本欺骗系统);而如果在抵御训练数据中的干扰方面鲁棒性不够,系统容易遭受数据投毒攻击。
但低鲁棒性只是高安全风险的原因之一,除了测试过程和训练过程中的两种攻击以外,安全性还包括模型窃取等方面的问题。当前的测试技术主要针对的是机器学习系统的安全性,尤其是与鲁棒性相关的安全性。
隐私性(privacy): 机器学习的隐私性指的是机器学习系统保护个人隐私数据信息的能力。
在对含敏感信息的数据集进行数据分析时,比如医疗记录,金融交易记录,网页搜索日志等数据集,我们需要考虑保护敏感信息。
相关研究:
1)随着各国纷纷出台保护用户隐私数据的法律法规,例如欧盟通用数据保护条例GDPR (General Data Protection Regulation)以及美国加州数据保护法案CCPA (California Consumer Privacy Act),数据隐私问题逐渐获得广泛关注。
2)当前的研究更多集中在保护数据隐私的前提下实现机器学习任务(privacy-preserving machine learning)。
3)很少有工作研究如何检测侵犯数据隐私。除了研究如何检测机器学习系统是否违背数据隐私性,如何在保护数据隐私的前提下对机器学习系统进行测试也是一个值得研究的课题。(白话就是:如何测试这个系统保护了隐私?如何检测这个系统未保护隐私/被其他模型侵犯了隐私? )
机器学习系统的效率性主要指:机器学习系统构建和预测的速度。
随着训练数据和模型复杂度的迅速增加,机器学习系统的效率也变得日益重要。如何将参数量巨大的机器学习模型部署到计算能力较低的用户终端设备,这就需要对深度学习模型进行优化和压缩,这个过程有可能需要牺牲部分精度。
也有一些工作研究如何约简训练数据,减少训练样本量或者减少特征维度,但我个人认为,如何检测模型是否满足效率的问题并不是最重要的,真正值得思考的应该是,在模型压缩或者样本简化的过程中很有可能会带来一些缺陷,如何在压缩模型或者训练数据优化的过程中不引入新的缺陷,或者如何检测这些缺陷。
机器学习技术通过学习训练数据构建模型,然后应用于收入预测、医疗预测等决策任务。但是由于人类认知可能存在偏见,从而影响收集和标注的数据以及算法的设计,导致训练得到的模型存在偏见。如何确保机器学习系统做出的决策是公正的,不致于引发人权、歧视、法律以及其他伦理方面的问题,这一点至关重要。
我们将敏感的、需要保护以避免出现不公正的特征称为保护特征(protected attributes) 或者敏感特征(sensitive attributes),例如种族,肤色,性别,宗教,国籍,国籍,年龄,怀孕,家庭,残疾,退伍军人以及遗传信息等。这些公平性的问题通常也只在一些特定的领域才需要考虑,例如信贷、教育、就业、住房以及公共服务等。而要解决公平性问题或者构建公平性机器学习系统,首先要对公平性给出明确的定义,虽然已有不少工作给出了公平性的一些定义,这些定义可以用来检测模型是否违背了公平性,但这些林林总总的定义目前还没有形成共识。根据Barocas和Selbst的说法,导致模型出现偏见的原因主要有5个:
1)样本偏斜: 训练样本一开始就存在偏向性,这种偏向性随着时间推移就会产生复利效应。
2)标注偏见: 带有人类偏见的标注行为导致训练数据的标注存在某种偏向性。
3)特征有限: 特征的信息过少或者无法可靠收集,误导模型建立了特征和标签之间的联系。
4)类不平衡: 训练数据集存在严重的类别不平衡问题,导致模型对少数类样本的学习不够。
5)代理特征: 某些特征是敏感特征的代理,即使去除了敏感特征,模型依然可能存在偏见。
与公平性的问题类似,在收入预测、医疗预测等决策任务中部署机器学习系统还需要考虑模型的可解释性。只有让人类理解机器学习系统背后的决策逻辑,人类才会接受和信任机器学习系统做出的决策。 此外,理解机器学习系统的决策逻辑有助于消除偏见和获取更多知识,也有助于将其应用到其他情境以及规避安全方面的风险。
可解释性: 机器学习可解释性指的是人类可以理解机器学习系统决策原因的程度。
可解释性包括模型透明性(transparency) 和事后解释(post hoc explanations)。
Friedler将可解释性分为局部可解释性(local interpretability) 和全局可解释性(global interpretability),局部可解释性指的是对某一个输入及其输出的理解,而全局可解释性指的是对整个模型整体的理解。实际上,在可解释性方面有两个非常相近的词:interpretable和explainable,有些文章对这两个词并不加以区分,而有些文章则认为explainable ML指构建另一个模型来解释一个黑盒模型,interpretable ML指模型本身在设计的时就具备解释自己的功能,例如线性回归、逻辑斯蒂回归、决策树、朴素贝叶斯以及k近邻等一些比较简单的模型。
Zhou等人定义了一系列蜕变关系模式(metamorphic relation patterns) 和蜕变关系输入模式(metamorphic relation input patterns) 用于帮助用户理解机器学习系统如何工作。
总结: 目前的工作对机器学习系统的功能性需求(正确性correctness、过拟合overfitting等)的测试和评估研究较多,而对非功能性需求(鲁棒性robustness、安全性security、隐私性privacy、效率性efficiency、公平性fairness、可解释性interpretability等)的测试和评估研究较少。如何针对这些非功能性需求进行测试,如何在满足这些非功能性需求的前提下测试机器学习系统,都是值得研究的课题。