《Blockchain Empowered Asynchronous Federated Learning for Secure Data Sharing in Internet of Vehicles》阅读笔记
关键词:数据共享、区块链、异步联邦学习、深度强化学习、虚拟车辆互联网
主要贡献:
提出了一种hybrid blockchain - PermiDAG,它由一个主许可区块链(由路边单元RSU维护)和一个局部有向无环图(由车辆运行,以实现车辆间的数据共享)组成。提出了一种异步联邦学习方案,用于从边缘数据中学习模型,并通过选择参与节点以最小化总成本来进一步提高联邦学习的效率。通过将学习的参数整合到区块链模型中,并通过两阶段验证来验证这些参数的质量,从而提高学习模型的可靠预备知识点:
DRL (深度强化学习)之DDPG(论文中采用,Deep Deterministic Policy Gradient)
概括来说,RL要解决的问题是:让agent学习在一个环境中的如何行为动作(act), 从而获得最大的奖励值总和(total reward)。这个奖励值一般与agent定义的任务目标关联。agent需要的主要学习内容:第一是行为策略(action policy), 第二是规划(planning)。其中,行为策略的学习目标是最优策略, 也就是使用这样的策略,可以让agent在特定环境中的行为获得最大的奖励值,从而实现其任务目标。
DDPG是针对连续行为的策略学习方法。(这一块刚接触)
MEC——移动边缘计算
MEC即在移动网边缘提供IT服务环境和云计算能力。MEC也可以简单理解为边缘式的大数据处理平台,即把传统的数据中心切割成各种小型数据中心后放置到网络的边缘,以期更靠近用户,为用户提供更快的服务和达到更好的网络性能。
DAG——一种具有拓扑顺序的有向图数据结构。
DAG(Directed Acyclic Graph),中文名"有向无环图"。"有向"指的是有方向,准确的说应该是同一个方向,"无环"则指够不成闭环。在DAG中,没有区块的概念,他的组成单元是一笔笔的交易,每个单元记录的是单个用户的交易,这样就省去了打包出块的时间。验证手段则依赖于后一笔交易对前一笔交易的验证,换句话说,你要想进行一笔交易,就必须要验证前面的交易,具体验证几个交易,根据不同的规则来进行。这种验证手段,使得DAG可以异步并发的写入很多交易,并最终构成一种拓扑的树状结构,能够极大地提高扩展性。
DPoS共识机制
DPoS又称为股份授权证明,其原理是让每一个持币人进行投票,由此产生一定数量的代表 (超级节点或者矿池),由这些超级节点代理持币人验证和记账;而这些超级节点的权利是相等的;DPoS就像董事会投票,持币者投出一定数量的节点 (董事);代表按照既定时间表,轮流产生区块,如果代表没能很好的行使权力(比如产生区块),他们会被除名,网络会选出新的超级节点来取代他们;所有的代表将收到平均水平区块所含交易费的10%作为报酬。
Markov-chain Monte Carlo (MCMC)
MCMC方法就是构造合适的马尔科夫链进行抽样而使用蒙特卡罗方法进行积分计算。
马尔科夫链:假设某一过程是由一个状态序列构成。这个状态序列被称为状态空间,假设某一时刻的状态是其前一时刻状态的函数,则说明该序列有马尔科夫性质,通俗的说,该时刻的状态只与其前一时刻的状态有关,则序列有马尔科夫性质,马尔科夫链具备马尔科夫性质。
蒙特卡罗方法(Monte Carlo):对那些用确定算法不可行或不可能解决的问题,蒙特卡罗方法常常为人们带来希望。也就是说当不知道某个过程概率的时候,可以通过撒粒子,模拟采样的过程,最后经过统计方法推测出概率,一般粒子越多,模拟越准确。因此这种方法又叫做统计模拟方法。
问题与背景:
新一代无线网络更可靠,即将满足自动驾驶车辆的实时通信的需要。自动驾驶汽车很多,传统的云方法风险较大(高延迟、基于云的学习方法较慢),而自动驾驶要求低延迟。
车辆之间的数据交易应保证原始数据对其他相邻车辆的私密性。
传统FL(联邦学习)的局限性:
(1)对中心服务器依赖性太大。
(2) 设备可信度。没有激励机制,本地设备不主动参与训练。
区块链和联邦学习结合有其独到之处:
联邦学习旨在实现“数据可用不可见”的隐私保护技术,并通过融合使用各方数据提升用户服务的质量,进而创造出新的价值。区块链旨在确保交易记录不可篡改,利用共识算法、分布式技术解决在去中心化网络中的双重支付问题,最终实现数字世界的价值表示和价值转移。
区块链赋能联邦学习。区块链为联邦学习的各个参与方(用户)提供了一种可信的机制。通过区块链尤其是联盟链的授权机制、身份管理等,可以将互不可信的用户作为参与方整合到一起,建立一个安全可信的合作机制。此外,联邦学习的模型参数可以存储在区块链中,保证了模型参数的安全性与可靠性。
联邦学习赋能区块链。区块链节点有限的存储能力与区块链较大存储需求之间的矛盾,一直是限制区块链发展的瓶颈所在。通过联邦学习对原始数据的处理,仅存储计算结果,可以降低存储资源的开销。此外,基于联邦学习对区块链交易的认证计算、传输通信等进行优化,可以提升区块链的运行效率。
将区块链和联邦学习技术结合运用于高动态,通信不可靠的车联网中,需要解决以下问题:
区块链的计算效率需要提高。共享数据可靠性有待保障,应当降低恶意和冗余数据等不合格数据的风险。应减少联邦学习造成的延迟,解决车辆之间的异构通信和计算资源有限问题。
框架与完整流程:
论文的目的是利用区块链和联邦学习的结合来解决车联网中的带有隐私信息的数据实时共享和安全共享问题。那么下面从联邦学习和区块链技术的角度来解读作者提出的hybrid blockchain - PermiDAG框架。
与传统的联邦学习不同,该框架基于车辆之间的异构通信和计算资源有限,将其涉及的异步联邦学习有划分两个阶段:首先根据车辆自身的位置进行小范围的局部聚合,并将聚合后的模型参数经过质量验证后存储在本地DAG中。注意到这个本地DAG其实是区块链支链的一种,之所以称之为本地DAG也可以从下图清楚看到车辆进行局部模型聚合时,会向其本地DAG存储最新本地模型的块发起数据共享请求并获得其中的自身进行局部聚合所需的模型参数。
完成局部聚合后,车辆会将此次数据共享事务和更新后的模型参数存入本地DAG新的块中。因为每个新生成的块都存在自己的依据块或者说“父”块,进行拓扑分析时,用箭头指向其“父”块便可以得到一个有向无环图(DAG)。
在经过一定时间的车辆之间的局部聚合后,会由拥有充足计算资源的弘基站(MBSs)经过路侧单元(RSUs)从本地DAG中收集最新的本地模型然后进行全局聚合,然后将聚合后的全局模型广播给其他的路侧单元(RSUs)进行打包验证(可以理解为区块链里面的矿工),验证通过后存储这些全局模型的块会被添加到许可区块链上。许可区块链由这些RSUs节点(配备有MEC)和弘基站(MBSs)进行维护,并且块里面的全局模型公开透明,所有的车辆都可以从附近的RSUs中下载许可区块链里的最新全局模型进行下一轮联邦学习的学习培训过程直至最终全局模型收敛达到全局最优。
综上所述,车辆之间进行的是异步本地培训达成历史一致性,再由RSUs进行同步的全局聚合,达成车联网中实时通信性能的需求。
PS:
RSUs上行连接到弘基站(MBSs),下行连接到附近的车辆。两阶段验证也是作者提出的提升数据质量的方法。
问题与解决(实现细节):
hybrid blockchain - PermiDAG框架因为是作为联邦学习和区块链的结合技术,联邦学习采取分布式解决计算任务,而区块链负责解决安全共享问题。那么一些实现方面的细节问题也必不可少,作者在此论文中进行了详尽阐述。
1.基于DPoS的区块链共识:
传统的区块链中的PoW(基于工作证明)共识虽然简单粗暴,但是在另一方面存在算力资源浪费,耗时较长等问题,所以显然不适用于车联网环境。而在作者提出将路侧单元RSUs视作其当前覆盖的参与训练的车辆的代表,根据其历史性能和其当前代表车辆的数量为依据来竞选超级节点(leader)。leader进行块的生成,并在等待块在其他超级节点(一般为20个)验证通过后将块放入许可区块链中。
2.本地DAG验证:
作者为了提高本地模型的质量提出了两阶段验证,但是本地DAG验证会带来额外的开销,那么就要考虑怎样最小化开销的问题。作者把车辆的模型参数的共享称为“微交易”来区别数据共享事务,然后通过赋予其事务权重和累积权重来辅助验证并提升模型质量。具体来说,每个车辆更新其本地模型放入本地DAG前必须用自己的数据集验证两个DAG中的新更新的“微交易”事务的准确性,并将验证两个事务的哈希放入自己即将广播的新事务中。那么在众多待验证的事务怎样进行选择呢?这里就要用到刚才提到的事务权重和累积权重了。事务权重正比于模型准确性(发行者提供)和投入的算力资源,累积权重是事务权重和其他车辆对发行者的模型进行验证的平均值之和。这里作者采用马尔可夫链蒙特卡罗(MCMC)方法模拟每个步骤对未验证事务的概率,以及被发行者高概率选择的事务。 在此基础上制定更新模型的发行者验证其他车辆的待验证事务时采取基于高累积权重的加权步行进行验证的策略,即在发布新事务时,在DAG上放置两个步行器,优先选择已被更多事务验证并具有更高累积权重的事务进行验证。由此可见,累积权重“最重的分支”更有可能被证实,而累积重量较低的分支最终将被隔离。这种验证方式被作者形容为简化的PoW,不仅低耗高效还可以防范诸如垃圾信息的恶意攻击。
3.恶意节点问题以及训练精度提升:
作者为此在其框架里加入了第三种技术——基于 Actor-Critic (AC) 框架的深度强化学习(DRL)算法来对参与学习的节点进行筛选。在每一轮的联邦学习培训中,通过算法尽量选取训练用时较快(计算资源较为充足),模型训练精度较高的节点参与训练,以此提高全局模型的训练精度并加快训练过程。具体来说,因为DRL是通过与环境交互来学习模型,不需要事先的训练数据和模型假设。 作者利用深度确定性政策梯度(DDPG),在异步联邦学习中找到最优的解决方案进行节点选择。其算法实现流程具体可以参照下图:
Actor神经网络的目标是提供最佳的节点选择动作。
Critic神经网络更新其网络参数的目的是最小化损失函数。
实验仿真:
数据处理:
使用从纽约市采集的Uber数据集,并用matplotlib basemap工具包绘制的总体模拟场景。
在MNIST数据集上评估了所提出的异步联合学习。 数据集被分成100个碎片,碎片被分配给100个提供者。
采用卷积神经网络(CNN)模型作为局部训练模型。 在每次迭代中,有一个全局聚合和10个时隙用于本地训练。
通过随机噪声干扰原始参数,将3个数据提供者设置为低质量的参与者,命名为坏节点。
1.研究混合区块链授权异步联合学习的性能。 (与集中式传统联邦学习进行对比)
2.测试所提出的基于DRL的节点选择算法的有效性。
结论:具有良好的可伸缩性,准度与传统联邦学习结果基本一致,通信开销明显减少,不同数量的车辆获得累积奖励具有相似的收敛度。
总体来看,hybrid blockchain - PermiDAG框架性能优秀极具实用价值。