最近需要做深度强化学习方面的内容,所以对这部分内容进行一下记录。
以下是参考的资料:
强化学习入门 量子位公众号对一篇博客的翻译,强化学习入门很不错。
Deep Reinforcement Learning: An Overview 一篇关于深度强化学习的综述文章,机器之心公众号有对其的翻译,可以看一下。
知乎--强化学习怎么入门好? 知乎上有详细的专栏介绍。
OpenAI 深度强化学习资源 包含入门基础和代码。Spinning up项目是OpenAI教育项目的一部分,主要就是提供深度强化学习的教育资源。
接下来是对一些基本概念的整理,我是从强化学习开始整理的:
1、强化学习(Reinforcement Learning,RL),序列决策的工具,有以下几类对象:
代理 (agent) 智能体,相当于进行决策的主体。
动作(action)由代理做出,相当于做出何种决策。
奖励(reward) 由代理获得。强化学习的目标就是获得尽可能多的奖励。
环境(environment) 代理所处的应用场景
状态(state) 代理当前的状态
对于整个强化学习,代理,即智能体,通过动作与环境进行交互,从而产生新的状态,环境会据此给出一个奖励(不同的动作会带来不同的奖励)。代理不断循环这个过程,与环境交互产生新的数据。目标是获取尽可能多的奖励,强化学习算法会根据产生的数据不断修改自身的动作策略,最终达到一个最优的动作,积累最多的奖励。
因此,强化学习的过程是交互的,与其他的机器学习算法如监督学习和非监督学习是不一样的。强化学习涉及的对象更多,更像是人类学习的过程
2、策略(policy), 代理agent作出何种动作的策略。它指的并不是在具体的状态下作出何种动作,而是从全局的角度,可以看做是一个函数,输入是状态state,输出是动作action,强化学习中的策略学习方法目标就是学得一个最佳的策略,获得最大的reward。
3、马尔科夫决策过程(Markov Decision Process, MDP)
(1)马尔科夫性质:系统的下一个状态的概率分布只依赖于前一个状态
。即对任意时间t,对任意状态
,均有
其核心假设是不论过去发生了什么,不论系统如何到达状态,下一个时刻转移到状态
的概率只与
,与以前的状态均无关。
马尔科夫性质描述的是每个状态的性质,对于一个随机变量序列,如果每个状态都具有马尔科夫性质,那么这个随机过程称之为马尔科夫随机过程。
(2)马尔科夫随机过程(Markov Process):由一个二元组(S,P)表示,S={1,...,m}是状态集合,P是状态转移概率。可以用状态转移概率矩阵描述,也可以直观的用状态转移概率图来表示。
状态转移概率矩阵,为简单的二元矩阵:
注意:矩阵每行的概率之和为1,即当前状态为i,那么下一个状态为1,2,...,m的概率为,所有状态的概率之和为1。
状态转移概率图,用节点表示状态,连接节点的有向弧线代表可能发生的转移: