论文速读纪录 | 2025.01




Diversity is All You Need: Learning Skills without a Reward Function

  • arxiv:https://arxiv.org/abs/1802.06070
  • 来源:[mask]
  • 参考博客:https://zhuanlan.zhihu.com/p/492999666
  • 主要内容:
    • 这篇文章关注的 task 是 skill discovery,目标是希望 agent 学会一系列不同的行为,并尽可能地探索状态-动作空间。在 skill discovery 中,policy 通常表示为 a=π(s|z),其中 z 是技能(skill)。diayn 是一个经典的 skill discovery 方法。
    • 经典的 skill discovery 目标,是最大化行为 / 状态和策略之间的互信息,目标函数为:

    maxI(s,z)=H(s)H(s|z)=H(z)H(z|s)

    • diayn 的目标函数为:maxI(S,Z)+H[A|S]I(A,Z|S),其中:
      • 第一项是 skill 和 state 之间的互信息;
      • 第二项希望最大化动作熵,鼓励探索;
      • 第三项是希望在给定 state 后,最小化 action 和 skill 的互信息,即希望 skill 之间的差异只体现在 state 上,而不体现在 action 上。diayn 认为,这是因为某些动作看起来很相似,但状态之间的差异更容易被人类识别。
    • 具体实现(根据 urlb 的代码):
      • 维护一个离散的 one-hot skill space。
      • 使用一个 skill estimator z^=q(s),其中 s 是 next state。具体的,q(s) 输出一个维度为 skill 数量的向量,表示 s 由每个技能产生的概率。
      • intrinsic reward:使用 q(s) 估计 s 由哪些技能产生,intrinsic reward 为 s 由真实 skill 产生的概率。
      • 更新 skill estimator:每次根据 next state 猜测对应使用的 skill,loss function 为 CrossEntropy(q(s'), 真实 z)。
    • 思考:这种实现确实容易导致静态的 behavior(如下文 CIC 提到)。这种学习目标认为 behavior 与 state 是等价的,只需要分辨出 s 是哪个 skill 产生的。这样,agent 只需要学到几套静态的动作,保持静态,即 s=s=s=,然后学到这几个动作与 skill 之间的映射关系,就能满足学习目标。而 CIC 使用 τ=(s,s) 来作为 behavior,感觉可以改善这个问题。(无端联想,也算是一种做差)

CIC: Contrastive Intrinsic Control for Unsupervised Skill Discovery

  • arxiv:https://arxiv.org/abs/2202.00161
  • website:https://sites.google.com/view/cicrl/
  • 来源:[mask]
  • 主要内容:
    • 这篇文章也关注 skill discovery。
    • story:传统方法的 skill 往往是低维的,例如 diayn 使用 16 个离散的 one-hot skill、aps 使用 10 维的连续 skill。然而,低维的 skill space 容易导致学到的行为缺乏多样性(没仔细看为什么)。因此,cic 采用了高维的 skill space。
    • cic 采用对比学习 loss,旨在最大化 skill 和 state transition τ=(s,s) 之间的互信息。具体 loss function 形式见公式 5,与 NCE loss 类似。
    • intrinsic reward:为了鼓励探索,cic 希望最大化 state embedding 的熵,其中 embedding 是通过对比学习训练的。熵的估计使用 k-Nearist-Neighbors 方法。

Direct Preference Optimization: Your Language Model is Secretly a Reward Model

  • arxiv:https://arxiv.org/abs/2305.18290
  • GitHub:https://github.com/eric-mitchell/direct-preference-optimization
  • 来源:把想读的另一篇文章当成 DPO 了()
  • 参考博客:
  • 主要内容:
    • DPO 的 policy 形式是 πθ(y|x),其中 x 是输入问题,y 是 LLM 给出的回答。虽然是对 LLM 的微调,但也可以看作是一个 RL policy。
    • DPO 的目标是在约束 πθ(y|x) 与参考策略 πref(y|x) 的 KL 散度的前提下,最大化 rϕ(x,y),其中 rϕ 是 Bradley-Terry 形式的 reward model(跟 PbRL 里一样)。
    • 直接推导可以得到一个 maxrϕ(x,y)+KL[πθ(y|x)|πref(y|x)] 的代数解,但这个解难以计算。因此,DPO 提出了优化以下 loss function 以达到该解:

    LDPO(πθ;πref)=E(x,yw,yl)D[logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))].

    • 其中,yw,yl 分别是同一个问题 x 下的 win 回答和 lose 回答。(推导思路可能有点像 IPL,先建立 π 和 reward model 之间的映射,再把 policy 带入 reward model 的 loss 里,最终得到直接优化 policy 的方法。我看得不仔细,不确定)
    • 这个 loss function 有对比学习的感觉。借鉴博客 1:如果将 log 里的分式展开并设为 1,同时暂时忽略前面的 log-sigmoid,那么 loss 可以简化为:

    max [logp(yw)logpref(yw)][logp(yl)logpref(yl)]

    • 也就是,让输出 yw 的概率比参考策略大,而输出 yl 的概率比参考策略小。博客 1 说这个 loss 有对比学习的感觉,博客 2 分析了优化该 loss 得到的 θ 梯度公式,得出了相同的结论。
    • DPO 具有理论保证,但未深入阅读。

Inverse Preference Learning: Preference-based RL without a Reward Function

  • arxiv:https://arxiv.org/abs/2305.15363
  • GitHub:https://github.com/jhejna/inverse-preference-learning
  • 来源:[mask]
  • 主要内容:
    • 核心公式:

    (BrπQ)(s,a)=r(s,a)+γEsp(s,a)[Vπ(s)],(TπQ)(s,a)=Q(s,a)γEs[Vπ(s)].

    • 上面的公式是 reward r 下的最优策略满足的 Bellman 公式。如果将 RHS 的 V 移到 LHS,并将 reward 重新表示为 (TπQ)(s,a),可以得到给定最优策略下的 r 的公式。IPL 从理论上证明了这是一个双射。
    • 通过这个公式,我们可以用已经学到的 Q 表示 reward,并将其放入 Bradley-Terry model 中,从而直接优化策略:,就能直接优化策略了:

    PQπ[σ(1)>σ(2)]=expt(TπQ)(st(1),at(1))expt(TπQ)(st(1),at(1))+expt(TπQ)(st(2),at(2)).

    • IPL 的算法流程是迭代更新的:1. 更新上面的 Bradley-Terry 公式,学到新 Q,2. 更新 (TπQ)(s,a) 公式里的 Es[Vπ(s)]=Ea π(|s)Q(s,a)
    • 与 DPO 的区别:DPO 只能比较同一个 state(即同一个问题 x)下的 yl,yw,而 IPL 不受此限制,可以对任意两个 segment 进行比较。
    • 代码部分尚未阅读。

Reinforcement Learning from Diverse Human Preferences

  • arxiv:https://arxiv.org/abs/2301.11774
  • 来源:[mask]
  • 主要内容:
    • 这是一篇 IJCAI 2024 的文章,关注非理想 feedback 下的 PbRL,其中 feedback 可能来自于众包 teacher,可能存在不一致、相互矛盾的情况。因此,需要设计一种 reward learning 方法,学到一致且有意义的 reward model。
    • method:(没仔细看,不确定对)
      • 维护一个 encoder p(z|s,a)=N(z|fμ(s,a),fΣ(s,a)),输入是 (s,a)。对应的 decoder 是 r^^=d(r|z),输出是对 reward model 的预测奖励 r^ 的重建(即 hat hat r)。
      • 为了让 reward model 生成的 reward 相互一致,我们假设 p(z|s,a) 服从一个预定义的先验分布 r(z),然后在训练 encoder 的时候,通过添加约束 loss Lc=E(s,a)[KL(p(z|s,a)r(z))],使 encoder p(z|s,a) 输出的分布接近 r(z)
      • 训练 reward model 时,所优化的 loss 是: L=ϕLc+LBT-model,其中 ϕ 是一个很大的超参数。
      • 然后,在 reward ensemble 时,我们基于一个置信度把每个 ensemble model 的结果加权。置信度与 p(z|s,a)r(z) 之间的 KL 散度成正比,因为如果 KL 散度很小,意味着 reward model 不知道太多特定于输入的信息;如果模型对输入一无所知,它往往会直接输出分布的预测值。
    • 实验 setting:non-ideal feedback 是使用 B-Pref 的非理想 teacher 生成的。做了 3 个 dmcontrol 环境,3 个 metaworld 环境。

RAT: Adversarial Attacks on Deep Reinforcement Agents for Targeted Behaviors

  • arxiv:https://arxiv.org/abs/2412.10713
  • website:https://sites.google.com/view/jj9uxjgmba5lr3g
  • 来源:本科学长的新文章。
  • 主要内容:
    • 这篇文章的 setting 很新颖,关注 RL policy 的 test-time attacks。具体来说:
      • 扰动攻击:一个 policy 所收到的 state 是被微小扰动过的 state,它根据这个错误的 state 来生成 action。
      • MDP 建模:生成扰动的模块也可以看作一个 policy,其中 state 就是 s,action 是一个小于 1 的高斯噪声 Δ,扰动后的 state 记作 s~=s+Δϵ,其中 ϵ 是一个小常数,被称为攻击预算(attack budget)。
      • notation:记 πνα 是被扰动后的策略,其中 ν 是原本策略的参数,α 是扰动模块的参数。
      • 目标可以是:1. 训练最优的扰动策略 πα,使得 πνα 的 discounted return 相比 πν 尽可能变小;2. 设计原本策略的参数 ν,使得它在最优对手 πα 的扰动下,仍能达到最大的 discounted return。
    • 这篇文章貌似是 PbRL + test-time attack,它训练一个意图策略(intention policy)πθ、一个对手策略 πα 和一个 weighting function hw(s)
    • Intention policy 通过 PbRL 训练,这篇文章声称,这样可以对齐人类意图。然后,通过最小化 πθπνα 的 KL 散度,引导 πα 进行攻击。
    • Weighting function hw 负责识别重要的 state,它的训练 loss 衡量受扰动策略的性能,从而反映对手的有效性。(这部分没有细看)
    • 实验好像是 offline RL,使用 metaworld 和 gym 里的 MuJoCo 环境。
    • preference 由 script teacher 生成,scripted teacher 的 reward function 可能来自:
      • 另一个任务。此时 πνα 会去执行另一个任务;
      • 当前任务的 reward 取负值。此时 πνα 会做相反的任务,比如 window-open 变成了 window-close。


本文作者:MoonOut

本文链接:https://www.cnblogs.com/moonout/p/18646972

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   MoonOut  阅读(43)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 Sibelius: Violin Concerto in D Minor, Op. 47:III. Allegro, ma non tanto Jascha Heifetz / Chicago Symphony Orchestra
Sibelius: Violin Concerto in D Minor, Op. 47:III. Allegro, ma non tanto - Jascha Heifetz / Chicago Symphony Orchestra
00:00 / 00:00
An audio error has occurred.