CN111625361B - 一种基于云端服务器和IoT设备协同的联合学习框架 - Google Patents
一种基于云端服务器和IoT设备协同的联合学习框架 Download PDFInfo
- Publication number
- CN111625361B CN111625361B CN202010456636.2A CN202010456636A CN111625361B CN 111625361 B CN111625361 B CN 111625361B CN 202010456636 A CN202010456636 A CN 202010456636A CN 111625361 B CN111625361 B CN 111625361B
- Authority
- CN
- China
- Prior art keywords
- model
- cloud
- iot
- branch
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于云端服务器和IoT设备协同的联合学习框架,其特点是采用分布式AI系统架构的云端服务器和IoT设备协同的联合学习框架,具体包括:云端离线训练、IoT设备和云端协同在线联合训练和IoT设备和云端协同推理等步骤。本发明与现有技术相比具有适应不同IoT使用环境或者用户的使用偏好,达到更好的本地设备模型和云端模型的性能效果,有效提高IoT设备中的神经网络的预测准确率和平均推理执行时间,同时保护本地设备用户的数据隐私,尤其适合数据分布多样化的分布式应用场景中使用。
Description
技术领域
本发明涉及神经网络及联邦学习技术领域,尤其是一种基于BranchyNet的云端服务器和终端IoT设备群协同推理和联合学习框架。
背景技术
随着物联网技术的发展和5G通信的到来以及各种IoT设备日益普及,未来IoT端产生的海量数据将很快超过现有互联网的数据体量。边缘和终端智能越来越受到人们的关注,人工智能技术能有效用于处理海量设备端产生的数据。近年来,IoT设备计算能力不断提升,特别是专门用于神经网络计算的AI芯片逐渐成为中高端设备的标配,人工智能逐渐出现了从云端向终端迁移的趋势。智能+是社会未来发展的趋势,赋予IoT设备智能化可以为人们提供更好的服务,越来越多的人工智能应用开始部署在这些IoT设备中,人工智能将成为IoT设备的重要组成部分。
深度神经网络由于其卓越的性能已经成为人工智能的主流技术,广泛应用在计算机视觉、自然语言处理和语音识别等领域。深度神经网络的性能很大程度上取决于网络的深度,越深越复杂的网络通常有更好的性能,带来的代价就是提高了网络的计算量和存储开销,增加了运行时间和能量消耗。随着IoT设备计算和存储能力的逐步提高,在IoT设备中部署小型深度神经网络模型将越来越普遍,它能显著提高IoT设备的智能水平。然而,深度神经网络推理需要满足快速和低功耗的要求。IoT设备的计算和存储资源毕竟有限,绝大多数IoT设备是为了低成本和低功耗设计的,特别是小型物联网设备,如嵌入式传感器,通常芯片计算能力弱,只有极少的内存和电量存储。而高性能的深度神经网络模型通常需要高昂的计算、存储和能耗开销,这让直接在这些IoT设备上部署高性能机器深度神经网络模型成为一大难题。
物联网端产生的数据呈指数级增加,由于云端服务器网络带宽和计算、存储成本的限制,将物联网和用户设备产生的海量数据全部上传云端服务器存储和处理不切实际。终端计算可以规避网络延迟和无网络或弱网络情况,提供更好的体验服务。研究者预测未来90%的数据会被处理和存储在终端设备本地。同时,行业对数据保护和用户隐私越来越重视,使得非必要数据可以不必通过上传到云端服务器就能服务用户。用户数据存储在自己的设备上,如智能手机和平板电脑中,不向服务端上传,模型的训练都在用户设备端完成。用户之间通过交互非原始数据信息来完成模型的协同训练,这样解决了集中式训练造成的计算和存储资源浪费。这种本地IoT设备节点参与深度神经网络的训练会逐渐成为趋势,特别是在强化学习的场景中,本地设备能与环境实时交互获得反馈,无需人工统一标注数据集就能产生大量能供训练的数据集。在未来海量且多样的IoT设备需要管理和维护的情况下,在线训练IoT设备的本地模型更具有灵活性和可扩展性,能够持续完善模型,并能很好适应使用场景不断发生变化的情况。
现有技术不能使低硬件成本的IoT设备更好地利用深度神经网络提供智能服务,存在着神经网络性能差,预测准确率低以及平均执行时间长等问题。
发明内容
本发明的目的是针对现有技术的不足而提出的一种基于云端服务器和IoT设备协同的联合学习框架,采用基于BranchyNet的云端服务器和终端IoT设备群协同推理和联合学习的分布式AI系统框架,能有效改善神经网络在IoT设备上的应用和性能,提高了物联网设备中神经网络的预测准确率和平均推理执行的速度,同时能保护IoT设备的用户本地数据隐私,尤其适合数据分布多样化的分布式应用场景中使用。
本发明的目的是这样实现的:一种基于云端服务器和IoT设备协同的联合学习框架,其特点是采用分布式AI系统架构的云端服务器和IoT设备协同的联合学习框架,其联合学习具体包括以下步骤:
步骤一:设计神经网络模型
根据云端服务器和IoT设备的计算和存储资源,设计包含云端和IoT设备共享结构及其权重的Trunk部分、IoT设备端的Branch部分和云端的Branch部分的BranchyNet神经网络模型。
步骤二:云端离线训练
在云端使用公共公开的数据集训练BranchyNet模型,得到该模型的初始权重。
步骤三:部署神经网络模型
将Trunk部分、IoT设备端的Branch部分部署到各个IoT设备中,将Trunk部分、云端的Branch部分部署到云服务器中。
步骤四:IoT设备和云端协同在线联合训练
各个IoT设备利用本地持续产生的私有数据进行联合训练,持续地优化并更新Trunk部分、IoT设备端Branch部分和云端Branch部分的权重,得到能适应不同IoT使用环境或使用偏好的个性化IoT设备端神经网络模型。
步骤五:IoT设备和云端协同推理
本地IoT设备独立进行模型推理得到预测结果,并将本地处理效果不好的推理任务交付云端得到更准确的预测结果。
所述步骤四和步骤五是一个在线、持续的过程,当使用环境变化时可由步骤五的协同推理返回到步骤四,重新进行协同在线联合训练,然后将改善后的模型用于步骤五的协同推理。
所述联合学习框架将BranchyNet的不同部分(Trunk和多个Branch)分别部署到云服务器和各个IoT设备。云端和各个IoT设备拥有相同结构和权重的Trunk部分。受限于IoT设备计算和存储资源,IoT设备的Branch部分神经网络模型简单、体积小、计算量少,因此模型预测性能弱。云端服务器拥有强大的计算能力,云端的Branch部分神经网络模型复杂、体积大、计算量大,同时性能也更强,能得到准确的预测结果。
所述联合学习框架在执行推理时,IoT设备模型对本地数据进行预测,数据输入本地设备的Trunk模型。对IoT设备的Branch模型输出的预测值计算正则信息熵来表示输出结果的置信度。如果置信度小于阈值T,则直接将预测值作为最终结果输出;否则将Trunk模型输出的中间结果(即提取的浅层特征)发送云端。由于云和IoT设备的Trunk部分始终保持相同的结构和权重,云端模型直接将接收到的中间结果输入云端的Branch模型,无需重新要求IoT设备发送原始私有数据重新经过Trunk部分的处理,之后将预测结果返回给IoT设备。
所述联合学习框架在第一阶段云端离线训练时,训练的前向传播过程中,训练样本数据输入Trunk模型,将Trunk模型输出的中间结果同时输入IoT设备端Branch模型和云端Branch模型,分别根据交叉熵损失函数计算出两个IoT设备端和云端模型的loss值,并加权相加得到最终的loss值。反向传播过程中,使用梯度下降优化算法最小化loss值,计算梯度并更新Trunk模型、IoT设备端Branch模型和云端Branch模型。其目的是预训练得到初始BranchyNet神经网络模型的权重,能够有效提高第二阶段的联合训练速度,同时一定程度上解决了IoT设备训练数据单一、数据量少的问题。
所述联合学习框架的第二阶段IoT设备和云端协同在线联合训练用于将IoT设备模型差异化,得到个性化的定制模型。为了提高本地的提前退出比例和联合学习的训练效率,在该过程把IoT设备端的Branch的预测结果的正则信息熵也作为IoT设备Branch模型优化目标的一部分,和预测误差即交叉熵一起优化。在IoT设备每一轮在线联合训练开始,从云端获取的新的全局Trunk和全局Branch模型权重参数,其中全局Branch模型权重参数同每个IoT设备本地上一轮训练的Branch模型权重参数以一定权重比例合并,这种改进的联合学习机制既能从其他设备中学出全局的公共知识,保证各个IoT设备模型的泛化能力,又同时保持了本地使用场景和数据的特性,更好的预测本地多样化的特有数据。
本发明与现有技术相比具有适应不同IoT使用环境或者用户的使用偏好,达到更好的本地设备模型和云端模型的性能效果,有效提高IoT设备中的神经网络的预测准确率和平均推理执行时间,同时保护本地设备用户的数据隐私,尤其适合数据分布多样化的分布式应用场景中使用。
附图说明
图1为本发明系统示意图;
图2为两异构终端模型的场景示意图;
图3为云服务器、边缘服务器和终端IoT设备的场景示意图;
图4为本发明流程图。
具体实施方式
参阅附图1,本发明由中央云服务器和海量的终端IoT设备组成,终端IoT设备能产生和存储私有本地数据。其中,每个终端IoT设备部署一个小型、性能较弱的浅层神经网络模型,而在中央云服务器上部署一个大型、性能强大的深层神经网络。两种神经网络模型都由Trunk和Branch两部分组成:数据输入Trunk部分,Trunk输出的中间结果作为Branch的输入,Branch输出最终结果。两种模型都属于堆叠结构的神经网络模型,可以由卷积层、循环神经网络单元、全连接层和池化等基本结构堆叠而成,是现在深度神经网络模型的主流结构。本发明适用于任何堆叠式结构、输出结果是概率向量的深度学习模型,能够应用于计算机视觉、自然语言处理和语音识别等多种任务。它不依赖于特定的神经网络模型优化算法,在不改变核心场景的情况下,它可以很容易地扩展、适应未来的神经网络优化算法。同时,本发明的框架架构可以扩展至多种异构的终端模型和多级计算平台的场景,即有多个提前退出点的情况。
参阅附图2,展示了两个异构终端模型的场景,A和B两种IoT设备根据计算能力的大小分别部署处于不同提前退出点的子模型,能充分发挥具有不同本地算力的IoT设备的能力。云端和两种设备依然共享Trunk部分模型结构和权重参数,只是对于设备A和设备B来说,Trunk模型的深度不同。设备A和设备B能将各自Trunk模型的输出分别输入云端模型的对于入口继续处理。
参阅附图3,展示了云服务器、边缘服务器和终端IoT设备的三级结构。云服务器集群下面有多个性能稍微弱一些的边缘服务器,每个边缘服务器服务和管理一片区域的多个IoT设备,这些IoT设备具有相同或相似的使用场景。每个IoT设备只将Trunk模型输出发送给管理它的边缘服务器处理,边缘服务器不足以得到确定结果时,再由边缘服务器交给云端服务器集群继续处理。这种多级结构能大量减少云端服务器的压力,适合超大规模数量的IoT设备的情形。
云端深层神经网络模型和IoT端浅层神经网络模型的差别在于Branch的深度、结构和权重参数的不同。所有IoT设备和云端服务器的Trunk部分拥有相同的结构和相同的权重参数,而各个IoT设备之间的Branch部分拥有相同的网络结构,但权重参数不同。这样设计的好处在于:
第一,Trunk部分可以认为是从原始数据中提取浅层特征,浅层特征比较具有一般性和通用性,因此具有相同的结构和权重参数。而Branch部分可以认为是对浅层特征进行深层次的特征提取和处理,并得到预测结果。深层特征比较抽象,更具有特殊性。不同的权重能提取不同的深层特征,以适应各自不同的使用场景和使用者产生的多样化的数据。
第二,由于云端和IoT设备拥有相同结构和权重参数的Trunk部分,云端Branch部分能接收IoT设备Trunk部分的输出进行后续处理。当IoT设备遇到和自己常规使用场景差别比较大的数据而得不到好的结果时,这种机制能够让云端对这样的数据进行后续处理,再将处理结果返回给IoT设备。
本发明基于BranchyNet的框架结构,IoT设备浅层模型可以认为是云端深层模型的一个提前退出点。海量IoT设备进行本地处理并提前退出,除了减少延迟外,可以大大缓解云端服务器的计算、存储和带宽压力。随着5G技术的到来,移动无线通信网络的速度和带宽显著提高,物联网设备和云服务器的实时交互和数据传输性能得到极大改善,进一步减小了时间延迟。本发明提出的框架架构和训练方法不仅考虑到某些数据由于本身的属性是容易处理的,能够从本地IoT设备直接得到高准确度,又考虑到多样化地训练出不同的Branch模型,能够对IoT设备平时的使用场景和使用者产生的数据更有效。
本发明采用联合学习改善BranchyNet神经网络在IoT设备上的应用和性能。联合学习是在一个本地IoT设备参与深度学习训练的场景下被提出,在一个中央服务器的协调下,参与学习的IoT设备联盟联合训练出来一个共享的全局模型。由于参与其中的设备通常数量很大,并且具有缓慢或不稳定的网络连接,联合学习适合于训练数据来自于各个IoT设备的场景。联合学习使得IoT设备能够协作学习共享的预测模型,同时能将所有训练数据存储在原有设备上,从而将机器学习的能力与在云中存储数据的需求分离出来。训练数据保存在用户本地的IoT设备上,设备作为计算节点对用户的本地数据执行计算,以更新全局模型。设备的本地数据使用本地模型进行预测,同时为设备提供模型训练。该方法与传统的分布式机器学习不同,主要是因为它适合于有着海量设备、每个设备中的数据极度不平衡、本地数据集非独立同分布和设备间网络连接相对较差的场景。由于这样的特性,未来联合学习的方式将在智能IoT设备中广泛使用。
BranchyNet是一种条件神经网络模型,这种模型能有选择地执行神经网络中的部分计算单元。它基于这样一个考虑:例如,在图像分类任务中,图像中物体数量、结构和纹理的复杂程度不同,对于简单或者物体比较大的图像,使用计算量小的浅层模型就能达到非常好的效果,不必浪费时间和算力使用更深层的神经网络。在BranchyNet中,一个神经网络由好几个分支组成,每个分支的计算量逐渐增加,越深的分支能够获得更准确的预测结果。它们为神经网络提供了一个计算退出点,神经网络的执行能从一个较短的分支中提前退出得到预测结果能。当一个输入样本在一个分支的提前退出点能保证预测结果足够肯定,则结束计算输出预测结果;否则交给更深层的分支继续处理,直到计算完最后一个退出点。提前退出点是在计算速度和预测结果准确性之间做出的权衡,越多输入样本提前退出能节约更多的计算时间和功耗,但可能会降低部分准确度。BranchyNet通过基于信息熵(entropy)的置信度准则来判断是否提前退出,如果分支输出结果的信息熵小于设置的阈值,则认为该分支有足够的信心保证最后的预测结果的准确性,于是提前退出输出预测结果。
通过以下具体实施例对本发明作进一步的详细说明。
实施例1
参阅附图4,本发明采用分布式AI系统架构的云端服务器和IoT设备协同的联合学习框架,其联合学习具体包括以下步骤:
步骤一:设计神经网络模型
根据云端服务器和终端IoT(Internet of Things,物联网)设备的计算和存储资源设计合适的BranchyNet神经网络模型,该模型包含了云端和IoT设备共享结构和权重的Trunk部分、IoT设备端的Branch部分和云端的Branch部分,Trunk和Branch部分。
步骤二:云端离线训练
在云端用公共公开的数据集训练BranchyNet模型,目的是预训练得到初始BranchyNet神经网络模型的权重。
下面以交叉熵(cross entropy)作为神经网络的损失函数为例来描述本发明的训练方法。第一阶段的云端离线训练是一个联合优化问题,同时优化云端和IoT设备端模型的损失函数,不需要阈值T参与。它在云端利用强大的服务器事先训练好初始的BranchyNet模型,之后通过划分分别部署到云端和各个IoT设备中,即Trunk和短的Branch部署到IoT设备,Trunk和长的Branch部署到云服务器。神经网络输出n维概率向量,交叉熵损失函数由下述a式定义:
第一阶段训练的云端离线训练按下表1所示的算法进行:
表1 云端离线训练算法
训练的前向传播时,训练样本数据输入Trunk模型,将Trunk模型输出的中间结果同时输入IoT设备端Branch模型和云端Branch模型,分别根据交叉熵损失函数计算出两个IoT设备端和云端模型的loss值,并加权相加得到最终的loss值。
训练的反向传播时,使用梯度下降优化算法(如SGD、Adam、RMSprop等)最小化loss值,计算梯度并更新Trunk模型、IoT设备端Branch模型和云端Branch模型。第一阶段的训练不需要训练出特别精确的模型,它服务于第二阶段,主要用于提升第二段的训练速度、减少联合学习的轮数。
步骤三:部署神经网络模型
将Trunk部分、IoT设备的Branch部分部署到各个IoT设备中,将Trunk部分、云端的Branch部分部署到云服务器中。
步骤四:IoT设备和云端协同在线联合训练
各个IoT设备利用本地持续产生的私有数据进行联合训练,持续地优化并更新Trunk部分、IoT设备端Branch部分和云端Branch部分的权重。其中,在每一轮的联合学习中,所有的IoT设备Trunk和云端的Trunk模型部分始终保持一致。该步骤目的是得到个性化的IoT设备端神经网络模型,它能适应不同IoT使用环境或者用户的使用偏好,达到更好的本地设备模型和云端模型的性能效果。
第二阶段的IoT设备和云端协同在线联合训练用于将IoT设备模型差异化,得到个性化的定制模型。由于分布于多样化场景中的IoT设备产生的数据具有非独立同分布、训练数据量不平衡的特点,无法直接用这些本地数据训练模型。第二阶段训练采用了联合学习中的同步平均算法,它能从这样的数据中学出通用性能好、泛化能力强的机器学习模型。
第二阶段的IoT设备在线联合训练按下表2所示的算法进行:
表2 IoT设备端训练算法
第二阶段的云端在线联合训练按下表3所示的算法进行:
表3 云端训练算法
为了提高本地的提前退出比例和联合学习的训练效率,在该过程把IoT设备端的Branch的预测结果的正则信息熵也作为IoT设备Branch模型优化目标的一部分,和预测误差即交叉熵一起优化。此时,本地模型的损失函数由下述c式定义:
式中:λ是设置的比例系数;Loss和entropy分别是之前定义的交叉熵和正则信息熵。
IoT设备通过每一轮联合学习都会得到一个新的全局Trunk模型和一个新的全局Branch模型,它们下发到各个IoT设备中,用于新一轮的联合学习。新的全局Trunk模型权重参数直接替换IoT设备原来的Trunk模型权重参数,但新的全局Branch模型权重参数和每个IoT设备本地上一轮训练的Branch模型权重参数由下述d式以一定权重比例w进行合并(与梯度合并再更新等价):
式中:θg_d_br、θd_br分别表示IoT设备新的Branch模型、云端聚合后下发的全局Branch模型和上一次训练得到的Branch模型权重参数;γ是设置的比例系数。这种方式保证了各个IoT设备模型的泛化能力,同时又能更好的应对本地多样化数据。
上述IoT设备端训练算法和云端训练算法,整个第二阶段的每一轮联合训练概括为下述几个步骤:
1)云端服务器选择所有IoT设备的一个子集,子集中的每个设备从服务器端下载当前最新的全局Trunk模型和Branch模型,并按照上述介绍的机制合并得到新的本地模型。
2)每个子集中的IoT设备使用自己的本地数据集多轮迭代训练Trunk模型和Branch模型。其前向传播过程和协同推理过程相似,本地设备对于置信度低于阈值的数据,可以将Trunk模型输出的中间结果发送云端。同时,云端使用这些中间结果训练和改善云端Branch模型,提升云端模型对各个场景中IoT设备生成的数据的预测效果。
3)本地训练完成后,子集中的每个设备的Trunk模型和Branch模型的更新梯度发送给云端服务器,同时告知云端服务器用于本轮训练的样本数量,用于计算平均聚合全局模型时的比例系数。更新梯度由训练得到的新模型的权重参数减去本轮训练前从云端获取的初始全局模型的权重参数得到。
4)云端服务器收集选取的设备集中的所有Trunk模型与Branch模型的梯度更新和样本数量,通过平均聚合方法构建出新的全局Trunk模型和Branch模型,下发给所有IoT设备。
第二阶段利用了迁移学习的思想,使用第一阶段预先训练好的云端和IoT模型作为起点,它将公共公开数据集训练出的模型迁移到各个IoT设备的私有的、多样化的数据,能够有效提高第二阶段的训练速度,同时解决了一些IoT设备训练数据单一、数据量少的问题。第二阶段训练在设备空闲的时候进行,是一个在线、持续的过程,能提供更多的数据来持续微调模型。如下一词预测,训练的标签能通过用户的选择实时给出。特别是在强化学习的场景中,本地设备能与环境或用户实时交互获得反馈,无需人工统一标注数据集就能产生大量能供训练的数据集。当用户喜好习惯或者使用场景发生变化时,这些变化体现在本地私有训练数据中,每一轮训练得到的模型也将逐渐适应用户新的喜好和新的使用场景,提供更好的性能和服务体验。同时,为了节省设备端的通信传输开销和功耗、减少云端服务器的负载压力,设备端在第二阶段不必每次都将不确定的数据发送云端,减少云端模型的更新频率。
步骤五:IoT设备和云端协同推理
本地IoT设备能独立进行模型推理得到预测结果,并能将本地处理效果不好的推理任务交付云端得到更准确的预测结果。IoT设备和云端协同推理适用于输出是概率向量的深度神经网络模型。同BranchyNet一样,本发明使用正则信息熵(Normalized Entropy)来衡量神经网络输出结果的置信度。置信度越高说明IoT设备对某个样本数据的输出结果越肯定、有足够高的准确率,无需交给云端继续处理,设立一个阈值T来作为是否交给云端处理的分界线。所述正则信息熵由下述e式定义:
式中:n是神经网络输出的个数;为每个输出概率的向量,每个输出概率之和为1。在分类任务中,表示n个类别的概率,概率最高的类别作为分类结果。正则信息熵是一个0-1区间的值,值越小越接近0说明某一个输出的概率远高于其它输出的概率,意味着对于预测结果越确定;值越大越接近1,说明每个输出的概率大小差别不大,意味着模型对预测结果越不确定,需要由云端来完成后续的处理得到最终结果。所述云端协同推理的具体过程如下:
1)IoT设备模型对本地数据进行预测,数据输入本地设备的Trunk模型,对IoT设备的Branch模型输出的预测值计算正则信息熵来表示输出结果的置信度。如果置信度小于阈值T,则直接将预测值作为最终结果输出;否则将Trunk模型输出的中间结果(即提取的浅层特征)发送云端。
2)云端模型将接收到的中间结果输入云端的Branch模型,之后将预测结果返回给IoT设备。
由于步骤四是一个在线、持续的过程,当使用环境发生变化等情况需要重新更新模型时,可以从步骤五回到步骤四。通过步骤四的协同在线联合训练,得到改善后的模型可以重新用于步骤五的协同推理。
本发明提出了一种用于协同训练云端服务器和终端IoT设备深度学习模型的两阶段联合学习方法,分别对应步骤二和步骤四。与传统联合学习不同的是,传统联合学习总是从各个设备的本地数据集中学习得到公共的全局模型并部署到每个设备中,本发明的分布式AI联合学习框架根据使用场景和使用者喜好不同,为每个终端设备学习一个独立的、差异化的、更简单的神经网络模型。它更多关注的是IoT设备使用场景和使用者的多样性,以及每个终端设备拥有的私有数据的数据分布的多样性。这样的应用场景对于分布式智能IoT设备非常普遍。一个典型的场景是对智能手机中的键盘输入进行下一词预测。每个用户的使用习惯和喜好不同,当用户键入文字时虚拟键盘预测用户接下来可能要输入的内容也不同,终端智能的准确性很大程度上是取决于用户的,根据用户的使用习惯来不断完善预测模型,每个用户定制不同的预测模型能获得更好的预测效果。另一个场景是智能监控摄像头对周围物体进行目标检测。智能监控摄像头放置在各种地方,如城市交通路口、旅游风景区、室内等,而且同一个地方可能放置多个角度不同的监控摄像头。虽然这些智能摄像头监控多种多样的场景画面,但每个摄像头能够捕捉到的背景画面比较单一,能够捕捉到的物体对于放置的环境来说也比较单一,例如道路交通中的摄像头捕捉到的物体以汽车为主、办公楼中的摄像头主要捕捉来来往往的人群。根据使用环境差异训练不同的目标检测模型而不是通用的模型,只在该场景中使用可以达到更好的检测要求和效果。由于绝大部分IoT设备计算能力、内存和功耗有限,不适合部署全局通用的、大型复杂但性能强大的深度神经网络。在这样的场景中,可以不需要一个通用神经网络模型。因为模型的使用场景和用户的使用习惯相对稳定,不容易改变。虽然IoT设备分布在多样的场景中,或者由不同需求和喜好的用户使用,但是每个IoT设备满足空间局部性原理和时间局部性原理。空间局部性指同一个IoT设备能够接触到的数据分布大致相同,数据特征不会有太大差别。时间局部性指同一个IoT设备在一段时间里接触到数据是大致相同。即使使用环境和使用者习惯发生改变,IoT设备也能通过本发明的步骤四持续从新产生的数据中学习不断改善模型,逐渐适应新的需求。
本发明的两阶段联合学习方法从其他设备中学出全局的公共知识,同时又保持了本地使用场景和数据的特性,这种方式能利用比较小的神经网络获得和大的神经网络相当的性能,充分发挥了小型神经网络的潜力。在较少的情况下,IoT设备会遇到了和自己平时使用场景差别较大的数据,本地模型对处理这样的数据能力有限、得不到精确的结果,此时它能判断出这些结果置信度低的任务,把它们交给云端服务器进行后续的处理,最后由云端部署的复杂、能力更强大的通用模型将结果返回给IoT终端设备。这种方式弥补了IoT终端设备本地模型能力的不足,强化了终端智能。
以上各实施例只是对本发明做进一步说明,并非用以限制本发明专利,凡为本发明的等效实施,均应包含于本发明专利的权利要求范围之内。
Claims (5)
1.一种基于云端服务器和IoT设备协同的联合学习框架,其特征在于采用分布式AI系统架构的云端服务器和IoT设备协同的联合学习框架,其联合学习具体包括以下步骤:
步骤一:设计神经网络模型
根据云端服务器和IoT设备的计算和存储资源,设计包含云端和IoT设备共享结构及其权重的Trunk部分、IoT设备端的Branch部分和云端的Branch部分的BranchyNet神经网络模型;
步骤二:云端离线训练
在云端使用公共公开的数据集训练BranchyNet模型,得到该模型的初始权重;
步骤三:部署神经网络模型
将Trunk部分、IoT设备端的Branch部分部署到各个IoT设备中,将Trunk部分、云端的Branch部分部署到云服务器中;
步骤四:IoT设备和云端协同在线联合训练
各个IoT设备利用本地持续产生的私有数据进行联合训练,持续地优化并更新Trunk部分、IoT设备端Branch部分和云端Branch部分的权重,得到能适应不同IoT使用环境或使用偏好的个性化IoT设备端神经网络模型;
步骤五:IoT设备和云端协同推理
本地IoT设备独立进行模型推理得到预测结果,并将本地处理效果不好的推理任务交付云端得到更准确的预测结果;
所述IoT设备和云端协同在线联合训练用于将IoT设备模型差异化,得到个性化的定制模型,该过程把IoT设备端的Branch预测结果的正则信息熵作为IoT设备Branch模型优化目标的一部分,并和预测误差即交叉熵一起优化,在IoT设备每一轮在线联合训练开始,从云端获取的新的全局Trunk和全局Branch模型权重参数,所述全局Branch模型权重参数同每个IoT设备本地上一轮训练的Branch模型权重参数以一定权重比例合并,预测本地多样化的特有数据。
2.根据权利要求1所述基于云端服务器和IoT设备协同的联合学习框架,其特征在于所述联合学习框架将BranchyNet的不同部分部署到云服务器和各个IoT设备,通过云端服务器的计算,能得到准确的预测结果,所述不同部分为Trunk和多个Branch。
3.根据权利要求1所述基于云端服务器和IoT设备协同的联合学习框架,其特征在于所述IoT设备和云端协同推理时,IoT设备模型对本地数据进行预测,数据输入本地设备的Trunk模型,对IoT设备的Branch模型输出的预测值计算正则信息熵来表示输出结果的置信度,所述置信度小于阈值T,则直接将预测值作为最终结果输出;否则将Trunk模型输出的中间结果发送云端的Branch模型,无需重新要求IoT设备发送原始私有数据经过Trunk部分的处理,之后将预测结果返回给IoT设备。
4.根据权利要求1所述基于云端服务器和IoT设备协同的联合学习框架,其特征在于所述云端离线训练的前向传播过程中,训练样本数据输入Trunk模型,将Trunk模型输出的中间结果同时输入IoT设备端Branch模型和云端Branch模型,分别根据交叉熵损失函数计算两个IoT设备端和云端模型的loss值,并加权相加得到最终的loss值,其反向传播过程中,使用梯度下降优化算法计算最小化loss值和梯度,并更新Trunk模型、IoT设备端Branch模型和云端Branch模型。
5.根据权利要求1所述基于云端服务器和IoT设备协同的联合学习框架,其特征在于所述步骤四和步骤五是一个在线、持续的过程,当使用环境变化时可由步骤五的协同推理返回到步骤四,重新进行协同在线联合训练,然后将改善后的模型用于步骤五的协同推理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456636.2A CN111625361B (zh) | 2020-05-26 | 2020-05-26 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010456636.2A CN111625361B (zh) | 2020-05-26 | 2020-05-26 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625361A CN111625361A (zh) | 2020-09-04 |
CN111625361B true CN111625361B (zh) | 2022-11-01 |
Family
ID=72271136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010456636.2A Active CN111625361B (zh) | 2020-05-26 | 2020-05-26 | 一种基于云端服务器和IoT设备协同的联合学习框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625361B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114254751A (zh) * | 2020-09-21 | 2022-03-29 | 华为技术有限公司 | 协同推理方法及通信装置 |
CN112286756A (zh) * | 2020-09-29 | 2021-01-29 | 深圳致星科技有限公司 | 用于联邦学习异构处理系统的fpga功耗预测方法及系统 |
CN114358302A (zh) * | 2020-10-14 | 2022-04-15 | 华为云计算技术有限公司 | 一种人工智能ai训练的方法、系统及设备 |
CN112734703A (zh) * | 2020-12-28 | 2021-04-30 | 佛山市南海区广工大数控装备协同创新研究院 | 一种利用ai云端协同检测的pcb缺陷优化方法 |
CN114765616B (zh) * | 2021-01-14 | 2023-09-05 | 新奥新智科技有限公司 | 基于云储存关联的联合学习框架 |
CN112817940B (zh) * | 2021-02-07 | 2022-03-04 | 上海嗨普智能信息科技股份有限公司 | 基于梯度压缩的联邦学习数据处理系统 |
CN113222170B (zh) * | 2021-03-30 | 2024-04-23 | 新睿信智能物联研究院(南京)有限公司 | 一种用于物联网ai协同服务平台的智能算法和模型 |
CN115150847A (zh) * | 2021-03-31 | 2022-10-04 | 华为技术有限公司 | 模型处理的方法、通信装置和系统 |
CN115546821A (zh) * | 2021-06-30 | 2022-12-30 | 华为技术有限公司 | 一种配置边缘服务器中神经网络模型的系统及装置 |
CN113408744A (zh) * | 2021-07-08 | 2021-09-17 | 山东浪潮科学研究院有限公司 | 基于AIot和TinyML技术的多传感器多环境监测方法 |
CN114884832A (zh) * | 2022-03-31 | 2022-08-09 | 阿里巴巴达摩院(杭州)科技有限公司 | 端云协同系统、分布式处理集群及移动端设备 |
CN115022316B (zh) * | 2022-05-20 | 2023-08-11 | 阿里巴巴(中国)有限公司 | 端云协同数据处理系统、方法、设备及计算机存储介质 |
CN116306943B (zh) * | 2023-03-16 | 2023-10-17 | 中国科学院软件研究所 | 一种面向AIoT的多任务本地协同推理方法及系统 |
WO2024082550A1 (en) * | 2023-03-24 | 2024-04-25 | Lenovo (Beijing) Limited | Methods and apparatuses for ue-server co-inference in wireless system |
CN116612371B (zh) * | 2023-07-18 | 2023-11-03 | 四川弘和数智集团有限公司 | 基于边云解耦的神经网络推理方法、装置及设备和介质 |
CN117689041B (zh) * | 2024-01-26 | 2024-04-19 | 西安电子科技大学 | 云端一体化的嵌入式大语言模型训练方法及语言问答方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3401846A1 (en) * | 2017-05-09 | 2018-11-14 | Nokia Technologies Oy | Method and device for analyzing sensor data |
CN109543829A (zh) * | 2018-10-15 | 2019-03-29 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 在终端和云端上混合部署深度学习神经网络的方法和系统 |
CN110309914A (zh) * | 2019-07-03 | 2019-10-08 | 中山大学 | 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 |
CN110570660A (zh) * | 2019-11-06 | 2019-12-13 | 深圳市城市交通规划设计研究中心有限公司 | 一种实时在线交通仿真系统及方法 |
CN110705684A (zh) * | 2019-08-22 | 2020-01-17 | 中国科学院计算技术研究所 | 基于端云协同的环境自适应学习方法及系统 |
-
2020
- 2020-05-26 CN CN202010456636.2A patent/CN111625361B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3401846A1 (en) * | 2017-05-09 | 2018-11-14 | Nokia Technologies Oy | Method and device for analyzing sensor data |
CN109543829A (zh) * | 2018-10-15 | 2019-03-29 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 在终端和云端上混合部署深度学习神经网络的方法和系统 |
CN110309914A (zh) * | 2019-07-03 | 2019-10-08 | 中山大学 | 基于边缘服务器与移动端设备协同的深度学习模型推理加速方法 |
CN110705684A (zh) * | 2019-08-22 | 2020-01-17 | 中国科学院计算技术研究所 | 基于端云协同的环境自适应学习方法及系统 |
CN110570660A (zh) * | 2019-11-06 | 2019-12-13 | 深圳市城市交通规划设计研究中心有限公司 | 一种实时在线交通仿真系统及方法 |
Non-Patent Citations (3)
Title |
---|
Dimitrios Kelaidonis ; Angelos Rouskas ; Vera Stavroulaki.A federated Edge Cloud-IoT architecture.《IEEE》.2016, * |
基于卷积神经网络的低分辨率行人与人脸检测和识别研究;姜亚东;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20190415;全文 * |
面向边缘计算的分布式深度神经网络研究;邹颖;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20200315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111625361A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625361B (zh) | 一种基于云端服务器和IoT设备协同的联合学习框架 | |
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
WO2021043193A1 (zh) | 神经网络结构的搜索方法、图像处理方法和装置 | |
CN110515732B (zh) | 一种基于资源受限机器人深度学习推理的任务分配方法 | |
CN113852432B (zh) | 基于rcs-gru模型的频谱预测感知方法 | |
CN113784410B (zh) | 基于强化学习td3算法的异构无线网络垂直切换方法 | |
CN111367657A (zh) | 一种基于深度强化学习的计算资源协同合作方法 | |
CN114896899B (zh) | 一种基于信息交互的多智能体分散式决策方法及系统 | |
CN116012880A (zh) | 分布式边缘协同推理的行人重识别方法、系统及装置 | |
Muccini et al. | Leveraging machine learning techniques for architecting self-adaptive iot systems | |
CN115168720A (zh) | 内容交互预测方法以及相关设备 | |
CN114358250A (zh) | 数据处理方法、装置、计算机设备、介质及程序产品 | |
CN116663610B (zh) | 调度网络训练方法、任务调度方法及相关设备 | |
CN113946423A (zh) | 基于图注意力网络的多任务边缘计算调度优化方法 | |
CN111079900B (zh) | 一种基于自适应连接神经网络的图像处理方法及装置 | |
CN113766633A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN116009990B (zh) | 基于宽注意力机制的云边协同元强化学习计算卸载方法 | |
CN117202264A (zh) | Mec环境中面向5g网络切片的计算卸载方法 | |
CN110866866B (zh) | 图像仿色处理方法、装置、电子设备及存储介质 | |
Tan et al. | Toward a task offloading framework based on cyber digital twins in mobile edge computing | |
WO2023160309A1 (zh) | 一种联邦学习方法以及相关设备 | |
CN113313249B (zh) | 一种基于强化学习系统实现的动态集成训练方法 | |
CN116341685B (zh) | 基于联合注意力的分布式计算卸载模型训练方法和系统 | |
CN117528657B (zh) | 一种电力物联网任务卸载方法、系统、设备及介质 | |
CN113240189B (zh) | 基于信誉值的动态车辆任务与算力匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |