我如何为神经网络怀疑论者提供答案?

数据挖掘 神经网络
2021-10-07 02:53:46

在多次讨论 NN 之后,我总是有一个怀疑论者想要真正衡量模型的好坏。你怎么知道模型是真正准确的?

我解释了使用测试数据等来评估总误差,但是,总有人想知道与每个重量相关的误差吗?

谁能启发我如何满足这些类型的问题?

这已成为一个现实问题。

4个回答

神经网络本质上是一个黑盒子,尤其是大的。你甚至可以知道它是如何设计的以及它是如何训练的,但你真的不知道它最终是如何工作的。在我的工作中,很多人想要理解模型而不是使用“黑匣子”模型。这就是为什么公司选择使用线性回归和多项式模型而不是使用更强大的机器学习算法(如 LightGBM 和神经网络)的原因。

我从来没有找到这个问题的真正答案。一些工程师被教导说你不能使用你无法理解的模型。因此,每个“黑匣子”模型都不适用于他们。这意味着大多数机器学习模型对他们来说都是魔法和异端。尽管对此持保留态度,但这是我的主观经验。有时随着时间的推移,这些人更愿意使用数据科学方法,因为它已成为主流。他们开始信任这些方法,因为其他人使用它们。

上层的情况就不同了。对于高层管理者来说,如何解释模型并不重要,重要的是它能给你带来什么结果。他们更愿意尝试,尤其是在炒作“人工智能”、“数据科学”之类的东西时。

结果,我只能给你一个建议,在公司的层次结构中找到一些好的支持。更相信数据科学并且在公司拥有更多权力的人。

在数据科学界,模型在测试数据集上的性能是人们关注的最重要的事情之一。看看 kaggle.com 上的比赛。他们非常关注测试数据集,这些模型的性能非常好。

测试数据集性能的唯一问题是它依赖于测试数据集中的数据。如果在现实生活中您将拥有完全不同的数据,这些数据将超出测试数据集的范围,那么测试数据集将无法很好地近似模型在现实生活中的性能。

我曾经向一位“高级”机械工程师描述过它们(一般是 AI/ML 方法)(他真的不明白,所以原则上讨厌它,不幸的是处于影响力的位置):

它基本上是一个查找表,在已知数据点之间进行插值。

除了,与“线性”、“最近邻”或“立方”等其他插值不同,底层函数形式被确定为最好地代表您拥有的数据类型。

所以“更准确的查找表”的方法让他感觉更舒服。虽然我不确定那个特定的论点真的有赢家!!!

我知道我迟到了,但也许我的观点会为这个话题增添一些东西。

我认为“怀​​疑论者”和“信徒”必须学会共存。两者都有有效的观点,都可以得到有效的批评。

只要我们不知道数据集的确切属性直至其最后的细节,我们就永远不会知道我们的模型是否“准确”。实际上,我们大多不知道事情是如何工作的,也不知道数据中的“真实”关系是什么,或者它们在测试集和训练集之间如何变化。这意味着交叉熵或困惑度或单位错误率等评估指标只能用于估计某个模型是否比其他模型更好地拟合数据,但不能用于估计任一模型捕捉数据中实际潜在现象的程度。

使用测试数据来验证模型归结为说“我不知道数据中有什么关系,也不知道我的模型如何捕捉它们,但我会根据经验来近似这个问题的答案”。这对于某些应用程序来说很好,而对于其他应用程序则完全不可接受,因此根据您尝试解决的任务,您可能总是会遇到一些阻力。

提供某些安全性 IMO 的唯一合理方法是生成具有植入关系和精确控制的熵的合成数据,然后要么 A)证明模型对生成过程的熵的近似程度(通常很难做到)或 B)凭经验证明这样的界限(并且具有统计意义,在 NN 研究中,这通常也只是通过几次训练运行来近似),同时考虑到您可能通过抽样过程人为扭曲的所有方差。

如果有人正在考虑高度安全关键的应用程序,他们可能需要更严格的论据,即 NN 比不考虑生死问题的人就足够了。只要不尝试使用 NN 解决安全关键问题,就不要过于严厉地批评——从大局来看这是合理的,尽管它对您个人当然并不总是有帮助。

如果有人把你放在现场,可能会对你有所帮助的事情是指出有不同的使用模型的方法。如果一个应用程序是安全关键的并且模型产生的错误无法修复,那么模型产生的每个错误都是关键的,你承认这一点是公平的。然而,在许多应用中,模型更多地用作“指南”。只要模型产生的错误可以在以后修复(或者这些错误无关紧要),模型仍然可以非常有价值并节省大量时间,即使它出现了一些错误。

这个答案仍然不能满足所有人。NN 结果通常不是很可操作。如果您已经训练了一些架构并且它优于所有其他模型,那么您显然仍然不知道下一步该采取什么措施。正因为如此,NNs 总是会让一些研究人员失望,即那些想要了解底层过程而不是构建可以相当好地近似它们的系统的人。对于那些你只需要同意不同意的人,但同样,你不应该对他们的怀疑过于严厉——他们可能试图实现与你试图实现的目标不同的东西。

我认为这个问题取决于您处理的数据类型。例如,使用图像,您始终可以使用 Grad-CAM 描绘梯度的热图。部署时,您可以通过提供梯度热图和预测概率来增强怀疑者对模型的信任。但是,这仅针对一个问题域,我不知道一般的答案。事实上,有几篇论文讨论了模型的信任(例如 this)。

然而,我对这个问题的总体回答是,神经网络是非常高维的函数,例如,没有人要求检查与回归模型中的所有权重相关的确切误差。知道神经网络的每个单独部分在数学上工作并且它们可以组合就足够了。