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
  • 11.1 强化学习基础 **
  • 1. 强化学习基础 *
  • 2. 价值迭代 **
  • 3. 最优路线 **
  • 11.2 视频游戏里的强化学习 ***
  • 11.3 策略梯度 Policy Gradient ****
  • 11.4 探索与利用 ***
  1. 百面机器学习

11. 强化学习

11.1 强化学习基础 **

1. 强化学习基础 *

  • Environment, Agent, State, Action, Reward

  • 马尔可夫决策过程(Markov Decision Process, MDP)

    • Action 上下左右,State 坐标,Reward 移动-1,Time

    • 状态转移 Markov,累计收益 R=E(∑t=0Tγtrt∣s0=s)R=E(\sum_{t=0}^T \gamma^t r_t|s_0=s)R=E(∑t=0T​γtrt​∣s0​=s)

  • 核心任务:学习一个 状态空间S 到 动作空间A 的映射,最大化累计收益

  • 常见算法:Q-learning、策略梯度、Actor-Critic

2. 价值迭代 **

  • 贝尔曼方程(Bellman Equation)V∗(S)=max⁡a∑s′,rp(s′,r∣s,a)[r+γV∗(s′)]V_*(S)=\max_a\sum_{s',r} p(s',r|s,a)[r+\gamma V_*(s')]V∗​(S)=maxa​∑s′,r​p(s′,r∣s,a)[r+γV∗​(s′)]

    • 采取动作 a 后,带来的奖励 r

    • 采取动作 a 后,到达新状态的价值 V(s′)V(s')V(s′)

3. 最优路线 **

  • 策略评估(Policy Evaluation)

    • 初始化,策略评估,策略提升,迭代直至收敛

11.2 视频游戏里的强化学习 ***

  • Q-learning:Q(sj,aj)=Esj+1yjQ(s_j,a_j)=E_{s_{j+1}}y_jQ(sj​,aj​)=Esj+1​​yj​,其中 yj=rj+γ⋅max⁡aQ(sj+1,a)y_j=r_j+\gamma\cdot \max_a Q(s_{j+1},a)yj​=rj​+γ⋅maxa​Q(sj+1​,a)

    • QQQ 为 动作效用函数(action-utility function),用于评价在特定状态下采取某个动作的优劣

    • 建立一个 Q-Table,以 State 为行、Action 为列,通过每个动作带来的奖赏更新Q-Table

  • 迭代步骤

    • 根据当前的 QQQ 函数执行一次行动 ata_tat​

    • 获得本次收益 rtr_trt​ 及下个状态 st+1s_{t+1}st+1​

    • 以某种方式获得一个四元组 (sj,aj,rj,sj+1)(s_j,a_j,r_j,s_{j+1})(sj​,aj​,rj​,sj+1​)

    • 计算 yjy_jyj​

    • 对 (yj−Q(sj,aj;θ))2(y_j-Q(s_j,a_j;\theta))^2(yj​−Q(sj​,aj​;θ))2 执行一次梯度下降,完成参数更新

      • Q(st,aT)←Q(st,at)+α[rt+γmax⁡a′∈AQ(st+1,a′)−Q(st,at)]Q(s_t,a_T)\leftarrow Q(s_t,a_t)+\alpha[r_t+\gamma\max_{a'\in A}Q(s_{t+1},a')-Q(s_t,a_t)]Q(st​,aT​)←Q(st​,at​)+α[rt​+γmaxa′∈A​Q(st+1​,a′)−Q(st​,at​)]

  • 传统强化学习 vs. 深度强化学习

    • 小概率随机探索、历史回放

  • 问题

    • 因为涉及在状态空间上求 Q 函数的最大值,只适用于 离散状态空间

    • 没有 收敛性保证

11.3 策略梯度 Policy Gradient ****

无差别处理 连续/离散 状态空间, 保证至少收敛到 local optima

  • 基本思想:直接用 梯度方法 来优化 R(θ)R(\theta)R(θ)

    • 状态 st+1∼p(st+1∣st,at)s_{t+1}\sim p(s_{t+1}|s_t,a_t)st+1​∼p(st+1​∣st​,at​),策略 at∼πθ(at∣st)a_t\sim\pi_\theta(a_t|s_t)at​∼πθ​(at​∣st​) 是分布采样

    • 总收益函数 R(θ)=E(∑0Tztrt)R(\theta)=E(\sum_0^T z_t r_t)R(θ)=E(∑0T​zt​rt​),完全由 θ\thetaθ 决定

    • 与 Q-learning 不同,不估算 QQQ 函数本身,而是直接生成 ata_tat​

  • 给定一个策略 πθ\pi_\thetaπθ​,模拟获得一些轨迹 τ\tauτ,获得 收益 r(τ)r(\tau)r(τ) 以及每一步的 <s,a> 对

    • 对应的 梯度 g(τ)=∑k=0T∇θlog⁡πθ(ak∣sk)⋅r(τ)g(\tau)=\sum_{k=0}^T \nabla_\theta \log\pi_\theta (a_k|s_k)\cdot r(\tau)g(τ)=∑k=0T​∇θ​logπθ​(ak​∣sk​)⋅r(τ),用来更新 θ\thetaθ

11.4 探索与利用 ***

  • 平衡 exploration vs. exploitation

  • ϵ−greedy\epsilon-greedyϵ−greedy 算法:以 ϵ\epsilonϵ 的概率随机探索(不使用历史信息),以 1−ϵ1-\epsilon1−ϵ 的概率选择利用

  • 置信区间上界(UCB)算法:每次推荐时,总是乐观地认为每道菜的回报是 p~+Δ\tilde p+\Deltap~​+Δ

    • Chernoff-Hoeffding Bound:Δ=2ln⁡Tn\Delta=\sqrt{\frac{2\ln T}{n}}Δ=n2lnT​​

      • P{∣p~−p∣≤2ln⁡Tn}≥1−2T4P\{|\tilde p-p|\le \sqrt{\frac{2\ln T}{n}}\}\ge1-\frac{2}{T^4}P{∣p~​−p∣≤n2lnT​​}≥1−T42​

Previous10. 循环神经网络Next12. 集成学习

Last updated 3 years ago