gpt4 book ai didi

neural-network - 使用学习的人工神经网络来解决输入

转载 作者:行者123 更新时间:2023-12-04 11:51:11 25 4
gpt4 key购买 nike

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

Is it possible to run a neural network in reverse?



这告诉我,对于具有不同层节点数的网络,确实会有很多解决方案,而且解决这些问题并非易事。我的想法是使用在学习过程中建立的权重朝着一组理想的输入前进。有没有其他人有做这样的事情的经验?

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

最佳答案

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

这对于分析 NN 在图像识别中学到的特征确实很有用。对于更复杂的方法,您可以查看 this paper (除了所有内容,它还包含 NN 可以学习的模式示例)。

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

关于neural-network - 使用学习的人工神经网络来解决输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27673883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com