为什么将机器学习模型称为黑匣子?


40

我在阅读这篇博客文章,标题为:《金融世界想要打开AI的黑匣子》,作者反复将ML模型称为“黑匣子”。

提到ML模型时,在许多地方都使用了类似的术语。为什么会这样呢?

就像机器学习工程师不知道神经网络内部发生了什么一样。ML工程师会选择每个层,知道要使用什么激活功能,该层的类型是什么,错误如何反向传播等。


4
有点微妙:机器学习工程师了解所有结构-多少层,激活功能等。他们不知道权重本身。但是ML模型是由其权重决定的,以致于人类(甚至是完全理解结构的专家)无法(当前)解释,解释或理解具有一组特定权重的模型评估。
isaacg


3
@isaacg-ML工程师可以轻松找出重量。黑匣子与不知道为什么权重是什么以及在现实世界中这些权重有什么关系。因此,它更加微妙。
josh

Answers:


51

黑盒子的东西无关与观众的专业技术水平做(只要观众人),但与explainability通过机器学习算法建模的功能。

在逻辑回归中,输入和输出之间存在非常简单的关系。有时您可以理解为什么某些样本的分类不正确(例如,由于输入向量的某些成分的值太低)。

决策树也是如此:您可以遵循决策树所应用的逻辑,并理解为什么将某个元素分配给一个或另一个类。

但是,深层神经网络是黑匣子算法的范例。没有人,甚至没有世界上最熟练的人都掌握通过训练神经网络实际建模的功能。对抗性示例可以提供有关此方面的见解:训练样本中的一些细微变化(人类无法察觉)可以使网络认为它属于完全不同的标签。有一些技术可以创建对抗性示例,而某些技术则可以提高对抗示例性的鲁棒性。但是,鉴于没有人真正知道网络正在建模的功能的所有相关属性,因此总是有可能找到一种新颖的方式来创建它们。

人类也是黑匣子,我们也对对抗性的例子敏感


2
决策树的逻辑理论上可以遵循,但通常不切实际。我看不出与NN的根本区别在哪里。
米格尔(Miguel)

顺便说一句,我曾经用过并看到过用过的黑匣子,因为他们缺乏专业知识/兴趣,甚至对二手工具的基础知识也缺乏学习。
米格尔(Miguel)

4
“但是鉴于没有人真正知道网络正在建模的功能”。那是错误的/措辞不好。如果我们不确切知道要对哪个函数建模,则既不能训练它们也不能将它们用于预测。我们确切地知道对哪个函数建模。我们不知道(所有)它的相关属性。并且功能复杂。但这是完全不同的说法。
马丁·托马

1
@MartinThoma同意并更新。
ncasas

1
(+1)但无罪。Logistic回归不进行类分配,它仅尝试估计条件概率。与正确使用的分类树同上。类分配是由需要做出决定的人员来决定的,而不是由ML算法本身来决定的。
马修·德鲁里

18

尽管我在大多数点(+1)上都同意ncasas答案,但我希望在某些方面有所不同:

  • 决策树也可以用作黑盒模型。实际上,我会说在大多数情况下它们被用作黑盒模型。如果您具有10,000个特征并且树的深度为50,则您无法合理地期望人类能够理解它。
  • 可以理解神经网络。有很多分析技术(有关改进模型的信息,请参见我的硕士论文第2.5章)。尤其是遮挡分析(图2.10),过滤器可视化(图2.11)。还有为什么我应该信任你?纸(我的笔记)。

通过花式咬合分析解释黑匣子模型的预测(来自“为什么我应该信任你?”): 在此处输入图片说明

我想指出模型可解释性的神话。它以简洁的方式提出了一些有关可解释性的想法。

你的问题

为什么将机器学习模型称为黑匣子?

人们如何使用它:因为他们没有以允许人们直接说出任何给定输入会发生什么的方式对问题进行建模。

个人想法

我认为这种“黑匣子模型”的概念没有多大意义。例如,考虑天气预报。如果仅给出数据,您就不能期望任何人说出将预测哪种天气。但是大多数人不会说物理天气模型是黑匣子模型。那么区别在哪里呢?仅仅是一个模型是使用数据生成的,而另一个模型是使用对物理的洞察力生成的事实呢?

当人们谈论黑匣子模型时,他们通常会说这是一件坏事。但是人类也是黑匣子模型。我在这里看到的关键区别在于,人为造成的错误类别更容易为人预测。因此,这是一个培训问题(在NN方面有广告示例)和一个教育问题(在教人们NN的工作方式)。

应如何使用“黑匣子模型”一词:对我来说更有意义的一种方法是将问题称为“黑匣子问题”,类似于user144410(+1)编写的内容。因此,任何只将问题视为黑匣子的模型(因此您可以输入和获取输出的东西)都是黑匣子模型。对问题有深刻见解(不仅假设!)的模型不是黑盒模型。洞察力部分很棘手。每个模型都对其可建模的函数进行限制(是的,我知道通用逼近问题。只要您使用固定大小的NN,它就不适用)。我想说的是,如果您对输入和输出之间的关系有所了解而又不戳问题(无需查看数据),那么这就是对问题的洞察力。

结果如下:

  • 神经网络可以是非黑盒(白盒?)
  • Logistic回归可以是黑盒模型。
  • 它更多地是关于问题和您对问题的见解,而不是模型。

1
谢谢。您的回答总是很高兴阅读:)
Dawny33

1
不客气:-)谢谢你的好话:-)请用我的盐回答我的问题。我也不是很确定。我认为没有明确的答案,因为人们在使用该词时没有定义。因此,一方面人与人之间的用法可能不同,另一方面,即使是给定的单个人也可能不会始终以相同的方式使用它。
马丁·托马

7

它归结为模型的可解释性和可解释性。给定一个简单模型的输出,就可以准确地确定每个输入对模型输出的贡献,但是随着模型变得更加复杂,这将变得更加困难。例如,使用回归可以指向系数,使用决策树可以标识拆分。有了这些信息,您就可以得出解释模型行为的规则。

但是,随着模型参数数量的增加,越来越难以确切解释输入的哪些组合会导致最终的模型输出,或者从模型的行为中得出规则。在首席财务官过来问金融业时问“那么,为什么您的高频交易算法会破坏经济”,他不想听到它是如何建立的,而只是想知道为什么它使他破产了。可能会陈述模型的构造方式,但可能无法解释模型作为输入接收的因素的哪些组合导致输出,这就是人们谈论黑匣子的原因。


5

黑匣子模型是指其方程式在不依赖任何物理/科学定律的情况下被选择为尽可能通用和灵活的任何数学模型。

灰箱模型是一种数学模型,其中部分方程(数学函数)来自物理已知定律,但其余部分被认为是一般功能,以补偿无法解释的部分。

白盒模型是完全基于物理定律和对系统了解的数学模型,例如机械运动定律(飞机模型等)。

请参阅:https//en.wikipedia.org/wiki/Mathematical_model#A_priori_information


有趣的定义!我们来看一些例子:逻辑回归,SVM,NN,决策树都是黑盒模型。根据上下文,贝叶斯模型可以归为所有三个类别。天气模型是白盒或灰盒模型。
马丁·托马

我不同意这个答案。您将得出经验模型与基于物理理论的模型之间的区别。但是,取决于包装方式,任何一种型号都可以是白盒或黑盒。
Brian Borchers

黑盒子一词指的是潜在的“真实”系统,并且与模型结构选择问题有关。
user144410

“现代术语“黑匣子”似乎已在1945年左右进入英语。在电子电路理论中,通过传递函数进行网络合成的过程导致电子电路被视为“黑匣子”,其特征是对所施加的信号做出响应到港口,可以追溯到威廉·考尔(Wilhelm Cauer),他在1941年以最发达的形式发表了他的想法...”。资料来源:en.wikipedia.org/wiki/Black_box#History
user144410

4

您可能知道,黑匣子是指您知道输入和输出的签名但不知道它如何确定输入的输出的功能。

在这种情况下,该术语的使用不正确。这可能超出了作者/作者了解和理解机器学习模型的意愿或能力,但这并不意味着它超出了其他人的意愿或能力。创建每个ML模型的工程师都确切地知道它是如何工作的,并且可以随意提取决策树并进行遍历。仅仅因为某人可能太懒惰或者这样做可能需要一段时间,并不意味着该信息不容易被使用。

ML模型不是黑盒子,它们是很大的透明盒子。


3

ML工程师不知道神经网络内部发生了什么

很抱歉与您矛盾,但这是事实。他们知道神经网络是如何学习的,但是他们不知道任何给定的神经网络都学到了什么。神经网络学到的逻辑是众所周知的。

使用机器学习的重点通常是学习程序员或领域专家不会想到的规则。本质上很难弄清楚这一点。

它类似于用一个字母的变量名,没有注释,没有明显的结构,使用模糊的数学,并且全部由已经死了的人编写的常规计算机程序。您可以在调试器中逐步执行它,但是仍然不清楚它是如何工作的。

很少有人确实要弄清楚神经网络的作用。例如,最小冲突算法是通过分析训练有N个皇后问题的神经网络发现的。但这是很多工作。


在某些线性方法(例如PCA)上也可以这样说,只是DL中的公式更加复杂。
米格尔(Miguel)

3

在问题中引用的博客文章中,讨论的是这样一个事实,即开发金融学机器学习模型的专家无法向客户(未经机器学习培训的金融家)解释该模型如何做出其决定的决定。

这带来了模型,是因为这是真正的秘密(例如系数是在防篡改FPGA编码)模式,是开放的信息黑箱之间的区别(在这个意义上,系数是已知),但不理解的特定的听众

后一种“黑匣子”是有问题的,因为客户希望向自己保证所构建的模型具有“面部有效性”。使用Logistic回归等其他类型的模型,查看系数并检查它们是否具有预期的正负号相对容易-即便是数学上不识字的MBA也可以理解这一点。


2

可以将机器学习视为黑盒,可以对使用神经网络的XOR问题的解决方案进行建模,但是随着输入数量的增加,复杂度和尺寸也会随之增加。如果太复杂以至于无法理解和解释,那么它就是一个黑盒子,无论我们是否可以计算结果

我们只能将它们感知到3维,但这已经足够了,因为我们可以将3d模型作为参考点将其推断到更高维。我们可以想象局部最小值以及部分学习的数据集的一部分。

我已经对这个想法玩了一段时间,所以我制作了工作中的神经网络动画,并提高了我对神经网络的理解。我制作了带有1个和2个隐藏层的动画(大部分完成了第3个),以及它们如何学习数据。

动画很慢,显示上层的右上角动画值得一看,如果愿意,您可以加快Youtube上的动画速度,右上角的动画可以看到蓝色和红色网格(3:20橙色和32%)。红色网格在6分钟时出现,蓝色,橙色和红色网格在8:20出现。重量变化的方向显然在左下角的动画中

https://www.youtube.com/watch?v=UhQJbFDtcoc


1

我认为以这种方式使用的黑匣子概念源自软件和硬件质量保证中的黑匣子测试。这是当您选择不/甚至无法查看并查看所测试内容的内部工作时。可能出于某种原因

  1. 窥探它是不切实际或不可能的(它处于密封环境中,我们根本无法研究它)-但它也可能是

  2. 因为如果可以看到内部的情况,编写writing脚测试的机会更大。(有意或无意)“编写旨在通过的测试”的风险更大。

编写测试以适合要测试的事物,从而降低了实际发现任何事物的机会。

这将是完全有可能对本领域技术信号工程师窥视到正被以特定的训练序列选择用于特征的神经网络和检查的内部工作方式。


-1

黑匣子的方法很难解释为“未启动”。金融或其他领域的任何人都可以掌握回归甚至决策树的基础。开始谈论支持向量机超平面和神经网络S形函数,您将失去大多数观众

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.