Neural network 利用学习的人工神经网络求解输入

Neural network 利用学习的人工神经网络求解输入,neural-network,Neural Network,我最近又开始钻研人工神经网络,包括进化和训练。我有一个问题,关于什么方法,如果有的话,解决的输入,将导致一个目标输出集。这个有名字吗?我试图寻找的所有东西都会导致反向传播,这不一定是我所需要的。在我的搜索中,我最接近表达我的问题的是 这告诉我,确实会有很多针对网络的解决方案,这些网络的层具有不同数量的节点,并且这些解决方案对于解决这些问题来说并不简单。我的想法是,利用学习过程中确定的权重,朝着一组理想的输入迈进。还有其他人有过这样的经历吗 为了详细说明: 假设您有一个包含401个输入节点的网络

我最近又开始钻研人工神经网络,包括进化和训练。我有一个问题,关于什么方法,如果有的话,解决的输入,将导致一个目标输出集。这个有名字吗?我试图寻找的所有东西都会导致反向传播,这不一定是我所需要的。在我的搜索中,我最接近表达我的问题的是

这告诉我,确实会有很多针对网络的解决方案,这些网络的层具有不同数量的节点,并且这些解决方案对于解决这些问题来说并不简单。我的想法是,利用学习过程中确定的权重,朝着一组理想的输入迈进。还有其他人有过这样的经历吗

为了详细说明: 假设您有一个包含401个输入节点的网络,该节点表示20x20灰度图像和偏移,两个隐藏层由100+25个节点组成,还有6个输出节点表示分类(符号、罗马数字等)。
在训练一个神经网络,使其能够以可接受的误差进行分类之后,我想反向运行该网络。这意味着我将在我希望看到的输出中输入一个分类,网络将想象一组输入,从而产生预期的输出。因此,对于罗马数字的例子,这可能意味着我会要求它以符号“X”的相反方向运行网络,它会生成一个类似于网络所认为的“X”的图像。通过这种方式,我可以很好地了解它在分离分类时学到的特性。我觉得这对理解ANN的功能和学习事物的大格局非常有益。

对于一个简单的前馈完全连接的NN,可以通过取激活函数的倒数将隐藏单元激活投射到像素空间(例如,对于sigmoid单元的Logit),将其除以传入权重之和,然后将该值乘以每个像素的权重。这将使这个隐藏单元识别的平均模式可视化。将每个隐藏单元的这些模式相加将得到平均模式,该模式对应于这组特定的隐藏单元活动。原则上,相同的过程可以应用于将输出激活投影到隐藏单元活动模式中

这对于分析NN在图像识别中学习到的特征非常有用。对于更复杂的方法,您可以看一看(除此之外,它还包含NN可以学习的模式示例)


您不能完全反向运行NN,因为它不会记住源图像中的所有信息—它学会了检测的模式。所以网络无法“想象一组输入”。然而,可以对概率分布进行采样(将权重作为每个像素的激活概率),并生成一组特定神经元可以识别的模式

是的,您可以反向运行概率神经网络,使其“想象”输入与经过训练分类的输出相匹配

我强烈推荐Geoffrey Hinton关于NN的coursera课程:

他在他的介绍性视频中演示了一个NN,它想象出各种“2”,它会识别出经过训练的数字0到9。太令人印象深刻了

我认为它基本上就是在做你想做的事情


Gruff

我知道你可以,我现在正在研究解决方案。我的github上有一些代码,用于想象神经网络的输入,该神经网络对MNIST数据集的手写数字进行分类,但我认为这并不完全正确。现在,我只是简单地获取一个经过训练的网络和我想要的输出,然后向后乘以每一层的学习权重,直到得到一个输入值。这跳过了激活函数,可能还有其他一些错误,但我从中得到了相当合理的图像。例如,这是训练有素的网络想象出一个3:

的结果,不清楚您所说的“解决可能导致目标输出集的输入的方法(如果有的话)”是什么意思。您能更具体地解释您的问题吗?@Greg,谢谢。我在原始问题后面附加了一个经过编辑的示例。我希望这能消除歧义,我不明白。“7”对加法来说是什么样子?”3+4', '1+6', '-100+107'? 字母“X”应该看起来像你训练它用的“X”,对吗?事实上,它与所有其他字母在记忆网络中合成,这不应该改变这种观念。是的,正是这样。我意识到这没有什么实际用途,它仅仅是一件教育性的事情。我很好奇它最吸引人的特点是什么。从理论上讲,字母“X”与训练时使用的字母相同。但如果说你的网络在对一个群体进行分类时有点毛茸茸的,看看它认为理想的分类是什么样子会很有趣。或者说,你在你的隐藏层中有一个瓶颈,从而削弱了你的网络——它最依赖什么功能,以及它将如何试图弥补资源的不足。不切实际,但我很好奇。我以前真的很喜欢这个家伙托尼·普雷特的作品。我从来没有很好地理解过这篇论文,但也许你会从中得到一些东西,好像课程结束了。有没有我可以找到幻灯片、视频和课程代码的地方?@kamula你可以进入,因为它仍然打开,我做到了,我可以看到视频和所有东西else@MiguelCldn谢谢结果证明该类是可访问的,尽管输入起来有点混乱。我尝试了上面的公式,在这里得到了惊人的接近:然而,这些值似乎有点扭曲。你介意看一看,看看如何解决这个问题吗?如果能以一种简单的方式解决这个问题,那就太棒了。是什么激发了对话:你的3个看起来很棒!所以你不是