【问题标题】:Neural Networks (backpropagation)神经网络(反向传播)
【发布时间】:2017-04-07 18:12:43
【问题描述】:

假设我们已经训练了一个神经网络。我的问题是,如果我们应用之前的输出作为输入,那么相同的神经网络会生成数据吗?

我正在研究 MNIST 数据集,想知道如果我们使用反向传播算法从输出端(使用最终输出作为该端本身的输入)训练我们的网络会发生什么。

我的想法是它可以取回数据(或原始数据集的近似值)。有道理吗?

【问题讨论】:

  • 2+3=55 = 0+5; 1+4; 2+3。对于一些数学背景,请查看双射函数和鸽笼原理。对于一些关于做不同但相似的事情的阅读,请查找一些名为 Deep Neural Networks are Easy Fooled 的论文。
  • @sascha 如果存在给定函数的逆函数怎么办...
  • 检查您的 NN 架构的内部运作并自行决定。由于这些是多层的,双射性质在除理论之外的所有情况下都会丢失。
  • @sascha 是的,这是真的..

标签: neural-network backpropagation


【解决方案1】:

据我所知。它不能。特别是因为activation functions(大部分)是非线性的。

神经网络是一个黑盒子(参见this answer)。其次,取f(x) = x^2。如果您想从f(n) 计算n,那么有两种可能的解决方案;同样适用于神经网络,可以有多种解决方案,因此不可能对所有解决方案进行反演。但重点是:仅仅因为你知道函数的逆,并不意味着你知道神经网络的逆。这是一个黑匣子!

但是,您可以直观地看到神经元对特定输入的响应。例如,这是神经网络识别人脸时寻找的“方面”:

Google Deepdream 还放大了它为识别某些对象而寻找的方面。看看吧!

【讨论】:

  • @ADITYA 会怎样?没有。有两个原因;首先,神经网络是一个黑盒子(请参阅这个问题为什么stats.stackexchange.com/a/93713/147931)。其次,取f(x) = x^2。如果要从 f(n) 计算 n,则有两种可能的解决方案;同样适用于神经网络,可以有多种解决方案,因此不可能对所有解决方案进行反演。但重点是:仅仅因为你知道函数的逆,并不意味着你知道神经网络的逆。这是一个黑匣子!
猜你喜欢
  • 2015-03-03
  • 2012-02-21
  • 2011-01-05
  • 1970-01-01
  • 2013-04-26
  • 2016-09-19
  • 2014-03-15
  • 2018-05-17
相关资源
最近更新 更多