关于强化学习小记

强化学习(Reinforcement Learning, RL)详解

1. 什么是强化学习?

强化学习(Reinforcement Learning, RL)是一种机器学习方法,通过**智能体(Agent) 环境(Environment)中不断尝试不同的动作(Action),并根据环境给予的奖励(Reward)**来学习最优策略(Policy),从而最大化长期回报(Return)。

强化学习的核心思想:试错学习(Trial and Error)+ 奖励驱动(Reward-driven)


2. 强化学习的基本概念

强化学习主要由以下几个关键组成部分:

术语 解释
智能体(Agent) 需要学习策略并与环境交互的主体,例如机器人、游戏 AI。
环境(Environment) 智能体所在的世界,负责反馈状态和奖励,例如游戏世界、物理环境。
状态(State, s) 环境的当前情况,Agent 需要根据状态做决策。
动作(Action, a) Agent 可执行的操作,例如移动方向、调整参数。
奖励(Reward, r) 执行动作后获得的反馈,决定策略优化方向。
策略(Policy, π) Agent 选择动作的策略,可表示为 a = π ( s ) a = \pi(s) a=π(s)。
回报(Return, G) 累积的奖励,一般使用折扣因子计算: G t = ∑ k = 0 ∞ γ k r t + k G_t = \sum_{k=0}^{\infty} \gamma^k r_{t+k} Gt=∑k=0∞γkrt+k。
值函数(Value Function, V) 预测在某状态下未来可能获得的回报。
动作值函数(Q 值函数, Q) 预测在某状态执行某动作后可能获得的回报。

强化学习的目标是找到最优策略,使得长期回报最大化。


3. 强化学习的数学建模:马尔可夫决策过程(MDP)

强化学习可以用**马尔可夫决策过程(Markov Decision Process, MDP)**建模:

M D P = ( S , A , P , R , γ ) MDP = (S, A, P, R, \gamma) MDP=(S,A,P,R,γ)

  • S S S:状态集合
  • A A A:动作集合
  • P ( s ′ ∣ s , a ) P(s'|s,a) P(s′∣s,a):状态转移概率,表示在状态 s s s 采取动作 a a a 后转移到状态 s ′ s' s′ 的概率。
  • R ( s , a ) R(s,a) R(s,a):奖励函数,表示在状态 s s s 执行动作 a a a 后获得的即时奖励。
  • γ \gamma γ:折扣因子( 0 ≤ γ ≤ 1 0 \leq \gamma \leq 1 0≤γ≤1),决定未来奖励的重要性。

MDP 假设:

未来状态 s ′ s' s′ 只依赖于当前状态 s s s 和动作 a a a,而与过去的状态无关,即满足马尔可夫性(Markov Property)


4. 强化学习的主要方法

强化学习主要有三种方法:

4.1 价值迭代方法(Value-based)

  • 通过学习状态值函数 V ( s ) V(s) V(s)动作值函数 Q ( s , a ) Q(s,a) Q(s,a) 来决定策略。
  • 代表算法:Q-learning、Deep Q-Network (DQN)。

Q-learning 更新公式:

Q ( s , a ) ← Q ( s , a ) + α ( r + γ max ⁡ a ′ Q ( s ′ , a ′ ) − Q ( s , a ) ) Q(s,a) \leftarrow Q(s,a) + \alpha \Big( r + \gamma \max_{a'} Q(s', a') - Q(s,a) \Big) Q(s,a)←Q(s,a)+α(r+γa′maxQ(s′,a′)−Q(s,a))

  • α \alpha α 是学习率,控制更新步长。
  • max ⁡ a ′ Q ( s ′ , a ′ ) \max_{a'} Q(s', a') maxa′Q(s′,a′) 代表下一个状态的最大 Q 值。

4.2 策略优化方法(Policy-based)

  • 直接学习策略 π ( a ∣ s ) \pi(a|s) π(a∣s),不依赖 Q 值。
  • 代表算法:REINFORCE,Proximal Policy Optimization (PPO)。

策略梯度(Policy Gradient)方法:

∇ J ( θ ) = E [ ∇ θ log ⁡ π θ ( a ∣ s ) G t ] \nabla J(\theta) = \mathbb{E} \Big[ \nabla_\theta \log \pi_\theta(a|s) G_t \Big] ∇J(θ)=E[∇θlogπθ(a∣s)Gt]

  • 通过优化 J ( θ ) J(\theta) J(θ) 使得策略 π θ \pi_\theta πθ 逐步改进。

4.3 Actor-Critic 方法

  • 结合 Value-based 和 Policy-based 方法。
  • Actor 负责更新策略 π ( a ∣ s ) \pi(a|s) π(a∣s)。
  • Critic 负责评估策略的价值函数 V ( s ) V(s) V(s)。
  • 代表算法:A2C(Advantage Actor-Critic)、A3C、DDPG(Deep Deterministic Policy Gradient)。

5. 强化学习的应用

5.1 游戏 AI

  • AlphaGo(围棋 AI)
  • OpenAI Five(Dota 2 AI)
  • DeepMind's AlphaStar(星际争霸 AI)

5.2 机器人控制

  • 机械臂学习抓取物体
  • 自主驾驶

5.3 金融交易

  • 通过 RL 进行股票交易策略优化
  • 量化投资

5.4 医疗诊断

  • AI 进行自动化诊疗决策

6. PyTorch 强化学习示例(DQN)

python 复制代码
import torch
import torch.nn as nn
import torch.optim as optim
import numpy as np
import random

class DQN(nn.Module):
    def __init__(self, state_dim, action_dim):
        super(DQN, self).__init__()
        self.fc = nn.Sequential(
            nn.Linear(state_dim, 128),
            nn.ReLU(),
            nn.Linear(128, 128),
            nn.ReLU(),
            nn.Linear(128, action_dim)
        )

    def forward(self, x):
        return self.fc(x)

# 训练超参数
learning_rate = 0.001
state_dim = 4  # 例如 CartPole 环境
action_dim = 2

# 初始化 DQN 网络和优化器
q_network = DQN(state_dim, action_dim)
optimizer = optim.Adam(q_network.parameters(), lr=learning_rate)

7. 总结

强化学习是一种通过奖励和试错学习最优策略的方法。

MDP 是强化学习的数学基础,包括状态、动作、奖励等要素。

主要方法包括 Q-learning(基于值)、Policy Gradient(基于策略)和 Actor-Critic(结合两者)。

广泛应用于游戏 AI、机器人控制、金融交易等领域。

PyTorch 可用于实现 DQN、PPO 等强化学习算法。

相关推荐
一切皆有可能!!2 小时前
实践篇:利用ragas在自己RAG上实现LLM评估②
人工智能·语言模型
月白风清江有声3 小时前
爆炸仿真的学习日志
人工智能
华奥系科技4 小时前
智慧水务发展迅猛:从物联网架构到AIoT系统的跨越式升级
人工智能·物联网·智慧城市
R²AIN SUITE4 小时前
MCP协议重构AI Agent生态:万能插槽如何终结工具孤岛?
人工智能
b***25115 小时前
动力电池点焊机:驱动电池焊接高效与可靠的核心力量|比斯特自动化
人工智能·科技·自动化
Gyoku Mint5 小时前
机器学习×第二卷:概念下篇——她不再只是模仿,而是开始决定怎么靠近你
人工智能·python·算法·机器学习·pandas·ai编程·matplotlib
小和尚同志5 小时前
通俗易懂的 MCP 概念入门
人工智能·aigc
dudly5 小时前
大语言模型评测体系全解析(下篇):工具链、学术前沿与实战策略
人工智能·语言模型
zzlyx995 小时前
AI大数据模型如何与thingsboard物联网结合
人工智能·物联网
说私域6 小时前
定制开发开源AI智能名片驱动下的海报工厂S2B2C商城小程序运营策略——基于社群口碑传播与子市场细分的实证研究
人工智能·小程序·开源·零售