利用Python破解Flappy Bird游戏!

作者: 编程新视野 | 来源:发表于2019-01-26 14:11 被阅读1次

导语

昨天在看GitHub上深度学习方面stars较高的开源项目,于是发现了这个有趣的内容:

使用深度强化学习破解Flappy Bird游戏(深度Q-学习)

进群:696541369 获取python学习资料!

参考文献

内容主要参考自GitHub开源项目:

Using Deep Q-Network to Learn How To Play Flappy Bird

链接:

https://github.com/yenchenlin/DeepLearningFlappyBird

原理简介

此项目参考了深度增强学习中的深度Q学习算法,并表明了此学习算法可以推广到破解Flappy Bird游戏当中。也就是说,项目是利用了Q-learning的变体进行训练的,其输入是原始像素输出是估计之后行动的数值函数。

PS:

若对深度强化学习感兴趣,公众号相关文件中也提供了一篇名为Demystifying Deep Reinforcement Learning的论文供大家学习,这也是原作者强烈推荐的论文。

网络架构:

利用Python破解Flappy Bird游戏!

在此之前的预处理为:

(1)灰度化图像;

(2)图像大小调整为80×80;

(3)每4帧画面堆叠成一个80x80x4输入数组。

网络最终输出结果为2×1的矩阵,用以决定小鸟是否行动。(也就是是否按屏幕咯~~~)

测试环境

电脑系统:Win10

Python版本:3.5.4

Python相关第三方库:

TensorFlow_GPU版本:1.4.0

Pygame版本:1.9.3

OpenCV-Python版本:3.3.0

具体配置细节请参考相关网络文档!!!

运行演示

命令行窗口进入DeepLearningFlappyBird文件夹输入py -3.5 deep_q_network.py回车运行即可:

利用Python破解Flappy Bird游戏!

结果如下:

利用Python破解Flappy Bird游戏!

更多参考文献

(1) Mnih Volodymyr, Koray Kavukcuoglu, David Silver, Andrei A. Rusu, Joel Veness, Marc G. Bellemare, Alex Graves, Martin Riedmiller, Andreas K. Fidjeland, Georg Ostrovski, Stig Petersen, Charles Beattie, Amir Sadik, Ioannis Antonoglou, Helen King, Dharshan Kumaran, Daan Wierstra, Shane Legg, and Demis Hassabis. Human-level Control through Deep Reinforcement Learning. Nature, 529-33, 2015.

(2) Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, and Martin Riedmiller. Playing Atari with Deep Reinforcement Learning. NIPS, Deep Learning workshop.

(3)Kevin Chen. Deep Reinforcement Learning for Flappy Bird Report | Youtube result.

链接:

https://youtu.be/9WKBzTUsPKc

(4)https://github.com/sourabhv/FlapPyBird

(5)https://github.com/asrivat1/DeepLearningVideoGames

结语

更多python记得关注我的公众号 从0到1Python之路

相关文章

  • 利用Python破解Flappy Bird游戏!

    导语 昨天在看GitHub上深度学习方面stars较高的开源项目,于是发现了这个有趣的内容: 使用深度强化学习破解...

  • 利用Python破解Flappy Bird游戏!

    导语 昨天在看GitHub上深度学习方面stars较高的开源项目,于是发现了这个有趣的内容: 使用深度强化学习破解...

  • 通过Flappy Bird在Unity中实践Object Poo

    为了以防读者不明白Flappy Bird是什么游戏,先放出一张自制的flappy Bird小游戏来让大家有个印象。...

  • TensorFlow玩转Flappy Bird

    一、前言 关于TensorFLow 关于Flappy Bird Flappy Bird(非官方译名:笨鸟先飞)是一...

  • 用Swift做个游戏Lecture10 —— 优化游戏(终结篇)

    系列:用Swift作个游戏作者:pmst(1345614869)微博:PPPPPPMST Flappy Bird整...

  • Flappy Bird 小游戏

    各位读者老爷大家好,由于最近一直比较忙没什么空,导致好久没有更新文章了,明天有一天假期,就利用今晚时间和大家聊聊最...

  • 游戏_AHK FLAPPY BIRD

    关键词:Bird Game 详情点击 标签:单机游戏

  • Flappy Bird

    如果你在最近没有听过”Flappy Bird”,而又看到了这篇文章,那么可能性如下: 春节期间进入家庭模式,离开一...

  • Flappy Bird

    用swift来写一个FlappyBird. 项目地址: https://github.com/chilejiang...

  • 小学期作业总结报告

    游戏: flappy bird(草稿版) 游戏素材 在网上找了几张素材图片 将图片转成bmp格式 对图片进行一些处...

网友评论

    本文标题:利用Python破解Flappy Bird游戏!

    本文链接:https://www.haomeiwen.com/subject/ecjijqtx.html