一种雾计算中区块链协助的联邦学习主动内容缓存方法

文档序号:28280724发布日期:2021-12-31 21:30阅读:156来源:国知局
一种雾计算中区块链协助的联邦学习主动内容缓存方法

1.本发明属于移动通信技术领域,涉及一种雾计算中区块链协助的联邦学习主动内容缓存 方法。


背景技术:

2.内容缓存技术被认为是一种很有前途的解决方法,它通过将流行度高的内容提前存储在 边缘设备中,减轻回程链路拥塞以及用户请求内容时延,提高用户满意度。由于边缘节点存 储资源有限,须将最有可能被用户请求的内容放在本地缓存中。传统的缓存机制如基于先进 先出(first

in

first

out,fifo)、最近最少使用(least recently used,lru)和最不常用(leastfrequently used,lfu)等通过静态规则更新缓存内容。然而,它们并不适用于预测动态变化的 流行内容。
3.目前,许多研究利用机器学习方法通过观察用户的历史内容需求来学习内容流行度。由 于传统集中式机器学习方法都需要在一个中央单元收集本地用户的私有信息,这可能会引起 用户的隐私担忧。本地用户难以信任与其相关联的服务器,不愿上传自己的私有数据。为了 提供一个可行的解决方案,研究人员提出了一种基于联邦学习的智能雾无线接入网(fog radioaccess network,f

ran)范例。由于有足够的雾计算资源,f

rans范式为实现网络边缘智能 化提供了极大的便利。与集中式学习的训练过程不同,联邦学习的训练将内容分散到大量的 设备上,而不必集中训练数据。通过雾服务器和用户之间的交互来训练学习模型,直到模型 收敛到特定的精度水平。虽然在联邦学习过程中,用户不需要公开自己的私有数据,但当一 些用户计算资源有限时,则需要更长的模型更新时间;在较差的无线信道条件下,则需要更 长的模型上传时间。终端设备在通信和计算资源方面的异构性使得整个训练过程变得低效。 此外,由于当前的物联网体系架构中通信安全性较差,存在数据可靠性问题,如数据丢失、 插入恶意数据等。这样的现象同样会造成上传的模型更新参数不准确,进一步影响训练结果。
4.近年来,区块链由于其去中心化、匿名性等特点受到越来越多的关注。区块链通过在不 可信的实体之间维护分布式账本,可以在不可信环境中提供安全的解决方案。基于以上结果, 考虑到终端设备的资源的异构性以及数据传输的安全性。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种雾计算中区块链协助的联邦学习主动内容缓存方 法。
6.为达到上述目的,本发明提供如下技术方案:
7.一种雾计算中区块链协助的联邦学习主动内容缓存方法,该方法包括以下步骤:
8.s1:一种基于区块链的联邦学习主动边缘缓存架构;
9.s2:基于用户选择的fl方案;
10.s3:基于上下文感知的对抗性自动编码器的内容流行度预测算法;
11.s4:联合区块链技术保护数据安全性方案。
12.进一步,在步骤s1中,建立基于区块链的联邦学习主动边缘缓存模型。该发明结合了物 联网设备、雾计算、远程云和区块链技术。在该系统模型中,提出了一种区块链协助的基于 联邦学习的主动边缘缓存方案,可以有效保护用户隐私和提高内容缓存命中率。
13.进一步,在步骤s2中,为了解决终端设备的资源异构性,提出了一种基于用户选择的联 邦学习主动边缘缓存算法。基于用户选择的fl方案具体包括以下几个步骤:
14.1)用户选择:相对于传统fl框架随机选择参与模型训练的客户端,本发明提出了以下 两步客户端选择方案。首先,新的资源请求步骤要求随机客户端将自己的资源信息(例如无 线信道状态、计算能力以及与当前训练任务相关的数据资源大小)通知雾服务器。然后,雾 服务器在之后的客户端选择步骤中引用该信息,以估计模型分发、更新以及上传步骤所需的 时间,并确定参与模型训练的客户端。在客户端选择步骤中的目标是允许服务器在指定的期 限内聚合尽可能多的客户端更新,即在每一轮中使用更大比例的客户端可以节省全局模型训 练所需的时间,以实现理想的性能。
15.2)模型下载:基于步骤1的结果,一组物联网用户s被选择用于参与第r轮的联邦学习 训练过程。接下来所选用户从雾服务器下载初始的全局模型参数w
r
,并基于本地数据训练该 模型。
16.3)fl模型训练:存储在所选用户设备中的数据集为h={h1,h2,h3,

,h
s
},其中h
s
表 示第s个用户的本地数据集,数据大小为f
s
=|h
s
|,f为所选用户设备中整个数据集的大小。 与经典的fl算法一样,目标是最小化损失函数l(w):
[0017][0018]
其中l
j
(w)为数据集h中第j个数据在模型参数w训练下的预测损失,l
s
(w)表示用户s 的本地损失函数。最小化本地损失函数l
s
(w)的加权平均等价于优化fl训练中的损失函数 l(w)。
[0019]
4)模型更新上传:将本地训练完的模型更新参数上传至雾服务器以便于全局模型的 更新。在该发明中,为了保证数据传输的安全性,物联网用户首先将经过验证后的本地模型 更新参数上传至区块链,然后雾服务器从区块链上获取用于全局模型更新的参数。
[0020]
5)权重聚合:物联网用户上传本地模型更新参数之后,雾节点通过计算所有接收到的本 地模型的加权总和,生成新的全局模型w
r+1
。生成的新的全局模型将用于下一轮模型训 练,r表示fl中的通信轮数。本发明采用加权平均算法对模型进行聚合,参数聚合的权值取 决于本地训练数据的数量:
[0021][0022]
其中α为学习速率。
[0023]
进一步,在步骤s3中,c

aae通过将ae转换成生成模型,将gan添加到ae架构 中。该
方法以对抗损失训练ae,使隐空间分布适应任意先验。gans构建了两个神经网络, 即生成网络g和判别网络d。g使用一个随机数向量作为输入,并在输出处生成输入。d用 于区分从g生成的样本和从输入数据提取的样本。gan在g与d之间的对抗性可以表示为:
[0024][0025]
重构阶段和正则化阶段是c

aae训练过程中的两个阶段。在重构阶段,ae用来更新编 码器。首先,z由生成网络q(z|x)生成,然后,z被输入到解码器,输出由z重构,在x和 之间计算重构误差。在正则化阶段,首先由对抗网络更新判别网络d,以区分真实的先验 样本和生成的样本。其次,为了欺骗判别网络d,更新生成网络g。
[0026]
进一步,在步骤s4中,物联网用户基于本地数据集进行模型训练,模型训练结束后,用 户将调用接口合约将更新的梯度参数上传到区块链。接口合约将首先调用身份合约来验证边 缘节点以及物联网用户的身份,然后将参数作为交易上传到分布式账本,交易将随机和定期 地进行验证。如果一项交易被验证成功,它将被视为有效,否则,它将被视为无效。通过调 用信任合约,上传虚假梯度的物联网用户将受到惩罚。
[0027]
本发明的有益效果在于:本文提出了一种区块链协助的fl主动内容缓存方法。首先, 考虑到实际网络中用户设备的资源约束,提出了一种基于用户选择的fl方案,以有效提高 fl的训练过程,减少模型训练的时间。其次,使用上下文感知的对抗性自动编码器(contextual

aware adversarial autoencoders,c

aae)来预测高度动态的内容流行度。该模型通 过将自动编码器(autoenocoder,ae)转化为生成模型,将对抗网络添加到ae架构中,有助于 从用户的历史请求和上下文信息中学习深度潜表征,获取用户与内容之间的隐式关系,提高 预测精度。最后,基于区块链技术设计四种面向去中心化实体的智能合约,用于记录和验证 交易,以确保数据的安全性。
[0028]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某 种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发 明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0029]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详 细描述,其中:
[0030]
图1为边缘缓存架构图;
[0031]
图2为基于区块链协助的联邦学习主动内容缓存模型图;
[0032]
图3为基于用户选择的fl训练流程图。
具体实施方式
[0033]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露 的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加 以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精 神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以
示意方式说明本 发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0034]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明 的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表 实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理 解的。
[0035]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中, 需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位 或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不 是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图 中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通 技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0036]
图1描述了一个物联网主动边缘缓存架构。该架构主要包括云计算中心、雾服务器、物 联网设备。将配备雾服务器的边缘节点视为无线缓存实体,它具有到云计算中心的可靠回程 链接。物联网设备和边缘节点之间通过无线链路进行通信。由于每个雾节点的存储容量有限, 因此需要建立一个模型来选择缓存的内容。假设每个边缘节点最多可以存储f个内容,当物 联网用户在边缘节点的覆盖范围内时,它们将从该节点请求内容。如果请求的内容缓存在雾 节点,内容将直接从边缘节点传输到物联网设备,从而可以有效提高内容交付速率和用户体 验。否则,物联网用户必须从云计算中心获取请求的内容。在该系统模型中,每个边缘节点 涵盖多个物联网设备,一段时间后,边缘节点将连接到云计算中心以更新缓存的内容和模型。 为了提高缓存命中率和保护数据隐私,该系统结合联邦学习进行设计。
[0037]
图2描述了基于区块链协助的联邦学习主动内容缓存模型。区块链作为分布式账本,将 模型和训练参数记录为一笔交易。分散的实体将向区块链提交数据,并定期进行核查,以确 保系统的安全。边缘节点维护一个全局模型,该模型被发送到连接的物联网设备进行训练。 边缘节点将接收终端设备上传的更新梯度,并将这些梯度聚合起来,以更新全局模型。最后, 根据每个用户的推荐列表,服务器选择前f位最受欢迎的内容缓存至边缘节点。
[0038]
交易的数据结构由物联网用户提交的本地训练模型梯度的哈希值、涉及联邦学习过程的 物联网设备和边缘节点的身份以及签名组成。此外,还包括事务的时间戳。
[0039]
本发明为去中心化实体设计了四种智能合约,用于记录和验证交易:
[0040]
1.身份合约(identity contract):负责管理每个实体,包括分布式物联网用户和边缘节点;
[0041]
2.接口合约(submission contract):为物联网用户提供向区块链提交梯度参数的接口;
[0042]
3.验证合约(verification contract):负责选择共识节点和交易验证;
[0043]
4.信任合约(credit contract):负责网络参与者的奖惩。
[0044]
物联网用户基于本地数据集进行模型训练,模型训练结束后,用户将调用接口合约将更 新的梯度参数上传到区块链。接口合约将首先调用身份合约来验证边缘节点以及
物联网用户 的身份,然后将参数作为交易上传到分布式账本。系统将定期调用验证合约,负责交易的验 证过程。在验证合约中,我们采用的是委托权益证明共识机制。主要思想是通过投票选出若 干个代理人节点,由这些代理人节点负责打包区块并进行区块的验证。如果一项交易被验证 成功,它将被视为有效,否则,它将被视为无效。通过调用信任合约,上传虚假梯度的物联 网用户将受到惩罚。
[0045]
图3描述了基于用户选择的fl训练流程。在传统的fl框架中,fl协议迭代地要求随 机客户端从服务器下载可训练模型,并使用自己的本地数据更新模型,然后将更新后的模型 上传到服务器,同时要求服务器聚合多个客户端更新以进一步改进模型。虽然该协议中的客 户端不公开自己的私有数据,但当某些客户端计算资源有限或无线信道条件较差时,整个训 练过程会变得效率低下,从而导致缓存性能的下降。为了解决这个问题,本发明提出了一种 新的fl协议,即基于用户选择的fl方案,它能有效地与具有异构资源的客户端协同工作。 基于用户选择的fl方案具体包括以下几个步骤:
[0046]
1)用户选择
[0047]
相对于传统fl框架随机选择参与模型训练的客户端,本发明提出了以下两步客户端选 择方案。首先,新的资源请求步骤要求随机客户端将自己的资源信息(例如无线信道状态、 计算能力以及与当前训练任务相关的数据资源大小)通知雾服务器。然后,雾服务器在之后 的客户端选择步骤中引用该信息,以估计模型分发、更新以及上传步骤所需的时间,并确定 参与模型训练的客户端。在模型分发步骤中,用于训练的全局模型以广播的方式从边缘节点 分发到选定的客户端,因为它可以有效地将相同的内容(即全局模型)传输到客户端。在模 型更新和上传步骤中,被选择的客户端并行更新模型,然后将更新参数上传到服务器以进行 模型聚合,直到模型收敛到一定的精度。
[0048]
在客户端的选择过程中,网络中的客户端数量为k,表示为是在 资源请求步骤中随机选择的客户端数量,即c∈(0,1]表示每轮训练中随机客 户端接收到资源请求的比例。表示在客户端选择步骤中所选客户的指 标序列,其中k
i
∈k

,|s|≤|k

|。在更新和上传步骤中,客户端按s的顺序上传本地模型更新 参数。在联邦学习过程中,每一轮训练的截止时延为t
round
,t
final
为全局模型训练的最终截止 时延,t
cs
和t
agg
分别为客户端选择和模型聚合步骤所需的时间,t
sd
表示模型分发所需的时间, 它取决于被选择的客户端s,和分别表示第k个客户端更新和上传模型所花费的时间。 这些客户端相关参数可以根据资源请求步骤中通知的资源信息确定。
[0049]
因此,在客户端选择方案中,为了接受尽可能多的客户端更新,可以通过最大限度地选 择客户端数量来实现,即max
s
|s|。该发明定义了从本地模型训练开始直到第k
i
个客户端完 成模型更新和上传过程的估计运行时间,表示如下:
[0050]
[0051][0052][0053]
由于客户端按顺序上传本地模型更新,t
iul
是总的模型更新上传的时间。相反,当前面的客户 端在上传更新参数时,其他用户可以进行模型更新,因此,如果单个用户的模型更新时间在之前的运行时间θ
j
‑1之内,则总的模型更新时间t
iud
不会增加。因此,客户端选择步骤可 以表述为关于s的最大化问题:
[0054]
max
s
|s|
[0055]
s.t.t
round
≥t
cs
+t
sd

|s|
+t
agg
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0056]
为了解决上述带有背包约束的最大化问题,提出了一种基于贪婪算法的启发式算法,如 表1所示。通过迭代地将花费模型上传和更新时间最少的客户端添加到s,直到运行时间t达 到截止时延t
round

[0057]
表1基于用户选择的联邦学习方案
[0058][0059]
2)模型下载
[0060]
基于步骤1的结果,一组物联网用户s被选择用于参与第r轮的联邦学习训练过程。下 一步是,所选用户从雾服务器下载初始的全局模型参数w
r
,并基于本地数据训练该模型,如 图3,步骤(2)所示。
[0061]
3)fl模型训练
[0062]
在提出的fl方案中,第三步是利用物联网用户的本地数据训练模型,如图3,步骤(3) 所示。网络中存储在所选用户设备中的数据集为h={h1,h2,h3,

,h
s
},其中h
s
表示第s个 用户的本地数据集,数据大小为f
s
=|h
s
|,f为所选用户设备中整个数据集的大小。与经典的 fl算法一样,目标是最小化损失函数l(w):
更新判别网络d,以区分真实的先验样本和生成的样本。然后,为了欺骗判别网络d,更新 生成网络g,隐码是判别网络必须考虑的,它以真实的先验分布p(z)的形式分布。这个生成 网络也是ae的解码器。
[0074]
输出由对抗网络附加在编码器中,遵循p(z)分布,z可以由判别网络得到,z

由p(z)绘 制。采用反向传播的方法对判别网络的权值进行调整,同时,对生成网络的参数进行了更新, 这个过程是重复的。当训练过程结束时,生成模型由解码器ae定义,p(z)映射到数据分布 p
d
(x)。因此,c

aae的正则化可以通过q(z)与p(z)的匹配来实现,其中q(z)是聚合后的 后验,p(z)是任意的先验,q(z)可以由下式得到:
[0075][0076]
其中,p(x)为模型分布,判别网络的损失函数为:
[0077][0078]
其中,b为块大小(minibatch size),本发明使用的对抗生成网络为:
[0079][0080]
在上述模型的设计中,输入矩阵是二进制用户内容请求矩阵x,1和0分别表示用户感 兴趣的内容和不感兴趣的内容。该发明将用户的历史请求内容标记为感兴趣的内容。事实上, 不感兴趣的内容很难识别,因为未知的内容和不感兴趣的内容混杂在未请求的内容中,将所 有未请求的内容标记为不感兴趣的内容是一种偏见预测。因此,该发明通过随机抽样机制标 记未知的内容对应的缺失条目,随机抽样的概率与客户对内容的偏好有关。使用提出的 c

aae模型来预测这些缺失的值,c

aae从输入矩阵x中学习隐编码z,然后,x可以从z 中恢复以生成x的行和列都不完整,为预测的缺失项矩阵。通过对预测的内容进行 排序,输出中得分最高的内容将被选择为雾服务器中的缓存内容。本发明算法的复杂度取决 于c

aae模型的复杂度,其复杂度为o(h),h为c

aae模型中隐含层的大小。表2中列出 了完整的算法概述。
[0081]
表2区块链协助的联邦学习主动内容缓存方案
[0082][0083]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施 例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进 行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求 范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1