强化学习-基础知识
1. 前言
在机器学习中,我们比较熟知的是监督式学习,非监督学习,此外还有一个大类就是强化学习。强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决自动进行决策,并且可以做连续决策。
2. 强化学习定义
它主要包含五个元素,Agent(智能体),Environment(环境),State(状态),Action(行动),Reward(奖励),强化学习的目标就是获得最多的累计奖励。
强化学习经典图:
这张图很好的解释了智能体和环境之间的相互作用。在某个时间步t,智能体处于状态\(s_t\),采取动作\(a_t\)。然后环境会返回一个新的状态\(s_{t+1}\)和一个奖励\(r_{t+1}\)。奖励处于\(t+1\)时间步是因为它是由环境在\(t+1\)的状态\(s_{t+1}\)返回的,因此让它们两个保持一致更加合理。
2.1 强化学习例子
小孩想要走路,但在这之前,他需要先站起来,站起来之后还要保持平衡,接下来还要先迈出一条腿,是左腿还是右腿,迈出一步后还要迈出下一步。
小孩就是Agent,他试图通过采取Action(即行走)来操纵Environment(行走的表面),并且从一个状态State转变到另一个状态State(即他走的每一步),当他完成任务的子任务(即走了几步)时,孩子得到Reward(给巧克力吃),并且当他不能走路时,就不会给巧克力。
如图所示:
3. 强化学习和监督学习, 非监督学习的区别
3.1 强化学习和非监督学习的区别
非监督学习不是学习输入到输出的映射,而是学习出模式。例如在向用户推荐新闻文章的任务中,非监督式会找到用户先前已经阅读过类似的文章并向他们推荐其一,而强化学习将通过向用户先推荐少量的新闻,并不断获得来自用户的反馈,最后构建用户可能会喜欢的文章的“知识图”。
3.2 强化学习和监督学习的区别
监督学习就好比你在学习的时候,有一个导师在旁边指点,他知道怎么是对的怎么是错的,但在很多实际问题中,有成千上万种组合方式的情况,不可能有一个导师知道所有可能的结果。
而这时,强化学习会在没有任何标签的情况下,通过先尝试做出一些行为得到一个结果,通过这个结果是对还是错的反馈,调整之前的行为,就这样不断的调整,算法能够学习到在什么样的情况下选择什么样的行为可以得到最好的结果。
4. 强化学习的基本概念
- State(缩写s)环境的状态,t时刻环境的状态\(s_t\)是它的环境状态集中某一个状态。
- Action(缩写a)智能体的动作,t时刻个体采取的动作\(a_t\)是它的动作集中某一个动作。
- Reward(缩写r)环境的奖励,t时刻个体在状态\(s_t\)采取的动作\(a_t\)对应的奖励\(r_{t+1}\)会在t+1时刻得到。
- Policy(缩写\(\pi\))个体的策略,它代表个体采取动作的依据,即个体会依据策略\(\pi\)来选择动作。最常见的策略表达方式是一个条件概率分布\(\pi(a|s)\), 即在状态s时采取动作a的概率。即\(\pi(a|s)=P(a_t=a|s_t=s)\).此时概率大的动作被个体选择的概率较高。
- Value(缩写v)个体在策略\(\pi\)和状态s时,采取行动后的价值,一般用\(v_\pi(s)\)表示。这个价值一般是一个期望函数。虽然当前动作会给一个延时奖励\(r_{t+1}\),但是光看这个延时奖励是不行的,因为当前的延时奖励高,不代表到了\(t+1\),\(t+2\),...时刻的后续奖励也高。比如下象棋,我们可以某个动作可以吃掉对方的车,这个延时奖励是很高,但是接着后面我们输棋了。此时吃车的动作奖励值高但是价值并不高。因此我们的价值要综合考虑当前的延时奖励和后续的延时奖励。价值函数\(v\pi(s)\)一般可以表示为下式,不同的算法会有对应的一些价值函数变种,但思路相同。
- \(\gamma\)是模型要素,即奖励衰减因子,在[0,1]之间。如果为0,则是贪婪法,即价值只由当前延时奖励决定,如果是1,则所有的后续状态奖励和当前奖励一视同仁。大多数时候,我们会取一个0到1之间的数字,即当前延时奖励的权重比后续奖励的权重大。
- \(P^a_{ss'}\)第七个是环境的状态转化模型,可以理解为一个概率状态机,它可以表示为一个概率模型,即在状态\(s\)下采取动作\(a\),转到下一个状态\(s'\)的概率,表示为\(P^a_{ss'}\)。
- \(\epsilon\)是探索率,这个比率主要用在强化学习训练迭代过程中,由于我们一般会选择使当前轮迭代价值最大的动作,但是这会导致一些较好的但我们没有执行过的动作被错过。因此我们在训练选择最优动作时,会有一定的概率\(\epsilon\)不选择使当前轮迭代价值最大的动作,而选择其他的动作。
以上8个就是强化学习模型的基本要素了。当然,在不同的强化学习模型中,会考虑一些其他的模型要素,或者不考虑上述要素的某几个,但是这8个是大多数强化学习模型的基本要素。