神经网络用于优化问题

3
假设我训练了一个神经网络,它接收一些输入并精确地计算它们的值。这个神经网络被用来近似一个难以通过解析或其他方法模拟的函数。它是一个非常准确的函数逼近器。现在我想知道返回最高值的最佳输入是什么。我想过可以使用遗传算法来实现这一点,但是否有神经网络方法可以做到这一点?同时是否可能训练神经网络并同时找到最优输入?什么样的网络架构可以实现这一点?
1个回答

1

嗯,一个直接的解决方案是对每个层应用微积分,并解决任何局部最小值或最大值(假设您没有那么多变量)。但我认为这种解决方案(或类似的优化方法)不是神经网络的适当用法。

神经网络的设计目的是模仿。给出输入X和期望的输出Y,优化一个猜测"接近" Y 的函数。这是神经网络的本质。孤立的优化问题提出了一个根本不同的问题。在给定近似某些基础函数的数据集的情况下,找到单个“最佳”解决方案。这种问题在一组数据中寻找单个案例(或孤立的离散案例)。

如果要用神经网络解决优化问题,它将如下所示。给定一组近似函数(数百万个已训练的神经网络)和已知的优化解决方案(每个解决方案的预期解决方案),训练一个新的神经网络来模仿这种行为。这当然可以做到,但感兴趣的函数集需要某种限制;肯定不可能训练一个单一的神经网络,它可以“普遍”地适用于所有可能的优化问题。那将解决整个优化理论领域。

例如,给定形如Asin(Bx+C)+D的函数集合,其中A、B、C和D是随机分布的,找到最大值。或者计算最大值和最小值的数量。这些都是神经网络可以学习的优秀例子,可以在数据集中看不见的函数上进行学习。神经网络甚至可能学会了底层行为,以至于它也可以处理初始数据集之外的系数。
当然,人们可以开始构建一个大规模的优化神经网络集合,适用于数百万种不同情况的各种不同问题。这样的“神经网络动物园”可以解决所有优化理论问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接