2013年伦敦的一家人工智能公司 Deep Mind 发表了一篇论文 “Playing Atari with Deep Reinforcement Learning”,一个月后 Google 就收购了这家公司。从那之后,Reinforcement Learning 在人工智能领域就火了起来。2016年AlphaGo赢了与人类的围棋比赛,它也是用的强化学习。
它是指 autonomous agent,例如,人,动物,机器人 或者是 深度网络,通过使奖励达到最大化,来学会在不确定环境中进行定位。
例如,运动。
一个 autonomous agent 要学习如何打 tennis 比赛,它需要考虑这些动作:serves, returns, and volleys,这些行为会影响谁赢谁输。 执行每一个动作都是在一个激励下进行的,就是要赢得比赛。 为了实现比分最大化,它需要遵循一个策略。
agent 的行为会改变外界环境或者状态,所以 需要将 state 和 action 作为输入, 最高预期回报作为输出。需要在每个动作时都考虑整体的期望回报值。
DeepMind 建立了一个 CNN,不过输出不是分类,而是 maximum reward 的目标值,所以其实是在做回归,而不是分类。 而且没有用 pooling 层,因为图中的物体,人的位置,都很重要,不能被剪掉。
一个 recurrent network 也可以做到,只要问题变为回归,并且每个时间点都包括 action 和 environment state。
还有 Deep Q-Network,它也是在每个 action 和 environment state 下达到最大回报。此外还做了一些改进,加入了经验回放和决斗网络架构。
监督式学习是根据历史的经验来感知周围的环境,但这个不太靠谱,例如,你车,一周前这条路很 clear,现在这条路很挤,那要怎么学习呢。
而强化学习却是根据 reward 来学习的,agent 的每个动作都会有一个得分。如果遵守了交通规则,限速行驶等,就会给加分,但是如果做了危险的操作,例如加速,就会减分。所以要学会,在当前环境中如何获得最高分,它的每个动作都会改变最终的结果。
通过强化学习,一个 agent 可以在探索和开发之间权衡,并且选择一个最大的回报。
强化学习还包括 goal setting, planning, perception 等课题,可以看文末链接学习更多。
Relevant URLs Richard Sutton book: https://webdocs.cs.ualberta.ca/~sutto... Tambet Matiisen post: https://www.nervanasys.com/demystifyi... Andrej Karpathy post: http://karpathy.github.io/2016/05/31/rl/