强化学习(RL)入门

强化学习(RL)入门

RL算法必须通过​​环境提供的反馈​​来学习。

体现强化学习本质的通用训练循环框架

通过​​标准化接口​​交互(所有RL库都遵循此设计):

env = YourEnv()                  # 初始化环境(如gym.make("CartPole-v1"))
agent = YourAlgo() # 初始化算法(如PPO("MlpPolicy", env))

for episode in range(1000): # 训练循环
obs, info = env.reset()
done = False
while not done: # 自动处理terminated/truncated
action = agent.predict(obs) # 决策(本质:状态→动作)
next_obs, reward, terminated, truncated, info = env.step(action) # 交互(本质:动作→奖励)
agent.learn(obs, action, reward, terminated, next_obs) # 学习(本质:奖励→策略更新)
obs = next_obs

Agent​​, ​​Algorithm​​, ​​Environment​​之间的关系

Agent​​ 使用 ​​Algorithm​​​​Environment​​ 中通过试错学习最优策略。

  • 环境是规则验证场(提供反馈)
  • 算法是学习规则(如何改进)
  • 智能体是执行单元(做决策)
graph LR
A[Agent] -->|执行动作| B[Environment]
B -->|返回状态/奖励| A
A -->|学习| C[Algorithm]
C -->|更新策略| A

style A fill:#f9f,stroke:#333
style B fill:#bbf,stroke:#333
style C fill:#9f9,stroke:#333