干货 | Python人工智能在贪吃蛇游戏中的应用探索(上)(一)

简介: 干货 | Python人工智能在贪吃蛇游戏中的应用探索(上)

前言

一个月前,人工智能对我来说都是很陌生的,更不用说神经网络、强化学习、DQN等名词了。疫情期间,经过在家努力学习,我对这些概念越来越清晰了,也越来越喜欢上了它们。微信图片_20220423105924.gif

下面,我想写一些收获,希望能给同样想在这方面学习的小伙伴一点启发,也欢迎大家指教,一起进步哦。今天的内容主要有以下几方面:

  • 什么是神经网络
  • tensorflow的安装和开发环境的配置
  • 强化学习Q_Learning
  • 深度神经网络DQN
  • 利用DQN开发的贪吃蛇程序

后续我将分三篇来进行该主题的分享,让我们开始吧!

什么是神经网络

神经网络原本指的是生物神经网络,人工智能兴起后,产生了人工神经网络(artificial neural network,缩写ANN)。人的神经接受信息以后,通过轴突传至末梢,转化成一种人可接受的信息。

而ANN是指由大量的处理单元(神经元) 互相连接而形成的复杂网络结构,是对人脑组织结构和运行机制的某种抽象、简化和模拟,以数学模型模拟神经元活动,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。

微信图片_20220423105927.png生物神经网络图

神经网络主要由:输入层、隐藏层、输出层构成。如图,最左边的一层称为输入层,位于这一层的神经元称为输入神经元。最右边的输出层包含了输出神经元。中间的层被称为隐藏层。隐藏层就是既不是输入也不是输出的层次,一个神经网络可以有一个或多个隐藏层。

微信图片_20220423105929.jpg神经网络构成

网络中的输入和输出层一般都被设计的很简单。网络输入层的每个神经元代表了一个特征,输出层个数代表了分类标签的个数。而隐藏层的设计比较复杂,隐藏层作用很大,就其本身而言,每一层都可以视为一个单独的机器学习算法。

每个隐藏层神经元/输出层神经元的值(激活值),都是由上一层神经元,经过加权求和与非线性变换而得到的。上游层的输出被用作输入,它的输出被传递到下一层,然后下一层使用该输出作为输入,依此类推。

此行为意味着,当堆叠各种层和创建深度神经网络时,系统会学习数据的中间表示,以帮助下游层更有效地完成其工作。现在,神经网络的研究人员已经开发了隐藏层的许多的最优设计规则,帮助我们决定如何权衡网络的隐藏层数和训练网络所需的时间。

总结:建立神经网络的方法:建立M个隐藏层,按顺序建立输入层跟隐藏层的联结,最后建立隐藏层跟输出层的联结。为每个隐藏层的每个节点选择激活函数。求解每个联结的权重和每个节点自带的bias值。

下面重点描述下神经网络中的概念。

结构:结构指定了网络中的变量和它们的拓扑关系。例如,神经网络中的变量可以是神经元连接的权重和神经元的激励值。激活函数(激励函数)与权重

权重:通俗来讲就是各个变量在计算中所占比重。举个简单的例子,大学的每一门科目都有相应的学分,这个学分意味着在加权时所占的比重,我们假设哲学占5学分,数学3学分,就有得到值A。在神经元中,这个值会被带入激活函数进一步处理。

此处还涉及到偏值b,其大概相当于一次函数的截距,我们通过b来适当控制值的范围。常见激活函数如下:

微信图片_20220423105932.png激活函数

损失函数:如下公式,此处为得到的输出值,则是期望值,当函数值趋于零,就得到了理想的输出值(不一定是最好的)。从数学的角度来讲,我们写出的损失函数,在输出值趋于期望时,函数值要尽可能快的趋于零,如果在绝对值外添加次方,即可达到这一效果。

根据损失函数的大小,我们以此来调整权重和偏值,寻找最优解。

学习规则:指定了网络中的权重如何随着时间推进而调整。一般情况下,学习规则依赖于神经元的激励值。它也可能依赖于监督者提供的目标值和当前权重的值。

相关文章
|
20天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在医疗诊断中的应用与前景####
本文深入探讨了人工智能(AI)技术在医疗诊断领域的应用现状、面临的挑战及未来发展趋势。通过分析AI如何辅助医生进行疾病诊断,提高诊断效率和准确性,以及其在个性化医疗中的潜力,文章揭示了AI技术对医疗行业变革的推动作用。同时,也指出了数据隐私、算法偏见等伦理问题,并展望了AI与人类医生协同工作的前景。 ####
44 0
|
21天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
112 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
15天前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
10天前
|
数据采集 人工智能 移动开发
盘点人工智能在医疗诊断领域的应用
人工智能在医疗诊断领域的应用广泛,包括医学影像诊断、疾病预测与风险评估、病理诊断、药物研发、医疗机器人、远程医疗诊断和智能辅助诊断系统等。这些应用提高了诊断的准确性和效率,改善了患者的治疗效果和生活质量。然而,数据质量和安全性、AI系统的透明度等问题仍需关注和解决。
130 10
|
17天前
|
机器学习/深度学习 人工智能 算法
探索人工智能在医疗诊断中的应用
本文深入探讨了人工智能(AI)技术在医疗诊断领域的革新性应用,通过分析AI如何助力提高诊断准确性、效率以及个性化治疗方案的制定,揭示了AI技术为现代医学带来的巨大潜力和挑战。文章还展望了AI在未来医疗中的发展趋势,强调了跨学科合作的重要性。 ###
65 9
|
20天前
|
机器学习/深度学习 数据采集 人工智能
深度探索:人工智能在医疗影像诊断中的应用与挑战####
本文旨在深入剖析人工智能(AI)技术在医疗影像诊断领域的最新进展、核心优势、面临的挑战及未来发展趋势。通过综合分析当前AI算法在提高诊断准确性、效率及可解释性方面的贡献,结合具体案例,揭示其在临床实践中的实际价值与潜在局限。文章还展望了AI如何与其他先进技术融合,以推动医疗影像学迈向更高层次的智能化时代。 ####
|
23天前
|
缓存 开发者 Python
深入探索Python中的装饰器:原理、应用与最佳实践####
本文作为技术性深度解析文章,旨在揭开Python装饰器背后的神秘面纱,通过剖析其工作原理、多样化的应用场景及实践中的最佳策略,为中高级Python开发者提供一份详尽的指南。不同于常规摘要的概括性介绍,本文摘要将直接以一段精炼的代码示例开篇,随后简要阐述文章的核心价值与读者预期收获,引领读者快速进入装饰器的世界。 ```python # 示例:一个简单的日志记录装饰器 def log_decorator(func): def wrapper(*args, **kwargs): print(f"Calling {func.__name__} with args: {a
35 2
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
探索未来编程:Python在人工智能领域的深度应用与前景###
本文将深入探讨Python语言在人工智能(AI)领域的广泛应用,从基础原理到前沿实践,揭示其如何成为推动AI技术创新的关键力量。通过分析Python的简洁性、灵活性以及丰富的库支持,展现其在机器学习、深度学习、自然语言处理等子领域的卓越贡献,并展望Python在未来AI发展中的核心地位与潜在变革。 ###
|
23天前
|
机器学习/深度学习 数据采集 人工智能
探索人工智能在医疗诊断中的应用与挑战
随着人工智能技术的飞速发展,其在医疗领域的应用日益广泛,尤其是在疾病诊断方面展现出巨大的潜力。本文将深入探讨AI技术在医疗诊断中的应用现状、面临的挑战以及未来的发展趋势,旨在为相关领域的研究者和从业者提供参考和启示。
48 2