gpt4 book ai didi

machine-learning - 如何以正向方式训练神经网络并以反向方式使用它

转载 作者:行者123 更新时间:2023-11-30 08:59:32 24 4
gpt4 key购买 nike

我有一个神经网络,其输入层具有 10节点、一些隐藏层和一个只有 1 个节点的输出层。然后我在输入层中放置一个模式,经过一些处理后,它输出输出神经元中的值,该值是 1 中的一个数字。至10 。训练后,只要输入模式,该模型就能够获得输出。

现在,我的问题是,是否可以计算逆模型:这意味着,我从输出端提供一个数字(即使用输出端作为输入),然后从 10 中获取随机模式。输入神经元(即使用输入作为输出侧)。

我想这样做是因为我将首先根据模式的难度训练一个网络(输入是模式,输出是难以理解模式)。然后我想向网络提供一个数字,以便它根据难度创建随机模式。

最佳答案

我希望我正确理解了你的问题,所以我会用我自己的话来总结它:你有一个给定的模型,并且想要确定产生给定输出的输入。

假设这是正确的,我知道至少有一种方法,您可以大致做到这一点。这种方法很容易实现,但可能需要一段时间来计算值 - 可能有更好的方法来做到这一点,但我不确定。 (几周前,我在强化学习主题中需要这种技术,但没有找到比这更好的技术):假设您的模型 将输入 映射到输出 。我们现在必须创建一个新模型,我们将其称为 :该模型稍后将计算模型 的逆模型,以便它为您提供产生特定输出的输入。为了构建 ,我们将创建一个新模型,该模型由一个普通的 Dense 层组成,其维度与输入的 m 相同。该层现在将连接到模型 的输入。接下来,将 的所有权重设置为不可训练(这非常重要!)。

现在我们已经准备好找到一个逆值:假设您想要找到与输出y相对应的输入(此处对应的意思是:它创建输出,但不是唯一的)。您必须创建一个新的输入向量 v ,它是 的统一。然后创建一个由 (v, y) 组成的输入输出数据对。现在,您可以使用任何您希望让输入输出训练数据在网络中传播的优化器,直到误差收敛到零。一旦发生这种情况,您就可以计算实际输入,通过执行以下操作给出输出 y:假设新输入层的权重称为 w,并且偏差为 b,所需的输入 uu = w*1 + b (其中 1 )您可能会问为什么这个方程成立,所以让我尝试回答它:您的模型将尝试学习新输入层的权重,以便作为输入的统一将创建给定的输出。由于只有新添加的输入层是可训练的,因此只有这个权重才会改变。因此,该向量中的每个权重将代表所需输入向量的相应分量。通过使用优化器并最小化所需输出与逆模型 的输出之间的 l^2 距离,我们最终将确定一组权重,这将为您提供一个很好的近似值输入向量。

关于machine-learning - 如何以正向方式训练神经网络并以反向方式使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053023/

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