LLM-RL-LSPS

SLINVIT 算法在光度立体法三维重建任务中的光照规划实现流程

  1. 初始化

    • 初始化策略网络 πθ\pi_\theta ,并设定它的参数 θ\theta
    • 初始化LLM策略 πLLM\pi^{\text{LLM}},用于提供光源位置的先验建议。
    • 初始化经验回放缓冲区 D\mathcal{D},用于存储每次训练过程中采集的经验。
  2. 动作生成

    • 对于每个时间步 tt,生成下一个光源位置 at=(xt,yt,zt)a_t = (x_t, y_t, z_t):
      1. LLM根据当前状态 sts_t(即当前图像表示的物体和光照下的效果)生成动作建议 atLLMa_t^{\text{LLM}},即光源位置的建议。
      2. 选择策略网络 πθ\pi_\theta 给出的概率最大的光源位置 ata_t:
        at=argmaxaπθ(ast) a_t = \arg\max_{a} \pi_\theta(a \mid s_t)
  3. 奖励设计

    • 将最后一个状态的角误差转换为相邻状态之间的角误差变化(增量角误差):
      Rt=Et1EtαEt,2tT R_t = E_{t-1} - E_t - \alpha E_t, \quad 2 \leq t \leq T
      其中 α\alpha 是奖励塑造项的权重,EtE_t 表示在时间步 tt 的角误差。
  4. 策略优化

    • 通过最大化目标函数 J(θ)J(\theta),来优化策略网络,使得在该策略下的累积奖励最大。目标函数包含PPO的截断项和KL散度正则化项:
      J(θ)=Et[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)]λKL(πθπLLM) J(\theta) = \mathbb{E}_{t} \left[ \min \left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) \right] - \lambda \, \text{KL}(\pi_\theta \| \pi^{\text{LLM}})
      其中:

      • rt(θ)=πθ(atst)πθold(atst)r_t(\theta) = \frac{\pi_\theta(a_t | s_t)}{\pi_{\theta_{\text{old}}}(a_t | s_t)} 为当前策略与旧策略之间的概率比值。
      • A^t\hat{A}_t 是优势函数,表示当前动作相对于平均行为的优劣,通常使用广义优势估计(GAE)来计算。
      • ϵ\epsilon 是一个超参数,控制策略更新的幅度。
      • λ\lambda 是正则化系数,控制KL散度的影响,确保策略不会偏离LLM策略过远。
      • KL(πθπLLM)\text{KL}(\pi_\theta \| \pi^{\text{LLM}}) 是策略网络 πθ\pi_\theta 与LLM策略 πLLM\pi^{\text{LLM}} 之间的KL散度,防止策略更新过度偏离LLM的建议。
    • 策略梯度更新:
      θJ(θ)=Et[θ(min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t))]λθKL(πθπLLM) \nabla_\theta J(\theta) = \mathbb{E}_{t} \left[ \nabla_\theta \left( \min \left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) \right) \right] - \lambda \nabla_\theta \text{KL}(\pi_\theta \| \pi^{\text{LLM}})

      • θ(min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t))\nabla_\theta \left( \min \left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) \right) 是PPO目标函数相对于策略网络参数 θ\theta 的梯度,反映了当前策略和旧策略之间的优势。
      • θKL(πθπLLM)\nabla_\theta \text{KL}(\pi_\theta \| \pi^{\text{LLM}}) 是策略网络和LLM策略之间的KL散度相对于 θ\theta 的梯度,用来防止策略的过度变化。

    通过小批量(mini-batch)和多次迭代更新,优化策略网络的参数 θ\theta,从而提高光照规划任务中的三维重建效果。

  5. 环境交互

    • 执行动作 at=(xt,yt,zt)a_t = (x_t, y_t, z_t),并根据光源位置变化计算新的图像和法线。观察下一状态 st+1s_{t+1} 和奖励 rtr_t
      st+1P(st,at),rt=r(st,at) s_{t+1} \sim P(\cdot | s_t, a_t), \quad r_t = r(s_t, a_t)
    • 将经验 (st,at,rt,st+1)(s_t, a_t, r_t, s_{t+1}) 存储到经验回放缓冲区 D\mathcal{D} 中。
  6. 策略网络更新

    • 使用从环境交互中收集的经验更新策略网络参数 θ\theta 和值函数网络参数 ϕ\phi,通过多次迭代优化策略网络,提高光源位置的选择能力,最终优化三维重建的效果。
赞赏