分布式图像识别的模型推理方法及系统

文档序号:26006277发布日期:2021-07-23 21:24阅读:179来源:国知局
分布式图像识别的模型推理方法及系统

本发明涉及分布式图像识别技术领域,具体涉及一种分布式图像识别的模型推理方法及系统。



背景技术:

边缘设备是向企业或服务提供商核心网络提供入口点的设备,例如路由器、路由交换机、集成接入设备、多路复用器以及各种城域网和广域网接入设备。边缘设备的种类极为丰富,在万物互联时代,边缘设备又因其成本低廉、高响应、低时延的特点而被广泛应用。

边缘设备由边缘服务器和边缘节点组成,在分布式图像推理中,云服务器的计算压力通常很大。在此情况下,将图像分类的模型部署在边缘设备上,可以利用边缘设备使得图像分类的推理在边缘设备上完成,从而缓解云服务器的计算压力、节约网络带宽。但是,分布式图像推理中边缘设备具有分布性,并且边缘设备的种类多种多样的同时也伴随着性能的参差不齐,边缘设备的异构性导致其稳定性一般。边缘设备在参与分布式图像识别的过程中,整体计算完成的时间会受到性能最弱的边缘设备的影响,发生掉队者问题;同时,存储有计算数据的边缘设备受到网络攻击后也容易发生数据隐私的泄露。



技术实现要素:

为此,本发明所要解决的技术问题在于克服现有技术的不足,提出一种可以将卷积神经网络图像分类模型分布式部署在边缘设备上,有效避免边缘设备在分布式图像识别过程中发生掉队者问题的同时提高图像数据的安全性的分布式图像识别的模型推理方法及系统。

为解决上述技术问题,本发明提供了一种分布式图像识别的模型推理方法,包括:

步骤1:构建卷积神经网络图像分类模型并按层切分,获取卷积神经网络图像分类模型的层信息、各个层的权重参数矩阵和计算量;

步骤2:根据层信息确定边缘设备的数量,并结合边缘设备的存储空间和计算能力、根据各个层的权重参数矩阵尺寸和计算量将卷积神经网络图像分类模型分布部署到边缘设备上;

步骤3:边缘设备使用线性编码的分布式卷积神经网络图像分类推理方案对图像进行卷积神经网络分类识别,通过图像推理计算得到图像识别结果。

进一步地,所述步骤2中将卷积神经网络图像分类模型分布部署到边缘设备上时使用的为静态部署方案a,具体过程为:

步骤a1:探测边缘节点的性能并对边缘节点的性能进行排名,根据卷积神经网络图像分类模型的各层计算量对各层的权重参数矩阵尺寸进行排名;

步骤a2:设置静态部署方案a的输入,包括权重参数矩阵的队列w、边缘节点的列表nodes、边缘节点最大存储容量的列表me、列表nodes的长度n和单个权重参数矩阵备份部署在不同的边缘节点的节点数m,w中每个元素保存有按层划分的卷积神经网络图像分类模型中的各层的权重参数矩阵以及这一个权重参数矩阵属于卷积神经网络模型中某一层的信息;

步骤a3:从队列w中获取队头元素,此时队头元素所属的层是当前卷积神经网络图像分类模型中未部署的各层中计算量最大的层,判断队列w中的所有元素是否在m个不同边缘节点上均有备份部署,若不是,执行步骤a4;若是,执行步骤a5;

步骤a4:从头开始遍历nodes列表,如果当前边缘节点有足够的存储空间用于部署此时队头元素中的权重参数矩阵,则将此时的队头元素部署在当前的边缘节点上,将层信息和部署此时的队头元素中的边缘节点的信息保存在部署记录recodes中;

步骤a5:将队头元素出队,执行步骤a6;

步骤a6:重复步骤a3直到队列w中的权重参数矩阵全部部署完毕,结束并输出部署记录recodes。

进一步地,所述步骤a1中探测边缘节点的性能并对边缘节点的性能进行排名,具体为:让边缘服务器发送相同的计算任务给所有的边缘节点,边缘节点完成任务后向边缘服务发送计算结果,边缘服务器根据返回的计算结果的速度对边缘节点的性能进行排名。

进一步地,所述步骤2中将卷积神经网络图像分类模型分布部署到边缘设备上时使用的为动态部署方案b,具体过程为:

步骤b1:设置动态部署方案b的输入,包括与卷积神经网络图像分类模型的各层的输入数据矩阵相同尺寸的矩阵xi和权重参数矩阵wi,xi组成的列表输入数据矩阵列表x和wi组成的权重参数矩阵列表w均根据xi和wi所属的层的计算量进行排序;

步骤b2:边缘服务器从权重参数矩阵列表w中获得当前计算量最大层的输入数据矩阵xi和尺寸最大的权重参数矩阵wi并发送给n个边缘节点;

步骤b3:边缘节点判断是否还有足够的存储容量用来部署wi,如果有则返回xi×wi的结果给边缘服务器;如果没有,不返回结果;

步骤b4:边缘服务器从返回结果的边缘节点中选择速度最快的m个边缘节点来部署权重参数矩阵wi;

步骤b5:重复步骤b2-步骤b4直到卷积神经网络图像分类模型的各层权重参数矩阵都完成部署。

进一步地,所述步骤3中线性编码的分布式卷积神经网络图像分类推理方案为非编码方案、2-重复方案或者mds编码方案,用于保障图像识别的稳定性以及在图像识别过程中保证图像数据的隐私安全。

本发明还提供了一种分布式图像识别的模型推理系统,包括边缘设备,所述边缘设备包括边缘服务器和至少一个边缘节点,所述边缘节点和边缘节点之间、所述边缘服务器和边缘节点之间通过线性编码的方式互相通信;

卷积神经网络图像分类模型按层划分并根据层信息和各个层的权重参数矩阵的尺寸、计算量以权重参数矩阵的形式分布部署到边缘设备上,部署有卷积神经网络图像分类模型同一层的边缘设备组成一个分布式推理计算模块;

没有部署权重参数矩阵的边缘节点发起图像识别需求并输入图像数据,图像数据在当前的分布式推理计算模块上进行图像推理计算;当前所处分布式推理计算模块的图像推理计算结束后将结果输入卷积神经网络图像分类模型的下一层的分布式推理计算模块上进行图像推理计算,直到图像数据经过卷积神经网络图像分类模型的所有层,得到识别结果。

进一步地,所述分布式推理计算模块包括一个主边缘设备和若干个从边缘设备,卷积神经网络图像分类模型每一层的图像推理计算过程为:

所述主边缘设备接收输入数据进行编码,并将编码后的输入数据分发给负责这一层推理计算的从边缘设备,从边缘设备将图像推理计算结果返回给主边缘设备,主边缘设备对返回的结果进行解码得到当前层的图像推理计算结果。

进一步地,还包括图像采集设备,所述图像采集设备通过没有部署权重参数矩阵的边缘节点与所述分布式推理计算模块中属于卷积神经网络图像分类模型第一层的主边缘设备连接;没有部署权重参数矩阵的边缘节点发起图像识别需求后,所述图像采集设备采集图像数据传送到没有部署权重参数矩阵的边缘节点作为输入的图像数据。

进一步地,所述卷积神经网络图像分类模型的至少最后一层部署在边缘服务器上,图像数据经过卷积神经网络图像分类模型的所有层后得到的识别结果由边缘服务器输出。

进一步地,所述卷积神经网络图像分类模型的权重参数矩阵在多个不同的边缘设备上均有备份的部署。

本发明的上述技术方案相比现有技术具有以下优点:

本发明通过将卷积神经网络图像分类模型按层的权重参数矩阵尺寸和计算量的大小部署到边缘设备上,合理部署保证了图像识别时图像推理计算过程的稳定性,有效避免了掉队者问题;图像推理计算过程中,通过使用线性编码的分布式卷积神经网络图像分类推理方案对图像进行卷积神经网络分类识别,保护了图像数据的隐私安全。

附图说明

为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。

图1是本发明方法的流程图。

图2是本发明方法中动态部署方案b的示意图。

图3是本发明方法中卷积神经网络图像分类推理过程中的中间图像数据存在隐身泄漏的示意图。

图4是本发明方法中非编码方案的示意图。

图5是本发明方法中2-复制方案的示意图。

图6是本发明系统的结构示意图。

图7是本发明系统中分布式推理计算模块的网络拓扑图。

图8是本发明实施例中卷积神经网络图像分类模型的结构示意图。

图9是本发明实施例中完成模型部署和10组图像分类推理、取值范围不同的时延集服从均匀分布的情况下使用随机部署方案c、静态部署方案a和动态部署方案b完成图像分类推理所需时间的实验结果。

图10是本发明实施例中完成模型部署和10组图像分类推理、数学期望相同方差不同的时延集服从正态分布的情况下,使用随机部署方案c、静态部署方案a和动态部署方案b完成图像分类推理所需时间的实验结果。

图11是本发明实施例中完成模型部署和10组图像分类推理、数学期望不同的时延集服从指数分布的情况下,使用随机部署方案c、静态部署方案a和动态部署方案b完成图像分类推理所需时间的实验结果。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

在本发明的描述中,需要理解的是,术语“包括”意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备,没有限定于已列出的步骤或单元而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

如图1流程图所示,本发明一种分布式图像识别的模型推理方法的实施例,包括:

步骤1:构建卷积神经网络(convolutionalneuralnetworks,cnn)图像分类模型并按层切分,获取卷积神经网络图像分类模型的层信息、各个层的权重参数矩阵和计算量;切分后的卷积神经网络图像分类模型中各层的权重参数矩阵大小和计算量都不相同,因此需要在性能不同的边缘设备中选择合适的边缘设备将这些权重参数矩阵部署在边缘设备上。卷积神经网络图像分类模型是以众多的权重参数矩阵组成,卷积神经网络图像分类模型分为多个层,每一层都是以权重参数矩阵的形式存在。图像推理本质上就是矩阵乘法计算,与权重参数矩阵相乘的就是图像矩阵。

步骤2:根据层信息确定边缘设备的数量,并结合边缘设备的存储空间和计算能力、根据各个层的权重参数矩阵尺寸和计算量将卷积神经网络图像分类模型分布部署到边缘设备上;卷积神经网络图像分类模型分布式部署就是将各层的权重参数矩阵部署在边缘设备上,又因为边缘设备的性能不同,所以需要根据各层的计算量来指导各层权重参数矩阵在性能不同的边缘设备上进行部署。性能高的边缘设备上部署尺寸和计算量大的权重参数矩阵,性能相对差的边缘设备上部署尺寸和计算量小的权重参数矩阵,合理部署可以保证图像识别时图像推理计算过程的稳定性,有效避免了掉队者问题。将卷积神经网络图像分类模型分布部署到边缘设备上时使用的为静态部署方案a或者动态部署方案b。

静态部署方案a可以解决无法保证找到的边缘节点是当前性能最优的这一问题。静态部署方案a的具体过程为:

步骤a1:探测边缘节点的性能并对边缘节点的性能进行排名,具体为让边缘服务器发送相同的计算任务给所有的边缘节点,边缘节点完成任务后向边缘服务发送计算结果,边缘服务器根据返回的计算结果的速度对边缘节点的性能进行排名;根据卷积神经网络图像分类模型的各层计算量对各层的权重参数矩阵尺寸进行排名;

步骤a2:设置静态部署方案a的输入,包括权重参数矩阵的队列w、边缘节点的列表nodes、边缘节点最大存储容量的列表me、列表nodes的长度n和单个权重参数矩阵备份部署在不同的边缘节点的节点数m,w中每个元素保存有按层划分的卷积神经网络图像分类模型中的各层的权重参数矩阵以及这一个权重参数矩阵属于卷积神经网络模型中某一层的信息;队列w、和列表nodes是有序,所以静态部署算法解决的是将卷积神经网络图像分类模型中计算量大的层的权重参数矩阵部署在性能强的边缘节点上。

步骤a3:从队列w中获取队头元素,此时队头元素所属的层是当前卷积神经网络图像分类模型中未部署的各层中计算量最大的层,判断队列w中的所有元素是否在m个不同边缘节点上均有备份部署,若不是,执行步骤a4;若是,执行步骤a5;

步骤a4:从头开始遍历nodes列表,如果当前边缘节点有足够的存储空间用于部署此时队头元素中的权重参数矩阵,则将此时的队头元素部署在当前的边缘节点上,将层信息和部署此时的队头元素中的边缘节点的信息保存在部署记录recodes中;

步骤a5:将队头元素出队,执行步骤a6;

步骤a6:重复步骤a3直到队列w中的权重参数矩阵全部部署完毕,结束并输出部署记录recodes。

动态部署方案b同样可以将各层的权重参数矩阵合理地部署在边缘节点上,但是与静态部署方案a不同的是,动态部署方案b中权重参数矩阵的部署是在边缘节点性能探测过程中同时动态进行的。如图2所示,动态部署方案b的具体过程为:

步骤b1:设置动态部署方案b的输入,包括与卷积神经网络图像分类模型的各层的输入数据矩阵相同尺寸的矩阵xi和权重参数矩阵wi,xi组成的列表输入数据矩阵列表x和wi组成的权重参数矩阵列表w均根据xi和wi所属的层的计算量进行降序排序;

步骤b2:边缘服务器从权重参数矩阵列表w中获得当前计算量最大层的输入数据矩阵xi和尺寸最大的权重参数矩阵wi并发送给n个边缘节点;

步骤b3:边缘节点判断是否还有足够的存储容量用来部署wi,如果有则返回xi×wi的结果给边缘服务器;如果没有,不返回结果;

步骤b4:边缘服务器从返回结果的边缘节点中选择速度最快的m个边缘节点来部署权重参数矩阵wi;

步骤b5:重复步骤b2-步骤b4直到卷积神经网络图像分类模型的各层权重参数矩阵都完成部署。

步骤3:边缘设备使用线性编码的分布式卷积神经网络图像分类推理方案对图像进行卷积神经网络分类识别,通过图像推理计算得到图像识别结果。线性编码方案可以保护数据的隐私安全。

线性编码的分布式卷积神经网络图像分类推理方案为非编码方案、2-重复方案或者mds编码方案,用于保障图像识别的稳定性以及在图像识别过程中保证图像数据的隐私安全。如图3所示在卷积神经网络分类识别过程中经过计算的中间图像数据依然可以从其中看出图像数据的原始内容,存在图像数据隐私泄漏的问题,因此采用线性编码的非编码方案、2-重复方案或者mds编码方案来保护数据安全。

在卷积神经网络图像分类模型分布部署的过程中,对各层模型在多个边缘节点上做了备份部署,因此在非编码方案中可以有多个图像同时进行分布式图像分类推理。根据这一特性,如图4所示,在非编码方案中采用切割和重组的方式来保护图像数据的隐私安全。从图4左半部分可以看到有三个同时进行分布式图像推理的图像数据矩阵,为了保护它们原始图像数据的隐私性,在将它们发送给部署着卷积神经网络图像分类模型中对应层的权重参数矩阵的几个边缘节点之前,将它们切分后又打乱重组。当新的图像数据矩阵在边缘节点上右乘上权重参数矩阵,得到的结果返回后依然可以按照原先的切割记录进行最终结果的生成。在数据传输过程中加密,同时在参与边缘节点的计算过程中切分打乱后的图像数据矩阵依然可以保证数据安全性。非编码方案通过将输入多个图像数据矩阵水平切分后重组再分发的方式,保护了图像数据矩阵在传输过程中和在其它边缘节点计算的过程中图像数据隐私的安全。虽然非编码方案具有实现简单的优点,但是对于在面对分布式推理计算结果延迟返回和丢失却没有相应的处理方法。

2-复制方案是对非编码方案的改进,是为了应对分布式图像分类推理过程中偶发的计算结果延迟返回和计算结果丢失问题。如图5所示,2-复制方案在图像数据矩阵被切分重组之后对新的图像数据矩阵进行了复制。最后将经过复制后扩充的新图像数据矩阵分发给相应的边缘节点计算。当获得新图像数矩阵的边缘节点进行计算和返回计算结果时,其中某个边缘节点出现计算结果延迟返回或者计算数据丢失的问题。因为在准备计算任务时已经对新图像数据矩阵进行了备份扩充,所以即便在分布式卷积神经网络图像分类推理过程中出现了某个计算任务未及时完成的情况对这一轮的图像推理过程也不会造成影响。有了计算任务备份,同一个计算任务,复制成两个,同时投入分布式计算中,出现未及时完成的情况时,使用复制的图像数据矩阵进行推理。因此2-复制方案可以对上述在边缘节点出现的问题有很好的应对。2-复制方案改进了非编码方案无法处理分布式图像推理中计算结果延迟返回和丢失的问题,但是2-复制方案还是有缺点。例如有n个图像数据矩阵,使用2-复制方案生成了2n个新图像数据矩阵,在进行计算结果组合时分发图像数据矩阵的边缘节点最好情况只要收到n个计算结果就可以得到最终结果,而最坏情况是要收到2n-1个计算结果才可以得到最终结果(例如有标号为1,2,3,4,5的n=5个计算任务。通过2-复制方案,任务就复制成了1,1,2,2,3,3,4,4,5,5,分布式计算中,最好情况下,从设备向主设备返回1,2,3,4,5,5个结果,即最好情况下返回n个结果就能结束计算。最坏情况下是主设备收到了1,1,2,2,3,3,4,4,5的9个结果,即最坏情况下返回2n-1才可以得到最终的结果。)。因此2-复制方案在分布式图像分类推理中对返回计算结果数量的要求存在变动也导致了分布式图像推理所需时间的不稳定。

mds编码方案又称为最大距离可分码,是一种冗余编码。它可以对计算数据进行编码保证其隐私安全,也可以是计算任务冗余从而达到对抗分布式推理计算中部分计算数据丢失或者有工作节点掉队的问题。编码方案由编码矩阵、原始数据矩阵和解码矩阵组成,而分布式计算中有主、从两种计算设备。mds编码为线性编码,在编码阶段主设备使用编码矩阵左乘上原始数据矩阵进编码,编码后的数据发送至从设备进行计算。线性编码保护的是数据传输过程中和在从设备上计算过程中数据的安全性。因为编码矩阵和解码矩阵都保存在主设备上,即便攻击者收集到原始矩阵编码后的矩阵块,也无法对编码后的原始矩阵块进行解码,从而保护了数据的安全。mds编码方案分为编码和解码两部分,其中在编码过程中所使用的编码矩阵em×n(m>n)是范德蒙矩阵,因为m行n列范德蒙矩阵中的任意n行向量都组成可逆矩阵。mds编码方案的对图像数据矩阵的编码为其中ai代表一个输入图像数据矩阵,在本文中分布式cnn图像分类推理每次都是由n个图像同时进行,经过mds编码后得到了m个冗余编码后图像数据矩阵a′i。m个编码后的图像数据矩阵被发送到对应的边缘节点进行计算后,只要能返回n个计算结果就可以完成解码得到这一轮计算的结果。解码的过程为首先根据n个返回的计算结果在编码矩阵em×n中找到参与对n个原始图像数据矩阵编码的n个编码向量,将这n个编码向量按序组成一个矩阵en×n,其逆矩阵就是n个计算结果的解码矩阵。当以n个返回计算结果为元素组成的矩阵左乘上解码矩阵则这一轮的最终计算结果就被解码出来了。mds编码方案使用了范德蒙矩阵作为编码矩阵,所带来的优势是在分布式推理计算中对于m个计算任务只要有n个计算结果返回就可以成功解码,这也是2-复制方案所不具有的特点。但是范德蒙矩阵作为编码矩阵也会有不足之处,当范德蒙矩阵的行数越多,其中的数据元素的值就会越大,从而导致编解码的计算量也会越来越大。因此在进行分布式cnn图像分类推理过程中,会减少同时推理的图像数量从而降低mds编码方案中编解码的计算量,解决掉队者问题的同时保证了数据隐私的安全。使用冗余编码的分布式图像分类推理方案,具有良好应对掉队者问题和加快图像推理速度的特点以及使得图像数据的隐私保护达到了弱安全标准。

如图6所示,本发明一种分布式图像识别的模型推理系统的实施例,包括边缘设备,所述边缘设备包括边缘服务器和至少一个边缘节点,所述边缘节点和边缘节点之间、所述边缘服务器和边缘节点之间通过线性编码的方式互相通信;用于在图像识别的图像分类推理过程中保护图像数据的安全。

卷积神经网络图像分类模型按层划分并根据层信息和各个层的权重参数矩阵的尺寸、计算量以权重参数矩阵的形式分布部署到边缘设备上,所述卷积神经网络图像分类模型的权重参数矩阵在多个不同的边缘设备上均有备份的部署,部署有卷积神经网络图像分类模型同一层的边缘设备组成一个分布式推理计算模块。如图7所示,所述分布式推理计算模块包括一个主边缘设备和若干个从边缘设备,本实施例中使用python的multiprocessing库设计并开发运行在主、从边缘节点上的分布式推理计算模块。卷积神经网络图像分类模型每一层的图像推理计算过程为:当前层的分布式推理计算模块中输入图像数据的主边缘设备分发编码后的计算数据给负责这一层推理计算的从边缘设备,从边缘设备将图像推理计算结果返回给主边缘设备,主边缘设备对返回的结果进行解码得到当前层的图像推理计算结果。

没有部署权重参数矩阵的边缘节点发起图像识别需求并输入图像数据,边缘节点可以是智能手机、商品自动贩卖机、智慧垃圾桶等。选择边缘节点作为图像数据的输入之处,是因为边缘节点相对于互联网中其它类型的设备来说更接近用户,使得数据传输的时间短,同时边缘节点的设备成本也相对于服务器更低,如此可以为用户提供速度较快、成本较低的图像分类计算服务。图像数据在当前的分布式推理计算模块上进行图像推理计算;当前所处分布式推理计算模块的图像推理计算结束后将结果输入卷积神经网络图像分类模型的下一层的分布式推理计算模块上进行图像推理计算,直到图像数据经过卷积神经网络图像分类模型的所有层得到识别结果。

系统还包括图像采集设备,本实施例中图像采集设备为摄像头,采集照片或视频图像数据。所述图像采集设备通过没有部署权重参数矩阵的边缘节点与所述分布式推理计算模块中属于卷积神经网络图像分类模型第一层的主边缘设备连接;没有部署权重参数矩阵的边缘节点发起图像识别需求后所述图像采集设备采集图像数据传送到没有部署权重参数矩阵的边缘节点作为输入的图像数据;发起图像识别需求的边缘节点没有部署权重参数矩阵,与摄像头相连,主要的作用是发起和维护各层的推理计算。所述卷积神经网络图像分类模型的至少最后一层部署在边缘服务器上,图像数据经过卷积神经网络图像分类模型的所有层得到的识别结果由边缘服务器输出。分布式图像识别的模型推理系统的至少最后一层的推理工作在边缘服务器上进行,在经过卷积神经网络图像分类模型的所有层的推理之后得到输入的图像数据的识别结果为标签值,例如输入的图像数据为出租车图片,经过分布式图像识别的模型推理系统后,得到的标签值为“出租车”。

为了进一步说明本发明中权重参数矩阵部署的有益效果,本实施例中构造如图8所示的卷积神经网络图像分类模型进行仿真实验。卷积神经网络图像分类模型包括15层,具体为:第一层为卷积层,卷积核尺寸为3×3,输出特征图的数量为64;第二层为池化层;第三层为卷积层,卷积核尺寸为3×3,输出特征图的数量为128;第四层为卷积层,卷积核尺寸为3×3,输出特征图的数量为128;第五层为池化层;第六层为卷积层,卷积核尺寸为3×3,输出特征图的数量为256;第七层为卷积层,卷积核尺寸为3×3,输出特征图的数量为256;第八层为卷积层,卷积核尺寸为3×3,输出特征图的数量为256;第九层为池化层;第十层为卷积层,卷积核尺寸为3×3,输出特征图的数量为512;第十一层为卷积层,卷积核尺寸为3×3,输出特征图的数量为512;第十二层为卷积层,卷积核尺寸为3×3,输出特征图的数量为512;第十三层为全连接层,输出特征图的数量为1024;第十四层为全连接层,输出特征图的数量为1024;第十五层为全连接层,输出特征图的数量为1024。对卷积神经网络图像分类模型进行训练将卷积神经网络图像分类模型向量化,得到一张28×28的mnist数据集(手写数字图像的数据集)中的图像的推理所需要进行的矩阵乘法,得到如表1所示的卷积神经网络图像分类模型向量化后各计算层的输入数据矩阵尺寸和所需要保存的权重参数矩阵的尺寸。从表1可以看出卷积神经网络图像分类模型中的计算层占绝大多数的是卷积层并且各层的输入数据矩阵的尺寸以及权重参数矩阵的尺寸都不尽相同。在最后一层计算层全连接层中,输入数据矩阵和权重参数矩阵的乘法结果是一个大小为1×10的矩阵,这是因为本实施例中设置的数据集中图像的识别结果(即标签值)有10类。

表1向量化后各计算层的输入数据矩阵尺寸和权重参数矩阵尺寸

边缘节点上卷积层的权重参数矩阵如何分布式部署会影响整个分布式图像识别的模型推理的性能表现,仿真实验中首先将全连接层的权重参数矩阵部署在边缘服务器上,将卷积层的权重参数矩阵将被分布式部署边缘节点上,每个卷积层中的权重参数矩阵都会在多个边缘节点上备份部署。

在将卷积神经网络图像分类模型分布部署到边缘设备上的过程中,使用20个分布式进程来模拟20个边缘节点并设置了每个权重参数矩阵需要在3个边缘节点上备份部署。根据向量化后cnn中卷积层的权重参数矩阵尺寸的和,设置每个边缘节点已部署的权重参数矩阵的元素数量之和不超过4000000。

在对图像进行分类识别的推理计算过程中,设置了3张图像同时进行推理计算。并使用随机部署方案c与本发明中使用的静态部署方案a、动态部署方案b进行对比实验。

随机部署方案c寻找用于部署权重参数矩阵的边缘设备的速度快,但是无法保证寻找到的边缘设备是当前性能最优的。随机部署方案c的具体过程为:

步骤c1:设置随机部署方案c的输入,包括权重参数矩阵的队列w、边缘节点的列表nodes、边缘节点最大存储容量的列表me、列表nodes的长度n和单个权重参数矩阵备份部署在不同的边缘节点的节点数m,w中每个元素保存有按层划分的卷积神经网络图像分类模型中的各层的权重参数矩阵以及这一个权重参数矩阵属于卷积神经网络模型中某一层的信息;在m个边缘节点上对每个权重参数矩阵设置备份部署,用于提高整个分布式图像推理方案的稳定性;

步骤c2:当队列w不为空时,从队列w获取当前的队头元素,队头元素中包含了cnn图像分类模型中某一层的权重参数矩阵和该层的信息。判断判断此时队头元素中的权重参数矩阵是否在m个边缘节点上完成备份部署,若没有完成,执行步骤c3;若已完成,执行步骤c5;

步骤c3:从n个边缘节点中任意抽取一个,如果当前的边缘节点没有部署过此时队头元素中的权重参数矩阵且当前的边缘节点上还有空间可以部署,则将此时队头元素中的权重参数矩阵部署在当前的边缘节点上;

步骤c4:从此时的队头元素中获取权重参数矩阵所属的卷积神经网络图像分类模型中的层信息,将层信息和部署此时的队头元素中的边缘节点的信息保存在部署记录recodes中,执行步骤c6;

步骤c5:将队头元素出队,执行步骤c6;

步骤c6:重复步骤c2直到队列w中的元素全部出队,结束并输出部署记录recodes。

在20个边缘节点上设置不同分布和不同取值时延集t,以测试随机部署方案c、静态部署方案a和动态部署方案b三种分布式部署方案的性能表现。当时延集t服从均匀分布时,从1到5之间到1到30之间的多个取值范围中获取t。当时延集t服从正态分布时,设置t的数学期望为10不变而方差的取值在11和16之间;当时延集t服从指数分布时,使得t的数学期望的取值在11和16之间。

在用随机部署方案c、静态部署方案a和动态部署方案b完成模型分布式部署之后,在部署好的模型的边缘节点上分别使用非编码图像分类推理方案进行10组图像分类推理并记录下完成的时间。完成模型部署和10组图像分类推理时、取值范围不同的时延集服从均匀分布情况下,使用随机部署方案c、静态部署方案a和动态部署方案b完成图像分类推理所需时间的实验结果如图9所示;完成模型部署和10组图像分类推理、数学期望相同方差不同的时延集服从正态分布的情况下,使用随机部署方案c、静态部署方案a和动态部署方案b完成图像分类推理所需时间的实验结果如图10所示;完成模型部署和10组图像分类推理、数学期望不同的时延集服从指数分布的情况下,使用随机部署方案c、静态部署方案a和动态部署方案b完成图像分类推理所需时间的实验结果如图11所示。

从图9可以看出,随着服从均匀分布的时延集(横坐标)的取值范围的增加,模型部署和完成10组图像推理的时间之和(纵坐标)总体呈上升趋势;在时延集t的各种取值范围下,本发明中提出的静态部署方案a和动态部署方案b所花费的时间总是小于随机部署方案c完成实验任务所花费的时间。从图10可以看出,当服从正态分布的时延集的数学期望不变而方差有多个取值时,模型分布式静态部署方案a和动态部署方案b的表现同样优于随机部署方案c;静态部署方案a和动态部署方案b在花费时间方面表现相近,静态部署方案a略优于动态部署方案b。从图11可以看出,此时20个边缘节点上设置的时延集服从指数分布;当服从指数分布的时延集t的数学期望从11增加至16,静态部署方案a和动态部署方案b在完成部署和推理完10组图像的所需时间总和方面,一直保持着稳定而优秀的表现;两种方案的表现依然接近,只是在时延集服从指数分布时动态部署方案b略优于静态部署方案a,但都优于随机部署方案c。综合图9、图10和图11,静态部署方案a和动态部署方案b在卷积神经网络图像分类模型分布式部署时都有着良好的表现,进一步说明了静态和动态部署方案b可以将卷积神经网络图像分类模型更合理地部署在边缘节点上,保证了图像识别时图像推理计算过程的稳定性,有效避免了掉队者问题。

本发明的上述技术方案相比现有技术具有以下优点:本发明通过将卷积神经网络图像分类模型按层的权重参数矩阵尺寸和计算量的大小部署到边缘设备上,合理部署保证了图像识别时图像推理计算过程的稳定性,有效避免了掉队者问题;图像推理计算过程中,通过使用线性编码的分布式卷积神经网络图像分类推理方案对图像进行卷积神经网络分类识别,保护了图像数据的隐私安全。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1