【阅读记录】《联邦学习》杨强

第2章 隐私、安全及机器学习

2.3 威胁与安全模型

2.3.1 隐私威胁模型

对机器学习系统的攻击可能在任何阶段发生,包括数据发布、模型训练和模型推理。

  • 模型训练阶段:重构攻击(避免使用寻存储显式特征值的模型,SVM KNN等)
  • 模型推理阶段:模型反演攻击(敌人有白盒或黑盒访问权限)、成员推理攻击(敌人至少拥有黑盒访问权限)
  • 数据发布阶段:特征推理攻击(对数据去匿名化或锁定记录的拥有者)

2.3.2 攻击者和安全模型

现有工作面向两种敌手:

  • 半诚实的(Semi-honest)敌手:在半诚实(抑或诚实但好奇的(honest-butcurious)、被动的)敌手模型中,敌手诚实地遵守协议,但也会试图从接收到的信息中学习更多除输出以外的信息。
  • 恶意的(Malicious)敌手:在恶意的(抑或主动的)敌手模型中,敌手不遵守协议,可以执行任意的攻击行为。

2.4 隐私保护技术

  • 安全多方计算
  • 同态加密
  • 差分隐私

第3章 分布式机器学习

3.1 分布式机器学习介绍

在这里插入图片描述

3.2 面向扩展性的DML

3.2.2 面向扩展性的DML方法

数据并行、模型并行、图并行、任务并行、混合并行和交叉并行

3.3 面向隐私保护的DML

3.3.2 隐私保护方法

隐私处理or密码学方法

第4章 横向联邦学习

4.0(补充) 横向联邦 v.s. 纵向联邦

横向联邦学习

在这里插入图片描述

多个参与者具有相同的数据特征。横向联邦使训练样本的总数量增加。横向联邦学习也称为特征对齐的联邦学习(Feature-Aligned Federated Learning),即横向联邦学习的参与者的数据特征是对齐的。

纵向联邦学习

适用于参与者训练邦本ID重叠较多,而数据特征重叠较少的情况。联合多个参与者的共同样本的不同数据特征进行联邦学习,即各个参与者的训练数据是纵向划分的,称为纵向联邦学习。纵向联邦学习需要先做样本对齐,即找出参与者拥有的共同的样本,也就叫“数据库撞库(entity resolution, a.k.a. entity alignment)”。只有联合多个参与者的共同样本的不同特征进行纵向联邦学习,才有意义。纵向联邦使训练样本的特征维度增多。纵向联邦学习也称为样本对齐的联邦学习(Sample-Aligned Federated Learning),即纵向联邦学习的参与者的训练样本是对齐的。
在这里插入图片描述

小结

  • 横向联邦学习的名称来源于训练数据的“横向划分”,也就是数据矩阵或者表格的按行(横向)划分。不同行的数据有相同的数据特征,即数据特征是对齐的。
  • 纵向联邦学习的名称来源于训练数据的“纵向划分”,也就是数据矩阵或者表格的按列(纵向)划分。不同列的数据有相同的样本ID,即训练样本是对齐的。

4.1 横向联邦学习的定义

横向联邦学习也称为“按样本划分的联邦学习” ( SamplePartitioned Federated Learning 或 Example-Partitioned Federated Learning)。可以应用于联邦学习的各个参与方的数据集有相同的 特征空间和不同的样本空间的场景,类似于在表格视图中对数据进行水平划分的情况。

关于横向联邦学习系统的安全性的定义,我们通常假设一个横向联邦学习系统的参与方都是诚实的,需要防范的对象是一个诚实但好奇(honest-but-curious)的聚合服务器[35,115]。即通常假设只有服务器才能使得数据参与方的隐私安全受到威胁。

4.2 横向联邦学习架构

  • C-S架构
  • P2P架构

4.2.1 客户-服务器架构

典型的横向联邦学习系统的客户-服务器架构示例如图4-1所示,也被称为主-从(master-worker)架构或者轮辐式(hub-and-spoke)架构。在这种系统中,具有同样数据结构的K个参与方(也叫作客户或用户)在服务器(也叫作参数服务器或者聚合服务器)的帮助下,协作地训练一个机器学习模型。横向联邦学习系统的训练过程通常由如下四步组成:
在这里插入图片描述
在这里插入图片描述

上述步骤将会持续迭代进行,直到损失函数收敛或者达到允许的迭代次数的上限或允许的训练时间,这种架构独立于特定的机器学习算法(如逻辑回归和深度神经网络),并且所有参与方将会共享最终的模型参数。
对于模型聚合,可以采用 梯度平均模型平均 的方式。梯度平均是服务器将接收到的梯度信息进行聚合(加权平均等),再将聚合的梯度信息发送给各参与方。模型平均则是发送模型参数至服务器,服务器将接受的信息聚合后发回给各客户端。
在这里插入图片描述

4.2.2 对等网络架构

每个客户端称为训练方,训练方们使用安全链路)(channels)相互之间传输模型参数信息。为保证通信安全,需要使用例如基于公共密钥的加密方法等安全措施。
传输方式:循环传输,随机传输(Gossip学习)。

4.2.3 全局模型评估

本地模型性能表示某一参与方在本地测试数据集上检验得出的横向联邦学习模型的性能,全局模型性能表示所有参与方在测试数据集上对横向联邦学习模型进行测试得出的模型性能。模型性能可以表现为精确度(precision)、准确度(accuracy)和召回率(recall)等。
C-S结构可以通过回传给中央服务器来聚合,P2P结构则可以选取一个临时协调方等方式。

4.3 联邦平均算法介绍

local SGD/FedAvg

4.3.1 联邦优化

联邦学习中的优化问题称为联邦优化。联邦学习面临的挑战:

  1. 数据集的非独立同分布(Non-IID, Non-independent and Identically Distributed)
  2. 数据量不平衡
  3. 参与方数量大
  4. 通信连接不稳定
    为了应对联邦优化中面临的挑战,谷歌的H.Brendan McMahan等人提出使用联邦平均算法来求解联邦优化问题。联邦平均算法可以用于深度神经网络训练中遇到的非凸损失函数(即损失函数是神经网络模型参数的非凸函数,常见于深度神经网络模型).
    在分布式机器学习中,数据中心或集群中并行训练时,通信开销较小,计算开销占主导。但在联邦学习场景中,通信需要依靠互联网,甚至是无线网络,通信代价占主导地位。因此联邦学习中可能需要使用额外的计算以减少训练模型所需通信轮次。有两种主要方法:增加并行度(增加参与方),增加每一个参与方中的计算(在两个通信轮次间进行更复杂的计算)。

4.3.2 联邦平均算法

具体查看 Google的文章:

MCMAHAN H B,MOORE E,RAMAGE D,et al.Federated learning of deep networks using model averaging[A/OL].arXiv.org(2017-02-28).https://arxiv.org/abs/1602.05629v3.

在这里插入图片描述

4.3.3 安全的联邦平均算法

算法4-1中描述的联邦平均算法会暴露中间结果的明文内容,例如从SGD或DNN模型参数等优化算法中产生的梯度信息。它没有提供任何安全保护,如果数据结构也被泄露,模型梯度或者模型参数的泄露可能会导致重要数据和模型信息的泄露。

  • 加法同态加密(AHE):Paillier算法、基于带错误学习(Learning With Errors,LWE)的加密方法

特别地,通过比较算法4-1和算法4-2可以观察到,诸如AHE这类方法,可以很容易地加入原始的联邦平均算法中,以提供安全的联邦学习。文献[35]指出,在特定条件下,算法4-2展示的安全的联邦平均算法将不会给诚实但好奇的协调方泄露任何参与方的信息,并且其中的同态加密方法能够抵御选择明文攻击(Chosen-Plaintext Attack,CPA)。换言之,算法4-2抵御了诚实但好奇的某一方的攻击,确保了联邦学习系统的安全性。
在AHE方法中,数据和模型本身并不会以明文形式被传输,因此几乎不可能发生原始数据层面的泄露。然而,加密操作和解密操作将会提高计算的复杂度,并且密文的传输也会增加额外的通信开销。AHE的另一个缺点是,为了评估非线性函数,需要使用多项式近似(例如,使用泰勒级数展开来近似计算损失函数和模型梯度)。所以,在精度与隐私性之间需要进行权衡。用于保护联邦平均算法的安全技术仍需进一步研究。

在这里插入图片描述

4.4 联邦平均算法的改进

4.4.1 通信效率提升

  1. 压缩的数据参数更新(Sketched updates)。正常计算更新模型,本地压缩(无偏估计值)。
    • 压缩梯度(DGC)、压缩参数
  2. 结构化的模型参数更新(Structured updates)。模型参数更新被限制为允许有效压缩操作的形式。
  3. 避免将不相关的模型更新上传到服务器,降低通信开销。

4.4.2 参与方选择

判断资源与训练任务相关性,判断计算时间,综合考虑参与方。

第5章 纵向联邦学习

我们把在数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习归类为纵向联邦学习(Vertical FederatedLearning,VFL),也可以理解为 按特征划分的联邦学习 。“纵向”一词来自“纵向划分”(vertical partition),该词广泛用于数据库表格视图的语境中,如表格中的列被纵向划分为不同的组,且每列表示所有样本的一个特征。本章将介绍VFL,包括其定义、架构、算法和面临的研究挑战。

5.1 纵向联邦学习的定义

出于不同的商业目的,不同组织的数据集通常具有不同的特征空间,但这些组织可能共享一个巨大的用户群体。纵向联邦学习的目的是,通过利用由参与方收集的所有特征,协作地建立起一个共享的机器学习模型。

5.2 纵向联邦学习的架构

在这里插入图片描述

  1. 加密实体对齐。通过加密方式对其共同用户。
  2. 加密模型训练。
    1. 步骤1 协调者C创建密钥对,并将公共密钥发送给A方和B方。
    2. 步骤2 A方和B方对中间结果进行加密和交换。中间结果用来帮助计算梯度和损失值。
    3. 步骤3 A方和B方计算加密梯度并分别加入附加掩码(additional mask)。B方还会计算加密损失。A方和B方将加密的结果发送给C方。
    4. 步骤4 C方对梯度和损失信息进行解密,并将结果发送回A方和B方。A方和B方解除梯度信息上的掩码,并根据这些梯度信息来更新模型参数。

5.3 纵向联邦学习算法

5.3.1 安全联邦线性回归

同态加密,联邦线性回归模型。

  • 协同训练。AB方协同训练发送值给C方,C方综合二者结果解密并更新,
  • 协同预测。AB方各自预测一个值,发送给C,C将值加总计算预测结果。

5.3.2 安全联邦提升树

Secure federated tree-boosting,SecureBoost
SecureBoost:结合XGBoost,使用决策树预测输出

第6章 联邦迁移学习

向联邦学习要求所有参与方的样本具有相同的特征空间,而纵向联邦学习需要各参与方具有相同的样本空间和不同的特征空间。然而在实践中,我们经常会面临的情况是,各参与方间并没有足够的共同特征或样本。在这种情况下,通过迁移学习(TransferLearning,TL)技术,我们仍然可以建立一个拥有良好性能的联邦学习模型。我们将这种结合称为联邦迁移学习(Federated Transfer Learning,FTL)。

6.1 异构联邦学习

数据集差异

  • 参与方的数据集之间可能只有少量的重叠样本和特征。
  • 这些数据集的分布情况可能差别很大。
  • 这些数据集的规模可能差异巨大。
  • 某些参与方可能只有数据,没有或只有很少的标注数据。

6.2 联邦迁移学习的分类与定义

迁移学习的本质是发现资源丰富的源域(source domain)和资源稀缺的目标域(target domain)之间的不变性(或相似性),并利用该不变性在两个领域之间传输知识。

  • 基于实例的联邦迁移学习
    横向:挑选或加权训练样本,较小分布差异;纵向:挑选特征,避免负迁移
  • 基于特征的联邦迁移学习
    参与方协同学习一个共同的表征空间,该空间可以缓解从不同数据转换来的表征之间的分布和语义差异。横向:最小化参与方样本间的最大平均差异;纵向:最小化对齐样本中属于不同参与方的表征距离。
  • 基于模型的联邦迁移学习
    协同学习共享模型。横向本身就是一个基于模型的联邦迁移学习。

6.3 联邦迁移学习框架

在这里插入图片描述

第7章 联邦学习激励机制

如何建立激励机制使得参与方持续参与到数据联邦中是一项重要的挑战。实现这一目标的关键是制定一种奖励方法,公平公正地与参与方们分享联邦产生的利润。
本章介绍联邦学习激励方法(Federated Learning Incentivizer,FLI)的各种激励分配方法。它的任务目标为最大化联邦的可持续性经营,同时最小化参与方间的不公平性,动态地将给定的预算分配给联邦中的各个参与方,还可以扩展为一种能够帮助联邦抵御恶意的参与方的调节机制。

7.1 贡献的收益

如何通过情景感知等方式量化每个参与方为联邦带来的收益,从而实现联邦长期的可持续经营。
在这里插入图片描述

7.1.1 收益分享博弈

  • 平等(Egalitarian):平均分配。
  • 边际收益(Marginal gain):收益为加入团队时产生的效用。个体收益分享(Individual profit-sharing)方法、Shapley博弈收益分享方法(The Shapley game profit-sharing)。
  • 边际损失(Marginal loss):收益为离开团队时产生的效用。工会博弈收益分享方法(The Labour Union game profit-sharing)、公平价值博弈方法(The Fair-value game)。

联邦学习激励方法(FLI)

7.1.2 反向拍卖

  • 用于传感器数据的反向拍卖方法:该方法的目的是在提供有质量的数据前提下,寻求最低廉的传感器组合方式。这类方法基于一种假设,即中央实体清楚自己需要何种数据(例如地理分布)。然而,这类方法通常假设数据质量与成本或代价无关(因为反向拍卖需要相同的物品)。一种不好的结果是,参与方可能仅仅为了获取回报,而提交不具有信息的数据来套利。
    另一种获取指定质量的数据的方法是发布奖励,是一种只能接受或放弃的方法。(三种奖励设计方案:通过输出协议,通过信息理论分析,通过模型改良)

7.2 注重公平的收益分享框架

介绍一种FLI方案。

7.2.1 建模贡献

我们假设数据联邦使用联邦学习惯用的模型训练同步模式[64],其中参与方以轮次为单位共享模型参数。在轮次t中,一个参与方i可以把在数据集上训练的本地模型贡献给联邦。联邦可以根据FLI基本方案对参与方i的数据贡献进行评估。

在这里插入图片描述

为此,联邦可以进行沙盒(sandbox)模拟,以估计参与方的贡献对模型性能的影响。评估的结果由一个变量qi(t)≥0记录,表示联邦模型从参与方i的最新贡献中可以获得的期望边际收益。所提出的激励方案与贡献分数产生的方式完全无关。因此,我们不关注qi(t)生成的确切机制,并假设该数值可用来作为FLI的输入。

7.2.2 建模代价

设ci(t)表示参与方i将di(t)贡献给联邦所需要的代价,有许多种方式可以计算。尽管基于市场调研建立计算模型是可行的,但更实用的解决方案仍然是基于竞拍的自述方法。

7.2.3 建模期望损失

对于每一位参与方i,随着时间的推移,联邦会持续追踪从贡献给联邦的数据中得到的收益回报。因为这个值代表了参与方目前已经收到的和其应该收到的收益之间的差别,我们将其定义为期望损失(regret)。

7.2.4 建模时间期望损失

在一些情况下,由于联邦中预算的限制,一次性付清ui(t)需要的花费代价可能会过高。对于这种情况,联邦需要计算分期支付,以多个轮次向参与方支付收益回报。参与方在当前支付预算中所占的份额B(t),取决于他们的期望损失以及他们等待报酬完全被支付所消耗的时间。

7.2.5 策略协调

公平标准:

  • 贡献公平性(Contribution Fairness)。参与方i的回报应该与其对联邦qi(t)的贡献明确相关。
  • 期望损失分配公平性(Regret Distribution Fairness)参与方间的期望损失和时间期望损失应该尽可能的小。
  • 期望公平性(Expectation Fairness)。参与方的期望损失和时间期望损失随时间推移而产生的变化应该尽可能的小。
    为了满足全部公平性标准,随着时间的推移,联邦应该最大化“价值减期望损失偏移(value-minus-regret drift)”目标函数。

7.2.6 计算收益评估比重

第8章 联邦学习与计算机视觉、自然语言处理及推荐系统

8.1 联邦学习与计算机视觉

8.1.1 联邦计算机视觉

虽然计算机视觉近年来取得了空前的进步,并引领着人工智能时代的变革,但这一非凡的成就很大程度是建立在巨大数量的图像数据的可获得性基础上的。市面上最为成功的计算机视觉应用,通常都是由具有大量资源或庞大用户基础的组织研发的,因为他们可以收集到大量且高质量的数据。
这种以资源为中心的深度学习开发模式,一方面确实促进了AI的研究和发展,但另一方面也阻碍了大量小公司对AI技术的使用。因为这些小公司通常只有有限的数据资源。一种可能的获取数据的方式是通过数据共享。然而,由于数据隐私、监管风险、缺乏激励等原因,许多企业并不愿与其他企业直接共享数据。
如:大公司有足够的资源以训练模型,但小公司虽持有良好的数据,但样本数不够,训练效果不好。使用联邦学习可以在保证安全性 下共享检测模型。

8.2 联邦学习与自然语言处理

RNN,LSTM,GRU

8.2.1 联邦自然语言处理

联邦学习在NLP中的一个典型应用是基于移动设备用户频繁键入的单词来学习词库外(Out-of-Vocabulary,OOV)单词[62]。词库外单词是指不包含在用户移动设备的词库表中的词汇。词库表中缺少的单词无法通过键盘提示、自动更正或手势输入来预测。从单个用户的移动设备学习OOV单词来生成模型是不切实际的,因为每个用户的设备通常只会存储有限大小的词库表。收集所有用户的数据来训练OOV单词生成模型也是不可行的,因为OOV单词通常包含用户的敏感内容。在这种场景中,联邦学习显得特别实用,因为它可以根据所有移动用户的数据,训练一个共享的OOV生成模型,并且不需要将敏感内容传输到中心服务器或云服务器上。
任何序列化模型,例如LSTM、GRU和WaveNet,都能用来学习OOV单词。联邦OOV模型训练流程类似于图8-2。该流程迭代地执行以下步骤来训练共享OOV生成模型,直到模型收敛为止。

在这里插入图片描述
在这里插入图片描述

在联邦学习期间,位于每一台移动设备的OOV生成模型将不断得到更新,而训练数据将留在设备中,所以每台移动设备最终都能得到一个更强大的OOV生成模型。如图8-3所示,基于所有移动用户数据而训练得到的OOV模型,能够为每个移动端用户提供丰富多样的查询建议。需要注意的是,用户可以完全决定自己加入或离开联邦学习。所以,服务器应该设立一种分析机制,以监测设备的相关统计数据,例如每轮训练中有多少台设备加入或离开联邦学习过程。

8.2.2 业界研究进展

唤醒词检测(hey,siri):高召回率,低误报率,对背景噪声强鲁棒性,由于一直运行,也要求有限的资源运算。

8.3 联邦学习与推荐系统

推荐系统:

  • 克服信息过载
  • 提供定制化推荐
  • 合理利用资源

8.3.1 推荐模型

  1. 协同过滤(Collaborative Filtering,CF)。用户-商品矩阵,稀疏矩阵。(低秩因子分解方法(Low-
    rank factorization),也称为矩阵因子分解)
  2. 基于内容的推荐系统(Content-based Recommendation System)。商品描述与用户画像的匹配度,关键词对齐。
  3. 基于模型的推荐系统(Model-based Recommendation System)。用户-商品关系建模。
  4. 混合推荐系统(Hybrid Recommendation System)。协同过滤+内容过滤。

8.3.2 联邦推荐系统

通常,一个协同过滤模型可以表示为,由多个用户因子向量(每个向量表示一个用户)组成的用户因子矩阵(user factor matrix)、由多个商品因子向量(每个向量表示一件商品)组成的商品因子矩阵(item factor matrix)的组合。联邦协同过滤由所有用户共同地学习这两个矩阵得到,如图8-4所示。包含以下五个步骤:
在这里插入图片描述

在这里插入图片描述

上述过程是联邦协同过滤的一般情况。我们可以利用更强大的模型来代替协同过滤模型,如深度因子分解机(Factorziation Machine,FM)模型[301]以进一步提高性能。除了定制化的推荐任务,联邦推荐系统还可以利用来自不同参与方的不同特征提高推荐的精确度。

文献[65]

第9章 联邦强化学习

9.1 强化学习介绍

在这里插入图片描述

强化学习(Reinforcement Learning,RL)是机器学习的一个分支,主要 研究序列决策问题 。强化学习系统通常由一个动态环境和与环境进行交互的一个或多个智能体(agent)组成。智能体根据当前环境条件选择动作决策,环境在智能体决策的影响下发生相应改变,智能体可以根据自身的决策、环境的改变过程得出奖励。智能体必须处理顺序决策问题,从而获得最大化价值函数的结果(即期望的折扣奖励总和或期望奖励)。传统的强化学习过程可以表示为马尔可夫决策过程(Markov DecisionProcess,MDP)。
如图9-1所示,智能体首先将观察环境的状态(State),然后基于这个状态选择动作(Action)。智能体期望根据所选的动作,从环境中得到奖励(Reward)。智能体的奖励与其上一步的状态、下一步状态和所做出的决策等因素有关。智能体在状态-动作-奖励-状态周期(SARS)中循环移动。
除了智能体和环境,强化学习系统还包括四个关键子元素:策略(Policy)、奖励信号(Reward)、价值函数(Value function)及可选的环境模型。

9.1.1 策略

决策方法

9.1.2 奖励

奖励方法

9.1.3 价值函数

回报奖励的方法

9.1.4 环境模型

模拟环境动作的虚拟模型

9.1.5 强化学习应用举例

热点:自适应控制、最优控制、离散和连续时间动态系统的反馈控制。
在这里插入图片描述

9.2 强化学习算法

分类方式:

  1. 基于模型与无模型
  2. 基于价值与基于策略
  3. 蒙特卡洛更新与时间差分更新
  4. 在策略与离策略

在这里插入图片描述

9.3 分布式强化学习

当智能体需要探索一个巨大的状态-决策空间,可能会非常耗时或需要大量的算力。

9.3.1 异步分布式强化学习

多个智能体分别探索它们自己的环境,并异步地更新一组全局参数。这允许大量的参与方来协作地学习。由于存在延迟可能会遇到陈旧梯度问题。

  • 异步优势动作评价算法(Asynchronous Advantage Actor-Critic,A3C)
  • 通用强化学习架构(Gorila)

9.3.2 同步分布式强化学习

  • Sync-Opt同步随机优化
  • 优势动作评价算法(Advantage Actor-Critic,A2C)

9.4 联邦强化学习

相较于分布式强化学习更加安全

9.4.1 联邦强化学习背景

9.4.2 横向联邦强化学习 HFRL

并行强化学习(Parallel Reinforcement Learning),多个智能体被假设执行同一任务(与状态和动作相关的奖励相同)。智能体们可能在不同环境中进行学习。需要注意的是,大多数并行强化学习的设置采用的是迁移智能体经验或梯度的操作。显然,由于隐私保护问题,这类方法是行不通的,因此,人们采用HFRL方法来应对隐私保护问题。HFRL应用并行强化学习应用的基础设置,并将隐私保护任务作为一项额外约束(同时对于联邦服务器和智能体)。
在这里插入图片描述

9.4.3 纵向联邦强化学习 VFRL

联邦DQN

第10章 应用前景

金融、医疗、教育、城市计算和智慧城市、边缘计算和物联网、区块链、第五代移动网路

参考文献
[35]PHONG L T,AONO Y,HAYASHI T,et al.Privacy-preservingdeep learning via additively homomorphic encryption[J].IEEETransactions on Information Forensics andSecurity,2018,13(5):1333-1345.

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

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

相关文章

深度学习之循环神经网络

视频链接:6 循环神经网络_哔哩哔哩_bilibili 给神经网络增加记忆能力 对全连接层而言,输入输出的维数固定,因此无法处理序列信息 对卷积层而言,因为卷积核的参数是共享的,所以卷积操作与序列的长度无关。但是因为卷积…

人工智能与供应链行业融合:预测算法的通用化与实战化

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 让我们一起深入探索人工智能与供应链的融合,以及预测算法在实际应用中的价值!🔍🚀 文章目录 前言供应链预测算法的基本流程统计学习模型与机…

【亚马逊云】基于EC2以 All-in-One 模式快速部署 KubeSphere 和 Kubernetes

文章目录 1. 云实例配置说明2. SSH连接云实例3. 查看系统版本4. 修改主机名5. 安装依赖项6. 安全组和DNS修改7. 下载KubeKey8. 同时安装Kubesphere和Kubernetes[可选]单独安装Kubernetes[可选]单独安装KubeSphere9. 验证KubeSphere安装结果10. 登录KubeSphere控制台[可选]安装K…

C/C++字节对齐

C/C字节对齐 C/C字节对齐1.G_PACKED2.1 pack(push)2.2 pack(1) 全部例子 C/C字节对齐 1.G_PACKED #ifdef __GNUC__#define G_PACKED( __Declaration__ ) __Declaration__ __attribute__((packed)) #else#define G_PACKED( __Declaration__ ) __pragma( pack(push,1)) __Decla…

sqli-labs靶场详解(less11-less16)

目录 less-11 less-12 less-13 less-14 less-15 less-16 提交参数后 动态参数不存在url中 存在于post表单中 于是在表单中进行注入点测试 先看一看这种提交数据的关卡输入提交后会有什么反应 unameadmin&passwdadmin&submitSubmit 输出 usernameadmin passwordadmin un…

seata集成springboot的一些错误小计

1 seata依赖没找到 dependencies.dependency.version for com.alibaba.cloud:spring-cloud-starter-alibaba-seata:jar is missing. line 126, column 21错误原因:未指定具体的seata版本 解决 <!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-st…

稳定视频扩散数据管理解密【stable video diffusion】

Stability AI 最近于 2023 年 11 月 21 日推出了其最新模型—稳定视频扩散&#xff08;SVD&#xff09;。视频生成模型的这一突破取决于数据管理的关键作用。 除了模型检查点之外&#xff0c;他们还发布了一份技术报告。 让我们在 Stability AI 的技术报告和一些引人注目的示例…

js的数组去重方法

目录 es6数组中对象去重 1. filter()用法 2. findIndex()用法 3. 去重 其他方法&#xff1a; 方法二&#xff1a;reduce()去重 1. reduce()用法 1.1 找出字符长度最长的数组成员。 1.2 扁平化二维数组 1.3 扁平化多维数组 三、总结方案&#xff1a; 使用Set&#xf…

k8s-deployment控制器 5

K8s控制器是Kubernetes&#xff08;简称k8s&#xff09;系统中一个重要的组成部分&#xff0c;它是一个管理Pod的中间层&#xff0c;可以创建和管理多个Pod副本&#xff0c;确保它们按照预定的数量和行为进行运行。 通过编写yaml文件将信息全部存到etcd中&#xff0c;控制器通…

《微信小程序开发从入门到实战》学习三十三

第四章 云开发 本章云开发技术的功能与使用&#xff0c;包括以下几点&#xff1a; 1.学习使用云开发控制台 2.学习云开发JSON数据库功能 3.学习云开文件存储功能 4.学习云函数功能 5.使用云开发技术实现投票小程序的服务端功能 投票小程序大部分已经实现。需要实现&#…

高端制造业中的通用性超精密3D光学测量仪器

超精密光学3D测量仪器具有高精度、自动化程度高、实时反馈和范围广等优势。它能够实现微米级别的精确测量&#xff0c;能够精确测量产品的尺寸、形状和表面粗糙度等&#xff0c;具有广泛的应用价值和重要意义。 超精密光学3D测量仪器配备多种传感器、控制器和计算机系统&#…

深入理解OS--数值编码

信息的表示和处理 寻址和字节顺序 位于0x100处&#xff0c;int类型值0x01234567在大端和小端下的存储。 字符串的存储不受字节序影响。 移位 1.对左移&#xff0c;右边统一补0 2.对右移&#xff0c;分为算术右移&#xff0c;逻辑右移 算术右移下&#xff0c;左边补原最高有效…

OpenCvSharp从入门到实践-(03)像素

目录 像素 1、确定像素位置 2、获取像素的BGR值 3、修改像素的BGR值 像素 图像数字化是指用数字表示图像&#xff0c;每一幅数字图像都是有M行N列的像素组成的&#xff0c;其中每一个像素都存储一个像素值。计算机通常会把像素值处理为256个灰度级别&#xff0c;这256个灰…

k8s中安装consul集群

一、准备知识 headless services一般结合StatefulSet来部署有状态的应用&#xff0c;比如kafka集群&#xff0c;mysql集群&#xff0c;zk集群等&#xff0c;也包括本文要部署的consul集群。 0、consul集群 consul集群的分布式协议算法采用的是raft协议&#xff0c;这意味着必…

【后端】数据字典自动生成枚举

前言 随着我老板给我灌溉的思想,逐渐开始利用代码来完成一些重复性且没有创造性的工作(我变懒啦),当我发现数据字典可以生成枚举从而大大减少开发时间的时候,我意识到事情的重要性。 数据字典 我一开始在网上找各种代码生成器的框架,然后突然意识到,这个不就是简单的…

2022年MathorCup大数据竞赛B题北京移动用户体验影响因素研究求解全过程文档及程序

2022年MathorCup高校数学建模挑战赛—大数据竞赛 B题 北京移动用户体验影响因素研究 原题再现&#xff1a; 移动通信技术飞速发展&#xff0c;给人们带来了极大便利&#xff0c;人们也越来越离不开移动通信技术带来的各种便捷。随着网络不断的建设&#xff0c;网络覆盖越来越…

XIAO ESP32S3之套件简绍

很高兴收到柴火创客空间寄来的XIAO ESP32S3开发套件。 一、套件介绍 1、电路板部分 一块XIAO ESP32S3主板、一块摄像头接口板&#xff08;可接SD卡&#xff09;&#xff0c;一根2.4G天线。 2、配件部分 一根USB-A转TypeC数据线、一个USB3.0转TypeC转接头、一个SD卡读卡器&am…

vue中keep-alive的使用

什么是keep-alive&#xff1f; keep-alive是一个内置组件&#xff0c;用于缓存和管理组件的状态。 当 keep-alive包裹一个组件时&#xff0c;这个组件的状态将会被缓存起来&#xff0c;而不是每次重新渲染。这在多个视图之间切换时特别有用&#xff0c;可以避免重复的创建和销…

vue项目通过HBuilder打包成apk,实现apk自动更新下载

vue 项目通过 HBuilder 打包成 apk&#xff0c;实现 apk 自动更新下载 1、vue 项目通过 HBuilder 打包成 apk vue 项目在终端执行 npm run build 打包成 dist 文件&#xff0c;生成的 dist 文件在 项目根目录下 在 HBuilder 中 新建一个项目 默认选择 5APP 的默认模板项目…

springboot+vue智能企业设备管理系统05k50

智能设备管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系统优化的原则&#xf…