强化学习代码实战(3) --- 寻找真我

前言

本文内容来自于南京大学郭宪老师在博文视点学院录制的视频,课程仅9元地址,配套书籍为深入浅出强化学习 编程实战 郭宪地址

正文

我们发现多臂赌博机执行一个动作之后,无论是选择摇臂1,摇臂2,还是摇臂3之后都会返回原来的状态,也就是说它的状态并没有改变,而右边的寻金币游戏,从1到2,智能体执行动作之后位置(状态)发生了变化,而强化学习就是寻找当前状态下最优的动作,或者说不同状态下最优动作合集(策略)。

从下图右可以看出,P和R都和s,a有关系,无模型就是因为缺P和R。

实际应用中,对于游戏一般用截取的图像信息作为s,但通常不能只用一帧图像作为s,比如说在大小球的游戏中,一帧图像,无法判断小球移动方向和球速,最起码要两帧,在实际应用中,为了提高精确度,一般用四帧图像作为s。AlphaGo中用过去八手双方棋局作为状态。

动作的定义

策略的定义:策略就是给定状态s时,动作集上的分布,比方说,找金币,智能体在状态5时,采用确定性策略,此时向西走概率为1,向其他方向为0,为改状态下的动作概率分布。

值函数定义:就是在策略Π下,智能体从状态s出发,用采用策略Π的累计回报的期望,简单理解,从状态s出发,不同的选择函数(策略,该策略是动作选择策略),会选择不同的动作,转移到不同的状态,最后会找到很多条路径(s,a),选则累计回报最大的路径。

值函数和行为值函数的区别:值函数只和s有关,行为值函数和s,a相关。但两者都是对策略Π的度量。

我们看一下寻找梦中的他游戏的环境设置,

状态空间:对下图进行10×10的网格划分也就是说会有100个不同的状态空间,所以最多会遍历100步,

动作空间:有上下左右四个选择

状态转移概率:此处主要说一下,鸳鸯在碰到障碍物时,不会移动到障碍物位置,而是继续保持原本状态,同样在即将出界时,也是保持原本状态。比方说,向东连续走两个格,第三个格有障碍物,不会移动到障碍物位置,而是保持原本位置不变。

立即回报:碰到障碍物时回报为-1,找到他时回报为1,正常移动回报为0

策略表示:使用了词典函数(待理解)

值函数:设置了10×10的矩阵,对应一百个表格(属于表格型强化学习)

环境渲染用到了pygame包,使用时共三个步骤

1.获取当前图片所在目录

2.获取图片文件名

3.下载图片,并转换成surface对象

最后要继续使用pygame绘制窗口

1.display.set_mode:绘制窗口幕布

2.blit:图片显示在窗口中

3.display.update:幕布更新函数

代码可从视频链接自取

参考文献

1.深入浅出强化学习 编程实战 郭宪

  1. 博文视点学院
相关推荐
好想有猫猫9 小时前
【51单片机】LCD1602液晶显示屏
c语言·单片机·嵌入式硬件·51单片机·1024程序员节
网安_秋刀鱼11 小时前
PHP代码审计 - SQL注入
sql·web安全·网络安全·php·1024程序员节
yaosheng_VALVE18 小时前
稀硫酸介质中 V 型球阀的材质选择与选型要点-耀圣
运维·spring cloud·自动化·intellij-idea·材质·1024程序员节
网安_秋刀鱼21 小时前
java组件安全
web安全·网络安全·1024程序员节
earthzhang202121 小时前
《深入浅出HTTPS》读书笔记(7):安全的密码学Hash算法
网络·网络协议·http·https·1024程序员节
程序员小海绵【vincewm】1 天前
【设计模式】结合Tomcat源码,分析外观模式/门面模式的特性和应用场景
设计模式·tomcat·源码·外观模式·1024程序员节·门面模式
一个通信老学姐1 天前
专业140+总分410+东北大学841考研经验东大电子信息与通信工程通信专业基础真题,大纲,参考书
考研·信息与通信·信号处理·1024程序员节
惜.己1 天前
Jmeter中的监听器(一)
测试工具·jmeter·1024程序员节
纪伊路上盛名在1 天前
AI制作ppt
1024程序员节
爱搞技术的猫猫1 天前
实现API接口的自动化
大数据·运维·数据库·性能优化·自动化·产品经理·1024程序员节