1.本公开涉及一种移动边缘计算,尤其涉及一种移动边缘计算中深度学习模型训练方法,以及使用该方法的移动边缘计算系统。
背景技术:
2.为了实现通信高带宽低延时的性能,现有的云端核心网架构已无法满足要求,因此提出了mec(mobile edge computing,移动边缘计算)的概念。图1示出了涵盖mec的网络架构。如图所示,mec技术将it服务环境和云计算技术在网络边缘相结合,提高边缘网络的计算和存储能力,减少网络操作和服务交付时延,提升用户服务质量体验,因此会在通信网络中得到广泛应用。
3.深度学习(deeplearning,dl)以其学习能力强且适用范围广的特点而业已用于mec的许多应用场景。但在很多应用场景中,隐私保护使得无法从移动设备收集私人数据到边缘服务器进行集中模型训练,这对深度学习在移动边缘计算领域的广泛应用造成障碍。虽然跨移动设备协调模型训练的联邦学习(fl)已被提出,但基于联邦学习的深度学习模型训练仍然存在训练效率不高和训练结果不佳等问题。
4.为此,需要一种改进的在移动边缘计算中训练深度学习模型的方案。
技术实现要素:
5.本公开要解决的一个技术问题是提供一种移动边缘计算中深度学习模型训练方法,该方法通过对已有模型的知识迁移和客户端本地训练的汇总来实现在客户端自身数据仅能用于本地训练情况下的模型训练,并且通过对参与正式模型训练的客户端进行筛选,进一步提升训练效率并剔除不可靠和低质的客户端。
6.根据本公开的第一个方面,提供了一种移动边缘计算中深度学习模型训练方法,包括:获取经训练的初始模型,修改所述初始模型以获取当前任务模型;将所述当前任务模型以及所述初始模型的参数下发给多个客户端,用于所述多个客户端各自进行初始训练;基于所述多个客户端的初始训练结果,选取预测准确率最高的客户端组合;以及获取客户端组合中每个客户端的正式训练结果并生成当前任务模型的参数。
7.可选地,修改所述初始模型以获取当前任务模型包括:基于当前任务的分类需求,修改所述初始模型的全连接层,获取包含新全连接层的所述当前任务模型,并且将所述当前任务模型以及所述初始模型的参数下发给多个客户端包括:将所述当前任务模型以及除被修改层之外的初始参数提供给所述多个客户端,其中,所述多个客户端在保持未被修改层的初始参数的情况下进行更新所述新全连接层参数的训练。
8.可选地,基于所述多个客户端的初始训练结果,选取预测准确率最高的客户端组合包括:利用预测准确率作为奖励,是否包含某一客户端作为行动,自学习地从所述多个客户端中选出不超过阈值个数的所述客户端组合。
9.可选地,基于所述多个客户端的初始训练结果,选取预测准确率最高的客户端组
合包括:设置待选取客户端组合的阈值个数;以及将所述阈值个数设置为所述自学习的学习条件。
10.可选地,所述方法还包括:基于某些客户端组合下所述预测准确率的劣化,判定这些组合中存在的不可靠客户端。
11.可选地,所述方法还包括:向所述多个客户端中除所述不可靠客户端之外的其他客户端下发经训练的当前任务模型,用于所述多个客户端各自进行针对当前任务的预测。
12.可选地,在所述多个客户端包括新客户端和/或收集到新数据的客户端的情况下,基于所述当前任务模型参数进行客户端组合的更新选取和所述当前任务模型参数的更新训练操作。
13.根据本公开的第二个方面,提供了一种一种移动边缘计算系统,包括:用于执行第一方面所述方法的边缘服务器,以及所述多个客户端,其中,所述多个客户端使用各自的初始训练数据集进行所述初始训练,所述边缘服务器使用不涉及客户端数据的验证数据集进行客户端组合选取,并且所述客户端组合中每个客户端使用各自的训练数据集进行正式训练,其中所述训练数据集所包含的数据要多于所述初始训练数据集和所述验证数据集所包含的数据。
14.可选地,所述边缘服务器通过选择所述客户端组合识别不可靠客户端,并进行客户端不可靠的警告。
15.根据本公开的第三个方面,提供了一种移动边缘计算中入侵检测模型训练方法,包括:获取来自源域经训练的初始入侵检测模型及其参数,将所述初始模型的全连接层替换为符合当前任务分类的新全连接层,以获取当前任务模型;将所述当前任务模型的初始参数下发给多个客户端,用于所述多个客户端各自进行初始训练;获取所述多个客户端的初始训练结果,基于强化学习选取预测准确率最高且不超过阈值个数的客户端组合;以及基于客户端组合中每个客户端针对所述新全连接层的训练结果生成当前任务模型参数。
16.根据本公开的第四个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一或第三方面所述的方法。
17.根据本公开的第五个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一或第三方面所述的方法。
18.由此,本发明利用联邦学习通过在客户端本地训练模型来保护隐私,并利用已有模型的知识迁移来提高训练效率。由于边缘服务器无法获知客户端状态,因此可以进一步通过针对客户端初步训练结果的强化学习来滤除低质和不可靠客户端,从而在节省时间和计算成本的同时提高模型的训练性能。
附图说明
19.通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
20.图1示出了涵盖mec的网络架构。
21.图2示出了根据本发明一个实施例的移动边缘计算中深度学习模型训练方法的示意性流程图。
22.图3示出了基于经训练的初始模型进行当前模型训练的一个例子。
23.图4示出了移动边缘计算系统执行本发明的训练方法的一个图示。
具体实施方式
24.下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
25.移动边缘计算(mec)技术将云数据中心的计算能力下沉到了网络边缘。一方面,mec基础设施通常部署在无线基站等网络边缘,使其更容易暴露在不安全的环境中。另一方面,mec将采用开放应用编程接口(api)、开放的网络功能虚拟化(nfv)等技术,开放性的引入容易将mec暴露给外部攻击者。然而,与云中心相比,由于边缘设施的资源和能力有限,难以提供与云数据中心一致的安全能,因此安全性是mec服务需要考虑的一个关键问题。例如,mec系统需要及时识别网络入侵。网络入侵在此可以指代可能导致宝贵的网络资源泄漏并危及网络安全的关键事件,例如技术故障。因此,需要通过入侵检测(id)识别偏离正常行为的数据点、事件和/或观察结果,而在入侵造成严重破坏之前对入侵进行隔离。深度学习(dl)业已用于移动边缘计算中的入侵检测模型训练,并能提供优于在前入侵检测方法的高性能检测模型,从而提升移动边缘计算的安全性。
26.在此,应该知晓的是,深度学习模型在能够进行正确推理之前需要进行训练。例如,在部署使用诸如卷积神经网络(cnn)的深度学习模型进行推理(例如,判定输入模型的网络事件是否是入侵事件)之前,首先需要对cnn进行训练。
27.cnn的训练过程不会更改神经网络模型的结构,但是会更新神经网络模型各层的参数。即,通过训练数据的大量导入,确定神经网络模型各层的参数,例如权重和偏置。
28.训练模型表示通过有标签样本来学习(确定)所有权重和偏置的理想值。这些确定了的权重和偏置则能够在神经网络部署阶段对输入的特征值进行高准确率的推理,例如,对网络事件进行正确的分类,例如分类为入侵事件还是正常事件。
29.在监督式学习中,机器学习算法通过检查多个样本并尝试找出可最大限度地减少损失的模型来学习参数,这一过程称为经验风险最小化。
30.损失是对不良预测的惩罚。即,损失可以是一个表示对于单个样本而言模型预测的准确程度的数值。如果模型的预测完全准确,则损失为零,否则损失会较大。训练模型的目标是从所有样本中找到一组平均损失“较小”的权重和偏差。
31.在神经网络的训练过程中,为了量化目前的权重和偏置是否能够让网络输入拟合所有的网络输入,需要定义一个损失函数。由此,训练网络的目的可以转变为最小化权重和偏置的损失函数的过程。通常,使用梯度下降算法(多层神经网络训练中,使用反向传播算法)来实现上述最小化的过程。
32.在反向传播算法中,涉及前向传播和反向传播的重复迭代过程。前向传播过程是层间神经元通过权值矩阵的连接使得刺激(特征值)经每一层的激励函数不断由前一层向
下一层传递的过程。而在反向传播中,本层的误差需要由下一层的误差反向推导。由此通过上述正向和反向传播的迭代过程不断调整权重和偏置,使得损失函数逐渐接近最小值,从而完成对神经网络的训练。
33.出于隐私保护的考虑,边缘服务器无法从客户端中收集个人数据用于集中模型训练。由此,为了保护深度学习模型训练中的用户隐私,可以使用能够跨移动设备协调模型训练的联邦学习(fl)。在联邦学习中,客户端将本地训练的模型上传到服务器进行聚合(例如,上传模型参数或梯度),服务器不从用户那里收集任何初始数据。应该理解的是,虽然下文中将主要基于入侵检测模型来阐述本发明的原理,但如上基于联邦学习的深度模型训练不仅可以用于入侵检测,也可以用于mec中需要确保个人隐私的其他应用场景,例如医疗保健、自动驾驶和安保图像分析等。换句话说,本发明的训练方案可以应用于mec的各个应用场景中。
34.由于联邦学习会导致频繁的大规模和并发模型传输,挤占大量通信资源,并且边缘服务器无法掌握每个客户端本身的训练质量,因此现有的基于联邦学习的深度学习模型训练的开销和效率都亟需提升。为此,本发明提供一种移动边缘计算中深度学习模型训练方法,该方法通过对已有模型的知识迁移和客户端本地训练的汇总来实现在客户端自身数据仅能用于本地训练情况下的模型训练,并且通过对用于正式模型训练的客户端进行筛选,进一步提升训练效率并剔除不可靠和低质客户端。
35.图2示出了根据本发明一个实施例的移动边缘计算中深度学习模型训练方法的示意性流程图。该方法可由移动边缘计算中的边缘服务器执行。
36.在步骤s210,获取经训练的初始模型,修改所述初始模型以获取当前任务模型。
37.根据深度学习背景知识可知,获取经训练的初始模型意味着获取一个神经网络模型的模型结构,并且获取通过使用带标签的训练数据进行训练后得到的该神经网络模型的参数(例如,包括权重和偏置)。该“初始”模型是相对于“当前”任务模型而言的,即,获取的模型经过一定修改能够得到“当前”模型。该初始模型可以是用于与当前任务模型完成同类任务的模型,例如,都是用于进行入侵检测的模型。但两个模型存在例如结果分类个数不同之类的具体任务差别。
38.由于初始模型的参数中包含着从网络事件中提取入侵事件特征的知识,因此相比于选取一个模型并从头开始参数训练,本发明直接基于经训练的模型开展后续训练的方法能够大幅提升训练效率,并由此避免对算力和通信资源的不必要的浪费。
39.在此,对于初始模型的修改,可以理解为对初始模型的模型本身(而非参数)进行修改。由此得到模型结构和分类任务与初始模型相似,但略有不同的当前任务模型。在一个实施例中(例如,如下结合图3描述的实施例中),可以基于当前任务的分类需求,修改所述初始模型的全连接层,获取包含新全连接层的所述当前任务模型。
40.随后,在步骤s220,将所述当前任务模型以及所述初始模型的参数下发给多个客户端,用于所述多个客户端各自进行初始训练。
41.由于在步骤s210中对初始模型的修改是对模型本身,例如模型的若干层进行修改,那么在基于修改后得到的当前任务模型进行训练时,可以直接利用对应于模型中未修改的那几层的初始模型参数作为当前任务模型的参数来进行后续训练。另外,可以为初始模式中修改的那几层分配随机参数,并将这些随机参数也作为当前任务模型的初始参数来
进行后续训练。
42.可以认为如上利用已训练模型进行模型改造和训练的方法属于迁移学习。迁移学习(tl)是一种用于加快学习过程并可用于提高本发明中利用的联邦学习的通信效率的理想技术。迁移学习的关键是将知识从现有领域迁移到新领域,旨在加快模型训练,降低计算成本,提高性能。如下将详述,本发明通过fl和tl的组合,即联合迁移学习(ftl),能够实现隐私保护和通信高效的模型训练。具体地,选取一个训练有素的模型从源域迁移到目标域作为联邦学习的初始全局模型。由于知识的迁移,联邦学习模型训练具有更高的初始准确率、学习速度和渐近线。因此,迁移学习在联邦学习中的应用减少了收敛所需的通信轮次,从而提高了通信效率。
43.在用于深度学习的神经网络中,特征从一般到特定(从低层到高层),因此,当跨域差异增加时,特征和分类器的可转移性降低。这也是本发明需要选择任务类型相同(起码是任务类型近似)的初始模型的原因。在模型迁移时,可以对模型本身进行调整,例如修改最后几个全连接(fc)层以适应当前任务的分类需要。在模型迁移后,可以对模型进行微调(fine-tune),例如,可以将当前模型中除了最后几个全连接层之外的所有层都冻结,并且只训练最后几个fc层。
44.图3示出了基于经训练的初始模型进行当前模型训练的一个例子。在此,初始模型可以看作是图2中提及的初始模型,当前模型则是基于初始模型获取的“当前任务模型”。在图3的例子中,初始模型和当前模型并不存在层数和层分布结构上的差别,各自包括三个一维(1d)卷积层(conv1、conv2、conv3)、两个最大池化层(pool1、pool2)、一个批量归一化层(norm)、一个drop-out层(dropout)和两个fc层(fc1、fc2)的卷积神经网络模型。初始模型和当前模型的不同之处仅在于当前模型对初始模型的最后一个全连接层(即,fc2)进行了调整。例如,由于基于要完成的预测任务,初始模型是用于入侵检测的五分类模型,当前模型则是用于入侵检测的八分类模型,因此需要对fc2层进行调整,换句话说,需要将当前模型的fc层进行任务分类数量的对齐。
45.由于当前模型相比于初始模型,在前的三个卷积层(conv1、conv2、conv3)、两个最大池化层(pool1、pool2)、一个批量归一化层(norm)、一个drop-out层(dropout)和一个fc层(fc1)的次序和内部结构完全未发生改变,因此可以直接将初始模型中这些层的参数传递给当前模型。
46.在一个实施例中,客户端上进行的训练可以如图所示,通过冻结这些初始参数(即,除fc2层之外的其他层的参数都不发生变化),仅仅对fc2层的参数进行训练。换句话说,此时当前模型最大地利用初始模型参数中包含的知识,仅仅是因为分类不同才替换掉最后一层。
47.在其他实施例中,客户端上进行的训练可以例如冻结更少的层,例如,冻结conv1到dropout层,对fc1的初始参数和新fc2层的参数进行训练。在另一些实施例中,甚至可以不冻结任何层,对conv1到fc1的初始参数和新fc2层的参数都进行训练。
48.应该理解的是,图3只是示出了tl的一个例子,在不同的例子中,可以对神经网络的网络结构进行更大的更改(例如,修改更多的层的结构),或是对更多的初始层进行微调等,本发明对此不作限制。
49.随后,在步骤s230,基于所述多个客户端的初始训练结果,选取预测准确率最高的
客户端组合。在步骤s240,获取客户端组合中每个客户端的正式训练结果并生成当前任务模型参数。
50.由上可知,在本发明中,并非直接选取全部可用的客户端来进行针对当前模型的正式训练,而是使得可用客户端进行初始训练(例如,很少几轮的训练),从中找出高质量的客户端,再进行仅针对高质量客户端的联邦学习。这是因为移动边缘计算中,边缘服务器无法访问客户端的训练数据,因此也无法完全控制客户端的行为。由此,客户端可能会在联邦学习的过程中偏离正常行为。可以将这些非正常的客户端称为“不可靠客户端”。不可靠的行为可能是有意的(例如,由恶意攻击者发出的主动攻击),或无意的(例如,有硬件或软件缺陷的客户端导致收集数据或是训练模型中的异常)。此外,一些客户端可能包含很少或重复的数据,并且其更新质量较低。在此,可以将这些训练数据质量不佳的客户端称为“低质客户端”。这些不可靠或是低质量的客户端会降低模型的训练效率,甚至会导致模型无法收敛。因此,在通过迁移学习进行知识迁移后,需要排除不可靠或是低质量的客户端,选择更为有用的客户端参与联邦学习的模型训练。由此,通过对客户端的筛选,降低模型训练成本、提高模型预测准确率并保证移动边缘计算系统的性能和安全性。
51.具体地,在步骤s230中,可以对参与联邦学习的客户端数量进行预算限制,例如,用k表示。为此,可以设计一个筛选方案,从移动边缘计算系统中所包含的m个客户端中选择k个客户端参与模型训练(其中,k≤m),目标是在不大于k个客户端用于联邦学习的情况下使得模型的预测准确率最大化。为此,可以采用一种自学习(即,无监督)地方式来进行客户端筛选。具体地,可以利用预测准确率作为奖励,是否包含某一客户端作为行动,自学习地从所述多个客户端中选出不超过阈值个数的所述客户端组合。进一步地,可以将阈值个数k设置为自学习的学习条件。
52.强化学习(rl)是一个智能体的学习过程,它根据环境采取行动以最大化其奖励。具体来说,假设有一组状态和一组动作。在每个时间步骤t,代理观察状态s
t
并执行动作a
t
。然后,状态从s
t
转移到s
t 1
,代理收到奖励r
t
。状态转换遵循马尔可夫决策过程。强化学习的目标是学习从状态和动作到长期收益值的映射,称为优化值函数(optimal value function)。为此,在步骤s230中,可以利用强化学习,尤其是典型的强化学习算法q学习(即,q-learning,或ql)来选择目标域中的客户端子集进行训练。
53.由此,在步骤s220,可以让系统中所有m个客户端都利用各自的数据进行初始训练。由于该初始训练的目的在于使得边缘服务器能够基于初始训练得到的参数结果(例如,每个客户端训练得到的fc2层的参数)来选择客户端,因此该初始训练的训练数据量应该较小,例如,可以指令每个客户端都选用其全部可用数据中的一个较小比例(例如,10%)作为初始训练中的初始训练数据集来进行训练。同时,设置的训练轮次也应该较少,例如5个迭代轮次。在此,应该理解的是,客户端用来进行模型训练的数据是自身获取的数据,例如在实际操作过程中获取的数据。这些自身获取的数据出于隐私保护的考虑仅用于在本地模型的训练(例如,初始训练和如下所述的正式训练),而上传给服务器的训练结果仅仅是模型的参数,而非用于训练模型的这些隐私数据本身。
54.随后,在步骤s230中,边缘服务器能够根据所有m个客户端上传的初始训练结果(例如,每个客户端训练得到的fc2层的参数),使用边缘服务器上自身的验证数据集(验证数据集中的数据不来自客户端,因此不存在隐私问题)进行测试,利用强化学习得到测试结
果最为优化的不大于k个的客户端组合(即,基于这些客户端组合提交的参数而最终生成的fc2层参数使得模型的分类预测结果最为优化),并且可以在步骤s240中,使用这些客户端来进行联邦学习并获取最终的训练模型,例如,使用这些客户端进行其全部可用数据的多轮次训练,并基于这些客户端各自上传的fc2参数获取用于当前任务模型的fc2参数。
55.如前所述,可以利用强化学习来从m个客户端中选择不多于k个客户端的优选客户端组合,并且未被选中的客户端起码可被认为是不够优质的客户端。由于客户端各自训练模型的预测效果不佳可以是数据不足,系统故障,或是恶意混淆等多种原因导致,因此可以基于各种客户端组合下预测准确率的变化来判定未被选中客户端的属性,例如导致预测准确率下降(或是显著劣化)的客户端可被认为是不可靠客户端(或是疑似不可靠的客户端),导致预测准确率改善缓慢的那些客户端是低质客户端。
56.由此,可以基于模型训练结果,对上述疑似不可靠客户端进行提示,系统随后可以针对疑似不可靠客户端进行进一步的跟踪和属性判定。
57.而基于本发明的如上ftl和rl结合训练得到的深度学习模型,例如入侵检测模型,可以下发给该移动边缘计算系统中的m个客户端,使得这些客户端可以使用该入侵检测模型对发生的网络事件进行入侵检测。在某些实施例中,在判定某些客户端是不可靠客户端时,可以不向这些客户端发送经由本发明训练得到的入侵检测模型,从而避免训练结果被恶意客户端获取。
58.在进行本发明如图2所示的模型训练后,当一些客户端收集到更多数据或一些新客户端加入系统时,可以对训练模型进行更新。具体地,可以基于当前任务模型参数进行客户端组合的更新选取,也可以对所述当前任务模型参数进行更新训练操作。
59.本发明还可以实现为一个移动边缘计算系统,该系统可以包括能够执行图2所述方法的边缘服务器,以及多个客户端(例如,m个)客户端。图4示出了移动边缘计算系统执行本发明的训练方法的一个图示。
60.如图所示,首先在步骤1从源域中选中一个已被很好训练的模型,上述模型通过迁移学习被引入目标域。目标域可以实现为一个移动边缘计算系统,包括边缘服务器和m个客户端。随后在步骤2,边缘服务器可以将修改的当前模型下发所有m个客户端进行初始训练(客户端使用各自的初始训练数据集进行所述初始训练),根据初始训练结果和阈值k进行强化学习(边缘服务器使用不涉及客户端数据的验证数据集进行客户端组合选取),由此选择在步骤3最终进行联邦学习的客户端(例如,图4中白色的客户端,这些客户端使用各自的训练数据集进行正式训练),并还可以根据初始训练中的各种客户端组合得到的模型的预定准确率的下降,来定位不可靠的客户端。这些不可靠客户端不仅可被排除在联邦学习中,还可以对其进行更为深入的调查以确定其不可靠的属性。在某些实施例中,边缘服务器通过选择所述客户端组合识别不可靠客户端,并进行警告。例如,通过设备维修人员对特定客户端进行检修。
61.应用例
62.如下将结合图3和图4对本发明的一个入侵检测模型训练的应用例进行详细描述,以方便对本发明原理的进一步理解。
63.首先,考虑一个在移动边缘计算中基于选择的客户端进行入侵检测(id)模型训练的联合迁移学习(ftl)框架,该框架包括一个边缘服务器和m个客户端。这m个客户端可以表
示为c={c1,c2,.....,cm}。网络入侵表示可能导致宝贵的网络资源泄漏并危及网络安全的关键事件,例如技术故障。入侵检测的目标是识别偏离正常行为的数据点、事件和/或观察结果,为此需要训练一个高精度的id模型来及时检测入侵。训练数据由客户端本地收集,用d={d1,d2,...,dm}表示。训练数据具有一系列特征(例如,连接持续时间、协议类型和目的地的网络服务)和不同的标签(正常和各种攻击类型)。第一步是如图4所示在源域中选择一个训练有素的模型,并传输到目标域中的边缘服务器进行fl模型训练。因此,第一个问题是为所考虑的系统设计一个高效的ftl框架。
64.为了避免不可靠或低质量的id模型更新,需要选择有用的客户端参与fl模型训练,从而提高学习性能并节省系统成本,这就提出了选择客户端的第二个问题。首先可以对参与fl的客户端数量设置了预算限制,用k表示。为此,第二个问题的目标是设计一个基于rl的方案,从m个客户端中选择k个客户端参与模型训练,目标是最大化精度(k≤m)。因此,第二个问题可被如下表述:
[0065][0066]
s.t.,|c
sel
|≤k
[0067]
其中c
sel
是选定客户端的集合,|c
sel
|是c
sel
的客户端数量,a是准确性。
[0068]
在dl网络中,特征从一般到特定(从低层到高层),因此,当跨域差异增加时,特征和分类器的可转移性降低。因此,微调方法被广泛使用并被证明是有效的,在模型转移后,除了最后几个全连接(fc)层之外的所有层都被冻结,并且只训练最后几个fc层。
[0069]
基于上面介绍的fl和tl的原理,可以提出基于ftl的id框架,如图3所示。具体地,初始模型在源域中已针对id任务进行了良好培训,随后将模型转移到目标域作为fl训练的初始全局模型,即在前所述的“当前任务模型”。
[0070]
ftl的训练过程如下算法1所示。
[0071]
mec中用于id模型训练的算法1:
[0072]
1:在源域中选择一个训练好的入侵检测dl模型,然后用训练好的参数传递给目标域中的边缘服务器;
[0073]
2:在目标域中,将最后一个fc层替换为新的fc层,与任务的分类号对齐,从而形成初始全局模型;
[0074]
3:服务器通知所有客户端参与;
[0075]
4:服务端选择客户端参与fl训练(算法1不涉及客户端选择,因此这里选择所有客户端进行模型训练);
[0076]
5:重复
[0077]
6:被选中的客户端从服务器下载最新的全局模型及其参数;
[0078]
7:客户在本地训练他们的模型。具体地,除了最后一个fc层之外的层都被冻结了,只训练了最后一个fc层;
[0079]
8:客户端上传模型更新到服务器;
[0080]
9:服务器聚合模型更新,生成新的全局模型;
[0081]
10:直到收敛或经过一定轮数后;
[0082]
11:得到最终的全局模型。
[0083]
在如上算法1的基础上,可以进一步通过并入强化学习选择客户端的步骤来提升本发明的模型训练效率和准确性。
[0084]
rl是一个智能体的学习过程,它根据环境采取行动以最大化其奖励。具体来说,假设有一组状态和一组动作。在每个时间步骤t,代理观察状态s
t
并执行动作a
t
。然后,状态从s
t
转移到s
t 1
,代理收到奖励r
t
。状态转换遵循马尔可夫决策过程。rl的目标是学习从状态和动作到长期收益值的映射,称为优化值函数(optimal value function)。在此,可以使用典型的rl算法q-learning(ql)来选择目标域中的客户端子集进行训练。
[0085]
具体地,基于ql的原则,设计一个客户端选择算法,选择客户端的子集以在预算范围内实现最高准确度。具体地,可以定义ql的状态、动作和奖励函数如下:
[0086]
状态:每个客户端有两个子状态,即“选中”和“未选中”,分别用“1”和“0”表示。在这里,可以使用“子状态”来区分ql中的“状态”。因此,在考虑所有客户端后,q-函数表中总共有2m个状态。代理与边缘服务器一起,选择状态为“1”的所有客户端参与ql每一个关卡(episode)的ftl训练。
[0087]
动作:如果将每个状态的转移设置为一个动作,动作空间为2m。为了缩短动作空间,可以设计一个空间为m 1的动作集,即{flip 1,flip 2,flip 3,.....,flip m,stay}。这里,“flip n”代表改变cn的子状态,然后转移到改变cn的子状态后的状态,“stay”代表停留在当前状态。
[0088]
奖励:可以将每个关卡结束时观察到的奖励设置如下:
[0089][0090]
其中a
t
是关卡t之后基于参与客户端的ftl验证准确度,并且γ》1是一个常数。这里,当时b=0,当时b=1,其中是episodet所选客户端的集合。设置和b的激励如下:第一项是激励代理达到最高准确率,第二项是确保选择的客户数量在预算范围内。具体地,可以使用一个具有大基数γ的指数函数来放大由准确率引起的奖励增量(例如设置γ=100)。另一方面,由于小于1,因此可以在预算被满足时设置b=1。
[0091]
基于为ql设计的状态、动作和奖励函数,可以为ftl框架提出了一种基于rl的客户端选择算法,如算法2所示。
[0092]
mec中使用基于rl的客户端选择的用于id模型训练的算法2:
[0093]
1:算法1中的步骤1-3;
[0094]
2:初始化q函数表,即设置q(s,a)中所有元素为0,初始状态s0=[1,1...,1];
[0095]
3:重复
[0096]
4:选择并执行基于ε-贪婪策略的动作a
t
,遵循概率为1-ε的a
t
=argmaxaq(s
t
,a)的策略,并以概率ε选择一个随机动作,并将状态更新为s
t 1
;
[0097]
5:检查s
t 1
的验证准确率是否已经推导出来。如果还没有推导出来,则根据选择的s
t 1
对应的客户端进行fl训练(按照算法1的步骤4-10),得到验证准确率;
[0098]
6:根据(8)衡量奖励r
t 1
;
[0099]
7:根据(7)更新q函数表;
[0100]
8:直到平均奖励收敛或某一特定关卡;
[0101]
9:最终收敛状态表示最终选择的参与客户端;
[0102]
10:根据选择的客户端进行fl训练,得到最为优化的全局模型。
[0103]
通过算法2,可以得到预算内最为优化的客户端子集,得到最为优化的全局模型
[0104]
另外,可以从源域中挑选一个近似的已训练模型作为初始模型,该模型在源域中的训练可以在fl协议下,也可以不在。
[0105]
根据如上的应用例,本发明尤其可以实现为一种移动边缘计算中入侵检测模型训练方法,包括:获取来自源域经训练的初始入侵检测模型及其参数,将所述初始模型的全连接层替换为符合当前任务分类的新全连接层,以获取当前任务模型;将所述当前任务模型以及除被替换层外的初始参数下发给多个客户端,用于所述多个客户端各自进行初始训练;获取所述多个客户端的初始训练结果,基于强化学习选取预测准确率最高且不超过阈值个数的客户端组合;以及基于客户端组合中每个客户端针对所述新全连接层的训练结果生成当前任务模型参数。
[0106]
上文中已经参考附图详细描述了根据本发明的移动边缘计算中深度学习模型的训练方法。在本发明的移动边缘计算中,通过选择参与模型训练的客户端来进行联合迁移学习。该方案尤其适用于入侵检测模型的训练。具体地,本发明可以利用联合迁移学习来训练入侵检测模型以实现高效和安全的移动边缘计算,并且为联合迁移学习设计了一个基于强化学习的客户端选择方案,以在预算范围内选择有用的客户端,从而达到最高的准确率。所提出的方案可以成功地从模型训练中排除恶意客户端。由此,本发明的训练方案实现了具有更高精度、更高通信效率和更低系统成本的移动边缘计算的模型训练。
[0107]
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
[0108]
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
[0109]
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
[0110]
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0111]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
转载请注明原文地址:https://tc.8miu.com/read-2453.html