[原创] 强化学习(Reinforcement Learning)文章合集

强化学习是一种机器学习范式,通常用于让机器自主进行决策和学习。以下是一些强化学习的应用:

1. 游戏AI:使用强化学习算法训练游戏AI,在玩家水平越来越高的时候,AI能够逐渐提高自己的技能。
2. 机器人控制:对于一个机器人而言,强化学习可以帮助它在不同的任务下找到最优解决方案,如自主驾驶车辆、无人机控制、工厂物流等。
3. 资源管理:例如电力系统、水资源等,这些领域都需要有效的调度和分配资源,在这些领域应用强化学习可以帮助实现更优秀的效果。
4. 自然语言处理:通过基于强化学习算法训练模型,可以使计算机更好地理解自然语言,并根据上下文做出正确的回答或者翻译。


强化学习框架 rlpyt 源码分析:(1) 随处可见的Python可变参数

强化学习框架 rlpyt 源码分析:(2) 掌管训练流程的runner类

强化学习框架 rlpyt 源码分析:(3) 相当简洁又十分巧妙的EpsilonGreedy类

强化学习框架 rlpyt 源码分析:(4) 收集训练数据的sampler类

强化学习框架 rlpyt 源码分析:(5) 提供额外参数的Mixin类

强化学习框架 rlpyt 源码分析:(6) 模型指标什么时候从 nan 变成有意义的值

强化学习框架 rlpyt 源码分析:(7) 模型参数是在哪更新的

强化学习框架 rlpyt 源码分析:(8) 基于CPU的并行采样器CpuSampler

强化学习框架 rlpyt 源码分析:(9) 基于CPU的并行采样器CpuSampler

强化学习框架 rlpyt 源码分析:(10) 基于CPU的并行采样器CpuSampler,worker的实现

强化学习框架 rlpyt:如何同时输出gaussian(高斯)和categorical(类别)的action

强化学习框架 rlpyt:如何保存训练过程中的所有model

强化学习框架 rlpyt:如何使用预训练(pre-trained)的model

强化学习的Atari环境下的frame skipping(跳帧)是指什么

强化学习框架 rlpyt 并行(parallelism)原理初探

强化学习框架 rlpyt 的 size mismatch 错误原因及解决办法

强化学习框架 rlpyt 使用GPU训练模型

总有一天,失业不再遥远

✍To be added...

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):

wechat qrcode of codelast

《[原创] 强化学习(Reinforcement Learning)文章合集》有2条评论

  1. rlpyt確實有點復雜嘞。。。所以請問如果想換成非atari的環境到底該怎麼操作,可以出一篇例子嘛?非常感謝

    回复
    • 非Atari环境是指其他的游戏环境,还是指非游戏的、自定义的、自己使用的业务场景的环境?
      如果是前者,我没试过,没法给例子。

      如果是后者,我有以下的步骤指南:
      (1)从example_1.py开始,这个例子使用了DQN,而且它的action space是离散的。最开始我还复制了example_1.py,并修改了必要的部分,以符合我的要求。
      (2) 你需要写自己的环境类GemHouEnv,它包含了特征提取的主要逻辑,和奖励函数,以及环境步进(在环境中前进),还有从环境中获取观测值的函数,以及重置环境的函数,这些你都可以参考atari_env.py来了解详情。
      (3)你需要写一个自己的GemHouDqnAgent类,详情可以参考类AtariDqnAgent。
      (4)你需要写自己的GemHouMixin类来定义传递给deep model的参数,详情可参考类AtariMixin。
      (5)需要自己写GemHouDqnModel类来定义神经网络,它输入一个vector,输出一个vector,详情参考AtariDqnModel。
      (6)至于GemHouDqnAgent中使用的DqnAgent类,完全不需要修改,和AtariDqnAgent一样。

      我认为主要工作是集中在GemHouEnv上,你不需要写算法代码(rlpyt已经提供了),你需要做的就是把我上面提到的代码编写出来,然后把它们整合成一个整体。
      另外,先从CPU的实现开始,因为GPU的实现似乎比较复杂,会引起更多的调试工作。

      回复

回复 learnhard 取消回复