大模型RLHF强化学习笔记(一):强化学习基础梳理Part1

【如果笔记对你有帮助,欢迎关注&点赞&收藏,收到正反馈会加快更新!谢谢支持!】

一、强化学习基础

1.1 Intro

  • 定义:强化学习是一种机器学习方法,需要智能体通过与环境交互学习最优策略
  • 基本要素:
    • 状态(State):智能体在决策过程中需要考虑的所有相关信息(环境描述)
    • 动作(Action):在环境中可以采取的行为
    • 策略(Policy):定义了在给定状态下智能体应该选择哪个动作Policy(Action|State),目标是最大化智能体的长期累积奖励   
    • 奖励(Reward):环境对智能体行为的反馈,衡量智能体在当前状态下采取某个动作的优劣
  • 和SFT监督学习的区别:
    特点 强化学习 监督学习(SFT)
    数据来源 智能体通过与环境的交互自行生成数据(状态、动作、奖励等) 使用预先标注好的数据集(输入-输出对)进行训练
    学习目标 学习最优策略,以最大化累积奖励 学习输入与输出之间的映射关系,以最小化预测误差
    方式反馈 延迟反馈,智能体需要在多次尝试后才能评估策略的优劣 即时反馈,模型在每次预测后立即获得正确的输出

1.2 强化学习基础

  • 马尔可夫决策过程(MDP)
    • 价值状态函数(State Value Function):V(s) 表示从状态 s 开始,遵循某个策略 π 所能获得的期望累积奖励衡量了状态 s 的“价值”
    • 动作价值函数(State-Action Value Function):Q(s,a) 表示从状态 s 开始,采取动作 a,然后遵循某个策略 π 所能获得的期望累积奖励【衡量在状态 s 下采取动作 a 的“价值”
  • 贝尔曼方程:描述价值函数的递归关系
    • 状态s的价值V(s) = 期望{ 到下个状态的​即时奖励 + ​折扣因子​ × ​下个状态s'的价值V(s') }
    • 动作价值Q(s,a) 期望{ 到下个状态的​即时奖励 + ​折扣因子​ × ​下个状态s'-动作a'的价值Q(s', a') }
    • 贝尔曼期望方程: 给定策略 π(a | s)
    • 贝尔曼最优方程:在所有可能的动作 a 中选择最优动作
    • 最优策略:最大化价值状态函数V(s) 动作价值Q(s,a) 的策略

1.3 策略函数估计:经典方法

  • 蒙特卡洛(MC):
    • 流程:采样序列(用策略π和环境交互得到的完整序列)→ 提取状态和回报 → 计算每个状态的回报  → 更新价值函数
  • 动态规划(DP):
    • 策略迭代:通过交替进行策略评估策略改进来找到最优策略,收敛速度快,但需要多次完整的策略评估 
      • 流程:初始化 → [ 策略评估  → 策略改进 ] ×N → 策略收敛
      • 初始化:任意策略、任意价值函数
      • 策略评估(Policy Evaluation):对于给定策略 π,计算其价值函数 V​(s)【使用贝尔曼期望方程进行迭代更新】,至收敛
      • 策略改进(Policy Improvement):给定价值函数 V​(s),更新策略 π,至收敛
    • 价值迭代:直接求解贝尔曼最优方程来找到最优价值函数和最优策略,不需要显式地进行策略评估,需要更多迭代
      • 初始化 → 价值函数更新 → 策略提取
      • 初始化:任意价值函数
      • 价值函数更新:贝尔曼最优方程进行迭代更新
      • 策略提取:根据最终的价值函数,提取最优策略
  • 时序差分法(TP):
    • 特点:结合MC(从样本中学习)和DP(用未来状态的价值更新当前)特点,通过单步更新来估计价值函数
    • SARSA(State-Action-Reward-State-Action)
      • 通过 “到下个状态的​即时奖励 + 折扣因子​ × ​下个状态s'-动作a'的价值Q(s', a') 和 “当前状态s-动作a的价值Q(s,a)差值,来更新动作价值函数
      • 流程
        - 初始化Q(s,a)
        for 序列
            - 用ϵ-greedy根据Q选择状态s下的动作a
            for 每个时间步
                - 观察到奖励r和下一个状态s‘
                - 用ϵ-greedy根据Q选择状态s’下的动作a‘
                - 更新Q(s,a) ← Q(s,a) + α[r + γQ(s',a') - Q(s,a)]
                - s ← s', a ← a'
         
    • Q-Learning:
      • 通过 “到下个状态的​即时奖励 + 折扣因子​ × ​下个状态s'-动作a'的最优价值Q*(s', a') 和 “当前状态s-动作a的价值Q(s,a)差值,来更新动作价值函数
      • 流程:
        - 初始化Q(s,a)
        for 序列
            - 初始化 s
            for 每个时间步
                - 用ϵ-greedy根据Q选择状态s下的动作a
                - 观察到奖励r和下一个状态s‘
                # 选择能让Q最大的a'
                - 更新Q(s,a) ← Q(s,a) + α[r + γmaxQ(s‘,a’) - Q(s,a)] 
                - s ← s‘
         

你可能感兴趣的:(大模型,笔记,大模型,LLM,算法,机器学习,强化学习,人工智能)