我对感知器输出的几何解释很感兴趣,主要是为了更好地理解网络到底在做什么,但我似乎找不到很多关于这个主题的信息。
我知道,一个没有隐藏层的感知器可以被看作是在两个类之间定义一个超平面,如果它们是线性可分的,就可以很好地工作。
然而,我发现更难理解的是,多层感知器到底做了什么,以及它如何对初始不可线性分离的输入进行分类。
我找到了这个页面http://www.borgelt.net/doc/mlpd/mlpd.html,它说隐藏层可以解释为对输入进行坐标转换。我想读更多关于这一点,但我没有在网上找到很多,所以我会非常感谢你能详细说明这个问题,或指给我一些纸或书,涵盖这一点。
我也对出现在这里的可视化感到困惑,http://tiny.cc/2l7o7y,一个3神经元隐藏层设法分离输入,这是非常有意义的,因为在一个三维空间中分离输入是微不足道的。然而,再加上两个神经元层,就会产生明显的非线性形状.我的猜测是,它代表了在最初的二维空间中产生的分离。是那么回事吗?如果没有,我们到底看到了什么?
发布于 2019-06-09 22:27:28
您可能想在用于“MLP输出的几何解释”的神经网络、流形和拓扑.上查看本文
以下是您可能最感兴趣的一段摘录:
在神经网络中有多种不同的层次。作为一个具体的例子,我们将讨论tanh层。tanh层tanh(Wx+b) tanh(Wx+b)包括:1.权矩阵W2.A的线性变换.a由向量b3点的平移.
这是他给出的几何描述的动画礼物:

在这个动画的开头,您将看到直线,并进行线性转换(权重乘以输入,Wx),其中直线移动,但保持平行,原点也保持在(0,0);这是在所有线性转换中发生的情况。
然后,你会看到由偏置向量b转换而来的转换,也就是说,你会看到所有的线沿着偏置向量b的方向一起移动。在这种情况下,你会看到整个图片向下移动,然后向右移动。
最后,您将看到“内核技巧”,它以一种非线性的方式将输入转换到下一层,从而导致漂亮的平行线发生翘曲。这种非线性翘曲使得神经网络能够解决非线性问题.也就是说,如果空间被扭曲,而你试图分类的点在这种非线性变换下分开,那么就有可能在应该有不同分类的点之间创建一个分离的超平面,从而允许神经网络区分你的类。
希望这能给你一个神经网络每一层所发生的几何解释。从那里,您可以推断,因为您添加了越来越多的层到您的网络。
在上面所示的例子中,他使用tanh作为“内核技巧”,但也可以使用其他一些非线性函数(例如Sigmoid、ReLU等)。
如果你觉得这个动画很难理解,我强烈建议你去看看3线性代数级数的Blue1Brown本质,他有很多视频,对线性代数和伟大的几何动画都有直观的解释。
发布于 2020-09-19 11:50:38
如果仅限于重边函数,则输出是完全可解释的,请参见这一解释。
https://datascience.stackexchange.com/questions/53109
复制相似问题