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

Ensemble Alignment Subspace Adaptation Method for Cross-Scene Classification

用于跨场景分类的集成对齐子空间自适应方法

摘要:本文提出了一种用于跨场景分类的集成对齐子空间自适应(EASA)方法,它可以解决同谱异物和异谱同物的问题。该算法将集成学习的思想与域自适应(DA)算法相结合。考虑到原始数据(OD)的样本不均衡问题,通过按照一定规则对原始数据进行多次随机采样得到源数据(SD),并将其作为输入。然后,对源数据和目标数据(TD)进行几何对齐和统计对齐,构建公共子空间,进而对目标数据进行分类。最后,通过对多次分类结果进行计数并保留有效信息,对分类标签进行集成。该技术能够降低生成子空间投影的不确定性和随机性。在两个真实数据集上的实验结果表明,与传统机器学习和域自适应方法相比,该算法在准确率上有显著提升。
关键词:跨场景分类;域自适应(DA);集成学习;高光谱;迁移学习

一、引言

高光谱图像(HSI)的跨场景分类由于其高维数和少样本的问题,一直是一个挑战。当目标域需要实时处理且不能用于重新训练时,有必要仅在源域上训练模型,并直接将模型迁移到目标域。域自适应(DA)是转导迁移学习的一种情况,它可以在特征层面减少光谱偏移,并学习域不变模型,这在跨场景分类中已被证明是成功的。

通常情况下,训练集被假定与测试集具有相同的分布。然而,在实际情况中,测试环境往往差异很大,这可能会导致过拟合。因此,为了解决源数据(SD)和目标数据(TD)之间的不一致性问题,提出了基于域自适应的迁移学习技术。通过该技术,在源域上训练的目标函数被迁移到目标域,以提高预测的准确性。

最近,人们提出了几种方法来提高分类性能。Pan等人提出了一种迁移成分分析(TCA)算法,该算法将两个域的信息映射到一个高维再生核希尔伯特空间中。为了同时利用边际分布和条件分布,联合分布自适应(JDA)算法被提出。如果源数据和目标数据之间的差异很大,很难找到一个能同时实现两个数据投影的空间。投影空间受随机因素影响,如果没有选择合适的基作为空间向量,可能会出现错误分布。因此,Tzeng等人提出了深度域混淆(DDC)算法。在DDC之后,深度自适应网络(DANs)被提出用于进一步探索。DAN增加了一层自适应层和一个域混淆损失函数,使网络能够学习如何进行分类。这种方法减少了源域和目标域之间的分布差异。DAN最突出的方面体现在两个点:多层和多核。对于无监督域自适应中的分类问题,Sun和Yang提出了相关对齐(CORAL)算法,该算法使用线性变换对齐源域和目标域的二阶统计量。为了更好地利用类内特征,Wang等人提出了分层迁移学习(STL)算法。STL使用类内迁移计算每个类的最大平均差异(MMD)距离,以实现更好的变换效果。

在集成学习中,多个分类器结果的适当组合所得到的判断比任何单个分类器的判断都要好。提升算法(Boosting)和自训练聚合算法(Bagging)是主要的集成学习方法。个体学习器之间的差异被认为是分类器组合中非常重要的一个特征。集成学习已成功应用于高光谱图像分类。

当源数据和目标数据差异很大时,很难找到一个包含两个域共享特征的公共子空间。以前大多数基于特征的域自适应方法并没有明确最小化域之间的分布距离。在本文中,采用集成学习来处理源数据的输入并整合每个结果。集成对齐子空间自适应(EASA)方法能够有效地提高识别准确率。在域自适应算法中使用了判别协同对齐(DCA)算法,该算法应用约束来对齐两个子空间,在保持全局几何属性的同时,控制投影数据的几何结构相似性。计算域间MMD和类间MMD,并进行数据重建以保留判别信息。集成学习可以汇集不同维度空间的优势。

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

  1. 通过集成多个结果,可以解决寻找包含共享特征子空间的困难。
  2. 针对高光谱多维投影在低纬度产生判别信息损失的现象,利用约束进行全局信息保留。
  3. 该方法通过对原始数据进行多次随机重复采样,优化高光谱跨场景分类的效果,提高数据利用率。

二、方法论

在这里插入图片描述

(A)判别协同对齐

DCA算法之前通过以下目标函数进行两个域投影的学习:
[min {W{s}, W_{t}}\left| W_{s}^{T} X_{s}-W_{t}^{T} X_{t}\right| {F}^{2}+\lambda{1}\left| W_{s}-W_{t}\right| {F}^{2}]
其中,(\lambda
{1})是控制子空间对齐的正则化参数,(w_{s}) 、(W_{t} \in d ×k)分别是源子空间和目标子空间。k是子空间的维数。(w_{s}) 、(w_{s})可以通过公式(1)进行优化。

为了确保在低维子空间中对齐样本的判别信息不丢失,公式(1)中引入的数据重建公式为:
[\begin{aligned} & min {W{s}, W_{t}, P_{s}, P_{t}}\left| X_{s}-P_{s} W_{s}^{T} X_{s}\right| {F}^{2}+\left| X{t}-P_{t} W_{t}^{T} X_{t}\right| {F}^{2} \ &+\lambda{1}\left| W_{s}-W_{t}\right| {F}^{2} \ & s.t. P{s}^{T} P_{s}=I, P_{t}^{T} P_{t}=I . \end{aligned}]
(P_{s}) 、(P_{t} \in \mathbb{R}^{d ×k})是两个正交重建矩阵。此时,即使源数据和目标数据的光谱偏移很大,也能很好地完成重建。

MMD是迁移学习中应用最广泛的损失函数,尤其是在域自适应中。此外,MMD主要用于衡量两个不同但相关的随机变量分布之间的距离。其基本定义公式为:
[MMD[F, p, q]:=sup {f \in F}\left(E{p}[f(x)]-E_{q}[f(y)]\right)]
其中,f是映射关系,F是映射空间。

在DCA算法中,域间MMD(公式4)和类间MMD(公式5)被用作数据对齐的判别标准:
[M\left(X_{s}, X_{t}\right)=\left| \frac{1}{n_{s}} \sum_{i=1}^{n_{s}} W_{s}^{T} x_{i}-\frac{1}{n_{t}} \sum_{j=1}^{n_{t}} W_{t}^{T} x_{j}\right| {F}^{2}]
[C\left(X
{s}, X_{t}\right)=\sum_{l=1}^{c}\left| \frac{1}{n_{s}^{l}} \sum_{i=1}{n_{s}{t}} W_{s}^{T} x_{i}-\frac{1}{n_{t}^{l}} \sum_{j=1}{n_{t}{t}} W_{t}^{T} x_{j}\right| _{F}^{2}]

分布位移优化项可以通过以下公式得到:
[min {W} Tr\left(W^{T} X M X^{T} W\right)]
在这个公式中,w是子空间矩阵,x是数据矩阵。M是一个线性变换。上述公式得出DCA的目标函数,可以表示为:
[\begin{aligned} min {W{s}, W
{t}, P_{s}, P_{s}, P_{t}} & \left| X_{s}-P_{s} W_{s}^{T} X_{s}\right| {F}^{2}+\left| X{t}-P_{t} W_{t}^{T} X_{t}\right| {F}^{2} \ & +\lambda{1}\left| W_{s}-W_{t}\right| {F}^{2}+\lambda{2} min {W} Tr\left(W^{T} X M X^{T} W\right) \ s.t. & P{s}^{T} P_{s}=I, P_{t}^{T} P_{t}=I \end{aligned}]
其中,(\lambda_{2})是一个正则化参数,用于调整分布对齐的权重。经过对(w_{s}) 、(w_{s})的几次迭代计算后,使用对齐后的源样本训练KNN分类器,然后对目标数据进行分类。

(B)自训练聚合算法(Bagging)

Bagging算法在多次采样后得到一个包含N个序列的数据集。首先,从样本中随机抽取一个样本放入选取序列中,然后将该样本放回原始数据集,这样该样本在下次采样时仍能被选中。通过这种方式,经过m次随机采样操作后,可以得到一个包含m个样本的采样序列。原始数据集中的一些样本会出现多次,而有些样本则不会出现。

学习集由({(y_{n}, x_{n})})组成,(n = 1,2, …, N) ,其中x是输入,y是标签。使用这个数据集生成一个分类器(\varphi(x, L)),它可以预测y的结果。假设序列({L_{k}})由N个与c分布相同的独立集合组成。与单个集合训练的分类器相比,由这个序列训练的分类器具有更高的准确率。当没有复合数据集只有单个学习集c时,可以通过重复提取样本(\varphi(x, L{(B)}))生成({L{(B)}}) ,并形成一个投票(\varphi_{B}) 。对于类别数量差异较大的样本,Bagging算法表现出色。

(C)集成对齐子空间自适应

本文提出的EASA算法可以应用于样本不均衡的训练数据。数据不均衡会导致分类边界偏向较弱的类别,使样本更容易获得强标签。在数据层面使用重采样方法来平衡标记样本的数量,一种是构建弱类别样本以增加弱类别样本的数量(过采样),另一种是减少强类别样本的数量(欠采样)。在本算法中,选择随机重采样来获取采样后的源数据。

算法1 EASA算法
  • 输入:源数据(X_s),目标数据(X_t),源标签(L_s),(\lambda_1),(\lambda_2),k,iter。
  • 初始化:矩阵(W_s)、(W_t)赋随机值。
  1. 计算m的值。
  2. 当未达到最大迭代次数iter时:
    • 为每个类别提取m个数据。
    • 用KNN算法初始化(L_t)。
    • 当未收敛或未达到最大迭代次数iter时:
      • 计算重建矩阵(P_s)、(P_t),更新(W_s)、(W_t)。
      • 用KNN算法预测(L_t)。
    • 结束内循环。
    • 集成每次的预测结果得到(Y)。
  3. 结束外循环。
  • 输出:(Y)。

对原始数据进行多次随机放回采样,使每个类别获得相同数量的m个样本,并确保每次采样过程中获得的样本总数保持不变。每次采样结束时,得到一个用于训练的源数据集。假设学习集(L = {S_{1}, S_{2}, …, S_{n}})包含(II)个类别,(S_{max }) 、(S_{min })分别是数量最多和最少的类别,m的取值为:
[m=min \left(S_{max }, \frac{6}{5} S_{min }\right)]

每个数据集都有一个相应的分类器。整合多个分类器的结果,出现次数最多的数值即为最终答案。算法流程图如图1所示。

每个生成的子空间投影都有一定的随机性,这可能会导致训练生成的分类器存在一定偏差。此外,在降维步骤中可能会丢失少量信息。本文提出的算法可以更好地解决源 - 目标样本不均衡的问题,并且具有更强的鲁棒性。

三、实验结果与讨论

(A)实验数据与评估方法

准备了休斯顿(Houston)和HyRANK数据集进行实验。使用总体准确率(OA)、类别特异性准确率(CA)和Kappa系数来评估每种算法的性能。

  1. 休斯顿数据集包含2013年和2018年休斯顿地区的高光谱信息。2013年的数据包含144个波段、2.5米分辨率的15种特征类型;2018年的数据包含48个波段、1米分辨率的20种特征类型。在本实验中,选择了7种类型进行分类测试,将2013年的数据作为源数据,2018年的数据作为目标数据。使用的数据数量和类别如表1所示。假彩色图像和真实地图如图2所示。
  2. HyRANK数据集由Hyperion传感器获取。选择Dioni地区数据作为源数据,Loukia地区数据作为目标数据,选取12个常见类别和176个光谱波段进行测试。使用的数据数量和类别如表2所示。假彩色图像和真实地图如图3所示。

(B)实验参数设置

实验中考虑以下参数:DCA中的正则化参数(\lambda_{1}) 、(\lambda_{2}),子空间的维度k,Bagging中的迭代次数iter,以及每次从样本中采样的数量n。

(\lambda_{1}) 、(\lambda_{2})的取值范围是{ (1 e-4) , (1 e-3) , (1 e-2) 1 (1 e-1) , (1 e-0) , (5 e+0) , (1 e+1) , 1e 2, 5e 2 }。在图4中,休斯顿数据适合(1 e+2)和(1 e-1) ,HyRANK数据适合(1e+2)和(1 e+2) 。

通过多次实验发现,准确率随着iter的增加而提高。考虑到时间成本,将iter设置为200。对原始数据的每个类别进行相同数量的采样可以减少样本不均衡的影响。k适合设置为20。根据随机重采样算法,休斯顿数据集的m值为198,HyRANK数据集的m值为188,对源数据进行均衡化处理。

使用KNN、TCA、CORAL、MEDA和DCA作为对比算法。TCA中的维度参数设置为20,lambda设置为10,gamma设置为0.5,并使用线性核函数。整个过程在MATLAB中实现。

(C)结果展示与分析

表3和表4给出了上述方法在两个目标场景上的类别特异性分类性能,并报告了平均精度和标准差。

EASA使用KNN进行标签初始化和最终预测。与KNN的结果相比,EASA不受源数据样本不均衡问题的影响,对小样本量类别的分类仍然准确。此外,与TCA、CORAL、MEDA等算法相比,EASA减少了由光谱偏移和空间偏移带来的分类错误。

集成学习的原理使EASA不仅在重复实验的结果中表现稳定,而且与DCA算法相比,能够成功识别子空间类别分布边缘的一些点。在两次实验中,DCA都存在无法识别的类别,休斯顿数据集中的第4类,HyRANK数据集中的第2、4和5类都无法识别。由DCA改进而来的EASA仍然存在这个问题。然而,与MEDA相比,EASA能够识别的类别数量有了很大提高。

四、结论

本文针对跨场景情况下的高光谱图像分类问题,提出了EASA方法。首先,对源数据进行重采样,使每种类型的样本数据数量相同,以减少样本不均衡的干扰。使用域自适应算法DCA对源数据和目标数据进行子空间投影,在保留原始信息的同时,对源域和目标域应用重建约束。最后,利用投票分类器的思想,对源数据多次随机采样分类得到的目标数据分类信息进行统计,获取不同投影子空间携带的特征信息。在休斯顿和HyRANK数据集上的测试结果验证了EASA比以往算法表现更优。

相关文章:

Ensemble Alignment Subspace Adaptation Method for Cross-Scene Classification

用于跨场景分类的集成对齐子空间自适应方法 摘要:本文提出了一种用于跨场景分类的集成对齐子空间自适应(EASA)方法,它可以解决同谱异物和异谱同物的问题。该算法将集成学习的思想与域自适应(DA)算法相结合…...

如何通过 Windows 图形界面找到 WSL 主目录

WSL(Windows Subsystem for Linux)是微软开发的一个软件层,用于在 Windows 11 或 10 上原生运行 Linux 二进制可执行文件。当你在 WSL 上安装一个 Linux 发行版时,它会在 Windows 内创建一个 Linux 环境,包括自己的文件系统和主目录。但是,如何通过 Windows 的图形文件资…...

深入 MySQL 查询优化器:Optimizer Trace 分析

目录 一、前言 二、参数详解 optimizer_trace optimizer_trace_features optimizer_trace_max_mem_size optimizer_trace_limit optimizer_trace_offset 三、Optimizer Trace join_preparation join_optimization condition_processing substitute_generated_column…...

每日一道leetcode

790. 多米诺和托米诺平铺 - 力扣(LeetCode) 题目 有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 "L" 的托米诺形。两种形状都可以旋转。 给定整数 n ,返回可以平铺 2 x n 的面板的方法的数量。返…...

FFmpeg在Android开发中的核心价值是什么?

FFmpeg 在 Android 开发中的核心价值主要体现在其强大的多媒体处理能力和灵活性上,尤其在音视频编解码、流媒体处理及跨平台兼容性方面具有不可替代的作用。以下是具体分析: --- 1. 强大的音视频编解码能力 - 支持广泛格式:FFmpeg 支持几乎所…...

C#进阶(1) ArrayList

前言 在我们进行了入门,基础,核心的学习后,我们已经学了相当多的知识了,不知道你现在对比打开入门时候的你,进步了多少。是否也能自己写一点简单的程序来作为小成就炫耀一下呢? 博主给你留的小项目你是否都有认真去复刻或者改进呢? 这些问题的答案只有你自己清楚。 …...

竞业禁止协议中AI技能限制的深度剖析

首席数据官高鹏律师团队 在当今科技飞速发展的时代,人工智能(AI)领域成为了商业竞争的关键战场。随着AI技术在各行业的广泛渗透,竞业禁止协议中涉及AI技能的限制条款愈发受到关注,其背后蕴含着复杂而关键的法律与商业…...

动态查找滚动容器(通用方案)

需求:点击置顶按钮返回页面的顶部,涉及产生滚动条的元素不唯一的情况,如果确定滚动元素的情况,直接元素.scrollTop 0 就实现置顶了 也是查了一段时间,这个方法很赞,递归寻找滚动元素 步骤 1:判…...

CD3MN 双相钢 2205 材质保温 V 型球阀:恒温工况下复杂介质控制的高性能之选-耀圣

CD3MN 双相钢 2205 材质保温 V 型球阀:恒温工况下复杂介质控制的高性能之选 在石油化工、沥青储运、食品加工等行业中,带颗粒高粘度介质与料浆的恒温输送面临着腐蚀、磨损、堵塞等多重挑战。普通阀门难以兼顾耐高温、强密封与耐腐蚀性,导致设…...

SpringBoot整合MyBatis-Plus:零XML实现高效CRUD

前言 作为一名开发者,数据库操作是我们日常工作中不可或缺的部分。传统的MyBatis虽然强大,但需要编写大量XML映射文件,这在快速开发的今天显得效率不足。MyBatis-Plus(简称MP)作为MyBatis的增强工具,在保留…...

python酒店健身俱乐部管理系统

目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理,难度适中&#xf…...

嵌入式开发学习(第二阶段 C语言基础)

综合案例《猜拳游戏》 需求: 本游戏是一款单机游戏,人机交互 规则: 需要双方出拳:石头、剪刀、布赢: 石头→剪刀剪刀→ 布布 →石头 两边出拳相等输: … 实现: 选择对手玩家出拳对手出拳判断胜…...

Easysearch 时序数据的基于时间范围的合并策略

如果你正在使用 Easysearch 处理日志、监控指标、事件流或其他任何具有时间顺序的数据,那么你一定知道索引的性能和效率至关重要。Easysearch 底层的 Lucene Segment 合并是保持搜索和索引性能的关键后台任务。然而,你是否意识到,默认的合并策…...

【C++】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希

【C】深入理解 unordered 容器、布隆过滤器与分布式一致性哈希 在日常开发中,无论是数据结构优化、缓存设计,还是分布式架构搭建,unordered_map、布隆过滤器和一致性哈希都是绕不开的关键工具。它们高效、轻量,在性能与扩展性方面…...

YOLOv1:开启实时目标检测的新篇章

YOLOv1:开启实时目标检测的新篇章 在深度学习目标检测领域,YOLO(You Only Look Once)系列算法无疑占据着重要地位。其中,YOLOv1作为开山之作,以其独特的设计理念和高效的检测速度,为后续的目标…...

Spring Boot 整合 Redis 实战

一、整合准备&#xff1a;环境与依赖​ 1. 技术栈说明​ Spring Boot 版本&#xff1a;3.1.2&#xff08;兼容 Java 17&#xff09;​ Redis 服务器&#xff1a;Redis 7.0&#xff08;本地部署或 Docker 容器&#xff09;​ Maven 依赖&#xff1a; <dependency><…...

Spring事务失效的全面剖析

文章目录 1. Spring事务基础1.1 什么是Spring事务1.2 Spring事务的实现原理1.3 `@Transactional`注解的主要属性1.4 使用Spring事务的简单示例2. Spring事务失效的常见场景及解决方案2.1 方法不是public的问题描述问题示例解决方案技术原理解释2.2 自调用问题(同一个类中的方法…...

Pytorch张量和损失函数

文章目录 张量张量类型张量例子使用概率分布创建张量正态分布创建张量 (torch.normal)正态分布创建张量示例标准正态分布创建张量标准正态分布创建张量示例均匀分布创建张量均匀分布创建张量示例 激活函数常见激活函数 损失函数(Pytorch API)L1范数损失函数均方误差损失函数交叉…...

消息~组件(群聊类型)ConcurrentHashMap发送

为什么选择ConcurrentHashMap&#xff1f; 在开发聊天应用时&#xff0c;我们需要存储和管理大量的聊天消息数据&#xff0c;这些数据会被多个线程频繁访问和修改。比如&#xff0c;当多个用户同时发送消息时&#xff0c;服务端需要同时处理这些消息的存储和查询。如果用普通的…...

FFmpeg多路节目流复用为一路包含多个节目的输出流

在音视频处理领域&#xff0c;将多个独立的节目流&#xff08;如不同频道的音视频内容&#xff09;合并为一个包含多个节目的输出流是常见需求。FFmpeg 作为功能强大的多媒体处理工具&#xff0c;提供了灵活的流复用能力&#xff0c;本文将通过具体案例解析如何使用 FFmpeg 实现…...

分子动力学模拟揭示点突变对 hCFTR NBD1结构域热稳定性的影响

囊性纤维化&#xff08;CF&#xff09; 作为一种严重的常染色体隐性遗传疾病&#xff0c;全球约有 10 万名患者深受其害。它会累及人体多个器官&#xff0c;如肺部、胰腺等&#xff0c;严重影响患者的生活质量和寿命。CF 的 “罪魁祸首” 是 CFTR 氯离子通道的突变&#xff0c;…...

关于SIS/DCS点检周期

在中国化工行业&#xff0c;近几年在设备维护上有个挺有意思的现象&#xff0c;即SIS和DCS这两个系统的点检周期问题&#xff0c;隔三差五就被管理层会议讨论&#xff0c;可以说是企业管理层关注的重要方向与关心要素。 与一般工业行业中设备运维不同&#xff0c;SIS与DCS的点…...

python-pyqt6框架工具开发总结

菜单栏 工具栏 状态栏 QTreeView 用于展示树形结构数据(模-视图框架)&#xff0c;文件系统&#xff0c;组织结构 通常与QAbstractItemModel的子类(如QStandardItemModel或自动义模型) 展开/折叠 控制节点的显示状态&#xff0c;展开时显示子节点&#xff0c;折叠时隐藏子节点 s…...

Docker Volumes

Docker Volumes 是 Docker 提供的一种机制&#xff0c;用于持久化存储容器数据。与容器的生命周期不同&#xff0c;Volumes 可以独立存在&#xff0c;即使容器被删除&#xff0c;数据仍然保留。以下是关于 Docker Volumes 的详细说明&#xff1a; 1. 为什么需要 Volumes&#…...

【PmHub后端篇】PmHub中基于Redis加Lua脚本的计数器算法限流实现

1 限流的重要性 在高并发系统中&#xff0c;保护系统稳定运行的关键技术有缓存、降级和限流。 缓存通过在内存中存储常用数据&#xff0c;减少对数据库的访问&#xff0c;提升系统响应速度&#xff0c;如浏览器缓存、CDN缓存等多种应用层面。降级则是在系统压力过大或部分服务…...

FPGA实战项目2———多协议通信控制器

1. 多协议通信控制器模块 (multi_protocol_controller) 简要介绍 这是整个设计的顶层模块,承担着整合各个子模块的重要任务,是整个系统的核心枢纽。它负责协调 UART、SPI、I2C 等不同通信协议模块以及 DMA 模块的工作,同时处理不同时钟域之间的信号交互,确保各个模块能够…...

CST软件仿真案例——太阳能薄膜频谱吸收率

CST软件中的太阳能薄膜的功率吸收可用光频电磁波在介质材料中的损耗来计算。本案例计算非晶硅的功率吸收&#xff0c;然后考虑真实太阳频谱&#xff0c;计算有效吸收频谱。 用太阳能单元模板&#xff0c;时域求解器&#xff1a; 材料库提取四个材料&#xff0c;非晶硅&#xf…...

多线程进阶核心知识详解(通俗版)

Java多线程进阶详解 一、锁策略&#xff1a;如何高效管理资源竞争 在多线程环境中&#xff0c;锁是协调资源访问的核心机制。不同的锁策略适用于不同的场景&#xff0c;理解它们的差异能帮助优化程序性能。 1. 乐观锁 vs 悲观锁 悲观锁&#xff1a; 核心思想&#xff1a;假设…...

大模型中的KV Cache

1. KV Cache的定义与核心原理 KV Cache&#xff08;Key-Value Cache&#xff09;是一种在Transformer架构的大模型推理阶段使用的优化技术&#xff0c;通过缓存自注意力机制中的键&#xff08;Key&#xff09;和值&#xff08;Value&#xff09;矩阵&#xff0c;避免重复计算&…...

FHQ平衡树

FHQ平衡树 大致是这样的题目&#xff1a; 您需要动态地维护一个可重集合 M M M&#xff0c;并且提供以下操作&#xff1a; 向 M M M 中插入一个数 x x x。从 M M M 中删除一个数 x x x&#xff08;若有多个相同的数&#xff0c;应只删除一个&#xff09;。查询 M M M 中…...