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

ConRFT--RSS2025--中科院自动化所--2025.4.14

0. 前言

论文页
项目页
github
VLA+强化学习有搞头

1. 背景与相关技术

1.1 提出问题

视觉-语言-动作(VLA)模型在真实世界的机器人操控任务中展现了巨大潜力。这些成功主要归功于大规模的模仿式预训练以及与机器人动作的对齐(grounding)机制 。尽管预训练得到的策略能够学习到强大的表征,但在应对现实世界的复杂场景时,它们往往力不从心。

由于示范数据有限且存在不一致性,尤其是在富接触环境下,通过监督学习对这些模型进行微调往往难以获得鲁棒的性能。使用领域特定的数据进行微调对于提升模型在下游任务中的表现至关重要。

虽然基于人类遥操控数据的监督微调(Supervised Fine-Tuning, SFT)仍然是主流的适配方法,但这一过程面临显著挑战:模型的性能高度依赖于任务特定数据的质量和数量。然而,由于人类操作固有的亚最优轨迹和动作不一致等问题,这些人工收集的数据集往往无法始终提供最佳演示。

大型语言模型(LLM)和视觉—语言模型(VLM)的研究进展表明,强化学习(RL)是弥合策略能力与人类偏好之间差距 [7–9] 或提升模型推理能力 [10] 的有力手段。

此外,结合任务专属的奖励函数,通过在线交互数据进行强化学习以优化策略,也是一条有前景的研究方向 [11–13]。然而,将上述思路应用于VLA模型时却面临独特挑战:与纯软件环境中的LLM不同,VLA模型必须在真实机器人任务中进行直接的物理交互

在富含接触操作的环境中采集数据受到安全性和成本的双重约束,这要求极高的样本效率和风险感知探索能力,使得简单粗暴地使用RL变得不可行。近期已有工作尝试引入RL以应对SFT中的难题 [6,14],但这些方法主要将RL用于数据增强或质量提升而非通过RL目标直接优化VLA模型本身

这导致策略难以探索演示数据集之外的状态,从而削弱了基于RL的微调在真实场景中的潜在优势。

1.2 解决问题

针对这些挑战,作者提出了一种针对 VLA 模型强化微调方法,称为 ConRFT,该方法由离线和在线两个阶段的微调组成,并采用统一的一致性训练目标。

  • 在离线阶段,这种方法将行为克隆与 Q 学习相结合,以便从少量示范中高效提取策略并稳定价值估计;
  • 在在线阶段,则通过一致性策略并辅以人类干预,对 VLA 模型进行进一步微调,以确保安全探索并提高样本效率。

虽然该设计与常见的离线到在线(offline-to-online)方法 [15–17] 相似,但他们发现,专家演示的稀缺性制约了这些方法在离线阶段的训练效果。

受CPQL [18] 的启发,作者在离线阶段提出将监督学习与Q学习相结合的统一训练目标,并在在线RL阶段通过一致性策略(consistency policy)对VLA模型进行进一步微调。

  • 在离线训练期间,利用现有演示数据并处理分布外(OOD)状态,能够在与真实环境交互前高效地提取策略和价值函数。
  • 在后续的在线阶段,通过结合CPQL [18] 的任务专属奖励与人类干预(Human-in-the-Loop, HIL)学习
    [19,20],同时应对样本效率和现实安全性的挑战。

本文的主要贡献总结如下:

  1. 提出了一种基于一致性的一体化强化微调方法(Consistency-based Reinforced Fine-Tuning, ConRFT),该流程在离线和在线微调阶段都采用统一训练目标。
  2. 在离线RL中引入行为克隆(BC)损失,提出了Cal-ConRFT,该方法专注于用少量演示数据提取高效策略和价值函数,为后续在线训练提供稳定初始化。
  3. 在在线微调阶段,提出了HIL-ConRFT,其保留离线阶段的相同损失结构,实现策略的快速适配,并通过人类干预确保在真实环境中既安全又高效地探索。

他们在八个多样化的真实世界操作任务上评估了该方法;实验结果表明,在 45–90 分钟的在线微调后,平均成功率达到 96.3%,相比先前的监督方法,成功率提升了 144%,且单次试验长度缩短了 1.9 倍。该工作凸显了将强化学习与 VLA 模型结合以增强其在真实机器人应用中性能的潜力。

1.3 相关工作

1.3.1 用强化学习微调大模型

强化学习(RL)已被广泛用于对大型语言模型(LLMs)和视觉—语言模型(VLMs)进行微调。早期研究主要集中在通过学习人类偏好,将人类反馈融入RL [7–9,21,22];或在没有显式偏好的情况下,直接结合任务专属奖励信号 [11–13,23]。

尽管其中许多方法使用了策略内(on-policy)算法(如PPO [24])来微调预训练策略 [12,25,26],但它们通常需要大量交互数据才能达到理想性能 [27,28]。

尽管RL在诸多领域取得了成功,但它通常是在自建的模拟环境中学习,而非在真实世界中直接训练。这一鸿沟阻碍了对VLA模型的直接迁移,因为VLA模型必须依赖真实世界的物理交互。

作者的工作通过设计专门针对真实环境的高效VLA微调RL框架,正面解决了这一不匹配问题。

1.3.2 真实世界的RL系统

真实机器人RL系统需要同时具备:一是能在高维感知输入下保持样本效率;二是具备实用性,如易于定义奖励函数和重置环境等灵活能力 [20]。

过往已有多种方法在真实物理环境中直接验证了策略学习的可行性 [29–31,20],其中既包括离线(off-policy)算法 [32–35]、也包括在线(on-policy)算法 [36,37],甚至将“RL当作监督学习”来处理 [14,38]。

尽管取得了一定进展,但许多真实场景RL系统依然需要长时间训练或大量交互数据 [39],这在接触丰富的任务中既不实用又存在安全风险。与那些从零开始训练的方案不同,他们的工作侧重于利用预训练的VLA模型为策略提供高质量的初始化。该方法能在RL初期阶段抑制无效探索行为,从而在提升学习效率的同时保障训练过程的安全性。

1.3.3 离线to在线的方法

离线到在线(offline-to-online)RL旨在:先用离线数据初始化策略,再通过在线交互进一步微调,以提升样本效率 [15]。现有研究通常分为离线预训练和在线微调两个阶段 [15,40,41,16],并在训练过程中混合使用离线与在线数据。

这一流程与作者提出的两阶段微调方法相似:先用预收集数据启动策略学习,再在真实任务中对策略进行在线微调 [32]。

然而,大多数离线到在线方法都假设拥有大规模、多样化且状态覆盖充分的数据集 [42,43],这在真实部署中往往难以满足。

作者则尝试以预训练的VLA模型作为基础策略,在演示数据极度稀缺的情况下,也能实现高样本效率的策略优化,从而获得更优的微调效果。

2. 具体方法

所提出的 ConRFT 流程包含两个阶段:先进行离线微调,然后进行在线微调,以优化机器人的策略,如图 1 所示。在接下来的各节中,我们将详细描述这两个阶段,流程示意请见附录 A。
在这里插入图片描述

2.1 阶段一:用 Cal-ConRFT 离线微调

由于预训练的视觉-语言-动作(VLA)模型通常无法在未见过的机器人配置上实现“零样本”泛化,在离线阶段主要用一小批事先收集好的数据(20–30 次示范)来训练策略,然后再切换到在线强化学习。

作者将策略初始化为预训练的 VLA 模型,这样可以减轻在线训练时的探索负担,并缩短整体训练时间。让强化学习从一个已经会做事情的模型开始,而不是从零开始。

鉴于要有效利用离线数据,选用了校准 Q 学习(Calibrated Q-Learning,Cal-QL)作为基础的离线强化学习方法,以使 Q 函数对“分布外”动作具有鲁棒性。

Q 函数:评估某个状态下执行某个动作后,未来能获得的累计奖励。
分布外动作(OOD actions):离线示范中没有出现过的动作。

具体来说,Cal-QL 在离线数据集上通过减小时序差分(TD)误差并加入一个额外的正则项来训练 Q 函数。该正则项会在分布外动作的 Q 值超过参考策略 Vμ(s) 时施加惩罚,同时对离线数据中出现过的动作的惩罚进行补偿。

参考策略 Vμ(s):从示范中学到的、在状态 s 下的平均价值。
惩罚与补偿:防止模型对未知动作估计过高,同时保留对已知动作的正确估值。

Cal-QL 对“评判者”——也就是 Q 函数——的训练目标定义如下:在这里插入图片描述
然而,虽然 Cal-QL 在利用离线数据方面总体高效,但当示范数量仅有少量(如 20–30 条)时,却难以训练出效果好的策略。在这种情况下,受限的状态覆盖会导致价值估计不准确,使策略难以对未见过的状态进行泛化。

相比之下,典型的离线强化学习数据集通常由多种行为策略采集而来,能提供更广的状态覆盖,从而减小分布差距。为了解决这个问题,作者提出在离线训练中加入行为克隆(BC)损失。BC 损失直接最小化策略输出的动作和示范动作之间的差距

通过加入 BC 损失,我们鼓励模型模仿示范行为,在离线阶段提供额外的监督信号。受“在统一训练目标下将 BC 损失与 Q 引导结合”的思想启发[18],作者在离线阶段引入了 Cal‑ConRFT。

该方法使用“一致性策略”作为动作输出头来微调 VLA 模型,以解决两个核心问题:

  1. 帮助利用那些常在预收集数据中出现的不一致或次优示范;
  2. 与基于扩散模型的动作头相比,一致性策略在推理时计算开销更低,更高效。

统一策略是一种基于扩散模型的策略,它学习如何将从单位高斯中采样的随机动作映射为在当前状态下符合专家动作分布输出动作
在这里插入图片描述
在这里插入图片描述:策略网络在状态 s 下输出动作 a 的概率。在这里插入图片描述:VLA 模型对状态 s 的特征编码。

VLA 模型微调时的一致性训练目标定义如下:
在这里插入图片描述
在这里插入图片描述:行为克隆损失,让策略更像示范。在这里插入图片描述让策略倾向于高价值动作。β、η:控制两者权重的超参数。

这种组合通过将价值估计与专家动作对齐,并在离线训练中提升策略表现,即便在示范稀少的情况下,也能实现高效的策略学习和稳定的价值估计。此外,它为在线阶段提供了可靠的初始化,有助于实现安全且高效的探索。

2.2 阶段二:用 HIL-ConRFT 在线微调

虽然离线阶段用少量示范数据提供了初始策略,但其表现受限于示范数据的覆盖范围和质量。因此,作者引入了在线阶段的 HIL-ConRFT,在此阶段通过统一策略让 VLA 模型与真实环境互动,进行进一步微调。在在线训练中,保留了离线阶段使用的示范缓存 D(存放所有离线示范数据,不丢弃)。

此外,引入了一个在线回放缓存 R 来存储线上采集的数据,并采用“对称采样”,即每个训练批次中,示范数据和在线数据各取一半

回放缓存 R:存放机器人在在线阶段自己尝试的数据。
对称采样:保持示范和尝试数据平衡,防止偏向一方。

随着 VLA 模型不断根据当前策略收集新转移数据,数据分布会随着策略进化自然变化。这种持续的互动减轻了离线阶段所面临的数据分布偏移问题。因此,对在线阶段对“评判者”使用标准的 Q 损失进行更新:
在这里插入图片描述
VLA 模型微调时的统一训练目标定义如下:
在这里插入图片描述
注意,该目标与离线阶段的公式十分相似,从而使模型能快速适应在线微调。通常,在在线阶段他们会降低 BC 损失权重 β提高 Q 损失权重 η,但仍保留 BC 损失,原因有二:

  1. 首先,BC 损失确保策略持续与示范数据保持一致,避免出现剧烈偏离导致性能崩溃。这一点对于富接触操作任务尤为重要,因为策略突然变化可能导致不安全或低效的行为。
  2. 其次,强化学习本质上包含探索,在高维状态-动作空间中容易不稳定。BC 损失通过对探索提供稳定作用,防止策略偏离离线基线过远,从而降低低效或不安全行为的风险。

同时,通过“人机交互”(Human‑in‑the‑Loop)将人类干预融入在线阶段。具体而言,HIL 学习允许人类操作员在探索过程中进行及时干预,提供纠正动作,并暂时接管机器人控制权。这些人类纠正动作会被加入示范缓存 D,提供高层次的指导,引导探索朝更安全高效的方向发展。

当机器人出现破坏性行为(如撞击障碍、施加过大力或损坏环境)时,人类干预尤为必要。除了确保安全探索外,人类干预还能加速策略收敛。当策略让机器人进入无法恢复或不理想的状态,或机器人陷入需要大量时间和尝试才能突破的局部最优时,人类操作员可介入纠正动作,引导其朝更安全、更有效的行为发展。

如此一来,学习过程更稳定,VLA 模型比单纯自主探索更快、更安全地完成微调。

3. 实验和结果

本节中,通过真实环境下的实验来验证所提出微调框架的有效性。首先介绍实验设置及各基线方法的结果,随后对这些结果及其意义进行讨论。

3.1 实验总览

本次实验旨在评估作者的方法在真实场景下对VLA模型进行微调的效果和效率。为此,在八个各具挑战的操作任务上进行了真实环境实验,如图 2 所示。
在这里插入图片描述
这些任务涵盖了多种操作难题,包括物体放置(如将面包放入烤面包机、将面包置于白色餐盘上)、精确且富含接触的操作(如将轮子对齐并插入椅子底座)、以及动态物体处理(如悬挂中国结)。

为验证所提微调方法,选用了性能与推理效率兼顾的 Octo-small 模型 [47],并将一致性策略 [45] 作为动作头部署在一台 7 自由度的 Franka Emika 机械臂上。

对所有任务而言,状态观测由两路 RGB 图像(腕部摄像头 128×128、侧视摄像头 256×256)与机械臂的本体感知信息(末端执行器位姿、速度扭矩、力/力矩读数及夹爪状态)组成。

动作空间则根据任务分为:下游阻抗控制器所需的 6 维末端位姿增量,或针对抓取任务增加 1 维二值夹爪指令,共计 7 维目标动作。数据采集与策略下发动作的频率均为 10Hz。

训练前,请人类操作者提供正/负示范,用于训练一个二分类器,对每次执行是否成功给出“成功/失败”的反馈。此外,每个任务的初始状态通过预设机器人动作脚本或人操作手动复位进行随机化

各实验任务的详细描述,以及更多关于实验流程、训练和评估的细节,见附录 B。

3.2 实验结果

本节展示了如图 2 所示所有任务的实验结果。对于每个任务,在表 I 中汇报了成功率、单次执行步数(episode length)和总训练时间等指标。训练时间包含脚本动作执行、策略滚动执行(rollouts)及机载计算等环节,均在 NVIDIA RTX A6000 GPU 上完成。
在这里插入图片描述
离线阶段,比较了 Cal-ConRFT 与 SFT,其中 SFT 采用负对数似然损失(NLL loss)进行行为克隆 [47]。

在线阶段,我们将 HIL-ConRFT 与多种基线方法进行了对比:

  1. HG-DAgger [19]:通过人类修正使用监督学习微调策略;
  2. PA-RL [14]:先用与策略无关的 Q 函数优化动作,再用这些动作做监督微调;

3.2.1 ConRFT与监督与强化方法

在表 I 中对比了各监督与强化方法,并在图 3 中给出了相应的在线学习曲线。
在这里插入图片描述
ConRFT 在 45–90 分钟的真实场景训练后,所有任务平均成功率达 96.3%,比纯监督基线提高了 144%。相比之下,HG-DAgger 和 PA-RL 的平均成功率仅为 65% 和 71.3%。

虽然 HG-DAgger 借助人类修正进行监督微调,但因修正本身的亚最优性和不一致性,往往难以显著提升策略表现,甚至在某些任务上出现退步。例如,在插轮子(Insert Wheel)和挂中国结(Hang Chinese Knot)等需要精细接触的任务中,HG-DAgger 在线微调后改进有限。

具体到挂中国结任务,柔软物体的精细操作要求策略保持高度一致且精确的控制。人类修正存在的变异性(如插入角度差异)会将噪声与矛盾信息带入训练,影响学习效果。这种不一致性阻碍了策略掌握精细灵巧的操作。

此外,接触动力学的复杂性使得策略的微小偏差就可能导致性能大幅下降,加剧了人类修正不一致带来的难题。在无人工干预时,PA-RL 通过 Cal-QL 训练出的与策略无关 Q 函数,直接对动作进行优化。

通过奖励信号优化动作,PA-RL 克服了人类修正的亚最优问题,在“摘香蕉”(Pick Banana)和“放勺子”(Put Spoon)等简单任务中效果稳定。但在“插轮子”等需要精确操作的任务中,PA-RL 无法有效改进策略表现。

在插轮子任务中,精确对齐和受控插入力至关重要。然而,由于示范缓存和重放缓存中的状态覆盖有限,Q 函数难以有效泛化到不同的轮子与插槽位置。

这限制了策略应对细微状态变化的能力,导致在复杂操作场景下性能欠佳。因此,PA-RL 虽在简单场景表现亮眼,但遇到高精度、高灵巧度的复杂任务便捉襟见肘。

以上现象凸显了作者方法的优势:通过强化学习有效缓解人类修正不一致与状态覆盖不足的问题。

ConRFT 能安全地在更广泛的状态空间中探索,并利用任务专属奖励直接优化策略,因而展现出高样本效率并减轻人类修正不一致的影响。这种稳定性与性能凸显了这种方法在真实机器人应用中克服传统微调局限的有效性

另一个评估策略表现的重要指标是单次执行步数(episode length),即策略完成任务所需的动作步数总和。如表 I 所示,经 HIL-ConRFT 微调后的 VLA 模型平均步数为 30.7 步,比离线基线缩短了 1.9 倍。

而 HG-DAgger 的平均步数为 56.3 步,仅比离线基线短 1.1 倍。同样,PA-RL 的平均步数为 51.1 步。由于策略无关 Q 函数较为保守,PA-RL 缺少足够探索,难以优化更快速或更高效的行为序列。

这些结果表明,ConRFT 能充分利用马尔可夫决策过程(MDP)的动态特性,通过统一策略优化 VLA 模型,以最大化折扣累积奖励。同时也凸显了纯监督方法在处理亚最优示范和高效探索方面的局限。

他们的方法通过激励策略更快地获取奖励,因而比仅模仿示范的监督方法能实现更短的执行步数。这种样本效率的提升与执行步数的减少,突显了 ConRFT 在真实机器人微调中的显著优势。

3.2.2 对预训练 VLA 进行微调优于从头训练

从零开始的强化学习通常需要与环境进行大量交互并频繁依赖人工干预,这会导致训练时间冗长且安全风险较高。例如,HIL-SERL [20](一种结合人类干预从零开始用 RL 训练策略的方法)在与他们相同训练时长内无法收敛到有效策略,其平均成功率仅为 31.9%,见表 II。
在这里插入图片描述
图 3 的学习曲线显示 HIL-ConRFT 在在线阶段能够稳定持续地提升策略性能。虽然 HIL-SERL 最终也可能学到较好的策略,但通常需要超过两小时的在线训练并伴随较高的人工干预率,这会在探索过程中引发更多破坏性行为(例如与环境发生碰撞),尤其是在训练初期。

相比之下,从预训练的 VLA 模型出发并先进行离线微调,能缩短在线训练时间并提升样本效率。基于离线初始化的策略,ConRFT 加速了策略收敛并提升了最终性能。

因此,通过统一策略微调预训练 VLA 模型,使其比完全从头训练更快、以更少的干预达到更高的成功率——这证明了在真实机器人应用中利用预训练 VLA 模型的优势。

3.2.3 分析

a 为什么从Cal-ConRFT微调,而不是从SFT/Cal-QL

如表 I 所示,注意到在离线阶段 Cal-ConRFT 的性能与 SFT 基线相近。这一现象引出了一个问题:为什么要在离线阶段引入 Q 损失。

原因在于:若离线阶段仅依赖 SFT,微调得到的策略虽然受益于模仿学习,但面对离线数据未覆盖的状态与动作时,往往需要大量在线微调才能应对。

相比之下,在离线阶段引入 Q 损失可以让早期的 Q 值估计为策略改进提供初始化,从而促使在线微调时更快适应。该方法有助于缓解潜在偏差并保证更稳定的学习过程。

此外,在示范数据较少的情形下,发现仅依赖 Cal-QL 无法训练出有效策略,导致所有任务的成功率为 0%。数据不足会影响策略对 Q 值的准确估计,导致离线阶段后表现较差,并在在线阶段需要更长时间训练。

在两个代表性任务上比较了以 Cal-ConRFT 与 SFT 为起点的在线微调曲线(见图 4),以进一步研究引入 Q 损失的影响。
在这里插入图片描述
虽然两条曲线起始成功率相近,但从 SFT 起始的训练途中出现更高的人工干预率,表明 SFT 训练得到的策略在在线训练初期发生了严重的策略遗忘(policy forgetting)。

这表明 Cal-ConRFT 通过在离线阶段利用 Q 损失能加速在线学习的适应,从而在示范数据稀少时实现更有效、稳健的策略改进。

b 增加演示的数量能够增强策略表现吗?

通常在 45–60 分钟的在线微调阶段,策略会收集大约 80 至 120 条成功与失败轨迹。为保证公平比较,在三个代表性任务上用 150 条示范对 Diffusion Policy(DP) 与监督微调的 VLA(Octo) 进行训练,该示范数与他们方法使用的示范总数相当。

同时,还将 RLDG 与使用 RL 策略收集的 150 条示范进行微调的结果做了对比。如表 III 所示,尽管 DP 和 SFT 从更多示范中受益,但它们的成功率仍无法匹配我们方法的表现,尤其在像 Insert Wheel 这样的接触丰富任务中更是如此。
在这里插入图片描述
这表明,仅仅通过增加人类收集的示范采用监督学习,并不能必然提高性能,因为人类示范本身存在不一致和亚最优行为。与此相比,RLDG 使用 RL 策略收集的相对“优质”数据能获得更高成功率,说明 RL 收集数据的一致性有助于提升最终性能。

而我们的方法通过优化统一训练目标直接微调策略,从而取得了最高的成功率。

c 在不同的VLA上用ConRFT

ConRFT 具有高度通用性,可应用于任何带有动作头(action head)的基于 VLM 的架构。这种灵活性源于 ConRFT 能够在不依赖底层视觉编码器的前提下独立优化动作生成过程,从而适配不同的 VLA 框架。

为进一步验证其适用性泛化,在具有两种不同 VLM 骨干的 RoboVLM [51] 上测试了该方法的微调能力。如表 IV 所示,结果表明 ConRFT 能有效提升不同 VLA 的性能,在多项机器人任务中提高成功率。
在这里插入图片描述
能在利用预训练视觉组件的同时对动作生成进行微调,凸显了 ConRFT 的广泛适用性。

4. 限制

尽管他们的方法在真实操作任务上表现出较强的性能和样本效率,但仍存在若干局限性。

  1. 对奖励工程的敏感性

本文中使用任务专属的二分类器来为强化学习计算奖励。然而,分类器训练数据与 RL 探索过程中产生的状态—动作分布存在固有的分布偏移(distributional shift),这会引发关键脆弱性:策略可能出现“奖励黑客”(reward hacking)——利用分类器的盲点触发错误的奖励,从而学出不应有的行为。

例如,机器人可能仅将末端执行器放在某个特定位置触发误判,从而使策略收敛到错误的行为。由于此类奖励分类器通常只给出稀疏的反馈,策略即便在有人干预下也可能学习缓慢。

另一方面,以此类奖励驱动得到的策略往往高度专用,仅适用于任务的特定条件,因而泛化到新环境的能力受限。

虽然引入多任务的稠密奖励(multi-task dense rewards)可以提升样本效率并加速收敛,但这同样会对真实世界的奖励设计提出更高要求,需更复杂的工程工作。

  1. 冻结encoders和transformer主干

目前实现中,将交互与策略学习放在不同线程,仅对动作头(action head)以统一策略进行微调,而将视觉编码器与 Transformer 主干保持冻结(frozen)。

虽然此设计有利于实时性,但限制了策略在在线训练中对感知与表示模块的细化能力,尤其在遇到未见过的场景时体现明显。允许对这些冻结组件进行部分或全部更新(可采用参数高效微调方法,例如 LoRA [52])或能在不显著牺牲安全性与速度的前提下,提升最终任务性能与适应性。

http://www.xdnf.cn/news/1306189.html

相关文章:

  • 10.0 UML的介绍以及VisualStudio中查看类图
  • 强制从不抱怨环境。
  • 电源测试系统ATECLOUD-Power,让您告别电源模块测试痛点!
  • Vue模板引用(Template Refs)全解析1
  • sqlsever的sql转postgresql的sql的方言差异
  • Java-包装类
  • 机械学习---词向量转化评价,附代码实例
  • pyecharts可视化图表-pie:从入门到精通(进阶篇)
  • ETH持续上涨推动DEX热潮,交易活跃度飙升的XBIT表现强势出圈
  • uniapp纯前端绘制商品分享图
  • 访问者模式C++
  • Android RxJava 过滤与条件操作详解
  • 数据结构初阶(17)排序算法——非比较排序、排序算法总结
  • Flink的状态管理
  • SpringCloud学习
  • 【完整源码+数据集+部署教程】孔洞检测系统源码和数据集:改进yolo11-RetBlock
  • 自适应UI设计解读 | Fathom 企业人工智能平台
  • ​​金仓数据库KingbaseES V9R1C10安装教程 - Windows版详细指南​
  • 力扣习题:基本计算器
  • 从 “碳足迹“ 到 “零碳圈“:上海零碳园区的改造密码
  • Xget:为您的开发工作流解锁极致速度
  • 用 1 张 4090 复现 GPT-3.5?——单卡 24 GB 的「渐进式重计算」训练实践
  • 第三十五天(JSAjax技术)
  • 苹果(apple)ios系统和安卓(Android) apk系统开发者账号类型及申请步骤
  • Linux之高可用集群实战(二)
  • 利用Minicsv库解析csv文件的c程序及读入测试
  • expand.exe命令为什么能显示CD.iso的版本信息?
  • 中国象棋人机对战
  • Linux Namespace隔离实战:dd/mkfs/mount/unshare构建终极沙箱
  • Spring Boot 静态函数无法自动注入 Bean?深入解析与解决方案