强化学习
文章平均质量分 82
活塞君
这个作者很懒,什么都没留下…
展开
-
手把手教你做一个强化学习的环境,用pygame搭建一个可视化训练游戏环境(一)
可视化训练环境强化学习基本上用来学习的开源环境比较多,新手刚入门可以用gym就够了gym是基于pyglet搭建的,但是做不出比较高大上的效果,而且很多地方不如pygamepygamePygame是一组跨平台的Python模块, 用于创建视频游戏安装直接conda 里pip install pygame即可搭建流程(静态部分)先说一下常用的方法,基本上掌握了就可以组一个完善的小游戏首先在项目中导入pygameimport pygamefrom pygame.locals import *原创 2021-07-30 11:58:26 · 4668 阅读 · 9 评论 -
利用人工智能玩智龙迷城,神魔之塔,转珠游戏(三)白话说明强化学习中的特征工程,奖励工程
什么是特征工程?一句话:把特征转换为输入但是单纯的转换不满足我们的需求,要根据实际需要来比如要判断身高能否通过一个门,我们选取的特征就是身高的标量如果只是把身高的分类(高,矮)作为评价标准,那只需要onehot就行了(比如高就变成:高:1 矮:0)当然 上述两种方法都可以被接纳,因为深度学习就是从特征中学习,但是通过对特征预处理,可以有效降低噪音影响(就是让模型少学些无关东西,人为过滤掉无用的特征)顺带一提标准的特征工程包含以下几大类:时间戳处理、离散型变量处理、特征提取、分区、交叉特征、特征选原创 2021-07-23 10:56:11 · 624 阅读 · 1 评论 -
【小技巧】使用多进程加速强化学习训练速度
在我们训练网络的时候,会出现GPU显存占用不满的情况想最大化利用gpu加速训练可以从以下两个方向入手:使用多进程分别训练权重网络,然后再平均权重网络使用多进程获取环境参数,再交给主进程更新权重网络为什么是多进程(Multiprocessing)python底层是基于C的伪多线程,说是多线程实际上是挂了一个全局锁的单线程。加了一些线程切换反而会变慢,这时候需要用多进程去加速多进程使用上和多线程差不多import multiprocessing as mp mp1 = mp.Pro原创 2021-07-20 14:59:56 · 3189 阅读 · 6 评论 -
利用人工智能玩智龙迷城,神魔之塔,转珠游戏(二)DQN
前言我们知道了使用q-learning可以解决延迟奖励问题,但是还是有一个问题,他的表格太大了所以我们使用神经网络来代替q表格,就是DQN啦DQN我们先设定一堆超参数(实际上跑一遍代码就知道他们分别有什么作用了):# 超参数BATCH_SIZE = 8 #一次抽8个batch训练LR = 0.005 # learning rateEPSILON = 0.9 # 就是0.1的几率瞎选GAMMA = 0.原创 2021-07-16 13:57:58 · 701 阅读 · 4 评论 -
利用人工智能玩智龙迷城,神魔之塔,转珠游戏(一)强化学习介绍
强化学习为什么是强化学习?为了方便理解,这里就用最白话的方式说明在之前的转珠算法中,想要实现记忆化存储,即记录每个状态下每个动作的结果,通过查表即可直接获取数据。举个例子,比如版面是:1 1 2 2 2 33 3 4将第二行第三个数字向下移动一格就可以完成一次combo(reward) 从数据角度来看 就相当于动作1动作2…状态1(112,223,334的版面)(2,3)的珠子往下移动一格…………所以我们在状态1的时候采取了动作1,得到一次原创 2021-07-09 16:56:46 · 492 阅读 · 0 评论