人工智能出错,要怪谁?

点击上方关注,All in AI中国

作者:Cassie Kozyrkov

人工智能犯错时是谁的错?请不要误会我的意思,我喜欢机器学习和人工智能。但我并不盲目相信它们,你也不应该相信。因为你在建立有效可靠的机器学习/人工智能解决方案的方法将会强迫每个解决方案赢得你的信任。

在你开始认为这可能与机器人或科幻小说有关之前,请停止实施!机器学习/人工智能系统并不是人性化的,它们只是拥有诗意名称的标签。相反,对它们的不信任完全来自其他地方。我认为最好不要告诉别人,所以让我们看一个熟悉的例子。

http://bit.ly/quaesita_simplest

人工智能出错,要怪谁?

永远不要盲目相信机器学习/人工智能,总是强迫它通过适当的测试赢得你的信任。

为一厢情愿设定场景

以猫的图片分类为例,当我们构建的分类器将提供的六张照片的原始数据集分成两组时,你可能已经遇到这样的案例。

http://bit.ly/quaesita_unsupervisedimg

人工智能出错,要怪谁?

来自无监督学习的原始训练数据集揭秘。你看到这两组图片了吗?

http://bit.ly/quaesita_simplest

你看看是那个吗?令人惊人的神奇机器学习系统成功地返回了我希望的确切结果!

人工智能出错,要怪谁?

这个示例适用于受监督的机器学习和无监督的机器学习,因此不必担心。重要的是,该模型完美地识别了这两只猫,具有100%的训练准确性。

答对了!这两只猫已经区分开,并完美地标上了他们的标签,这让我对分类器感到骄傲。这意味着我刚刚建立了Tesla和Huxley分类器!不是吗?

我们的大脑在捉弄我们

但这个分类结果不会这么简单!人类一厢情愿的想法再次捉弄我们。我情绪太激动了,以至于可能没有注意到所有的Tesla照片的背景都有一个散热器,而Huxley的照片没有。你注意到了吗?再看一遍。

人工智能出错,要怪谁?

这个系统并不是针对猫的探测器。由于确认偏差,我选择性地注意到我喜欢的事情,并且没有注意到证据表明系统实际上是散热器探测器的证据,因此我得到了这个结论。

到底是猫探测器还是散热器探测器?

我并不知道我的解决方案实际上是一个散热器探测器,而不是猫探测器。使用新示例进行测试有助于提供帮助,所以让我们看看我们是否以这种方式解决问题。

人工智能出错,要怪谁?

事实证明,使用来自同一数据集的更多示例并没有太大作用

即使我通过向新数据显示这些新照片来测试它,也不会有太多的提示。这是一个问题吗?

如果总是在散热器的房间中拍摄Tesla,并且总是在没有散热器的房间拍摄Huxley。如果是这样的话,谁在乎它是如何工作的?它总是有效的。它每次都会正确地对猫进行分类。这并没有什么问题。

那么如果猫搬到另一间房间怎么办?如果你在没有我的记事本的情况下采用我的分类器,并在通过照片进行分类,它会怎么样?

在这些情况下,返回的标签将是"Huxley",而依赖我的Tesla和Huxley探测器的任何关键任务系统都会崩溃失败。

人工智能出错,要怪谁?

这是谁的错?让我们快速分析一下:

•正如人工智能常见的那样,把像素转换成标签的方法太复杂了,

•我观察到的只是输入(图像像素)和输出(Tesla/Huxley的标签)。

•因为我是人,也会犯错。我没有注意到眼皮底下的东西(散热器和Tesla总是在一起)。

•我提醒自己关于输入与输出的关系不仅过于简化,而且由于一厢情愿的思考而偏离了散热器的解释。

• 没关系。只要我确信它确实有效,我就不必理解它是如何工作的。

•检查它是否有效的方法是评估它在一系列相关的例子中所做的事情。

到目前为止,一切都好。实际上还没有问题。你熟悉一些东西却不知道它们是如何工作的,比如我们很多人服用扑热息痛片来治疗头痛。这很有效,但却无法告诉你为什么会有疗效。重要的一点是,可以验证扑热息痛是否有效。

人工智能出错,要怪谁?

不知道这种已经具有100多年历史的药物在分子水平上如何起作用?科学也不例外。

考虑复杂的人工智能系统,就像治疗头痛一样。只要确保它们有效,你就会没事。

不幸的是,我检查了一些示例的性能,这些示例与我希望系统运行的示例不同。

错误就在那里,最后一个是错误的。只要我们用适当的例子适当地测试系统,其余的都是对有。所以答案是:这是我个人的错。

如果你测试一个工作的系统,然后将它应用到另一个工作......那么你在期待什么?

如果我用一组例子来教育和测试一个学生,而这些例子并没有涵盖我希望那个学生学习的任务,那么如果以后出现混乱,我为什么会感到惊讶呢?如果我所有的例子都来自Tesla和散热器总是一起工作的照片,那么我只能期望我的分类器在这些照片中进行分类工作。当我把它移到另一个世界时,就会出错,这个应用程序最好是低风险的,因为没有任何借口。但如果你以前不知道的话,那么现在就要做。

这就是为什么从一开始就记住你的目标和用户是如此重要的原因。在开始之前指定规格和设置,并需要确定责任人。在涉及更大的事情的地方,不要关注其他不相关的数据集。

如果没有熟练和负责任的领导,我希望你的应用程序永远不会有妨碍他人的健康、安全、尊严或未来......

常识,不是魔术

我一直在使用"例子"这个词而不是"数据"来提醒你这不是魔术。机器学习/人工智能的要点是,你使用示例来代替你的指令来表达你的愿望为了使它起作用,这些例子必须是相关的。任务越复杂,你需要的示例就越多。你每天都使用示例进行交流,因此已经知道了这些内容。也许你想知道数学是否表达了不同的东西,其实不是。请放心,常识就是你最好的算法。

如果你想用示例进行教学,那么这些例子必须是一个好例子。如果你想要学生信任你,那么考试必须也是好的。

盲目的信任是一件可怕的事情

在你检查系统的条件之外,你对系统的安全性一无所知,所以请记住这些提醒:

•如果你没有测试它,请不要相信它。

•如果未在一个环境中进行测试,请不要相信停上环境。

•如果未使用用户群进行测试,请不要信任这个用户群。

•如果未使用数据填充进行测试,请不要信任数据填充。

•如果输入异常,请不要相信你的系统能够输出合理的信息。考虑使用离群值检测和安全网(例如标记一个不寻常的实例进行人工审查)。

如果你使用的工具尚未经过验证,制造的任何混乱都是你的错。而人工智能其实就是一种工具,与其他工具没什么两样。

人工智能出错,要怪谁?