神经网络(反向传播)
Neural Networks (backpropagation)
假设我们训练了一个神经网络。我的问题是,如果我们应用以前的输出作为现在的输入,同一个神经网络是否会生成数据?
我正在处理 MNIST 数据集,想知道如果我们使用反向传播算法从输出端训练我们的网络(使用最终输出作为该端本身的输入)会发生什么。
我的想法是它可以取回数据(或原始数据集的近似值)。能说得过去吗?
据我所知。它不能。特别是因为 activation functions 是(大部分)非线性的。
神经网络是一个黑盒子(参见 this answer)。其次,取f(x) = x^2
。如果您想从 f(n)
计算 n
,那么有两种可能的解决方案;同样适用于神经网络,可以有多个解决方案,因此不可能将所有解决方案都反转。但要点是:仅仅因为你知道函数的反函数,并不意味着你知道神经网络的反函数。这是一个黑匣子!
但是, 您可以想象神经元对特定输入的反应。例如,这是 'aspects' 神经网络寻找识别人脸的方法:
Google Deepdream 还放大了它正在寻找的识别某些对象的方面。看看吧!
假设我们训练了一个神经网络。我的问题是,如果我们应用以前的输出作为现在的输入,同一个神经网络是否会生成数据?
我正在处理 MNIST 数据集,想知道如果我们使用反向传播算法从输出端训练我们的网络(使用最终输出作为该端本身的输入)会发生什么。
我的想法是它可以取回数据(或原始数据集的近似值)。能说得过去吗?
据我所知。它不能。特别是因为 activation functions 是(大部分)非线性的。
神经网络是一个黑盒子(参见 this answer)。其次,取f(x) = x^2
。如果您想从 f(n)
计算 n
,那么有两种可能的解决方案;同样适用于神经网络,可以有多个解决方案,因此不可能将所有解决方案都反转。但要点是:仅仅因为你知道函数的反函数,并不意味着你知道神经网络的反函数。这是一个黑匣子!
但是, 您可以想象神经元对特定输入的反应。例如,这是 'aspects' 神经网络寻找识别人脸的方法:
Google Deepdream 还放大了它正在寻找的识别某些对象的方面。看看吧!