强化学习是机器学习的一种学习方式,它跟监督学习、无监督学习是对应的。本文将详细介绍强化学习的基本概念、应用场景和主流的强化学习算法及分类。
目录
[强化学习(reinforcement learning)](#强化学习(reinforcement learning))
什么是强化学习?
强化学习并不是某一种特定的算法,而是一类算法的统称。
如果用来做对比的话,他跟监督学习,无监督学习 是类似的,是一种统称的学习方式。
强化学习算法的思路非常简单,以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。这种策略与日常生活中的各种「绩效奖励」非常类似。我们平时也常常用这样的策略来提高自己的游戏水平。
在 Flappy bird 这个游戏中,我们需要简单的点击操作来控制小鸟,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励。
这就是一个典型的强化学习场景:
- 机器有一个明确的小鸟角色------代理
- 需要控制小鸟飞的更远------目标
- 整个游戏过程中需要躲避各种水管------环境
- 躲避水管的方法是让小鸟用力飞一下------行动
- 飞的越远,就会获得越多的积分------奖励
强化学习和监督学习、无监督学习 最大的不同就是不需要大量的**"数据喂养"**。
而是通过自己不停的尝试来学会某些技能。
强化学习的应用场景
强化学习目前还不够成熟,应用场景也比较局限。最大的应用场景就是游戏了。
游戏
2016年:AlphaGo Master 击败李世石,使用强化学习的 AlphaGo Zero 仅花了40天时间,就击败了自己的前辈 AlphaGo Master。
2019年1月25日:AlphaStar 在《星际争霸2》中以 10:1 击败了人类顶级职业玩家
2019年4月13日:OpenAI 在《Dota2》的比赛中战胜了人类世界冠军。
机器人
机器人很像强化学习里的「代理」,在机器人领域,强化学习也可以发挥巨大的作用。
其他
强化学习在推荐系统,对话系统,教育培训,广告,金融等领域也有一些应用:
强化学习的主流算法
免模型学习(Model-Free) vs 有模型学习(Model-Based)
在介绍详细算法之前,我们先来了解一下强化学习算法的2大分类。这2个分类的重要差异是:智能体是否能完整了解或学习到所在环境的模型
有模型学习(Model-Based)对环境有提前的认知,可以提前考虑规划,但是缺点是如果模型跟真实世界不一致,那么在实际使用场景下会表现的不好。
免模型学习(Model-Free)放弃了模型学习,在效率上不如前者,但是这种方式更加容易实现,也容易在真实场景下调整到很好的状态。所以免模型学习方法更受欢迎,得到更加广泛的开发和测试。
除了免模型学习和有模型学习的分类外,强化学习还有其他几种分类方式:
- 基于概率 VS 基于价值
- 回合更新 VS 单步更新
- 在线学习 VS 离线学习
强化学习(reinforcement learning)
又称再励学习、评价学习,是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。
但在传统的机器学习分类中没有提到过强化学习,而在连接主义学习中,把学习算法分为三种类型,
非监督学习(unsupervised learning)、监督学习(supervised leaning)和强化学习。
强化学习(RL)是机器学习的一个领域,涉及软件代理如何在环境中采取行动以最大化一些累积奖励的概念。该问题由于其一般性,在许多其他学科中得到研究,如博弈论,控制理论,运筹学,信息论,基于仿真的优化,多智能体系统,群智能,统计和遗传算法。。在运筹学和控制文献中,强化学习被称为近似动态规划或神经动态规划。