强化学习模块
reinforcement的Python项目详细描述
钢筋
强化模块旨在为各种强化学习算法提供简单的实现。该模块试图不可知其使用情况,但实现了不同的解决方案的策略选择,价值和Q函数近似,以及不同的代理强化学习算法。
该项目处于早期阶段,目前只提供一个n步时差学习代理。该项目的主要目的是促进我自己对强化学习的理解,不考虑具体的应用。
安装
可以使用pip:
简单地安装库pip install reinforcement
模块结构
该模块分为三个主要部分。策略、奖励函数和代理,每一个都提供了构建强化学习代理所必需的组件。组件之间应该具有低依赖性,并共享一个简单的公共接口,以方便代理的模块化构造。
药剂
该模块包含使用策略组件和奖励功能组件实现强化学习算法的实际代理。目前,只实现了n步时差代理。
政策
此模块包含强化学习代理使用的操作选择策略。可用策略:epsilon greedy;normalized epsilon greedy。
奖励功能
本模块包含奖励功能的实现,这些功能由强化学习代理使用。可用的奖励函数:value table,q table,q神经网络
型号
加固还包含神经网络实现,可作为非线性奖赏函数逼近。目前,已经实现了两个回归模型,一个使用Keras,另一个使用纯Tensorflow。
架构
这个软件是用测试驱动的开发方法制作的,并试图坚持作者能力范围内的可靠原则。