machine-learning
  • Welcome
  • 动手学深度学习
    • 1. 前言
    • 2. 预备知识
    • 3. 线性神经网络
    • 4. 多层感知机
    • 5. 深度学习计算
    • 6. 卷积神经网络
    • 7. 现代卷积神经网络
    • 8. 循环神经网络
    • 9. 现代循环神经网络
    • 10. 注意力机制
    • 11. 优化算法
    • 12. 计算性能
    • 13. 计算机视觉
    • 14. 自然语言处理:预训练
    • 15. 自然语言处理:应用
    • 16. 附录:深度学习工具
  • 百面机器学习
    • 1. 特征工程
    • 2. 模型评估
    • 3. 经典算法
    • 4. 降维
    • 5. 非监督学习
    • 6. 概率图模型
    • 7. 优化算法
    • 8. 采样
    • 9. 前向神经网络
    • 10. 循环神经网络
    • 11. 强化学习
    • 12. 集成学习
    • 13. 生成式对抗网络
    • 14. 人工智能的热门应用
  • 百面深度学习
    • 1. 卷积神经网络 CNN
    • 2. 循环神经网络 RNN
    • 3. 图神经网络 GNN
    • 4. 生成模型
    • 5. 生成式对抗网络 GAN
    • 6. 强化学习 RL
    • 7. 元学习
    • 8. 自动化机器学习 AutoML
    • 9. 计算机视觉 CV
    • 10. 自然语言处理 NLP
    • 11. 推荐系统
    • 12. 计算广告
    • 13. 视频处理
    • 14. 计算机听觉
    • 15. 自动驾驶
  • 统计学习方法
  • 推荐系统实践
    • 1. 推荐系统
    • 2. 特征工程
    • 3. Embedding
    • 4. 精排
    • 5. 召回
    • 6. 粗排/重排
    • 7. 多任务/多场景
    • 8. 冷启动
    • 9. 评估调试
    • 10. 自我修养
  • 深度学习推荐系统
    • 1. 推荐系统
    • 2. 进化之路
    • 3. 深度学习的应用
    • 4. Embedding
    • 5. 多角度审视
    • 6. 工程实现
    • 7. 评估方法
    • 8. 前沿实践
    • 9. 知识框架
  • 强化学习的数学原理
    • 1. 基础概念
    • 2. 贝尔曼公式
    • 3. 贝尔曼最优公式
    • 4. 值迭代与策略迭代
    • 5. 蒙特卡洛方法
    • 6. 随机近似与随机梯度下降
    • 7. 时序差分方法
    • 8. 值函数近似
    • 9. 策略梯度方法
    • 10. Actor-Critic方法
Powered by GitBook
On this page
  • 6.1 RL 的基础知识
  • 1. RL 和 Markov Decision Process
  • 3. 基于策略迭代 和 基于价值迭代 的区别
  • 6.2 RL 算法
  • 1. 时序差分(TD)和 蒙特卡洛(MC) 的区别 *
  • 2. Q-learning(TD,基于价值迭代,免模型,借鉴策略)
  • 3. Sarsa 和 Sarsa()(TD,基于价值迭代,免模型,现实策略)
  • 6.3 深度 RL
  • 6.4 RL 的应用
  1. 百面深度学习

6. 强化学习 RL

6.1 RL 的基础知识

1. RL 和 Markov Decision Process

  • RL 要素:状态集合 S,动作集合 A,状态转移函数 P,奖励函数 R

  • 步骤:动作(连续 / 离散)、奖励(累积回报)、环境转移

  • 分类

    • 是否对真实环境建模:有模型学习、免模型学习(主流,数据驱动,泛化能力强)

    • 更新策略:单步更新、回合更新

    • 行为策略和价值策略是否相同:现实策略(on-policy)、借鉴策略(off-policy)

    • 能否推测状态转移概率:动态规划、蒙特卡洛法

3. 基于策略迭代 和 基于价值迭代 的区别

  • 基于策略迭代:给定状态下,采取何种动作,e.g. 策略梯度(Policy Gradients)

  • 基于价值迭代:维护价值表格 / 函数,取最大(离散环境),e.g. Q-Learning, Sarsa

  • 联合决策:演员-评论家(Actor-Critic)算法

6.2 RL 算法

1. 时序差分(TD)和 蒙特卡洛(MC) 的区别 *

  • 时序差分:采样不完整序列,快速、灵活

  • 蒙特卡洛:经历完整状态序列

2. Q-learning(TD,基于价值迭代,免模型,借鉴策略)

  • 步骤(浅层时序差分采样)

  • Sarsa 和 Q-learning

    • Q-learning 取 max 非常激进(每步最优),Sarsa 相对保守(安全迭代)

    • Q-learning 是 借鉴策略 的 TD,Sarsa 是 现实策略 的 TD

6.3 深度 RL

  • 价值更新函数:类似 Q-learning

  • 经验回放:从历史数据中随机采样

6.4 RL 的应用

  • 游戏 - 策略指制定:Atari、星际争霸(多智能体)、AlphaGo(Zero)

  • 自动驾驶 - 决策系统:强制性约束 + 可学习策略

  • AutoML - 神经网络架构搜索:Google Brain

  • NLP - 对话系统:任务型对话 / 非任务型对话,理解+生成+策略学习

  • 广告 - 广告主竞价策略:探索 + 利用

Previous5. 生成式对抗网络 GANNext7. 元学习

Last updated 2 months ago

动作价值函数 Qπ(st,at)=E[rt+γQπ(st+1,at+1)∣st,at]Q^\pi(s_t,a_t)=\mathbb E[r_t+\gamma Q^\pi(s_{t+1},a_{t+1})|s_t,a_t]Qπ(st​,at​)=E[rt​+γQπ(st+1​,at+1​)∣st​,at​],是 Bellman 方程

动作选择:贪心算法,ξ\xiξ 贪心策略(概率随机 / 贪心)

执行动作,获得 rtr_trt​ 以及 st+1s_{t+1}st+1​

更新 Q 值:Q(st,at)←Q(st,at)+α(rt+γmax⁡at+1Q(st+1,at+1)−Q(st,at))Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha(r_t+\gamma \max_{a_{t+1}}Q(s_{t+1},a_{t+1})-Q(s_t,a_t))Q(st​,at​)←Q(st​,at​)+α(rt​+γmaxat+1​​Q(st+1​,at+1​)−Q(st​,at​))

3. Sarsa 和 Sarsa(λ\lambdaλ)(TD,基于价值迭代,免模型,现实策略)

Sarsa 和 Sarsa(λ\lambdaλ)

Sarsa:单步更新,Q(st,at)←Q(st,at)+α(rt+γQ(st+1,at+1)−Q(st,at))Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha(r_t+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t))Q(st​,at​)←Q(st​,at​)+α(rt​+γQ(st+1​,at+1​)−Q(st​,at​))

Sarsa(λ\lambdaλ):n 步更新,衰减求和,Q(st,at)←Q(st,at)+α(qtλ−Q(st,at))Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha(q_t^\lambda -Q(s_t,a_t))Q(st​,at​)←Q(st​,at​)+α(qtλ​−Q(st​,at​))

qt=rt+γQ(st+1,at+1)q_t=r_t+\gamma Q(s_{t+1},a_{t+1})qt​=rt​+γQ(st+1​,at+1​)

qtλ=(1−λ)∑n=1∞λn−1qt(n)q_t^\lambda=(1-\lambda)\sum_{n=1}^\infty \lambda^{n-1}q_t^{(n)}qtλ​=(1−λ)∑n=1∞​λn−1qt(n)​

动作价值函数 Q(s,a;θ)≈Qπ(s,a)Q(s,a;\theta)\approx Q_\pi(s,a)Q(s,a;θ)≈Qπ​(s,a),函数近似,替代表格存储

Q(st,at;θ)←Q(st,at;θ)+α(rt+γmax⁡at+1Q(st+1,tt+1;θ)−Q(st,at;θ))Q(s_t,a_t;\theta)\leftarrow Q(s_t,a_t;\theta)+\alpha(r_t+\gamma \max_{a_{t+1}}Q(s_{t+1},t_{t+1};\theta)-Q(s_t,a_t;\theta))Q(st​,at​;θ)←Q(st​,at​;θ)+α(rt​+γmaxat+1​​Q(st+1​,tt+1​;θ)−Q(st​,at​;θ))

相应损失函数 Loss(θ)=E(rt+rtmax⁡at+1(st+1,at+1;θ)−Q(st,at;θ))2Loss(\theta)=\mathbb E(r_t+r_t\max_{a_{t+1}}(s_{t+1},a_{t+1};\theta)-Q(s_t,a_t;\theta))^2Loss(θ)=E(rt​+rt​maxat+1​​(st+1​,at+1​;θ)−Q(st​,at​;θ))2