写点什么

技术分享 | 强化学习,让机器像人类一样自我学习

作者:鼎道智联
  • 2023-09-07
    北京
  • 本文字数:2295 字

    阅读完需:约 8 分钟

技术分享 | 强化学习,让机器像人类一样自我学习

如果说近年来有什么是各行各业共通的话题,那就一定是强化学习,这是一个让机器能够像人类一样通过与环境互动来学习和改进自己决策的领域。它不仅令人兴奋,而且具有革命性的潜力,可以改变我们生活和工作的方式。


随着计算能力的不断增强和数据的丰富性,强化学习正迅速发展,各大互联网企业也逐渐推出自己的大模型,让强化学习成为人工智能领域的一颗璀璨明珠。



强化学习 (Reinforcement Learning ),简称 RL, 是⼀种机器学习⽅法,旨在训练智能体(或机器⼈)从环境中获得经验,通过试错的⽅式逐渐提⾼其决策能⼒,以实现特定的目标。强化学习涉及到智能体与环境之间不断的互动和反馈,智能体根据环境的反馈调整其行为策略,逐渐学习到最优的决策⽅案。强化学习在众多领域中都有广泛的应用,如自动驾驶、游戏策略、金融交易、机器⼈控制等。

强化学习背后的思想是:⼀个 agent(智能体/机器⼈)从  “与环境交互并从行动中获取奖励” 中学习 ⸺ 这类似于⼈的成长过程。


  • agent:可以通过反复试验学习并做出决策的实体,它从周围环境中获得奖励和惩罚;

  • environment:虚拟的世界,用于 agent 通过与其交互来学习;

  • state :对 environment 的完整描述;

  • action :agent 执行的操作;

  • reward :: 分为激励和惩罚,是 RL 的基本因素,用于告诉 agent 它的 action 产生的结果是好还是坏。


  • agent 从 environment 中获取第⼀个 state S0 ;

  • 基于 S0 , agent 采取第⼀个 action A0 ;

  • environment 给出⼀个新的 state SA1;

  • environment 给出 reward R1 ;

循环以上 state、action 和 reward 步骤。agent 的目的是最大化累积奖励。



RL 的目的是获取累积的奖励, 期望获取最大累积收益。


  • 基本公式



等价于



  •  Jerry & Tom 的故事



这里 agent 是 Jerry。Jerry 想要获得最⼤的累积奖励就是要吃掉所有的奶酪, 但是越靠近 Tom 的地⽅危险就越⼤ ⸺ 即使那边有更多的奶酪,我们可能也不愿意先去冒这个风险,因为⼀旦被  Tom 抓住就⽆法再获取更多的奶酪, 从而⽆法达成  Jerry 的目标。所以再这里我们引⼊奖励系数 γ :


  • 危险越⼤ , 回报系数 γ 越小,Jerry 更关⼼短期奖励;

  • 危险越小, 回报系数 γ 越⼤ ,Jerry 更关⼼长期奖励;


因此我们改良了公式,即 :



本公式是在基本公式的基础上增加了奖励的权重:在每⼀步中都会按照权重的时间指数形式对奖励重新计算。随着时间的增加,Jerry 离 Tom 越近未来奖励发生的可能性越小。


  • 场景任务模型:

    这个模型中存在明确的开始点和结束点, 例如游戏:进⼊游戏是开始点, 游戏结束(被打死,或者玩到通关)是结束点。

  • 连续任务模型:

    在这个模型中⼀旦开始就会⼀直持续下去⸺ 除非主动退出, 例如投资股票, 需要不断的关注时长的变化。



针对任务模型, 这里提出了两种解决思路:


蒙特卡洛⽅法(Monte Carlo),是指在场景的结束时获取所有的奖励,并计算总体奖励。



整体步骤如下:

  • 游戏开始作为场景的起点;

  • 游戏结束作为场景的终点;

  • 在终点我们会得到⼀个 stats、actions、rewords 和新 states 的列表;

  • 根据公式计算总奖励;

  • 根据上面的公式更新 V(st);

  • 开始新⼀轮的游戏;

随着运行次数增多,我们的 Jerry 会吃得越来越多。


时间差学习⽅法(TD Temporal Difference Learning),TD 的⽅法与蒙特卡洛⽅法相反,它不会等待场景的结束在去计算,而是在每⼀步中评估未来预期最⼤奖励:它为当前经历的状态 S 评估价值 V;


TD 的核⼼思想是评估,即通过将其更新为⼀ 步目标来更新先前的估计 V(st)。


TD 不会等待场景的结束,而是在 (t+1) 时刻后都会使用得到的奖励值 Rt+1 来评估当前状态下的价值 V(St+1) ;而蒙特卡洛方法则需要经历多个周期才能得到理想的效果。


探索 :探索是指获取环境中更多的信息;

开发 :是从已知的信息中获取最大的收益;



我们时刻要记住 Jerry 的目标是最大化预期的累积收益。


在上面这个例子中, 如果只有开发,则 Jerry 周边就有无穷的小奶酪,那么 Jerry 仅会关注周围的小奶酪,而不会获取到远处的大奶酪;假如在这里加入一些探索,Jerry 就能获得更大的奖励。


所以我们需要指定一个规则, 用于对探索和开发的平衡。



使用基于价值的方法我们可以使用优化价值函数 V(s) ;它能告诉我们在 agent 每个状态下的最大未来预期回报。



每个状态的价值是 agent 从该状态开始到未来期望累积的奖励总额。agent 利用价值函数来选择每一步的状态:它会选择最大价值的状态。


直接优化策略函数 π(s) ,策略就是是在给定的时间定义的 agent 的行为。



通过策略函数,我们可以得到状态和最佳操作的映射关系。即:

  • 确定性 :一个给定的状态总是返回相同的操作;

  • 随机性 :输出操作的分布概率。




基于模型的方法不同的环境有不同的模型, 所以需要针对每种环境建立一个模型。


  • Q-Learning: 采用传统的算法去产生 Q table; 

  • Deep Q-Learning: 采用神经网络产生 Q value;




强化学习是一个迭代的过程,通常需要不断地调整参数、改进策略以及增加训练经验,以使代理能够逐渐提高性能。这一能力使得强化学习在面对复杂、不确定且动态变化的环境时表现出色。


虽然过程可能会面临挑战,但也可以在许多领域中取得显著的成就,从自动化控制到游戏玩法优化,再到金融交易策略的制定。它代表了一种机器学习方法,能够使机器代理通过与环境的互动来自主学习并不断改进其决策和行为。


那么,当强化学习运用在 OS 中时,会触发什么样的惊喜呢?鼎道智联正在打造的 DingOS 就在探索这一能力,力争为用户带来更安全、绿色、便捷的操作体验,如果你也对此感兴趣,欢迎我们加入鼎道生态,和我们一起创造出更智能、更高效、更可持续的未来。

用户头像

鼎道智联

关注

助天下人尽享智能物联服务 2022-01-28 加入

鼎道智联致力于打造以人为本、基于设备的,智能推荐并交付物联网服务的操作系统。

评论

发布
暂无评论
技术分享 | 强化学习,让机器像人类一样自我学习_强化学习_鼎道智联_InfoQ写作社区