反转前馈神经网络

我在网上搜索关于反转前馈神经网络的论文,发现有用于反转它们的自然语言处理(NLP)和线性规划(LP)算法。但大多数论文关注的是接收一对多的反向映射。我对这类问题感到好奇:

假设我有一个函数 z=x+y,我会教我的前馈神经网络(FFNN)来近似这个函数。一旦它学会了,我想以 x 和 z 作为输入,并希望得到 y 作为输出。所以这不完全是一对多的映射,但与仅有 z 并希望计算 x 和 y 的问题相比,是否更容易一些?有没有执行此类任务的算法?


回答:

据我所知,逆转网络的方法通常是敌对方法(GANs),或者通过优化网络的输出来实现(比如优化 |f(x, y’) – z|,其中 y’ 是你问题中的输出)。第一种方法更为流行。

让我们更多地讨论第一种方法,我们称你训练的学习 x + y = z 的网络为 D。你需要训练另一个网络(我们称之为 G)来接收 x 和 z 并生成 y,然后 D 检查这是否是正确的答案(即是否 x + y = z),我们继续这个过程,直到 G 学会满足 D(我省略了一些细节,你可以通过研究 GANs 了解更多)。然而,这更像是重新表述我们的问题。

如果你熟悉神经网络的工作原理,你会知道通过确定其期望输出和部分输入来训练网络是很困难的,因为我们无法使用反向传播。

最后,你可能想查看这篇论文。虽然技术细节不多,但它提出的正是你所问的:https://openreview.net/forum?id=BJxMQbQ3wm

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注