我在阅读这篇博客文章,标题为:《金融世界想要打开AI的黑匣子》,作者反复将ML模型称为“黑匣子”。
提到ML模型时,在许多地方都使用了类似的术语。为什么会这样呢?
就像机器学习工程师不知道神经网络内部发生了什么一样。ML工程师会选择每个层,知道要使用什么激活功能,该层的类型是什么,错误如何反向传播等。
我在阅读这篇博客文章,标题为:《金融世界想要打开AI的黑匣子》,作者反复将ML模型称为“黑匣子”。
提到ML模型时,在许多地方都使用了类似的术语。为什么会这样呢?
就像机器学习工程师不知道神经网络内部发生了什么一样。ML工程师会选择每个层,知道要使用什么激活功能,该层的类型是什么,错误如何反向传播等。
Answers:
该黑盒子的东西无关与观众的专业技术水平做(只要观众人),但与explainability通过机器学习算法建模的功能。
在逻辑回归中,输入和输出之间存在非常简单的关系。有时您可以理解为什么某些样本的分类不正确(例如,由于输入向量的某些成分的值太低)。
决策树也是如此:您可以遵循决策树所应用的逻辑,并理解为什么将某个元素分配给一个或另一个类。
但是,深层神经网络是黑匣子算法的范例。没有人,甚至没有世界上最熟练的人都掌握通过训练神经网络实际建模的功能。对抗性示例可以提供有关此方面的见解:训练样本中的一些细微变化(人类无法察觉)可以使网络认为它属于完全不同的标签。有一些技术可以创建对抗性示例,而某些技术则可以提高对抗示例性的鲁棒性。但是,鉴于没有人真正知道网络正在建模的功能的所有相关属性,因此总是有可能找到一种新颖的方式来创建它们。
人类也是黑匣子,我们也对对抗性的例子敏感。
尽管我在大多数点(+1)上都同意ncasas答案,但我希望在某些方面有所不同:
通过花式咬合分析解释黑匣子模型的预测(来自“为什么我应该信任你?”):
我想指出模型可解释性的神话。它以简洁的方式提出了一些有关可解释性的想法。
为什么将机器学习模型称为黑匣子?
人们如何使用它:因为他们没有以允许人们直接说出任何给定输入会发生什么的方式对问题进行建模。
我认为这种“黑匣子模型”的概念没有多大意义。例如,考虑天气预报。如果仅给出数据,您就不能期望任何人说出将预测哪种天气。但是大多数人不会说物理天气模型是黑匣子模型。那么区别在哪里呢?仅仅是一个模型是使用数据生成的,而另一个模型是使用对物理的洞察力生成的事实呢?
当人们谈论黑匣子模型时,他们通常会说这是一件坏事。但是人类也是黑匣子模型。我在这里看到的关键区别在于,人为造成的错误类别更容易为人预测。因此,这是一个培训问题(在NN方面有广告示例)和一个教育问题(在教人们NN的工作方式)。
应如何使用“黑匣子模型”一词:对我来说更有意义的一种方法是将问题称为“黑匣子问题”,类似于user144410(+1)编写的内容。因此,任何只将问题视为黑匣子的模型(因此您可以输入和获取输出的东西)都是黑匣子模型。对问题有深刻见解(不仅假设!)的模型不是黑盒模型。洞察力部分很棘手。每个模型都对其可建模的函数进行限制(是的,我知道通用逼近问题。只要您使用固定大小的NN,它就不适用)。我想说的是,如果您对输入和输出之间的关系有所了解而又不戳问题(无需查看数据),那么这就是对问题的洞察力。
结果如下:
它归结为模型的可解释性和可解释性。给定一个简单模型的输出,就可以准确地确定每个输入对模型输出的贡献,但是随着模型变得更加复杂,这将变得更加困难。例如,使用回归可以指向系数,使用决策树可以标识拆分。有了这些信息,您就可以得出解释模型行为的规则。
但是,随着模型参数数量的增加,越来越难以确切解释输入的哪些组合会导致最终的模型输出,或者从模型的行为中得出规则。在首席财务官过来问金融业时问“那么,为什么您的高频交易算法会破坏经济”,他不想听到它是如何建立的,而只是想知道为什么它使他破产了。可能会陈述模型的构造方式,但可能无法解释模型作为输入接收的因素的哪些组合导致输出,这就是人们谈论黑匣子的原因。
黑匣子模型是指其方程式在不依赖任何物理/科学定律的情况下被选择为尽可能通用和灵活的任何数学模型。
灰箱模型是一种数学模型,其中部分方程(数学函数)来自物理已知定律,但其余部分被认为是一般功能,以补偿无法解释的部分。
白盒模型是完全基于物理定律和对系统了解的数学模型,例如机械运动定律(飞机模型等)。
请参阅:https://en.wikipedia.org/wiki/Mathematical_model#A_priori_information
您可能知道,黑匣子是指您知道输入和输出的签名但不知道它如何确定输入的输出的功能。
在这种情况下,该术语的使用不正确。这可能超出了作者/作者了解和理解机器学习模型的意愿或能力,但这并不意味着它超出了其他人的意愿或能力。创建每个ML模型的工程师都确切地知道它是如何工作的,并且可以随意提取决策树并进行遍历。仅仅因为某人可能太懒惰或者这样做可能需要一段时间,并不意味着该信息不容易被使用。
ML模型不是黑盒子,它们是很大的透明盒子。
ML工程师不知道神经网络内部发生了什么
很抱歉与您矛盾,但这是事实。他们知道神经网络是如何学习的,但是他们不知道任何给定的神经网络都学到了什么。神经网络学到的逻辑是众所周知的。
使用机器学习的重点通常是学习程序员或领域专家不会想到的规则。本质上很难弄清楚这一点。
它类似于用一个字母的变量名,没有注释,没有明显的结构,使用模糊的数学,并且全部由已经死了的人编写的常规计算机程序。您可以在调试器中逐步执行它,但是仍然不清楚它是如何工作的。
可以将机器学习视为黑盒,可以对使用神经网络的XOR问题的解决方案进行建模,但是随着输入数量的增加,复杂度和尺寸也会随之增加。如果太复杂以至于无法理解和解释,那么它就是一个黑盒子,无论我们是否可以计算结果
我们只能将它们感知到3维,但这已经足够了,因为我们可以将3d模型作为参考点将其推断到更高维。我们可以想象局部最小值以及部分学习的数据集的一部分。
我已经对这个想法玩了一段时间,所以我制作了工作中的神经网络动画,并提高了我对神经网络的理解。我制作了带有1个和2个隐藏层的动画(大部分完成了第3个),以及它们如何学习数据。
动画很慢,显示上层的右上角动画值得一看,如果愿意,您可以加快Youtube上的动画速度,右上角的动画可以看到蓝色和红色网格(3:20橙色和32%)。红色网格在6分钟时出现,蓝色,橙色和红色网格在8:20出现。重量变化的方向显然在左下角的动画中
黑匣子的方法很难解释为“未启动”。金融或其他领域的任何人都可以掌握回归甚至决策树的基础。开始谈论支持向量机超平面和神经网络S形函数,您将失去大多数观众