面向互联自动驾驶汽车的分散联邦学习方法
基于自主区块链的联邦学习(BFL)
用于隐私感知和高效的车载通信网络,其中本地车载机器学习(oVML)模型更新以分布式方式交换和验证。BFL利用区块链的共识机制,实现无需任何集中训练数据或协调的车载机器学习。
基于更新奖励方法,我们开发了一个数学框架,该框架具有可控制的网络和BFL参数,如重传限制、块大小、块到达率和帧大小,从而捕捉它们对系统级性能的影响。
下一代无线网络在任何地方、时间以及移动状态中都保持低延迟和超高可靠性,才能满足即将出现的自动驾驶车辆的实时通信约束----->>车载机器学习(oVML)-----让每辆车都能保持其最佳机器学习模型,从而做出明智的决策。训练这样的oVML模型需要比每个车辆收集的样本更多的数据样本。因此,它需要与相邻车辆进行数据交易(和知识交流)。在本文中,我们通过利用与相邻车辆的联合学习来解决训练每个oVML模型的挑战。
所以逻辑是,为了随时随地低时延高可靠,所以采用oVML,但是为了训练这个模型,得需要联邦学习交换其他车辆的数据。
本地收集的数据样本是由每辆车拥有的,它们的交易和知识共享应该使原始数据对邻近的其他车辆保密。谷歌的联邦学习(GFL)的建议,每辆车交换其本地训练的模型更新,(主要是梯度参数和学习权重)而不是原始数据。由于自动驾驶汽车的潜在数量很高,并且需要快速对现实世界的情况做出反应,现有的基于云的方法可能会产生安全风险。 联邦学习可以作为限制数据传输量和加速学习过程的解决方案。从交易模型中再生原始数据是不可能的,因此保证了隐私。由于闭环交换(局部训练的模型更新,然后是全局聚合的模型更新,触发下一次局部训练迭代),GFL的训练完成延迟比较高。
这段的逻辑是,数据交流应该保密,应该数据量小,应该延迟低。延迟高容易产生风险。GFL只交换模型更新,既保证了隐私,又保证了小数据量,还加快了学习过程。但GFL闭环训练迭代的延迟太高。
怎么保证小数据量的?梯度聚合、压缩通信、本地更新、差分隐私
怎么保证加快学习过程的?并行化训练、本地迭代训练、增量学习、优化聚合算法、梯度压缩和差分隐私
联邦学习是怎么限制数据传输量和加速学习过程的?
联邦学习通过一些技术手段来限制数据传输量和加速学习过程,以下是一些常见的方法:
1. 梯度聚合(Gradient Aggregation):在联邦学习中,每个参与方(例如不同的汽车)在本地训练自己的模型,然后将本地模型的梯度信息传输给中央服务器。中央服务器通过聚合这些梯度信息来更新全局模型。梯度聚合可以有效减少传输的数据量,因为只需要传输梯度信息而不是原始数据。
2. 压缩通信(Compressed Communication):在梯度聚合的过程中,可以采用压缩算法来减少传输的数据量。通过压缩梯度信息,可以显著减少数据传输所需的带宽和时间,从而加速学习过程。
3. 本地更新(Local Updates):在联邦学习中,每个参与方可以进行多轮的本地训练,然后将本地模型的更新信息传输给中央服务器,而不是在每一轮训练后立即传输。这样可以减少传输的频率,从而降低数据传输量。
4. 差分隐私(Differential Privacy):差分隐私是一种保护隐私的技术,通过向模型参数添加噪声来保护个体数据的隐私。在联邦学习中,差分隐私可以帮助限制数据传输量,因为不需要传输原始的个体数据,而是传输带有噪声的模型参数。
这些方法可以帮助限制数据传输量和加速学习过程,从而在联邦学习中实现更高效的模型训练。通过减少数据传输量和加速学习过程,联邦学习可以更好地适应大规模、分布式的数据,同时保护个体数据的隐私。
联邦学习是怎么加速学习过程的?
联邦学习通过以下几种方式加速学习过程:
1. 并行化训练:在联邦学习中,各个参与方可以并行地进行本地模型的训练。这意味着在联邦学习中,可以同时利用多个参与方的计算资源来进行模型训练,从而加速整个学习过程。
2. 本地迭代训练:参与方在本地进行多轮的模型训练,然后将本地模型的更新信息传输给中央服务器。这样可以减少传输的频率,从而降低通信开销,同时允许每个参与方在本地进行更多轮次的训练,从而提高模型的收敛速度。
3. 增量学习(Incremental Learning):在联邦学习中,可以采用增量学习的方式,即在全局模型的基础上,对每个参与方的本地模型进行增量更新。这种方式可以避免每次从头开始训练模型,而是在已有模型的基础上进行更新,从而加速学习过程。
4. 聚合算法的优化:在联邦学习中,中央服务器需要对来自不同参与方的模型更新信息进行聚合。优化聚合算法可以减少计算的复杂度和通信开销,从而加速模型更新的过程。
5. 梯度压缩和差分隐私:采用梯度压缩和差分隐私等技术可以减少传输的数据量,从而加速模型更新的过程。
通过以上方式,联邦学习可以在保护数据隐私的前提下,充分利用分布式的计算资源,加速模型的训练过程。这种分布式、并行的学习方式可以更快地收敛到一个较好的全局模型,同时保护个体数据的隐私。
智能驾驶的联邦学习不是在训练模型吗?又不是在开车,为什么也需要低时延?为什么也需要对现实世界的情况做出反应?
联邦学习并不是在实际的驾驶过程中进行,而是用于训练模型。因此,在这种情况下,为什么还需要低时延以及对现实世界的情况做出反应呢?
首先,即使联邦学习是在训练模型时进行的,仍然需要低时延。这是因为在联邦学习中,模型更新是在多个参与方之间进行的,并且这些参与方可能分布在不同的地理位置上。因此,为了确保模型的及时更新和一致性,需要保证低时延的通信和协调。否则,如果模型更新的延迟过高,可能会导致模型的过时或不一致,从而影响模型的性能和准确性。
其次,虽然联邦学习的主要目的是在训练模型时进行,但也需要对现实世界的情况做出反应。这是因为在智能驾驶的场景下,车辆需要能够及时地感知和理解周围的交通情况、道路状况等,并做出相应的决策。因此,训练出的模型需要能够快速地适应不断变化的交通环境,这就需要训练过程中考虑到对现实世界情况的反应,以确保训练出的模型在实际应用中能够具有良好的适应性和实时性。
总之,尽管联邦学习不是在实际驾驶过程中进行,但仍然需要低时延和对现实世界情况的反应,以确保训练出的模型能够具有良好的性能和实时性。
GFL依赖于单个全局服务器, 容易受到服务器故障的影响, 高度依赖于网络连接, 并且由于瓶颈而受到严重影响。
这段的逻辑是,GFL对中央服务器和网络太依赖。
为了解决GFL的上述两个限制, 我们删除GFL的集中式全局服务器并使用区块链,并提出一种基于区块链的联邦学习(BFL)方法, 其中网络系统能够交换来自车辆的本地模型更新, 同时提供和验证其相应的奖励。BFL, 它在自动驾驶车辆网络系统中优于GFL, 克服了集中故障问题, 并通过本地训练模块的验证过程将其联邦的范围扩展到公共网络中不可信的车辆。 更重要的是, 通过提供与数据样本大小的有用性成正比的奖励, BFL促进了具有更大数据样本大小的车辆。矿工在物理上既可以是移动的车辆, 也可以是网络边缘的独立节点(如WiFi接入点或蜂窝基站)。这些节点的计算能力相对强大。每个oVML执行本地学习, 并将本地模型更新发送到网络中与其相关的挖掘器。 所有矿工交换和验证他们所有的本地模型更新, 然后执行他们的工作证明。当矿工完成其工作量证明时,它会通过记录已验证的本地模型更新来生成一个区块。 最后,该区块(由聚集的本地模型更新组成的生成区块)被插入到区块链的分布式账本中。 然后,所有相关车辆可以使用这个新插入
的块来计算所需的全局模型更新。
这段的逻辑是,BFL的好处1.克服了集中故障(区块链代替了中央服务器)2.更大数据样本(提供奖励)3.把联邦范围扩大到公共网络中不可信车辆(通过本地模块的验证)
以及BFL怎么工作的:每个oVML本地学习---把本地模型更新到网络中的挖掘器上---矿工交换验证所有的本地模型更新---执行工作量证明---通过记录更新生成一个区块---插入到区块链分布式账本中---所有车辆可以使用这个块来更新全局模型
矿工既可以是车辆,也可以是网络边缘节点
使用BFL, 可以观察到全局模型更新在每个车辆上都是局部可计算的。 此外, 我们的BFL设计还保证了矿工、节点或车辆的故障或失败不会对任何其他车辆(整个网络系统)的全局模型更新产生不利影响。 然而, 有一个权衡:为了掌握上述所有好处, 与GFL相比, BFL由于系统中的区块链管理而导致额外的延迟。 为了量化(并解决)区块链带来的延迟, 我们通过计算工作量证明、 通信和计算延迟, 对具有BFL的系统进行了总端到端延迟分析。 有了模型的相关见解, 我们通过动态调整块到达率, 即区块链系统工作量证明的复杂性, 最小化了系统的整体感知延迟。
这段的逻辑是,BFL的缺点:区块链管理带来额外延迟。解决:动态调整块到达率,即区块链系统工作量证明的复杂性,来减少
联邦学习:问题与解决方案
对于GFL, 求解方程(1)的默认思路是使用随机梯度算法在每个oVML上进行局部训练, 然后通过分布式牛顿方法进行全局训练以聚合局部更新。
随机梯度算法(SGD)是一种优化算法,用于在每个oVML上进行局部训练。它通过计算每个训练样本的梯度,并根据该梯度更新模型参数。具体来说,SGD在每个oVML上随机选择一个训练样本,计算该样本对模型参数的梯度,然后使用该梯度更新模型参数。这个过程不断重复,直到达到一定的迭代次数或者收敛条件。
分布式牛顿方法是一种全局训练方法,用于聚合局部更新。它通过将每个oVML上的局部更新聚合起来,然后使用牛顿方法进行全局优化。具体来说,分布式牛顿方法通过收集每个oVML上的局部更新,并计算全局更新的方向和步长,然后使用这些信息来更新全局模型参数。文章来源:https://www.toymoban.com/news/detail-767265.html
训练样本的梯度是指损失函数对模型参数的偏导数,它表示了损失函数在当前模型参数下的变化率。在机器学习中,我们希望通过调整模型参数来最小化损失函数,从而使模型能够更好地拟合训练数据。文章来源地址https://www.toymoban.com/news/detail-767265.html
到了这里,关于A Decentralized Federated Learning Approach For Connected Autonomous Vehicles 学习笔记---联邦学习、区块链与自动驾驶的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!