神经网络与进化算法的区别

Fer*_*ndo 15 artificial-intelligence neural-network genetic-algorithm

我对进化算法有很好的基础,所以现在我开始阅读人工神经网络.我在http://www.ai-junkie.com/ann/evolved/nnt2.html上看到了这个教程 ,展示了如何使用人工神经网络来发展收集地雷的坦克.它使用GA来演化每个神经元的输入权重.

我知道我可以使用GA(没有ANN)来解决同样的问题.我已经使用GA创建了一个俄罗斯方块机器人,以优化网格评估功能中的权重(查看我的博客http://www.bitsrandomicos.blogspot.com.br/).

我的问题是:在我可以单独使用GA的情况下,使用ANN + GA之间的概念/实际区别是什么?我的意思是,我的俄罗斯方块机器人是神经网络吗?(我不这么认为).

有几个相关的问题,但我找不到答案:

进化算法和神经网络是否在相同的域中使用?

何时使用遗传算法与何时使用神经网络?

谢谢!

alf*_*lfa 20

一个遗传算法是一种优化算法.

一个人工神经网络是一个函数逼近.为了逼近函数,您需要一个优化算法来调整权重.ANN可用于监督学习(分类,回归)或强化学习,有些甚至可用于无监督学习.

在监督学习中,像遗传算法这样的无导数优化算法比使用梯度信息的大多数优化算法慢.因此,在强化学习中用遗传算法进化神经网络才有意义.这被称为"神经进化".像这种设置中的多层感知器这样的神经网络的优点是,当它们具有足够数量的隐藏节点时,它们可以以任意精度逼近任何函数.

当您创建一个俄罗斯方块机器人时,您不一定必须使用ANN作为函数逼近器.但是你需要某种函数近似来代表机器人的政策.我想它比ANN更简单.但是当你想要创建一个复杂的非线性策略时,你可以做到这一点,例如使用ANN.


Fra*_*urt 6

阿尔法的答案是完美的.这只是一张图片来说明他说的话:

在此输入图像描述 Meta-Optimizer =无(但可能)
优化器=遗传算法
问题=俄罗斯方块机器人(例如ANN)


Kam*_*šík 5

如果您还不知道答案,您可以使用进化算法,但您能够以某种方式对候选者进行评分并提供有意义的突变。

如果您已经有了答案(和输入)并且您想“训练计算机”以便它可以“猜测”未知输入的答案,那么神经网络非常有用。此外,您不必考虑太多问题,网络会自行解决。

查看这个“游戏 AI”示例:https : //synaptic.juancazala.com/#/
(注意它是多么简单,你所要做的就是给他们足够的训练,你不必了解游戏AI - 一旦它足够好,你所要做的就是“下载”内存并在需要时运行它)