强化学习常用算法+实际应用 ,必须get这些核心要点!

共 2527字,需浏览 6分钟

 ·

2022-06-24 10:57


点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达


【导读】强化学习(RL)是现代人工智能领域中最热门的研究主题之一,其普及度还在不断增长。本文介绍了开始学习RL需要了解的核心要素。戳右边链接上  了解更多!

强化学习是现代人工智能领域中最热门的研究主题之一,其普及度还在不断增长。 



强化学习是什么?和其他机器学习技术有何区别?
强化学习是一种机器学习技术,它使代理能够使用自身行为和经验的反馈通过反复试验在交互式环境中学习。

尽管监督学习和强化学习都使用输入和输出之间的映射,但监督学习提供给智能体的反馈是执行任务的正确动作集,而强化学习则将奖惩作为正面和负面行为的信号。 

无监督学习在目标方面有所不同。无监督学习的目标是发现数据点之间的相似点和差异,而在强化学习的情况下,目标是找到合适的行为模型,以最大化智能体的总累积奖励。 

下图说明了通用强化学习模型的动作奖励反馈回路。


如何制定基本的强化学习问题?


一些描述强化学习问题基本要素的关键术语是:

  • 环境-智能体在其中运行的物理状态

  • 状态-智能体的当前状况

  • 奖励-来自环境的反馈

  • 策略-映射智能体状态到动作的方法

  • 值-智能体在特定状态下采取的行动将获得的未来奖励


强化学习问题可以通过游戏来最好地解释。让我们以吃豆人游戏为例,智能体(PacMan)的目标是在网格中吃掉食物,同时避开途中出现的鬼魂。 

在这种情况下,网格世界是智能体所作用的交互式环境。智能体成功迟到豆豆会得到奖励,如果智能体被幽灵杀死(输掉了游戏)则会被惩罚。 

状态值得是智能体在网格世界中的位置,总累积奖励是赢得比赛。



为了建立最优政策,智能体面临探索新状态的困境,同时又要使其整体收益最大化,这称为“探索与开发”的权衡。

为了平衡两者,最佳的整体策略可能涉及短期牺牲。因此,智能体应该收集足够的信息,以便将来做出最佳的总体决策。

马尔可夫决策过程(MDP)是描述强化学习环境的数学框架,几乎所有强化学习问题都可以使用MDP来表述。

一个MDP由一组有限的环境状态S,在每种状态下的一组可能的动作A,一个实值奖励函数R和一个过渡模型P(s’,s | a)组成。

但是,现实环境更可能缺少任何有关环境动力学的先验知识。在这种情况下,无模型强化学习方法非常有用。

Q学习是一种常用的无模型方法,可用于构建自己玩的PacMan智能体。它围绕更新Q值的概念展开,Q值表示在状态s中执行动作a的值。以下值更新规则是Q学习算法的核心。



什么是最常用的强化学习算法?

 

Q学习和SARSA(状态-行动-奖励-状态-行动)是两种常用的无模型强化学习算法。它们的勘探策略不同,而利用策略却相似。 

Q-学习是强化学习的一种方法。Q-学习就是要记录下学习过的政策,因而告诉智能体什么情况下采取什么行动会有最大的奖励值。Q-学习不需要对环境进行建模,即使是对带有随机因素的转移函数或者奖励函数也不需要进行特别的改动就可以进行。

对于任何有限的马可夫决策过程(FMDP),Q-学习可以找到一个可以最大化所有步骤的奖励期望的策略,在给定一个部分随机的策略和无限的探索时间,Q-学习可以给出一个最佳的动作选择策略。“Q”这个字母在强化学习中表示一个动作的品质(quality)。

而SARSA是一种策略上方法,在其中根据其当前操作a得出的值来学习值。这两种方法易于实现,但缺乏通用性,因为它们无法估计未知状态的值,这可以通过更高级的算法来克服,例如使用神经网络来估计Q值的Deep Q-Networks(DQNs)。但是DQN只能处理离散的低维操作空间。

深度确定性策略梯度(DDPG)是一种无模型,脱离策略,actor-critic的算法,它通过在高维连续操作空间中学习策略来解决此问题。下图是actor-critic体系结构的表示。



强化学习的实际应用是什么?
由于强化学习需要大量数据,因此它最适用于容易获得模拟数据的领域,例如游戏性,机器人技术。

强化学习被广泛用于构建用于玩计算机游戏的AI。AlphaGo Zero是第一个在古代中国的围棋游戏中击败世界冠军的计算机程序。其他包括ATARI游戏,西洋双陆棋等。在机器人技术和工业自动化中,强化学习用于使机器人自己创建有效的自适应控制系统,该系统从自身的经验和行为中学习。 DeepMind在“通过异步策略更新进行机器人操纵的深度强化学习”方面的工作就是一个很好的例子。

强化学习的其他应用包括抽象文本摘要引擎,可以从用户交互中学习并随时间改进的对话智能体(文本,语音),学习医疗保健中的最佳治疗策略以及用于在线股票交易的基于强化学习的智能体。

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇




下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 13
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报