高度准确的卷积网络似乎具有随机的可视化权重?

数据挖掘 机器学习 卷积神经网络
2021-10-14 07:37:01

我正在构建一个 TensorFlow 卷积神经网络,但它没有达到我希望的准确度。所以我想我会可视化学习到的权重,看看网络可能在哪里绊倒。作为基准,我开始可视化一个完全不同的项目的权重,谷歌的 MNIST convnet 示例,它具有非常高的准确度 (99.2%)。

我假设一个非常准确的模型会有直观的权重,但实际上我得到的权重看起来完全随机。其他人似乎得到了类似的随机结果请参阅 martin-gorner 在 3 月 18 日对视觉效果的评论。他的结果与我的相似。

更多谷歌搜索表明,其他人看到非 MNIST 数据集的基本随机行为。这很常见吗?如果是这样,那么将权重可视化似乎是一项徒劳的练习,不太可能为建模者带来任何有用的见解。这是真的?如果不是,为什么这么多人在描述卷积网络的工作原理时使用这种视觉效果(第一层边缘清晰,后续层合成图像)?在可视化权重时,斯坦福的课程材料似乎也至少显示了边缘(您必须向下滚动大约一半的页面)。我不知道该怎么想。

1个回答

学到的权重没有直接的可解释性,我不会将它们解释为“随机”。“随机”到底是什么意思?他们似乎正在学习非常基本的模式,当你深入网络时,这些模式可能会合理地提取并组合成更复杂的模式,这正是网络应该如何工作的。

从您链接的 Keras 博客文章中,

一个显着的观察结果:许多这些过滤器是相同的,但旋转了一些非随机因素(通常为 90 度)。这意味着我们可以通过找到一种使卷积过滤器旋转不变的方法来将卷积网络中使用的过滤器数量压缩一个很大的因子。我可以看到一些可以实现的方法——这是一个有趣的研究方向。

斯坦福页面显示了网络似乎在早期层学习的大量内容——边缘和颜色斑点的组合。 图像

也许这在本质上更具哲学性,但我们为什么期望这些层对人类有意义或易于解释?网络的大量权重是通过梯度下降优化损失函数来学习的。很难解释不太复杂的非线性模型“学习”或加权其系数的程度;我希望这些模型将(并且现在!)非常难以解释。我们可以在各种可视化中看到任何结构这一事实很酷,但它们可能无法帮助我们理解为什么模型不能很好地工作。

关于您的问题,您有多少个课程以及您希望获得哪种类型的准确性?MNIST 是一个几乎微不足道的数据集,因为这些类被很好地分开了。我在工作中处理的一些现实生活中的机器视觉任务有一些比较干净的类可以达到 80-90%~ 的准确率,但是在人类可能称之为其他东西的照片中会出现错误(例如,工作室公寓的生活照片)厨房清晰可见的房间可能会被标记为厨房而不是客厅,但这通常是可以的)。定义什么是“足够好”的准确性本身就是一个问题——这对于我们目前正在做的事情来说已经绰绰有余了。

如果我错过了您的问题的重点,请告诉我。