【问题标题】:Neural network's weights optimization using a genetic algorithm使用遗传算法的神经网络权重优化
【发布时间】:2018-05-11 21:04:00
【问题描述】:

我目前正在和我的一些朋友一起开发一款视频游戏,用于我们的 AI 课程。

我们都有不同的约束;我们的目标是使用神经网络来定义 AI 的行为。这部分是用 Python 编写的。

基本上,我们的游戏类似于Towerfall,但要简单得多。地图是静态的,玩家有 5 条生命,要么是 AI。您可以向左,向右,跳跃和单击以在光标位置射击子弹。所以这是一场生死之战。

最初,我们考虑使用遗传算法来训练我们的网络。我们定义了一个拓扑,不管它是什么,我们计划使用 GA 优化权重。

计划是生成种群,直接在我们的游戏中测试 NN,收集结果(适应度?)并使用之前的排名生成新的种群。

但我们真的不知道如何实现这一点,或者是否可能或是否会产生良好的结果。

我们应该在复制过程中使用加权平均吗?如何应用“突变”?我们应该使用什么结构来表示我们的神经网络?

如果您有任何线索或建议..!

非常感谢!

【问题讨论】:

  • 这是一个非常模糊/基于意见的问题,我已标记为关闭。但是为了给你指明一条路径,你可以继续用谷歌搜索——遗传算法要求你有一些你可以变异的基因的表示,这也表达了你需要的数据结构。例如,您可以使用浮点列表作为“基因”并将其转换为节点的权重。您如何进行突变,频率等都是您需要确定的。重要的是 - 基因中的一个小突变应该只会对行为产生很小的变化(至少一般而言)。
  • @Jul_DW ANN 训练非常耗时。如果您想拥有高效的计算机对手,请考虑其他 A.I.选项。

标签: python neural-network artificial-intelligence genetic-algorithm


【解决方案1】:

我准备了一个完整的教程,关于使用 Python 实现使用遗传算法优化人工神经网络。标题为“Artificial Neural Networks Optimization using Genetic Algorithm with Python”,可在LinkedInKDnuggetsTowardsDataScience获取。

您可以在我 2018 年出版的书中阅读更多内容,其中一章涵盖了 GA。这本书被引用为“Ahmed Fawzy Gad 'Practical Computer Vision Applications Using Deep Learning with CNNs'”。 2018 年 12 月,Apress,978–1–4842–4167–7”,可在此处Springer 获取。也在这里Amazon

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 2010-10-24
    • 2011-01-06
    • 2019-04-15
    • 2017-10-25
    • 2015-12-14
    • 2011-06-30
    • 2011-07-04
    • 2020-07-27
    相关资源
    最近更新 更多