强化学习 ML 怎么入门?机器学习强化学习算法实战教程?

文章导读
Previous Quiz Next 什么是强化学习? 强化学习是一种机器学习方法,其中一个 agent(软件实体)通过执行动作并监控结果来训练以理解环境。对于每个好的动作,agent 会获得正反馈;对于每个坏的动作,agent 会获得负反馈。它受动物从经验中学习的方式启发
📋 目录
  1. 什么是强化学习?
  2. 强化学习是如何工作的?
  3. 强化学习的关键元素
  4. 强化学习过程的步骤
  5. 强化学习的类型
  6. 强化学习算法的类型
  7. 强化学习的优势
  8. 强化学习的劣势
  9. 强化学习的應用
  10. 强化学习 Vs. 监督学习
A A

强化学习



Previous
Quiz
Next

什么是强化学习?

强化学习是一种机器学习方法,其中一个 agent(软件实体)通过执行动作并监控结果来训练以理解环境。对于每个好的动作,agent 会获得正反馈;对于每个坏的动作,agent 会获得负反馈。它受动物从经验中学习的方式启发,根据动作的后果做出决策。

下图展示了一个典型的强化学习模型 −

Reinforcement Machine Learning

在上图中,agent 处于特定的 state 中。agent 在 environment 中执行 action 以完成特定任务。作为执行任务的结果,agent 会收到 reward 或惩罚作为反馈。

强化学习是如何工作的?

在强化学习中,我们有一个 agent,希望通过一段时间的训练,使其能够与特定环境交互。agent 将遵循一套策略与环境交互,然后在观察环境后,根据环境的当前状态采取行动。agent 通过根据其动作接收奖励或惩罚来学习如何做出决策。

强化学习的工作原理可以通过一位国际象棋大师的方法来理解。

  • Exploration(探索) − 就像象棋选手考虑各种可能的走法及其结果一样,agent 也会探索不同的动作以了解其效果,并学习哪种动作能带来更好的结果。
  • Exploitation(利用) − 象棋选手也会基于过去的经验使用直觉做出正确的决策。同样,agent 使用从先前经验中获得的知识做出最佳选择。

强化学习的关键元素

除了 agent 和环境之外,强化学习系统还可以识别出四个主要子元素 −

  • Policy(策略) − 它定义了学习 agent 在给定时间的行为方式。策略是将环境感知状态映射到处于这些状态时要采取的动作。
  • Reward Signal(奖励信号) − 它定义了强化学习问题的目标。它是环境提供给 agent 的数值分数。这个奖励信号定义了 agent 的好事件和坏事件。
  • Value function(价值函数) − 它指定了长远来看什么是好的。价值是 agent 从该状态开始,在未来可以期望累积的总奖励量。
  • Model(模型) − 模型用于规划,即在实际经历之前考虑可能的未来情况来决定行动方案。

Markov Decision Processes (MDP) 提供了一个数学框架,用于建模具有状态、动作、奖励和概率的环境中的决策制定。强化学习使用 MDP 来理解 agent 应如何行动以最大化奖励,并找到决策的最佳策略。

马尔可夫决策过程 (MDP)

强化学习使用马尔可夫决策过程 (MDP) 的数学框架来定义学习 agent 与环境之间的交互。MDP 的重要概念和组件包括 −

  • States (S)(状态) − 表示 agent 可能处于的所有情况。
  • Action (A)(动作) − agent 在给定状态下可用的选择。
  • Transition Probabilities (P)(转移概率) − 由于特定动作而从一个状态转移到另一个状态的可能性。
  • Rewards (R)(奖励) − 由于动作导致转移到新状态后收到的反馈,表示结果的可取性。
  • Policy (π)(策略) − 定义在每个状态下采取行动以获得奖励的策略。

强化学习过程的步骤

以下是强化学习方法涉及的主要步骤 −

  • 步骤 1 − 首先,我们需要准备一个具有初始策略集的 agent。

  • 步骤 2 − 然后观察环境及其当前状态。

  • 步骤 3 − 接下来,根据环境当前状态选择最优 policy,并执行重要 action。

  • 步骤 4 − 现在,agent 可以根据前一步所采取的 action 获得相应的 reward 或 penalty。

  • 步骤 5 − 现在,如果需要,我们可以更新策略。

  • 步骤 6 − 最后,重复步骤 2-5,直到 agent 学会并采用最优 policy。

强化学习的类型

强化学习有两种类型:

  • Positive Reinforcement − 当 agent 执行一个理想的或导致良好结果的 action 时,它会收到 reward,从而增加该 action 被重复的可能性。
  • Negative Reinforcement − 当 agent 执行一个 action 以避免负面结果时,会移除负面刺激。例如,如果一个机器人被编程为避开障碍物并成功避开它,则与该 action 相关的威胁会被移除。机器人未来更可能避免该 action。

强化学习算法的类型

强化学习中有多种算法,如 Q-learning、policy gradient methods、Monte Carlo method 等。所有这些算法可以分为两大类 −

  • Model-free Reinforcement Learning − 这是一类强化学习算法,通过直接与环境交互来学习决策,而不创建环境动态的 model。agent 执行不同 action 多次以学习结果,并创建一个优化 reward points 的策略 (policy)。这适用于变化的、大型或复杂的环境。
  • Model-based Reinforcement Learning − 这类强化学习算法涉及创建环境动态的 model 来做出决策并提升性能。此 model 适用于静态且定义明确的環境,在现实世界环境测试困难时特别理想。

强化学习的优势

强化学习的一些优势包括 −

  • 强化学习不需要预定义指令和人为干预。
  • 强化学习 model 可以适应广泛的环境,包括静态和动态环境。
  • 强化学习可用于解决广泛的问题,包括决策、预测和优化。
  • 强化学习 model 会随着经验积累和微调而变得更好。

强化学习的劣势

强化学习的一些劣势包括 −

  • 强化学习依赖于 reward function 的质量,如果设计不当,model 的性能将无法提升。
  • 强化学习的設計和调优可能复杂,需要专业知识。

强化学习的應用

强化学习在各个领域有广泛的应用。一些主要应用包括 −

1. 机器人学

强化学习通常关注在不可预测环境中的决策。这是特别用于复杂任务的最常用方法,例如复制人类行为、操纵、导航和运动。此方法还允许机器人通过试错适应新环境。

2. 自然语言处理 (NLP)

在自然语言处理 (NLP) 中,强化学习用于提升聊天机器人的性能,通过管理复杂对话并改善用户交互。此外,这种学习方法还用于训练 summarizations 等任务的 model。

强化学习 Vs. 监督学习

监督学习和强化学习是机器学习中的两种不同的方法。在监督学习中,模型在包含输入及其对应输出的数据集上进行训练,用于预测分析。而强化学习中,一个 agent 与环境交互,通过接收奖励或惩罚形式的反馈来学习决策,旨在最大化累积奖励。这两种方法之间的另一个区别是它们适用的任务。虽然监督学习用于通常具有明确、结构化输出的任务,但强化学习用于具有最优策略的复杂决策任务。