识别图像时神经网络决策过程的任何可视化?
Posted
技术标签:
【中文标题】识别图像时神经网络决策过程的任何可视化?【英文标题】:Any visualizations of neural network decision process when recognizing images? 【发布时间】:2012-06-03 06:34:41 【问题描述】:我注册了Coursera ML class,刚刚开始学习神经网络。
真正让我感到困惑的一件事是,一旦找到线性组合的合适权重,识别如此“人性化”的事物(例如手写数字)如何变得容易。
当您了解到可以通过为线性组合找到一些非常好的参数,并将它们组合并相互提供它们来识别看似抽象的事物(如汽车)时,那就更疯狂了.
线性组合的组合比我想象的更容易表达。 这让我想知道是否可以将 NN 的决策过程可视化,至少在简单的情况下是这样。
例如,如果我的输入是 20x20 灰度图像(即总共 400 个特征)并且输出是对应于已识别数字的 10 个类别之一,我希望看到 线性级联的某种视觉解释组合导致 NN 得出结论。
我天真地认为,这可以作为被识别图像上的视觉提示来实现,可能是显示“对决策影响最大的像素”的温度图,或者任何有助于理解神经网络在特定情况下如何工作的东西。
是否有一些神经网络演示可以做到这一点?
【问题讨论】:
假设您的意思是多层前馈网络,这些不只是线性模型。但是,您可能会通过计算将任何像素连接到每个隐藏单元的绝对权重总和来了解哪些像素最重要。 查看 thetas,这些是您正在寻找的权重。您还可以可视化隐藏层以查看您的网络处理了什么。 【参考方案1】:这不是您问题的直接答案。我建议你看看卷积神经网络(CNN)。在 CNN 中,您几乎可以看到学到的概念。您应该阅读此出版物:
是的。 LeCun、L. Bottou、Y. Bengio 和 P. Haffner:Gradient-Based Learning Applied to Document Recognition,IEEE 会议记录,86(11):2278-2324,1998 年 11 月
CNN 通常被称为“可训练的特征提取器”。事实上,CNN 实现了具有可训练系数的 2D 滤波器。这就是为什么第一层的激活通常显示为 2D 图像(见图 13)。在本文中,作者使用另一个技巧使网络更加透明:最后一层是径向基函数层(具有高斯函数),即。 e.计算每个类到(可调整的)原型的距离。通过查看最后一层的参数,您可以真正看到学习到的概念(见图 3)。
但是,CNN 是人工神经网络。但是这些层没有完全连接,并且一些神经元共享相同的权重。
【讨论】:
【参考方案2】:也许它没有直接回答问题,但我在Andrew Ng, Jeff Dean, Quoc Le, Marc’Aurelio Ranzato, Rajat Monga, Matthieu Devin, Kai Chen and Greg Corrado paper(强调我的)中发现了这个有趣的文章:
在本节中,我们将展示两种可视化技术来验证神经元的最佳刺激是否确实是一张脸。第一种方法是可视化测试集中响应最快的刺激。由于测试集很大,该方法可以可靠地检测到被测神经元的接近最优刺激。第二种方法是进行数值优化以找到最佳刺激
...
这些可视化方法具有互补的优势和劣势。例如,可视化最敏感的刺激可能会因适应噪声而受到影响。另一方面,数值优化方法容易受到局部最小值的影响。结果如下所示,证实了被测试的神经元确实学习了人脸的概念。
换句话说,他们采用了一个在识别人脸方面表现最好的神经元
从数据集中选择图像,使其输出最高置信度; 用数学方法找到一张置信度最高的图像(不在数据集中)。很高兴看到它实际上“捕捉”了人脸的特征。 学习是无监督的,即输入数据没有说明图像是否是人脸。
有趣的是,这里生成了猫头和人体的“最佳输入”图像:
【讨论】:
以上是关于识别图像时神经网络决策过程的任何可视化?的主要内容,如果未能解决你的问题,请参考以下文章