mxnet 动手学深度学习

时间:2023-03-09 06:55:02
mxnet 动手学深度学习

http://zh.gluon.ai/chapter_crashcourse/introduction.html

强化学习(Reinforcement Learning)

如果你真的有兴趣用机器学习开发一个能与周围环境交互并产生影响的智能体,你大概需要专注于强化学习(以下简称RL)。包括机器人程序、对话系统、甚至是电子游戏AI的开发。深度强化学习(Deep reinforcement learning,DRL) 将深度神经网络应用到强化学习问题上是新的风潮。这一领域两个突出的例子,一个是突破性的Deep Q Network,仅仅使用视觉输入就在街机游戏上击败了人类;另一个是著名的AlphaGo击败了围棋世界冠军

强化学习给出了一个非常笼统的问题陈述,一个智能体在一系列的时间步长(time steps) 中与周围的环境交互。在每个时间步长 tt, 智能体从环境中接收到一些观察数据 otot,并选择一个动作 atat,将其传送回环境。最后,智能体会从环境中获得一个奖励(reward) rtrt。由此,智能体接收一系列的观察数据,并选择一系列的后续动作,并一直持续。RL 智能体的行为受到策略(policy) 约束。简而言之,所谓的策略,就是一组(对环境的)观察和动作的映射。强化学习的目标就是制定一个好的策略。

mxnet 动手学深度学习

RL框架的普适性并没有被夸大。例如,我们可以将任何监督学习问题转化为RL问题。譬如分类问题。我们可以创建一个RL智能体,每个分类都有一个对应的动作;然后,创建一个可以给予奖励的环境,完全等同于原先在监督学习中使用的损失函数。

除此以外,RL还可以解决很多监督学习无法解决的问题。例如,在监督学习中,我们总是期望训练使用的输入是与正确的标注相关联。但在RL中,我们并不给予每一次观察这样的期望,环境自然会告诉我们最优的动作,我们只是得到一些奖励。此外,环境甚至不会告诉我们是哪些动作导致了奖励。

举一个国际象棋的例子。唯一真正的奖励信号来自游戏结束时的胜利与否;如果赢了,分配奖励1;输了,分配-1;而究竟是那些动作导致了输赢却并不明确。因此,强化学习者必须处理信用分配问题(credit assignment problem)。另一个例子,一个雇员某天被升职;这说明在过去一年中他选择了不少好的动作。想要继续升职,就必须知道是那些动作导致了这一升职奖励。

强化学习者可能也要处理部分可观察性(partial observability)的问题。即当前的观察结果可能无法反应目前的所有状态(state)。一个扫地机器人发现自己被困在一个衣柜里,而房间中所有的衣柜都一模一样,要推测它的精确位置(即状态),机器人需要将进入衣柜前的观察一并放入考虑因素。

最后,在任何一个特定的时刻,强化学习者可能知道一个好的策略,但也许还有不少更优的策略,智能体从未尝试过。强化学习者必须不断决策,是否利用 目前已知的最佳战略作为策略,还是去探索 其它策略而放弃一些短期的奖励,以获得更多的信息。

马尔可夫决策过程,赌博机问题

一般的强化学习问题的初期设置都很笼统。动作会影响后续的观察数据。奖励只能根据所选择的动作观察到。整个环境可能只有部分被观察到。将这些复杂的因素通盘考虑,对研究人员来说要求有点高。此外,并非每一个实际问题都表现出这些复杂性。因此,研究人员研究了一些强化学习问题的特殊情况

当环境得到充分观察时,我们将这类RL问题称为马尔可夫决策过程(Markov Decision Process,简称MDP)。 当状态不依赖于以前的动作时,我们称这个问题为情境式赌博机问题(contextual bandit problem)。当不存在状态时,仅仅是一组可选择的动作,并在问题最初搭配未知的奖励,这是经典的多臂赌博机问题(multi-armed bandit problem)

李沐大神,讲的真是清楚。