Task 01
学习支持方:DataWhale
开源学习地址:datawhalechina.github.io/joyrl-book/…
开源贡献:王琦、杨毅远、江季、韵婉、李程、东东、王莹莹、杨胜毅
内容说明:本内容是深度强化学习的基础,主要目标是学习常见的强化学习算法以及其应用。
学习者:LouisCanBe LouisCanBe 的个人主页 - 文章 - 掘金
月份:2024.06
周期:19天
知识回顾
绪论
为什么学习强化学习
常见的试错学习便是强化学习的一种形式,
在学习过程中个人做出的每一次尝试都是是一次决策 ( decision ),每一次决策都会带来相应的后果,这个后果可能是好的,也可能是坏的,也可能是即时的,比如我们吃到棉花糖就能立刻感受到它的甜度,也可能是延时的,比如寒窗苦读十年之后,方得一日踏阅长安花。
我们把好的结果称为奖励( reward ),坏的结果称为惩罚( punishment )或者负的奖励。最终通过一次次的决策来实现目标,这个目标通常是以最大化累积的奖励来呈现的,这个过程就是序列决策( sequential decision making )过程,而强化学习就是解决序列决策问题的有效方法之一
对于任意问题,只要能够建模成序列决策问题或者带有鲜明的试错学习特征,就可以使用强化学习来解决,并且这是截至目前最为高效的方法之一,这就是要学习强化学习的原因。
强化学习研究方向
多智能体强化学习( ,multi-agent reinforcement learning,MARL )就是在多个智能体的环境下进行强化学习
从数据中学习
探索策略
实时环境
多任务强化学习
马尔可夫决策过程MDP
Markov decision process,MDP 强化学习中的基本问题模型之一
预备知识 概率论相关知识,尤其是条件概率、全概率期望公式
马尔可夫决策过程描述成一个今天常用的写法,即用一个五元组 <𝑆,𝐴,𝑅,𝑃,𝛾> 来表示。其中 𝑆 表示状态空间,即所有状态的集合,𝐴 表示动作空间,𝑅 表示奖励函数,𝑃 表示状态转移矩阵,𝛾 表示折扣因子
重要概念 马尔可夫性质、回报、状态转移矩阵、轨迹、回合
实战记录
书中的代码实现主要基于 Python 语言,因此读者需要先搭建好相关编程环境。编程环境主要包括语言包和代码编辑器,其中语言包是指 Python 语言的安装包,代码编辑器是指用来编写代码的软件,比如 PyCharm、Jupyter Notebook、Sublime Text 等等。
这里我们推荐使用 Anaconda 来安装 Python 语言包,VS Code 来编写代码。其中 Anaconda 不仅可以用来管理 Python 语言包,还可以用来管理 Python 的虚拟环境,这样可以避免不同项目之间的依赖冲突,同类的环境管理器还有 pipenv 等等,但都没有 Anaconda 功能更加强大。VS Code 是微软开发的一款轻量级代码编辑器,它不仅支持 Python 语言,还支持 C++、Java、JavaScript 等等,而且还可以安装各种插件,比如 Jupyter Notebook 插件,这样就可以在 VS Code 中直接运行 Jupyter Notebook 代码了,非常方便。
练习题
-
强化学习所解决的问题一定要严格满足马尔可夫性质吗?请举例说明。 主要解决有限马尔可夫决策过程,无限条件 泊松( Poisson ) 过程下要引入其他算法
-
马尔可夫决策过程主要包含哪些要素? 环境、状态、奖励、动作、
-
马尔可夫决策过程与金融科学中的马尔可夫链有什么区别与联系? 决策过程(MDP) 更注重动作选择,金融中马尔科夫链(Markov Chain)马尔可夫奖励过程(Markov reward process, MRP) 则在于状态转换和奖励机制