当前位置: 首页 > news >正文

【论文阅读】AdaReasoner: Adaptive Reasoning Enables More Flexible Thinking

AdaReasoner: Adaptive Reasoning Enables More Flexible Thinking

      • 3. AdaReasoner
        • 3.1 动机
        • 3.2 问题定义
        • 3.3 动作选择过程
          • 3.3.1 动作空间定义
          • 3.3.2 动作选择
        • 3.4 探索策略
        • 3.5 强化学习训练
          • 3.5.1 训练算法
          • 3.5.2 目标函数
          • 3.5.3 损失函数

AdaReasoner: Adaptive Reasoning Enables More Flexible Thinking这篇文章介绍了AdaReasoner,一个旨在提高大型语言模型(LLM)在复杂推理和问题解决任务中的灵活性和性能的自适应框架。AdaReasoner通过动态调整推理配置(如温度、推理步骤等)来优化模型的表现,这些配置由一个经过强化学习(RL)训练的代理动态调整。文章强调了现有方法(如Chain-of-Thought [CoT] 和 Tree-of-Thought [ToT])在处理不同类型任务时的局限性,并提出AdaReasoner能够通过自适应配置和自反思机制来克服这些局限。

这篇博客仅简要概括其方法上的创新点,不包含文章的理论分析部分。
在这里插入图片描述

3. AdaReasoner

3.1 动机

尽管链式思维(CoT)和其他类似的大型语言模型(LLM)推理方法已经被广泛研究并证明在许多任务中有效,但它们仍然无法在所有类型的问题上实现理想的表现。例如,像笑话生成或隐喻解释这样的任务通常需要发散性和创造性的推理,而现有的方法在这些任务上表现不佳。AdaReasoner 通过使用强化学习(RL)训练的代理动态调整推理配置(如温度、推理步骤和推理指令),结合自反思机制和强大的选择机制,提高了模型的灵活性和性能。

3.2 问题定义

AdaReasoner 的目标是自适应地找到给定问题 𝑞𝑞q 的最有效超参数配置 𝑎𝑎a,使得 LLM(记为 ΦΦΦ)生成正确的推理答案 Φ(𝑞∣𝑎)Φ(𝑞|𝑎)Φ(qa)。更具体地,配置 𝑎𝑎a 是一个三维向量,每个元素对应一个超参数:

  • 𝑎𝑡𝑎_𝑡at:生成温度
  • 𝑎𝑝𝑎_𝑝ap:推理指令格式
  • 𝑎𝑠𝑎_𝑠as:推理步骤数
3.3 动作选择过程

AdaReasoner 的动作选择过程通过将策略分解为独立的组件来实现,每个组件负责一个特定的超参数设置(如温度、推理步骤和推理指令)。这种分解使得优化空间从乘法减少到加法,从而提高了优化效率。

3.3.1 动作空间定义
  • 推理步骤 (Reasoning Steps) 𝒜𝑠: 动作空间定义为 {𝑥 | 𝑥 ∈ Z, 3 ≤ 𝑥 ≤ 10},即推理步骤数在3到10之间。
  • 温度 (Temperature) 𝒜𝑡: 动作空间定义为 {0.0 + 0.1𝑘 | 𝑘 ∈ Z, 0 ≤ 𝑘 ≤ 10},即温度值在0.0到1.0之间,步长为0.1。
  • 推理指令 (Reasoning Instructions) 𝒜𝑝: 动作空间定义为 {base + variation},即每个动作对应一个基础指令和一个变体的组合。
3.3.2 动作选择

AdaReasoner的神经架构如图2所示,输入查询问题在经过嵌入后,会经历三次动作选择,然后被发送到LLMs进行推理以生成答案。虽然嵌入是由预训练模型(如预训练的BERT模型 [Wolf et al., 2020])执行的,但AdaReason的可训练神经网络参数由三个并行通道组成,每个通道对应一个动作,以及一个共享的公共层。

  1. 输入问题的嵌入 Embed(q)\text{Embed}(q)Embed(q) 首先通过公共层,得到 h=fθc(Embed(q))h = f_{\theta_c}(\text{Embed}(q))h=fθc(Embed(q)),其中 θc\theta_cθc 是公共层的参数(例如,一个全连接的MLP),hhh 捕获了确定动作所需的特征。
  2. 然后 hhh 被发送到每个通道,动作选择如下:
    ap∼πp(⋅∣h)=fθp(h),at∼πt(⋅∣h)=fθt(h),as∼πs(⋅∣h)=fθs(h)a_p \sim \pi_p(\cdot | h) = f_{\theta_p}(h), \quad a_t \sim \pi_t(\cdot | h) = f_{\theta_t}(h), \quad a_s \sim \pi_s(\cdot | h) = f_{\theta_s}(h) apπp(h)=fθp(h),atπt(h)=fθt(h),asπs(h)=fθs(h)
3.4 探索策略

通过将每个问题的配置选择问题建模为多臂赌博机(Multi-Armed Bandit, MAB)问题,我们的目标是在少样本训练设置下设计一种有效的探索策略。然而,由于奖励是从LLM输出间接得出的,并且该过程不是在线学习场景,因此标准的MAB策略(如Upper Confidence Bound (UCB) [Sutton and Barto, 2018])变得不切实际。此外,对每个上下文𝑞评估所有配置在计算上是不可行的,特别是考虑到由LLM响应引起的噪声和隐式奖励景观。因此,广泛探索配置空间的同时优先选择高奖励动作变得至关重要,Boltzmann探索提供了一个有效的解决方案 [Pan et al., 2019],因为它允许代理根据估计的奖励概率选择动作。

具体来说,对于每个动作(ata_tat,asa_sasapa_pap),我们估计其所有可能值(在AtA_tAt, AsA_sAsApA_pAp中)的选择概率:

P(ai)=exp⁡(Q(ai)τ)∑aj∈Aexp⁡(Q(aj)τ)(3)P(a_i) = \frac{\exp\left(\frac{Q(a_i)}{\tau}\right)}{\sum_{a_j \in \mathcal{A}} \exp\left(\frac{Q(a_j)}{\tau}\right)} \tag{3} P(ai)=ajAexp(τQ(aj))exp(τQ(ai))(3)

其中,Q(ai)Q(a_i)Q(ai) 是策略网络 fθf_\thetafθ 输出层中动作 aia_iai 的logit分数。Boltzmann探索中的温度参数 τ\tauτ 控制探索与利用之间的权衡:较高的 τ\tauτ 促进探索,较低的 τ\tauτ 有利于利用。文章以指数方式退火 τ\tauτ,即 τt=τ0⋅αt\tau_t = \tau_0 \cdot \alpha^tτt=τ0αt,其中 t≤Tt \leq TtT,这使得策略能够逐渐从广泛的探索转向可靠的配置选择和精细优化。

3.5 强化学习训练

为了使AdaReasoner能够学习最有效的配置策略,文章采用了一个预训练的奖励模型来评估推理配置的有效性。该模型通过将生成的答案与训练数据中的参考答案进行比较,提供反馈以指导代理的学习,使其能够在有限的指导下(即少样本学习)高效地获取有效的配置。为了促进探索和提高泛化能力,文章采用了Boltzmann探索机制,使代理能够在训练过程中更有效地探索和优化配置。AdaReasoner 使用强化学习(RL)算法进行训练,具体使用的是REINFORCE算法。

3.5.1 训练算法

Algorithm 1: AdaReasoner Algorithm

在这里插入图片描述

3.5.2 目标函数

AdaReasoner 的目标函数 𝐽(Θ)𝐽(Θ)J(Θ) 定义为:
𝐽(Θ)=E𝑞∼𝐷E𝑎∼ΠΘ(⋅∣𝑞)[𝑟(Φ(𝑞∣𝑎),𝑅)]𝐽(Θ) = \mathbb{E}_{𝑞∼𝐷} \mathbb{E}_{𝑎∼ΠΘ(·|𝑞)} \left[ 𝑟(Φ(𝑞 | 𝑎), 𝑅) \right] J(Θ)=EqDEaΠΘ(q)[r(Φ(qa),R)]

在AdaReasoner的RL设置中,奖励被归一化到 [0, 1] 范围,策略使用平滑参数化(如应用于线性logits的softmax函数)。这使得目标函数 𝐽(Θ)𝐽(Θ)J(Θ)𝐿𝐿L-平滑的,即目标函数的梯度变化不会太剧烈,基于采样的梯度估计具有有界的方差。形式上,存在一个常数 𝐿>0𝐿 > 0L>0,使得对于所有 ΘΘΘΘ′Θ'Θ
∥∇𝐽(Θ)−∇𝐽(Θ′)∥≤𝐿∥Θ−Θ′∥\| \nabla 𝐽(Θ) - \nabla 𝐽(Θ') \| \leq 𝐿 \| Θ - Θ' \| ∥∇J(Θ)J(Θ)L∥ΘΘ

3.5.3 损失函数

每个头的损失函数定义为:
L𝑗=−𝑟log⁡Πθ𝑗(𝑎∣𝑞,Φ)ℒ𝑗 = -𝑟 \log Π\theta_𝑗 (𝑎 | 𝑞,Φ) Lj=rlogΠθj(aq,Φ)

总损失函数为:
L=∑𝑗∈{𝑝,𝑡,𝑠}L𝑗ℒ = \sum_{𝑗∈\{𝑝,𝑡,𝑠\}} ℒ𝑗 L=j{p,t,s}Lj

梯度通过链式法则计算,共享层的梯度聚合为:
∇θ𝑐L=∑𝑗∈{𝑝,𝑡,𝑠}∇θ𝑐L𝑗\nabla_{\theta_𝑐} ℒ = \sum_{𝑗∈\{𝑝,𝑡,𝑠\}} \nabla_{\theta_𝑐} ℒ𝑗 θcL=j{p,t,s}θcLj

更新参数:
θ𝑐←θ𝑐−η∇θ𝑐L\theta_𝑐 ← \theta_𝑐 - \eta \nabla_{\theta_𝑐} ℒ θcθcηθcL

θ𝑗←θ𝑗−η∇θ𝑗L𝑗∀𝑗∈{𝑝,𝑡,𝑠}\theta_𝑗 ← \theta_𝑗 - \eta \nabla_{\theta_𝑗} ℒ𝑗 \quad \forall 𝑗 ∈ \{𝑝, 𝑡, 𝑠\} θjθjηθjLjj{p,t,s}

http://www.dtcms.com/a/271213.html

相关文章:

  • 量化数据接口,level2历史数据,level2实时数据,逐笔成交,逐笔委托,10档行情接口
  • 姿态估计:捕捉人体动作的科技艺术
  • 科技对生态保育的影响?
  • Git系列--3.分支管理
  • 自学软件测试需要学哪些内容?
  • 图像硬解码和软解码
  • 轻量锁偏向锁重量锁害人不浅!synchronized源码!
  • eggNOG数据库注释文件
  • HCIA暑期作业
  • 阿里云和腾讯云RocketMQ 发消息和消费消息客户端JAVA接口
  • 高速公路门架系统的三种数据(交易流水、牌识流水、雷达轨迹)是怎么生成的
  • 区块链平台以太坊核心原理
  • 人工智能与机器学习暑期科研项目招募(可发表论文)
  • 【Modern C++ Part8】Prefer-nullptr-to-0-and-NULL
  • 小赛安全智脑×动态MCP Server:让组件API对接像搭积木一样简单
  • 基于lottie的微信小程序动画开发指南
  • [论文阅读] 软件工程 | 一篇关于开源许可证管理的深度综述
  • 轻松更改 Power BI 中的数据源类型
  • 川翔云电脑:突破硬件极限,重构设计生产力范式
  • 软件设计师中级概念题
  • Vue+ElementUI聊天室开发指南
  • 桌面开发,在线%图书管理系统%开发,基于C#,winform,界面美化,mysql数据库
  • 技术开发栈中 URL地址末尾加不加 “/“ 有什么区别?
  • 028_this关键字的使用场景
  • ABP VNext + Marten:事件溯源与 CQRS 全流程实战
  • Amazon SageMaker 部署 AIGC 应用:训练 - 优化 - 部署 - Web 前端集成应用实践
  • 解决IDEA缺少Add Framework Support选项的可行性方案
  • ObjectClear - 图像处理新革命,一键“抹除”图像中任意物体与阴影 支持50系显卡 一键整合包下载
  • 响应式原理二:响应式依赖收集
  • 前端进阶之路-从传统前端到VUE-JS(第四期-VUE-JS页面布局与动态内容实现)(Element Plus方式)