有没有办法在 Tensorflow 中“反转”神经网络?

问题描述

我正在训练一个神经网络,在给定一些输入(这里我们称之为 x 和 y)的情况下,它能够预测输出 z。所以,z=f(x,y) 一旦神经网络被正确训练,我希望能够获得一个模型,给定 z 和 x,返回另一个输入: 我的意思是获得模型: y=g(x,z) 在 Tensorflow 中可能吗? 提前谢谢你!

解决方法

这个问题让我进退两难。

如果您认为理论上它应该是可能的,当且仅当您的网络没有像 ReLU 这样的非线性并且具有可逆的权重矩阵(加偏置)时,这是可能的。然而,随着维度的增加,矩阵乘法仍然是一个问题。

但在实践中,机器学习模型倾向于使用给定的输入概括问题。因此,如果您可以为 f(x,y) 构建一个模型,那么您可以为 g(x,z) 构建另一个模型,因为问题没有太大区别。如果您考虑复杂的模型,这将不实用。这样做对我来说也没有意义。知识上会有损失。

所以即使你能做到,也需要做很多额外的工作。在我看来,它不值得奖。寻求新模式应该不会那么痛苦。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...