阅读记录【PMLR2023】The Aggregation–Heterogeneity Trade-off in Federated Learning

news2024/10/6 6:53:13

The Aggregation–Heterogeneity Trade-off in Federated Learning

Abstract

机器学习的传统观点认为,训练模型的数据越多,模型的性能就越好。因此,人们开发了多种联邦学习方法来聚合尽可能多的本地样本。与这种观点相反,本文表明,在存在异构性的情况下,聚合更多数据不一定有益,并揭示了联邦学习中聚合和异构性​​之间的基本权衡。 我们考虑在 FedAvg 和局部估计器之间插值的加权 M M M 估计器的一般族,其中聚合规则由局部样本的权重确定。 我们推导了加权 M M M 估计量的估计误差上限,该上限分解为由异质性引起的偏差项和受聚合影响的方差项。引入 异质性度量 ,即联合平滑度 β,以简化一般结果。作为一个重要的结果,每个本地设备的最佳聚合规则是仅聚合 K 个设备中其 ⌊ K 2 β / ( 2 β + 1 ) / ( σ 2 / n ) 1 / ( 2 β + 1 ) ⌋ ∨ 1 ⌋ \left\lfloor K^{2β/(2β+1)}/(\sigma^2/n)^{1/(2β+1)}⌋ ∨ 1 \right\rfloor K2β/(2β+1)/(σ2/n)1/(2β+1)1 个最近邻居,其中 n n n 是局部样本大小, σ 2 σ^2 σ2 是噪声方差。此外,我们表明我们的估计器(称为 FedKNN)在以 β β β 为特征的某个参数空间上获得了极小极大最优率。这种最佳过程主要取决于设备之间在局部参数的接近度方面的相邻结构。最后,我们证明,如果没有这样的先验知识,任何估计器都无法实现比 O ( σ 2 / n ) O(σ^2/n) O(σ2/n) 更快的收敛速度,因此自适应是不可能的。

NOTE: ∧ \land 表示逻辑“与”, ∨ \lor 表示逻辑“或”。

Keywords

federated learning, optimal affregation, k-nearest neighbors

1. Introduction

FedAvg受到本地设备之间可能存在的分布偏移的影响,这被称为异质性问题。在存在异质性的情况下,为了估计本地参数,从其他设备聚合数据会引入由于参数差异而产生的偏差。因此,聚合更多的本地样本将导致更大的偏差,这可能在一定程度上或完全抵消由于样本大小增加而产生的方差减少的好处。

因此,在联邦学习中存在一种基本的聚合-异质性权衡:通过聚合从其他设备中借用更多信息往往会增加有效样本大小,并提高每个本地设备的性能,但同时会在聚合样本中引入更多异质性并降低准确性。这可以看作是偏差-方差权衡的一种特殊形式,而这在机器学习算法的分析中起着核心作用。

很明显,最佳的聚合应该取决于异质性的程度。考虑两种极端情况。当所有设备完全具有相同的分布时,FedAvg可能是一种最优算法。在这种情况下,应该聚合所有本地样本,以最大程度地减少方差。在另一个极端情况下,任何两个本地设备的真实参数相差很大,合并任意两个本地样本都会引入巨大的偏差,这可能会抵消方差减少的好处。在这种情况下,只使用设备自己的数据的本地估计器可能是最佳选择。在这两个极端之间的中间情况中,可能既不是FedAvg也不是最优局部估计器,而应该仔细平衡聚合和异质性以实现最佳性能。

Chen[1]等人提出,当质异性度量R大于某个阈值,FedAvg是极小极大最优,否则局部估计器是极小极大最优。即R描述了真是参数的方差,是异质性的全局度量,不能捕捉设置之间的局部相异关系。

本文建立加权M估计量的估计误差上限,揭示并精确量化了聚合与异质性的权衡,为了简化表达式并找到最佳聚合规则,引入了联邦平滑度 β \beta β 来衡量设备之间的异构程度。再结合K近邻进一步开发估计器,称为FedKNN。最后本文证明FedKnn在以 β \beta β 为特征的特定参数空间上是极小极大最优,另外的方法均为次优。

  • 考虑加权估计器 M-estimator,其中聚合规则由局部样本的权重确定。权重的选择和异质性程度如何影响估计误差,证明了聚合与异质性的权衡。
  • 提出 β \beta β 联合平滑度来衡量设备间的异构程度。 β \beta β 可以理解为相邻设备间参数距离衰减到0的速率, β \beta β 越大,异质性程度越低,相比于其它, β \beta β 捕获了相邻设备间的局部差异关系。
  • 构建FedKNN,并给出aggregation-heterogeneity trade-off的简洁表述,估计误差为
    ( σ 2 n K ) 2 β 2 β + 1 ∧ σ 2 n (\frac{\sigma^2}{nK})^{\frac{2β}{2β+1}} ∧ \frac{\sigma^2}{n} (nKσ2)2β+12βnσ2
  • 证明FedKNN在 β \beta β 定义的参数空间上是极小极大最优
  • FedKNN是根据设备间相邻结构的先验知识构建的。如果没有这样的先验信息,可能需要开发一种自适应算法来以数据驱动的方式检测邻近结构。然而,在第 5 节中,我们表明在这种情况下没有算法可以提高局部速率 σ 2 / n σ2/n σ2/n,因此自适应是不可能的。当n固定时,即使K→∞,没有任何自适应算法可以将估计误差减小到0。

2. Preliminaries

假设:

  • 损失函数 μ \mu μ-强凸且 η \eta η-平滑 (意味着真实值 θ k ∗ \theta^{*}_{k} θk 唯一)
  • 梯度方差以 σ 2 \sigma^2 σ2 为界 (对于监督问题,局部噪声的方差一致有界,可以放宽到不同噪声大小的情况))
  • 所有本地数据集样本大小均为 n n n (简化结果)

NOTE:

  • σ 2 \sigma^2 σ2 为方差
  • 所有 k ∈ [ K ] k\in[K] k[K] 的局部样本大小为 n k = n n_k = n nk=n
  • k k k 为总设备数

3. General Weighted M M M-estimators

对比两种baseline:

  1. θ ^ k (avg) = arg ⁡ min ⁡ θ 1 K ∑ j = 1 K L ^ j ( θ ) \hat\theta^\text{(avg)}_k = \underset{\theta}{\arg\min}\frac{1}{K} \sum_{j=1}^{K} \hat{L}_j(\theta) θ^k(avg)=θargminK1j=1KL^j(θ)
  2. θ ^ k (loc) = arg ⁡ min ⁡ θ L ^ k ( θ ) \hat\theta^\text{(loc)}_k = \underset{\theta}{\arg\min}\hat{L}_k(\theta) θ^k(loc)=θargminL^k(θ)

这两种估计器是聚合的两个极端,前者聚合所有K个设备,后者则选择本地设备,与其它设备无关。

定义一种带加权的M估计器
θ ^ k (W) = arg ⁡ min ⁡ θ { L ^ w ( θ ) ≡ ∑ j = 1 K w k j L ^ j ( θ ) } \hat\theta^\text{(W)}_k = \underset{\theta}{\arg\min}\{\hat L_w(\theta) \equiv\sum_{j=1}^{K} w_{kj} \hat{L}_j(\theta)\} θ^k(W)=θargmin{L^w(θ)j=1KwkjL^j(θ)}

W为单位矩阵是,估计器转化为局部估计器,它将0权重分配给除自身外的所有设备。直观上,权重 w k w_{k} wk 分布越均匀,来自其它设备的信息聚合就越多。并且注意到,每个设备都有各自特定的权重 w k w_k wk ,因此加权M估计器不是获得单个全局模型,而是输出K个可能不同的参数以进行个性化推理。

基于假设1,2,对每个估计器,有如下定理

  • 定理1
    在这里插入图片描述

前一项为参数间平方距离的加权平均,源于K个设备间的异质性。为了减少这一项,应该避免聚合不相关设备的数据;后一项为设备k聚合的数据的方差导致,由柯西-施瓦茨不等式,为了减少这一项,应该使每个设备间的权重wij分布更均匀。因此这两项一般不能同时最小化,而产生了aggergation-heterogeneity trade-off。 Ben-David[2]

4. Optimal Aggregation Method

  1. 提出联合平滑度量异质性程度
  2. 通过上述度量将结果简化为更简洁版本
  3. 构建FedKNN,并表明其在参数空间上确实是极小极大最优

4.1 Federated Smoothness

定义1
在这里插入图片描述

π ( k , j ) \pi(k,j) π(k,j) 为映射到与设备k参数最j接近的索引, π ( k , 1 ) = k \pi(k,1)=k π(k,1)=k

对于满足这个定义的 θ*,我们也可以说 θ* 是 β-联邦平滑的。请注意,对于任何固定的 θ*,这样的 β 和 C 总是存在,尽管它们不是唯一的。我们对当允许 K 增加时满足某些固定 C 和 β 的联邦平滑度的参数类别特别感兴趣。此外,如果 (2) 对于某些 β 成立,那么它也对于任何 0 ≤ β′ < β 成立。因此,对于最大的 β,我们的结果可以解释为正确。

β \beta β的值衡量相邻设备的参数之间的距离衰减到0的速率,β 越大,异质性程度越低,这进一步导致估计误差更小。 π \pi π的作用是描述设备之间的相邻结构。示例包括联合学习应用程序,其中设备分布在地理上或社交网络上,并且每个设备仅与其最近的邻居共享相似的参数。在本节中,我们考虑 π 作为先验知识给出的情况。

一些例子:

  • homogeneity: 所有k个设备有相同的参数, β = ∞ \beta=\infty β=
  • compelete heterogeneity: K → ∞ K\rightarrow\infty K
  • clustering structure: 对于偶数的K,分为大小相同的两组,每组设备内具有相同参数 δ \delta δ,则有联合平滑度 β = log ⁡ ( C / δ ) / log ⁡ 2 \beta = \log(C/\delta)/\log 2 β=log(C/δ)/log2
  • Hölder smooth function:

Hölder条件/Hölder连续:当存在实常数 C ≥ 0 C\geq0 C0, a > 0 a>0 a>0 时,使得 ∣ f ( x ) − f ( y ) ∣ ≥ C ∥ x − y ∥ α \lvert f(x)-f(y) \rvert\geq C\|x-y\|^\alpha f(x)f(y)∣Cxyα

C o n t i n u o u s l y d i f f e r e n t i a b l e ⊂ L i p s c h i t z c o n t i n u o u s ⊂ α − H o ¨ l d e r c o n t i n u o u s ⊂ u n i f o r m l y c o n t i n u o u s ⊂ c o n t i n u o u s Continuously differentiable \subset Lipschitz continuous \subset α-Hölder continuous \subset uniformly continuous \subset continuous ContinuouslydifferentiableLipschitzcontinuousαHo¨ldercontinuousuniformlycontinuouscontinuous

有其它文献[1][3]考虑了全局异构,但不像本文考虑局部差异。

4.2 FedKNN: Optimal Weights via KNN

通过以下KNN过程确定权重 W m = ( w k j ( m ) ) W^{m}=(w^{(m)}_{kj}) Wm=(wkj(m)):
w k , π ( k , j ) ( m ) = { 1 m i f 1 ≤ j ≤ m , 0  otherwise, w^{(m)}_{k,\pi(k,j)}= \left\{\begin{matrix} \frac{1}{m} if1\leq j\leq m, \\ 0 \text{ otherwise,} \end{matrix}\right. wk,π(k,j)(m)={m1if1jm,0 otherwise,

在这里插入图片描述

在这里插入图片描述

由(4)可以看到更清晰的trade-off: m增大第一项增大第二项减少,m减小则反之。 m ⋆ m^\star m 为最佳平衡,即在(4)上的最小值。它可以解释为设备的有效数量,它表征了有多少其他设备可以在局部估计上进行最优改进,并导致最优估计误差为 σ 2 / ( m ∗ n ) σ^2/(m*n) σ2/(mn) 阶。

对于固定的 β \beta β m ⋆ m^\star m 随着n减小,随着K增大。因为如果K固定,n越大,说明局部估计器的估计误差越小,因此是否聚合来自其他设备的数据的标准更严格,这导致 m* 更小。另一方面,如果n固定,K越大意味着偏差越小的设备越多,因此应该聚合更多设备的数据,从而使m增加。当 β → Infini 时,很容易检查 m → K 和 E∥b θk − θ* k∥2 → σ2/(nK),这意味着几乎所有设备都是有用的。事实上,β = ∞ 对应于齐次设置,其中估计误差恰好为 O(σ 2 /(nK ))。

K ≳ n 1 / ( 2 β ) K \gtrsim n^{1/(2\beta)} Kn1/(2β) ,则有 m ⋆ ≳ 1 m_\star\gtrsim 1 m1 1 / ( n K ) 2 β / ( 2 β + 1 ) 1/(nK)^{2\beta/(2\beta+1)} 1/(nK)2β/(2β+1) 主导界。事实上,很容易检查在这种情况下 ∥θ* π(k,2) − θ* k∥ ≲ 1/√n,因此至少存在另一种设备可以改进 θ* k 的估计。即使局部样本大小n固定,只要设备数量K→∞,FedKNN仍然是一致的。

FedKNN引与非参数估计中经典KNN方法相类比,每个设备对应一个协变量点,局部参数 θ k ⋆ \theta^\star _k θk 对应其条件均值,局部方差 O ( σ 2 ) / n O(\sigma^2)/n O(σ2)/n 对应其方差, π \pi π 用来定义设备间的相邻结构,则可以看出 β \beta β 可以与非参数回归中回归函数的平滑度有关,因此称为Federated smoothness。

4.3 Minimax Lower Bounds

假设数据油 Z i ( k ) = θ k ⋆ + ϵ i ( k ) Z^{(k)}_i=\theta^\star_k + \epsilon^{(k)}_i Zi(k)=θk+ϵi(k)生成, ϵ \epsilon ϵ 为均值0方差 σ 2 I d \sigma^2I_d σ2Id的高斯噪声,则有参数空间

在这里插入图片描述

注意pi是基于先验信息的。损失函数取 l 2 l_2 l2 loss,即 ℓ ( θ , z ) = ∥ θ − z ∥ 2 ℓ(θ, z) = ∥θ − z∥^2 (θ,z)=θz2

定理2(极小极大下界):
在这里插入图片描述

近似小于 ≳ \gtrsim 表示一个值再某种度量(距离、范数、实数域…)下比另一个值要接近或小于。

尽管 ( C , β ) (C,\beta) (C,β) 对在定义1中并不唯一,但重要的是让类 P β P_\beta Pβ 依赖于固定的C,以便很好的定义 β \beta β 。下界(7)与上界(5)相匹配,表明邻域大小为 m ⋆ m_\star m 的FedKNN是极小极大最优。该结果表明,联合平滑度 β 精确地表征了异质性程度以及来自其他设备的信息可以改进局部估计的程度。

当K2β≲n时,最小最大速率为σ2/n,这与没有聚合的局部估计速率一致。这是因为在这种情况下,局部方差 σ2/n 相对较小,因此聚合引入的偏差主导了估计误差。因此,除了设备k之外,没有任何设备包含可以进一步改善局部估计误差σ2/n的信息。当K2β≳n时,由于β联合平滑的限制,其他设备也包含对估计θk有用的信息,其数量取决于K和β的大小。结果,极小极大率提高到{σ2/(nK)}2β/(2β+1)。

定理3(FedAvg和局部估计量的次优性)
在这里插入图片描述

这两个次优估计是A-H trade-off的两个极端。均不受K约束,估计误差不会因为增加设备数量而减少。

5 Impossibility of Adaptation

FedKNN的结果构建仍依赖于先验知识 π \pi π ,但如果没有先验pi,pi的估计误差 O ( σ 2 / n ) O(\sigma^2/n) O(σ2/n) 会占主导地位,并且无法自适应。

考虑如下没有pi的空间,可以理解为该空间中每个元素是上一个空间相同元素下所有pi的并。

在这里插入图片描述

定理4
在这里插入图片描述

和定理4相比,不知道pi意味着极小极大分析是在更大的集合上进行的,因此下界比(7)大很多。尤其是注意,当局部样本大小n固定时,无论K怎样增加,任何自适应估计器的估计误差都不会渐近消失。以此证明邻近结构先验知识的必要性。

总结及优化方向

  • 导致m倍的计算和通信成本,m是聚合邻居的数量。
  • 最后,结构化异质性设置的扩展是值得的。在本文和联邦学习的大多数相关工作中,异质性被简单地编码为参数之间的欧几里得距离。然而,在更复杂的场景中,异构性可能是结构化的。例如,本地参数的某些组成部分可能是共享的,而其余部分则是设备特定的。共享部分和特定部分都可以是高维的或非常复杂的。如何借用多个设备的力量来估计共享组件而不受到特定部分的损害是未来工作的一个方向。

References

[1] Shuxiao Chen, Qinqing Zheng, Qi Long, and Weijie J Su. A theorem of the alternative for personalized federated learning. arXiv preprint arXiv:2103.01901, 2021.
[2] Shai Ben-David, John Blitzer, Koby Crammer, Alex Kulesza, Fernando Pereira, and Jennifer Wortman Vaughan. A theory of learning from different domains. Machine Learning, 79:151–175, 2010.
[3] Xiang Li, Kaixuan Huang, Wenhao Yang, Shusen Wang, and Zhihua Zhang. On the convergence of FedAvg on non-IID data. In International Conference on Learning Representations, 2020c.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1217644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字母不重复的子串-第15届蓝桥第二次STEMA测评Scratch真题精选

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第158讲。 第15届蓝桥第2次STEMA测评已于2023年10月29日落下帷幕&#xff0c;编程题一共有6题&#xff0c;分别如下&am…

2023年【化工自动化控制仪表】找解析及化工自动化控制仪表试题及解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 化工自动化控制仪表找解析参考答案及化工自动化控制仪表考试试题解析是安全生产模拟考试一点通题库老师及化工自动化控制仪表操作证已考过的学员汇总&#xff0c;相对有效帮助化工自动化控制仪表试题及解析学员顺利通…

openGauss学习笔记-125 openGauss 数据库管理-设置账本数据库-校验账本数据一致性

文章目录 openGauss学习笔记-125 openGauss 数据库管理-设置账本数据库-校验账本数据一致性125.1 前提条件125.2 背景信息125.3 操作步骤 openGauss学习笔记-125 openGauss 数据库管理-设置账本数据库-校验账本数据一致性 125.1 前提条件 数据库正常运行&#xff0c;并且对防…

【网络基础实战之路】基于不同协议间使用重发布路由策略

系列文章传送门&#xff1a; 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 【网络基础实战之路】基于…

威胜WFET2000s电能量数据采集终端-WF102协议报文解读

客户又追加需求了 要求把电表接入他们自己的管理系统 小头菜查找相关资料&#xff0c;发现威胜2000s采集终端功能挺多&#xff0c;但是售价比普通透传DTU贵了 N 倍。 迫于成本压力&#xff0c;小头菜和厂里负责管理系统的领导沟通&#xff0c;看能不能用普通DTU代替。 后来发现…

ACM练习——第四天

ok&#xff0c;今天又是三节课的一天。 刚刚吃完饭的我一刻也不敢耽误&#xff0c;直接开干&#xff01;&#xff01;&#xff01; 这些题和力扣上的&#xff0c;为了练习数据结构的题是不一样的。 直接上嘴脸 题目 第一次放学 (nowcoder.com)来自牛客网 思路 先看他的输入…

JavaScript 语句、标识符、变量

语句 JavaScript程序的单位是行(line),也就是一行一行地执行。一般情况下&#xff0c;每一行就是一个语句 var num 10; 语句以分号结尾&#xff0c;一个分号就表示一个语句结束。 标识符 标识符(identifier)指的是用来识别各种值的合法名称。最常见的标识符就是变量名标识符…

qt定时器的使用

在QWidget中进行声明

V10服务器安装virt-manage

kvm是什么 KVM(Kernel-based Virtual Machine, 即内核级虚拟机) 是一个开源的系统虚拟化模块。它使用Linux自身的调度器进行管理&#xff0c;所以相对于Xen&#xff0c;其核心源码很少。目前KVM已成为学术界的主流VMM之一&#xff0c;它包含一个为处理器提供底层虚拟化 可加载…

【Linux网络】典型NAS存储方式:NFS网络共享存储服务

一、关于存储的分类 二、NFS的介绍 nfs的相关介绍&#xff1a; 1、原理 2、nfs的特点 3、nfs软件学习 4、共享配置文件的书写格式 关于权限&#xff0c;学习&#xff1a; 5、关于命令的学习&#xff1a; 三、实验操作 1、nfs默认共享权限&#xff08;服务端设置&#…

短视频账号矩阵系统源码/技术源码分享/技术搭建架构

短视频账号矩阵系统----技术源码分享/技术搭建架构 抖音seo又叫抖音搜索引擎&#xff0c;只要能做到布词&#xff0c;和过去的百度seo优化一样&#xff0c;布词&#xff0c;布关键词&#xff0c;当搜索栏搜索时可以搜索到该短视频。优化视频关键词&#xff0c;做好关键词的优化…

VSCode任务tasks.json中的问题匹配器problemMatcher和ProblemPattern的severity属性关系

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 在 VS Code 中&#xff0c;tasks.json 文件中的 problemMatcher 字段用于定义如何解析任务输出中的问题&#xff08;错误、警告等&#xff09;。 ProblemMatcher的JSON对象和其下的子对象pattern…

Android 13.0 recovery出厂时清理中字体大小的修改

1.前言 在13.0的系统rom定制化开发中,在recovery模块也是系统中比较重要的模块,比如恢复出厂设置,recovery ota升级, 清理缓存等等,在一些1080p的设备,但是density只是240这样的设备,会在恢复出厂设置的时候,显示的字体有点小, 产品要求需要将正在清理的字体调大点,这…

【解刊】现投录用快!无版面费!CCF-B,2个月录用,2天见刊!

计算机类 • 好刊解读 今天小编带来Elsevier旗下计算机领域好刊的解读&#xff0c;如有相关领域作者有意向投稿&#xff0c;可作为重点关注&#xff01;后文有真实发表案例&#xff0c;供您投稿参考~ 01 期刊简介 Computers & Security ☑️出版社&#xff1a;Elsevier …

JUNIT使用和注意、以及断言的介绍使用、SpringBoot Test测试类的使用、maven配置使用junit详细介绍

参考文章&#xff1a; https://www.cnblogs.com/zhukaile/p/14514238.html&#xff0c;https://blog.csdn.net/qq_36448800/article/details/126438339 一、什么是单元测试 在平时的开发当中&#xff0c;一个项目往往包含了大量的方法&#xff0c;可能有成千上万个。如何去保…

mysql---squid代理服务器

squid代理服务器 nginx也可以代理&#xff1a;反向代理--------负载均衡 squid:正向代理服务器。例&#xff1a;vpn squid &#xff1a;正向代理&#xff0c;缓存加速&#xff0c;acl过滤控制 代理的工作机制 1、代替客户端向网站请求数据&#xff0c;不需要访问代理的IP地址…

哈夫曼编码详细证明步骤

关于哈夫曼编码&#xff0c;想必大家都很清楚&#xff0c;这里来讲解一下他的详细证明方法。代码的话就不给了网上一大堆&#xff0c;我再给也没什么意思&#xff0c;这里主要讲明白正确性的证明。我将采取两种方法进行证明&#xff0c;一种常规的方法&#xff0c;还有一种采取…

5.以docker容器生成镜像推送到私有镜像仓库

1.创建私有仓库 1.1 拉取私有仓库镜像registry docker pull registry1.2 运行私有仓库镜像registry docker run -d -p 5001:5000 -v /data/myregistry/:/tmp/registry --privilegedtrue registry1.3 校验私有仓库registry是否安装成功 curl -XGET http://localhost:5001/v2…

Ubuntu环境下以编译源码的方式安装Vim

目录 1. Ubuntu环境 2. 下载编译vim 2.1 效果截图 3. 配置环境变量 1. Ubuntu环境 Linux chris-166 6.2.0-36-generic #37~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 9 15:34:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux 2. 下载编译vim // 源码下载 chris_166chris-16…

Unity VR 开发教程 OpenXR+XR Interaction Toolkit (一) 安装和配置

文章目录 &#x1f4d5;前言❓什么是 OpenXR❓什么是 XR Interaction Toolkit &#x1f4d5;教程说明&#x1f4d5;第一步&#xff1a;导入 OpenXR&#x1f4d5;第二步&#xff1a;导入 XR Interaction Toolkit⭐导入 Starter Assets⭐添加 Preset⭐设置 Preset Manager 的 Fil…