趋近智
强化学习 (reinforcement learning)(RL)是机器学习 (machine learning)的一种独特方法,智能体通过与环境互动,学习做出系列决策以最大化累积奖励。与 Transformer 等监督学习 (supervised learning)架构或 GAN 等无监督技术不同,强化学习带来了与环境试探、延迟奖励和学习最优策略相关的挑战。TensorFlow 提供了一个专用库 TF-Agents,旨在简化强化学习算法的实现和评估。
TF-Agents 提供了一系列经过充分测试的模块化组件,让您可以高效地构建、训练和部署强化学习智能体。它与核心 TensorFlow 和 Keras 良好集成,使您能够借助熟悉的工具和技术,包括自定义模型架构(第 4 章)和性能优化(第 2 章)。
使用 TF-Agents 构建强化学习 (reinforcement learning)系统需要理解和配置几个基本组件:
环境: 环境代表智能体互动的任务或模拟。TF-Agents 为流行的环境套件(如 OpenAI Gym 和 DeepMind Control Suite)提供封装器,以及创建自定义环境的工具。主要互动机制是环境接收一个动作,然后返回一个 TimeStep 元组,该元组通常包含下一个观测值、获得的奖励、一个步骤类型(FIRST, MID, LAST)和一个折扣因子。TF-Agents 使用 TFPyEnvironment 来封装 Python 环境,使它们与 TensorFlow 图兼容以提高性能。
网络: 神经网络 (neural network)是现代强化学习智能体的核心,通常用于近似最优策略(将状态映射到动作)或值函数(估计从一个状态或状态-动作对获得的预期回报)。在 TF-Agents 中,这些是标准的 tf.keras.Model 实例。您可以使用预构建的 Keras 层,或通过继承 tf.keras.Model 来定义自定义架构,正如第 4 章中讨论的那样,以适应您的观测和动作空间的复杂性。
智能体: TFAgent 是封装强化学习算法逻辑的核心组件。它包含网络(策略网络、值网络等),并定义 train 方法,该方法实现算法的学习更新规则(例如,基于 DQN 的贝尔曼方程计算损失,或 PPO 的策略梯度)。TF-Agents 为许多标准算法提供实现,包括 DQN、DDPG、TD3、PPO 和 SAC。每个智能体都需要特定的网络类型和配置,并根据其算法进行定制。
策略: 策略定义智能体的行为,将 TimeStep(包含一个观测值)映射到一个动作或一个动作分布。智能体通常公开两种策略:
agent.policy:用于评估和部署。它代表学习到的贪婪或确定性策略。agent.collect_policy:用于数据收集(训练)期间。它通常包含试探策略(例如 DQN 的 epsilon-greedy 或策略梯度方法的随机采样),以确保智能体充分试探环境。经验回放缓冲区: 许多强化学习算法,特别是像 DQN 和 DDPG 这样的离策略算法,从过去的经验中学习。经验回放缓冲区存储在互动期间收集的轨迹(观测值、动作、奖励等序列)。在训练期间,从缓冲区中采样批量轨迹,以计算损失并更新智能体的网络。这有助于稳定训练并提高数据效率。TF-Agents 提供了像 TFUniformReplayBuffer 这样的缓冲区。
驱动器: 驱动器管理策略、环境和经验回放缓冲区(如果使用)之间的互动循环。例如,DynamicStepDriver 在环境中运行收集策略指定步数,并将生成的轨迹添加到经验回放缓冲区。DynamicEpisodeDriver 执行类似功能,但运行指定数量的完整回合。
指标和评估: TF-Agents 包含用于跟踪训练进度的指标(例如平均回报、平均回合长度)以及用于在不进行试探或更新的环境中运行策略来评估其性能的工具。
典型的工作流程涉及这些组件在一个循环中互动:
数据收集循环:收集策略根据环境的观测值生成动作。产生的转换(轨迹)存储在经验回放缓冲区中。训练循环:智能体从经验回放缓冲区中采样数据,计算损失,并更新其内部网络(这会影响策略)。指标跟踪性能。
训练循环通常涉及:
collect_policy 收集经验并将其存储在经验回放缓冲区中。train 方法。此步骤使用 tf.function 以提高性能,并在内部使用 tf.GradientTape 来计算网络更新的梯度。agent.policy(贪婪策略)以监控性能。TF-Agents 构建于 TensorFlow 之上,让您能够:
tf.function 将智能体训练步骤和策略动作生成中的性能关键部分编译为高效的 TensorFlow 图。tf.distribute)。通过提供这些模块化组件并借助底层 TensorFlow 框架的强大能力,TF-Agents 大幅降低了实现和试验复杂强化学习算法的门槛,使其成为在这个活跃的机器学习 (machine learning)区域中的高级实践者的有价值工具。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造