数据传输方法及装置、存储介质及电子设备与流程

文档序号:30135582发布日期:2022-05-21 00:55阅读:74来源:国知局
数据传输方法及装置、存储介质及电子设备与流程

1.本发明涉及物联网技术领域,特别是涉及一种数据传输方法及装置、存储介质及电子设备。


背景技术:

2.物联网是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等装置与技术,实时对任何需要监控、连接、互动的物体或过程进行采集,采集所需的各类信息,实现对物品和过程的智能化感知、识别和管理的网络。
3.随着计算机技术的发展,在物联网的应用过程中,已广泛应用人工智能技术。物联网通常部署有服务器和多个感知节点,感知节点指的是可对现实物质世界进行感知识别的设备,如传感器或是智能监控仪器等等。由感知节点负责原始数据的采集,如采集图像、视频和音频等数据,再将采集的原始数据传输到服务器,由服务器基于人工智能技术对原始数据进行处理。
4.而随着物联网在各个领域的广泛应用,物联网的数据隐私安全性也愈发重要。在实际的应用场景中,数据传输过程是发生数据泄露的常见过程之一,而在物联网的现有处理过程中,感知节点需向服务器传输原始数据,原始数据中通常包含大量的隐私信息,在此过程中容易造成大量数据隐私泄露,使得数据隐私安全性较低。


技术实现要素:

5.有鉴于此,本发明实施例提供了一种数据传输方法,以解决感知节点向服务器传输数据过程中,容易造成大量数据隐私泄露,使得数据隐私安全性较低的问题。
6.本发明实施例还提供了一种数据传输装置,用以保证上述方法实际中的实现及应用。
7.为实现上述目的,本发明实施例提供如下技术方案:
8.一种数据传输方法,包括:
9.当感知节点接收到触发指令时,确定所述感知节点对应的各个设备性能参数;
10.确定所述感知节点中预设的神经网络模型对应的多个深度层级;
11.确定模型参数集合,所述模型参数集合包括所述神经网络模型中每个计算层对应的各个结构参数;
12.依据所述各个设备性能参数、所述模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定所述感知节点对应的目标深度层级;
13.将所述目标深度层级作为所述感知节点的模型运行层级,以使所述感知节点在采集到原始数据时,通过所述神经网络模型中与所述目标深度层级相对应的各个计算层,对所述原始数据进行特征提取,得到所述原始数据对应的预处理数据,将所述预处理数据传输至所述感知节点对应的服务器。
14.上述的方法,可选的,所述确定所述感知节点对应的各个设备性能参数,包括:
15.获取第一设备性能参数,所述第一设备性能参数为所述感知节点对应的设备每秒浮点运算最大次数;
16.获取第二设备性能参数,所述第二设备性能参数为所述感知节点对应的设备内存带宽上限;
17.将所述第一设备性能参数和所述第二设备性能参数作为所述感知节点对应的各个设备性能参数。
18.上述的方法,可选的,所述依据所述各个设备性能参数、所述模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定所述感知节点对应的目标深度层级,包括:
19.对所述感知节点的性能进行循环评估,在当前的评估周期中,在所述多个深度层级中,确定所述当前的评估周期对应的评估深度层级;
20.基于所述模型参数集合,确定所述评估深度层级对应的各个模型参数;
21.将所述各个设备性能参数和所述评估深度层级对应的各个模型参数,输入所述性能评估模型,经所述性能评估模型处理后,得到所述评估深度层级对应的性能参数;
22.判断所述评估深度层级对应的性能参数是否符合预设的运行条件;
23.若所述评估深度层级对应的性能参数符合所述预设的运行条件,则判断所述评估深度层级是否为所述多个深度层级中的最后一个深度层级,若所述评估深度层级并非所述多个深度层级中的最后一个深度层级,则进入下一个评估周期;
24.若所述评估深度层级不符合所述预设的运行条件,则结束循环评估过程,并将所述当前的评估周期的上一个评估周期所对应的评估深度层级,作为所述感知节点对应的目标深度层级;
25.其中,所述多个深度层级中的首个深度层级为首个评估周期对应的评估深度层级,每个评估周期对应的评估深度层级的下一个深度层级,为该评估周期的下一个评估周期对应的评估深度层级。
26.上述的方法,可选的,所述基于所述模型参数集合,确定所述评估深度层级对应的各个模型参数,包括:
27.在所述神经网络模型的各个计算层中,确定所述评估深度层级对应的各个目标计算层,所述各个目标计算层为所述神经网络模型中,对应层数级别小于或等于所述评估深度层级的计算层;
28.在所述模型参数集合中,获取每个所述目标计算层对应的各个结构参数;
29.基于各个所述目标计算层对应的各个结构参数,确定所述评估深度层级对应的各个模型参数。
30.上述的方法,可选的,所述基于各个所述目标计算层对应的各个结构参数,确定所述评估深度层级对应的各个模型参数,包括:
31.对于每个所述目标计算层,基于该目标计算层对应的各个结构参数,确定该目标计算层对应的计算量和内存访问量;
32.将各个所述目标计算层对应的计算量作和运算,将运算结果作为模型计算量;
33.将各个所述目标计算层对应的内存访问量作和运算,将运算结果作为模型内存访问量;
34.将所述模型计算量和所述模型内存访问量作为所述评估深度层级对应的各个模型参数。
35.上述的方法,可选的,所述判断所述评估深度层级对应的性能参数是否符合预设的运行条件,包括:
36.基于所述评估深度层级对应的各个模型参数和所述评估深度层级对应的性能参数,确定所述评估深度层级对应的运行时长;
37.获取所述感知节点对应的设备闲置时长;
38.将所述运行时长与所述设备闲置时长进行比较,若所述运行时长小于或等于所述设备闲置时长,则确定所述评估深度层级对应的性能参数符合所述预设的运行条件,若所述运行时长大于所述设备闲置时长,则确定所述评估深度层级对应的性能参数不符合所述预设的运行条件。
39.上述的方法,可选的,还包括:
40.若所述评估深度层级为所述多个深度层级中的最后一个深度层级,则结束循环评估过程,将所述评估深度层级作为所述感知节点对应的目标深度层级。
41.一种数据传输装置,包括:
42.第一确定单元,用于当感知节点接收到触发指令时,确定所述感知节点对应的各个设备性能参数;
43.第二确定单元,用于确定所述感知节点中预设的神经网络模型对应的多个深度层级;
44.第三确定单元,用于确定模型参数集合,所述模型参数集合包括所述神经网络模型中每个计算层对应的各个结构参数;
45.第四确定单元,用于依据所述各个设备性能参数、所述模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定所述感知节点对应的目标深度层级;
46.配置单元,用于将所述目标深度层级作为所述感知节点的模型运行层级,以使所述感知节点在采集到原始数据时,通过所述神经网络模型中与所述目标深度层级相对应的各个计算层,对所述原始数据进行特征提取,得到所述原始数据对应的预处理数据,将所述预处理数据传输至所述感知节点对应的服务器。
47.一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的数据传输方法。
48.一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述的数据传输方法。
49.基于上述本发明实施例提供的一种数据传输方法,包括:当感知节点接收到触发指令时,确定感知节点对应的各个设备性能参数;确定感知节点中预设的神经网络模型对应的多个深度层级;确定模型参数集合,所述模型参数集合包括所述神经网络模型中每个计算层对应的各个结构参数;依据各个设备性能参数、模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定感知节点对应的目标深度层级;将目标深度层级作为感知节点的模型运行层级,以使感知节点在采集到原始数据时,通过所述神经网络模型中与目标深度层级相对应的各个计算层,对原始数据进行特征提取,得到所述原始数据对应的
预处理数据,将所述预处理数据传输至感知节点对应的服务器。应用本发明实施例提供的方法,可在感知节点中预设的神经网络模型所对应的多个深度层级中,确定出与感知节点的设备性能相匹配的目标深度层级,使感知节点可通过神经网络模型中与目标深度层级相对应的计算层对采集到的原始数据进行特征提取,从而对原始数据进行数据脱敏,在保留数据特征的同时,滤除了原始数据中的隐私内容。在感知节点与服务器的数据传输过程中,传输的是经提取的数据,其中不包含大量的数据隐私内容,可避免数据隐私在数据传输过程中泄露,提高了数据隐私安全性。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
51.图1为本发明实施例提供的一种数据传输方法的方法流程图;
52.图2为本发明实施例提供的一种原始数据的处理效果图;
53.图3为本发明实施例提供的一种数据传输方法的又一方法流程图;
54.图4为本发明实施例提供的一种设备计算性能与计算密度之间的关系示意图;
55.图5为本发明实施例提供的一种计算层的结构示意图;
56.图6为本发明实施例提供的一种数据传输装置的结构示意图;
57.图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
58.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
59.在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
60.由背景技术可知,物联网结合人工智能技术的应用范围十分广泛,例如在医疗健康领域的应用,如:智能诊疗、医疗机器人、健康风险预警等等。在移动式设备领域的应用,如:人脸检测与识别技术、指纹自动识别、虹膜识别技术等等。人工智能技术的应用不仅释放了许多人力与时间资源,同时提高了工作的便捷与精准度。目前依托服务器基于人工智能技术进行相应处理,而由感知节点采集原始数据,并传输至服务器。在实际的应用场景中,感知节点采集的原始数据常常会包含大量用户隐私内容。若在数据传输过程中遭到恶意攻击,则会造成原始数据泄露,而原始数据中包含大量的数据隐私,故会泄露大量的隐私内容,给用户带来极大的信息安全隐患,数据传输过程中的数据隐私安全性较低。
61.因此,本发明实施例提供了一种数据传输方法,通过在感知节点中配置神经网络模型,并确定与感知节点的设备性能相匹配的深度层级,以使感知节点通过神经网络模型中与该深度层级相匹配的计算层,对采集到的原始数据进行特征提取,向服务器传输处理后的数据,避免传输原始数据,提高数据隐私安全性。
62.本发明实施例提供了一种数据传输方法,所述方法可应用于物联网的感知节点,其执行主体可以为感知节点的处理器,所述方法的方法流程图如图1所示,包括:
63.s101:当感知节点接收到触发指令时,确定所述感知节点对应的各个设备性能参数;
64.本发明实施例提供的方法中,感知节点指的是用于采集网络所需的感知数据的设备,可以为体型微小的芯片传感器,也可以是大型的智能监控仪器。感知节点的功能及形式可根据实际的应用场景确定,不影响本发明实施例提供的方法实现功能。
65.当用户需要对物联网中的某一感知节点进行配置时,可向其发送触发指令。当感知节点接收到触发指令时,感知节点可从预先设置的存储区域获取预先存储的各个设备性能参数,所述各个设备性能参数为表征该感知节点设备的处理性能的参数。
66.s102:确定所述感知节点中预设的神经网络模型对应的多个深度层级;
67.本发明实施例提供的方法中,在感知节点中预先设置了神经网络模型,该神经网络模型的处理能力可根据实际的应用处理需求确定,其能够实现数据的特征提取。本发明实施例中的神经网络模型可以为卷积神经网络。卷积神经网络(convolutional neural networks,cnn)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。
68.本发明实施例提供的方法中,可预先设置感知节点中的神经网络模型所对应的各个深度层级,各个深度层级指的是神经网络模型的不同层数级别所对应的结构深度,例如神经网络模型具有五层模型结构,也就是五层计算层。该神经网络模型则对应五个深度层级,分别是第一层级、第二层级、第三层级、第四层级和第五层级,第一层级为对应神经网络模型第一层模型结构的模型深度,第二层级为对应神经网络模型第二层模型结构的模型深度,以此类推。而神经网络模型某一层模型结构的模型深度,指的是包括该层模型结构以及该层模型结构之前的各层模型结构所形成的模型深度。例如第二层级指的是神经网络模型第一层模型结构加上第二层模型结构所组成的模型深度,第三层级指的是神经网络模型中第一层、第二层和第三层模型结构所组成的模型深度,以此类推。
69.s103:确定模型参数集合,所述模型参数集合包括所述神经网络模型中每个计算层对应的各个结构参数;
70.本发明实施例提供的方法中,感知节点中预先配置有神经网络模型中每个计算层的结构参数,如输入的高度、输入的宽度等等。可从预设的存储区域获取预设的各个结构参数。神经网络模型中的计算层指的是单个层级结构,例如神经网络模型为卷积神经网络,该卷积神经网络包括卷积层,线性整流层,池化层和损失函数层,那么卷积层则为一个计算层,线性整流层为一个计算层,以此类推,该神经网络模型有四个计算层。
71.s104:依据所述各个设备性能参数、所述模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定所述感知节点对应的目标深度层级;
72.本发明实施例提供的方法中,可以根据感知节点的各个设备性能参数、神经网络
模型中各个计算层的结构参数和预设的性能评估模型,确定感知节点对应的目标深度层级,也就是以感知节点的处理性能所能够承载的神经网络模型的运算深度,例如目标深度层级为第二层级,则表示感知节点仅能负担神经网络模型前两层计算层的计算量,即第一层计算层加上第二层计算层的计算量。预设的性能评估模型可以采用现有的用于平台性能评估的模型,也可以根据实际的评估需求构建性能评估模型。
73.s105:将所述目标深度层级作为所述感知节点的模型运行层级,以使所述感知节点在采集到原始数据时,通过所述神经网络模型中与所述目标深度层级相对应的各个计算层,对所述原始数据进行特征提取,得到所述原始数据对应的预处理数据,将所述预处理数据传输至所述感知节点对应的服务器。
74.本发明实施例提供的方法中,可在感知节点的模型运行配置中,将目标深度层级作为该感知节点的模型运行层级。当感知节点在工作过程中,采集到原始数据时,可通过预设的神经网络模型中,与目标深度层级相对应的各个计算层,对原始数据进行特征提取,得到预处理数据,并将预处理数据通过已建立的信息传输通道传输至对应的服务器。以使服务器能够基于该预处理数据进行后续的处理。例如目标深度层级为第二层级,那么感知节点在特征提取过程中,则运行神经网络模型的第一层计算层和第二层计算层对原始数据进行处理,而服务器中可以预先设置与上述模型相同结构的神经网络模型,在服务器中对接收到的预处理数据,进行后续层级的数据处理,如通过该神经网络模型第二层之后的计算层对预处理数据进行处理,然后再进行后续的工作。
75.需要说明的是,本发明实施例提供的方法中,仅需在感知节点的配置阶段确定目标深度层级,对感知节点的模型运行层级进行一次初始化的配置即可,在感知节点后续工作过程中,每次需要对原始数据进行处理时,均按照预先的配置调用神经网络模型进行特征提取,无需在每次数据处理之前重新进行配置。
76.本发明实施例提供的方法中,感知节点采集的原始数据可以是图片、音频、视频或是其他类型的数据。以原始数据为图片为例,如图2所示,对采集到的图片进行特征处理后,可以得到包含特征信息,而滤除了其他隐私内容的图片。
77.基于本发明实施例提供的方法,感知节点可响应触发指令,确定其对应的各个设备性能参数,并确定其中预设的神经网络模型所对应的多个深度层级。依据各个设备性能参数、神经网络模型的各个结构参数和预设的性能评估模型,可在多个深度层级中确定目标深度层级,使感知节点在采集到原始数据时,通过神经网络模型中与目标深度层级相对应的各个计算层,对原始数据进行特征提取,得到对应的预处理数据,将预处理数据传输至服务器。应用本发明实施例提供的方法,感知节点在采集到原始数据后,可对原始数据进行特征提取,从而对原始数据进行数据脱敏,在保留数据特征的同时,滤除了原始数据中的隐私内容。在感知节点与服务器的数据传输过程中,传输的是经提取的数据,其中不包含大量的数据隐私内容,可避免数据隐私在数据传输过程中泄露,提高了数据隐私安全性。其次,感知节点在运行神经网络模型时所运行的层级深度,与感知节点的处理能力相匹配,提高了感知节点运行神经网络模型的可行性,避免处理性能较差的节点难以正常运行神经网络模型。
78.本发明实施例提供的方法中,感知节点是物联网中采集信息的节点设备,是物联网的底层组成部分之一,在实际的应用场景中,感知节点的用途可以互不相同,如从土壤水
分含量、空气氧气含量的检测,到声音、图像中的人体目标探测等等,基本覆盖生活中的方方面面。机器感知技术为感知节点应用的主要部分之一,其主要研究使用节点设备或计算机模拟、扩展人的感知能力。其覆盖范围十分广阔,包括设备视觉、设备听觉、以及设备触觉等。例如,模式识别、自然语言处理等就是设备感知方面的高智能化的计算机水平应用。而感知节点技术是一种简化的机器感知技术,是无线传感网络的技术基础。其包括用于现实物质世界进行感知识别的电子标签、传感器,智能化传感网节点技术等。
79.进一步的,在上述实施例提供的方法的基础上,本发明实施例提供了又一种数据传输方法,其中,步骤s101中所提及的确定所述感知节点对应的各个设备性能参数的过程,包括:
80.获取第一设备性能参数,所述第一设备性能参数为所述感知节点对应的设备每秒浮点运算最大次数;
81.获取第二设备性能参数,所述第二设备性能参数为所述感知节点对应的设备内存带宽上限;
82.将所述第一设备性能参数和所述第二设备性能参数作为所述感知节点对应的各个设备性能参数。
83.本发明实施例提供的方法中,可以根据感知节点的实际设备参数,在感知节点中预先设置的存储区域中配置该感知节点对应的设备参数,如设备每秒浮点运算最大次数和设备内存带宽上限等等。设备每秒浮点运算最大次数指的是设备系统每秒内所执行的最大浮点运算次数,设备内存带宽上限指的是设备系统每秒可进行内存交换的字节数最大值,即设备内存带宽的上限值。
84.本发明实施例提供的方法中,可以根据性能评估模型的应用需求在预先设置的存储区域获取与该应用需求相对应的各个设备性能参数。本发明实施例提供的方法中,性能评估模型可以采用roofline模型,该模型计算设备的性能指标所需的设备性能参数为设备每秒浮点运算最大次数和设备内存带宽上限。可以从预先设置的存储区域获取感知节点对应的设备每秒浮点运算最大次数和设备内存带宽上限,将这两个设备性能参数作为感知节点对应的各个设备性能参数,用于性能评估。
85.为了更好地说明本发明实施例提供的方法,在图1所示方法的基础上,本发明实施例提供了又一种数据传输方法,参考图3所示流程图,本发明实施例提供的方法中,步骤s104中所提及的依据所述各个设备性能参数、所述模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定所述感知节点对应的目标深度层级,包括:
86.s201:对所述感知节点的性能进行循环评估;
87.本发明实施例提供的方法中,对感知节点的性能进行循环评估,也就是逐一增加神经网络模型的运算深度,以确定感知节点能够承载运行的神经网络模型的运算深度。以周期性的方式进行评估,将神经网络模型对应的多个深度层级中的首个深度层级作为首个评估周期对应的评估深度层级,每个评估周期对应的评估深度层级的下一个深度层级,作为该评估周期的下一个评估周期对应的评估深度层级。
88.s202:在当前的评估周期中,在所述多个深度层级中,确定所述当前的评估周期对应的评估深度层级;
89.本发明实施例提供的方法中,在进入当前的评估周期时,确定当前评估周期对应
的评估深度层级。若当前的评估周期为首个评估周期,则将所述多个深度层级中的首个深度层级,即第一层级作为评估深度层级。如果不是首个评估周期,则将多个深度层级中上一个评估周期对应的评估深度层级的下一个深度层级作为当前评估周期中的评估深度层级。例如当前为第二个评估周期,上一个评估周期对应的评估深度层级为首个深度层级,其下一个深度层级为第二个深度层级,即第二层级,则将第二层级作为当前的评估周期对应的评估深度层级。也可以理解为当前评估周期对应的评估深度层级,为多个深度层级中,层级顺序与该评估周期的周期数相对应的深度层级,如第一个评估周期的评估深度层级为首个深度层级,第二个评估周期的评估深度层级为第二个深度层级,第三个评估周期的评估深度层级为第三个深度层级,以此类推。当前评估周期对应的评估深度层级,也就是当前对感知节点的性能进行评估所采用的模型深度,例如当评估深度层级为第二个深度层级时,则是评估感知节点的性能能否承载神经网络模型中与第二个深度层级相对应的各个计算层的计算任务,即是否能够正常运行神经网络模型中第一个计算层加上第二个计算层的计算量。
90.s203:基于所述模型参数集合,确定所述评估深度层级对应的各个模型参数;
91.本发明实施例提供的方法中,可基于模型参数集合中与当前的评估深度层级对应的各个计算层的各个结构参数,确定当前的评估深度层级对应的各个模型参数。模型参数可以为模型的计算量等等。
92.s204:将所述各个设备性能参数和所述评估深度层级对应的各个模型参数,输入所述性能评估模型,经所述性能评估模型处理后,得到所述评估深度层级对应的性能参数;
93.本发明实施例提供的方法中,将感知节点对应的各个设备性能参数和当前的评估深度层级所对应的各个模型参数作为输入,输入至预设的性能评估模型,经性能评估模型处理后,可以得到当前的评估深度层级所对应的性能参数。本发明实施例提供的方法中可采用roofline模型作为性能评估模型,将感知节点对应的设备每秒浮点运算最大次数和内存带宽上限作为设备性能参数,将模型的计算量、内存访问量和计算密度作为模型参数,将上述参数输入roofline模型,可得到感知节点所能达到的最大浮点计算量,即当前的评估深度层级对应的性能参数。
94.s205:判断所述评估深度层级对应的性能参数是否符合预设的运行条件;
95.本发明实施例提供的方法中,可根据实际需求预先设置感知节点的运行条件,如运行时间需小于预设阈值或计算量应小于预设阈值等等。通过当前的评估深度层级所对应的性能参数判断是否符合预设的运行条件,也就是确定感知节点能否正常运行当前评估深度层级所对应的计算层。若当前的评估深度层级对应的性能参数符合预设的运行条件,则进入步骤s206,若不符合条件则进入步骤s208。
96.s206:判断所述评估深度层级是否为所述多个深度层级中的最后一个深度层级;
97.本发明实施例提供的方法中,若当前的评估深度层级对应的性能参数符合所述预设的运行条件,则判断当前的评估深度层级是否为多个深度层级中的最后一个深度层级,如果不是,则进入步骤s207。
98.s207:进入下一个评估周期;
99.本发明实施例提供的方法中,若当前的评估深度层级并非所述多个深度层级中的最后一个深度层级,则进入下一个评估周期,以神经网络模型对应的多个深度层级中,当前
评估深度层级的下一个深度层级作为下一个评估深度层级,对感知节点的性能进行评估。
100.s208:结束循环评估过程,并将所述当前的评估周期的上一个评估周期所对应的评估深度层级,作为所述感知节点对应的目标深度层级;
101.本发明实施例提供的方法中,若当前的评估深度层级不符合所述预设的运行条件,则结束对感知节点的性能进行评估的过程,将上一个评估周期所对应的评估深度层级作为目标深度层级。例如当前为第三个评估周期,则将第二个评估周期对应的评估深度层级作为目标深度层级,目标深度层级为第二层级,即所述多个深度层级中的第二个深度层级,也就是神经网络模型的前两个计算层所对应的模型深度。
102.需要说明的是,在实际的应用过程中,本发明实施例提供的方法中感知节点需通过神经网络模型进行特征提取,故应至少能运行至少一个计算层,故通常不会在首个评估周期中结束循环评估过程,需结束循环评估过程的当前评估周期,通常会对应有上一个评估周期。
103.进一步的,本发明实施例提供的方法中,还包括:
104.s209:若所述评估深度层级为所述多个深度层级中的最后一个深度层级,则结束循环评估过程,将所述评估深度层级作为所述感知节点对应的目标深度层级。
105.本发明实施例提供的方法中,若当前的评估深度层级符合预设的运行条件,且当前的评估深度层级为神经网络模型对应的多个深度层级中的最后一个深度层级,则结束感知节点的性能评估,将当前的评估深度层级作为目标深度层级,如神经网络模型对应有五个深度层级,当前的评估周期对应的评估深度层级为第五个深度层级,目标深度层级则为第五个深度层级,也就是神经网络模型的所有计算层所对应的模型深度。
106.为了更好地说明本发明实施例提供的方法,接下来对本发明实施例采用的性能评估模型,roofline模型进行简要说明。
107.神经网络模型与节点设备需要相互“配合”,才能发挥各自的性能优势。因此不仅需要对节点设备进行分析,还需要对网络模型进行性能评估。伯克利大学并行计算实验室的williams和patterson提出了roofline模型,该模型可将复杂的性能问题进行可视化描述从而进行相关的性能评估。roofline模型指出计算设备的性能指标,主要有两点:
108.①
每秒浮点运算最大次数π(单位:flop/s),指的是系统每秒内所执行的最大浮点运算次数。
109.②
内存带宽上限m(单位:byte/s),指的是系统每秒可进行内存交换的字节数最大值。
110.roofline模型同时指出了评估网络模型性能的指标:
111.①
计算量o(单位:flops),指模型进行一次完整的输入计算所产生浮点计算总数。
112.②
内存访问量t(单位:bytes),指模型进行一次完整的输入计算能够达到最高的内存交换量,亦称作空间复杂度。
113.③
计算密度i(单位:flop/byte),指模型的计算量与内存访问量的比值,计算密度i的计算方式如下:
114.115.roofline模型表达设备的内存带宽与设备最佳性能之间的关系,节点设备实际可达到的最大浮点计算量f的计算方法如下:
[0116][0117]
当计算密度小于某一阈值i
max
时,节点可达到的最大计算性能,受自身内存带宽上限控制,该阈值取决于节点设备的实际性能。当计算密度大于或等于阈值i
max
时,可达到的计算性能取决于系统的最大浮点计算性能上限,节点的最大浮点计算量f与其对应的网络模型的计算密度i之间的关系可以如图4所示。
[0118]
进一步的,在上述实施例提供的方法的基础上,本发明实施例提供的方法中,步骤s203中提及的基于所述模型参数集合,确定所述评估深度层级对应的各个模型参数的过程,包括:
[0119]
在所述神经网络模型的各个计算层中,确定所述评估深度层级对应的各个目标计算层,所述各个目标计算层为所述神经网络模型中,对应层数级别小于或等于所述评估深度层级的计算层;
[0120]
本发明实施例提供的方法中,可根据当前的评估深度层级,在神经网络模型的各个计算层中,确定各个目标计算层。神经网络模型中,层数级别小于或等于当前评估深度层级的每个计算层,均为目标计算层。例如当前的评估深度层级为第三层级,则神经网络模型中的第一个计算层、第二个计算层和第三个计算层均为目标计算层。
[0121]
在所述模型参数集合中,获取每个所述目标计算层对应的各个结构参数;
[0122]
本发明实施例提供的方法中,可从模型参数集合中,获取每个目标计算层对应的各个结构参数。计算层对应的各个结构参数为层级结构的结构参数,影响该计算层对于设备性能的占用。如计算层对应的结构参数可以为输入的高度、输入的宽度、输入的深度等等参数,不同类型的计算层可以具有不同类型的结构参数。
[0123]
基于各个所述目标计算层对应的各个结构参数,确定所述评估深度层级对应的各个模型参数。
[0124]
本发明实施例提供的方法中,基于每个目标计算层的各个结构参数,可以确定每个目标计算层对于性能的开销情况,继而可以确定所有目标计算层对于性能的总开销情况,确定当前的评估深度层级所对应的各个模型参数,即表征运行评估深度层级所对应的各个目标计算层对于性能的开销情况的参数。
[0125]
进一步的,本发明实施例提供的方法中所述基于各个所述目标计算层对应的各个结构参数,确定所述评估深度层级对应的各个模型参数的过程,包括:
[0126]
对于每个所述目标计算层,基于该目标计算层对应的各个结构参数,确定该目标计算层对应的计算量和内存访问量;
[0127]
本发明实施例提供的方法中,将计算量和内存访问量作为表征性能开销情况的参数。根据每个目标计算层的各个结构参数,计算每个目标计算层对应的计算量和内存访问量。
[0128]
将各个所述目标计算层对应的计算量作和运算,将运算结果作为模型计算量;
[0129]
将各个所述目标计算层对应的内存访问量作和运算,将运算结果作为模型内存访问量;
[0130]
本发明实施例提供的方法中,将所有目标计算层对应的计算量相加,将相加的总和作为模型计算量。将所有目标计算层对应的内存访问量相加,将相加的总和作为模型内存访问量。
[0131]
将所述模型计算量和所述模型内存访问量作为所述评估深度层级对应的各个模型参数。
[0132]
本发明实施例提供的方法中,将计算得到的模型计算量和模型内存访问量,作为当前的评估深度层级所对应的模型参数。
[0133]
为了更好地说明模型参数的计算过程,接下结合具体的结构作简要说明。
[0134]
不同神经网络模型中,计算层的数量以及排序不同。本发明实施例中的神经网络模型采用卷积神经网络,卷积神经网络主要包括卷积层、线性整流层、池化层和损失函数层。卷积层是卷积神经网络最重要的一环,并且它的数据计算量占据了整个网络计算量的绝大部分。本发明实施例以卷积层为例,对模型参数的计算进行简要介绍,其他层级结构的计算原理与其类似,在此不进行详细说明。卷积层的结构可以如图5所示。
[0135]
卷积层的输入相关参数包括:hn、wn和dn。hn为输入的高度,wn为输入的宽度,常规计算中,hn=wn,dn为输入的深度。卷积核的计算相关参数包括:fh、fw和fd。fh为卷积核的高度,fw为卷积核的宽度,常规计算中,fh=fw,fd为卷积核的深度,默认卷积核深度与输入核深度相同,卷积核个数为n。单层卷积的输入参数量tn可根据以下公式计算:
[0136]
tn=hn*wn*dn(公式3)
[0137][0138]
卷积核的总参数量fn可以根据以下公式计算:
[0139]fn
=fh*fw*fd*n(公式4)
[0140][0141]
单层卷积总计算开销cn可以根据以下公式计算:
[0142]cn
=hn*wn*fh*fw*fd*n (公式5)
[0143][0144]
单层卷积产生的内存访问开销mn可以根据以下公式计算:
[0145][0146]
卷积神经网络完成一次前向传播总计算量c
total
,总内存访问量m
total
的计算公式如下:
[0147]
[0148][0149]
本发明实施例提供的方法中,目标计算层对应的计算量则为cn,目标计算层对应的内存访问量为mn,在当前评估深度层级对应的计算过程中,c
total
为当前评估深度层级对应的模型计算量,m
total
为当前评估深度层级对应的模型内存访问量,total数目与评估深度层级的层级数相对应,如当前评估深度层级为第三层级,则tatal=3,各个计算层为神经网络模型中的前三层。
[0150]
为了更好地说明本发明实施例提供的方法,在结合图3所示方法的基础上,本发明实施例提供了又一种数据传输方法,本发明实施例提供的方法中,步骤s205中提及的判断所述评估深度层级对应的性能参数是否符合预设的运行条件的过程,包括:
[0151]
基于所述评估深度层级对应的各个模型参数和所述评估深度层级对应的性能参数,确定所述评估深度层级对应的运行时长;
[0152]
获取所述感知节点对应的设备闲置时长;
[0153]
将所述运行时长与所述设备闲置时长进行比较,若所述运行时长小于或等于所述设备闲置时长,则确定所述评估深度层级对应的性能参数符合所述预设的运行条件,若所述运行时长大于所述设备闲置时长,则确定所述评估深度层级对应的性能参数不符合所述预设的运行条件。
[0154]
本发明实施例提供的方法中,可以根据当前评估深度层级对应的各个模型参数和当前评估深度层级对应的性能参数,计算当前评估深度层级对应的运行时长,也就是按照感知节点的性能,运行神经网络模型中与评估深度层级对应的各个计算层所需耗费的时间。例如将当前评估深度层级下模型的总计算量与设备可达到的最大浮点计算量相除,可得到对应的计算时间。
[0155]
本发明实施例提供的方法中,可以预先根据感知节点的工作情况,设置一个设备闲置时长,也就是感知节点在采集原始数据后,可用于对原始数据进行处理的最长时长。将当前评估深度层级对应的运行时长与预设的设备闲置时长进行大小比较,若运行时长小于或等于设备闲置时长,则确定当前的评估深度层级对应的性能参数符合运行条件,反之则不符合运行条件。
[0156]
为了更好地说明本发明实施例提供的方法,接下来对本发明实施例提供的整体过程作简要介绍。
[0157]
本发明实施例提供的方法中,当感知节点设备接收到计算指令时,可结合自身硬件资源状态,借助性能评估模型进行性能评估,逐一评估感知节点能否完成神经网络模型处于当前深度层级状态下的运算任务,若当前性能足以支持完成当前深度层级状态下的计算任务,则进行下一层状态下的评估。不能支持则返回上一层,以上一层的深度层级作为任务划分层。任务完成后,将相关计算结果与参数传输至服务器。
[0158]
具体的分配过程如下:
[0159]
获取当前状态下设备系统、模型信息,并分析相关参数,模型层数以及每层计算层的计算量与内存访问量;
[0160]
根据相关公式计算出系统计算密度,并确认当前状态下,系统在神经网络模型相关的各层计算过程中所能达到的最佳浮点性能;
[0161]
根据每层的参数以及系统可达到的计算性能可得出每层计算消耗时间ti;
[0162]
将每层的耗时累计,若到达n层时,累计耗时超过预设的free_t(宕机情况),则返回n-1层;
[0163]
将第n-1层作为界限进行任务划分(即以n-1层作为目标深度层级);
[0164]
若到达n层时,累计耗时没有超过free_t,则进入下一个深度层级状态下的计算,返回初始步骤重新计算下一个深度层级状态下的累计耗时,以重新进行任务划分。
[0165]
本发明实施例提供的方法中,分析系统所能达到的最佳浮点性能的简要伪代码如下所示:
[0166]
/*获取系统信息*/
[0167]
get the system.info.
[0168]
/*获取网络信息*/
[0169]
get the layer.info.
[0170]
/*获取本地时间*/
[0171]
time_begin=sys_gettime();
[0172]
while{
[0173]
……
[0174]
send(client_socket,buffer,data,0);}
[0175]
/*计算计算密度*/
[0176]i←
o_pre/t;
[0177]
/*判断性能瓶颈*/
[0178]
if(m*i》π):
[0179]f←
π;
[0180]
else:
[0181]f←
min(m*i,π);
[0182]
return f
[0183]
end。
[0184]
基于上述算法,通过对模型进行评估,计算出不同计算层以及模型的计算密度,通过对比确定整体性能瓶颈。
[0185]
本发明实施例提供的方法中,计算任务划分,即确定所能达到的最大深度层级的简要伪代码如下所示:
[0186]
/*获取系统信息*/
[0187]
get the system.info.
[0188]
/*获取网络信息*/
[0189]
get the layer.info.
[0190]
/*获取设备闲置时间*/
[0191]
get the equipment free time.
[0192]

[0193]
forn=0

layer:
[0194]
/*判断最深层数*/
[0195]
layertime[n]

o_pre/f;
[0196]
ifsum(layertime)《=free_t:
[0197]
n++;
[0198]
else:
[0199]
break;
[0200]
end。
[0201]
上述算法则是通过获取设备的性能闲置时间(设备闲置时间)上限与划分后的计算任务所需的计算时间进行对比,确定最终计算任务的计算深度。
[0202]
本发明实施例基于轻量化卷积神经网络模型,协同物联网节点数据传输,可以根据物联网节点硬件配置进行评估,并结合卷积神经网络模型的性能指标,分配给设备实际运行中能够完成的最大计算任务量,从而对节点采集的图像等数据进行数据脱敏,同时保留了图像数据特征等信息。可充分利用节点设备的闲置计算资源,进行数据特征提取操作,降低了用户隐私信息数据泄露的风险。创新性地将神经网络模型与感知节点采集的数据相结合,利用卷积神经网络的计算特性对图像信息等内容进行特征提取,减少隐私数据泄露的风险。
[0203]
与图1所示的一种数据传输方法相对应的,本发明实施例还提供了一种数据传输装置,用于对图1中所示方法的具体实现,其结构示意图如图6所示,包括:
[0204]
第一确定单元301,用于当感知节点接收到触发指令时,确定所述感知节点对应的各个设备性能参数;
[0205]
第二确定单元302,用于确定所述感知节点中预设的神经网络模型对应的多个深度层级;
[0206]
第三确定单元303,用于确定模型参数集合,所述模型参数集合包括所述神经网络模型中每个计算层对应的各个结构参数;
[0207]
第四确定单元304,用于依据所述各个设备性能参数、所述模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定所述感知节点对应的目标深度层级;
[0208]
配置单元305,用于将所述目标深度层级作为所述感知节点的模型运行层级,以使所述感知节点在采集到原始数据时,通过所述神经网络模型中与所述目标深度层级相对应的各个计算层,对所述原始数据进行特征提取,得到所述原始数据对应的预处理数据,将所述预处理数据传输至所述感知节点对应的服务器。
[0209]
基于本发明实施例提供的装置,感知节点可响应触发指令,确定其对应的各个设备性能参数,并确定其中预设的神经网络模型所对应的多个深度层级。依据各个设备性能参数、神经网络模型的各个结构参数和预设的性能评估模型,可在多个深度层级中确定目标深度层级,使感知节点在采集到原始数据时,通过神经网络模型中与目标深度层级相对应的各个计算层,对原始数据进行特征提取,得到对应的预处理数据,将预处理数据传输至服务器。应用本发明实施例提供的装置,感知节点在采集到原始数据后,可对原始数据进行特征提取,从而对原始数据进行数据脱敏,在保留数据特征的同时,滤除了原始数据中的隐私内容。在感知节点与服务器的数据传输过程中,传输的是经提取的数据,其中不包含大量
的数据隐私内容,可避免数据隐私在数据传输过程中泄露,提高了数据隐私安全性。其次,感知节点在运行神经网络模型时所运行的层级深度,与感知节点的处理能力相匹配,提高了感知节点运行神经网络模型的可行性,避免处理性能较差的节点难以正常运行神经网络模型。
[0210]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第一确定单元301,包括:
[0211]
第一获取子单元,用于获取第一设备性能参数,所述第一设备性能参数为所述感知节点对应的设备每秒浮点运算最大次数;
[0212]
第二获取子单元,用于获取第二设备性能参数,所述第二设备性能参数为所述感知节点对应的设备内存带宽上限;
[0213]
第一确定子单元,用于将所述第一设备性能参数和所述第二设备性能参数作为所述感知节点对应的各个设备性能参数。
[0214]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第四确定单元304,包括:
[0215]
第二确定子单元,用于对所述感知节点的性能进行循环评估,在当前的评估周期中,在所述多个深度层级中,确定所述当前的评估周期对应的评估深度层级;
[0216]
第三确定子单元,用于基于所述模型参数集合,确定所述评估深度层级对应的各个模型参数;
[0217]
评估子单元,用于将所述各个设备性能参数和所述评估深度层级对应的各个模型参数,输入所述性能评估模型,经所述性能评估模型处理后,得到所述评估深度层级对应的性能参数;
[0218]
第一判断子单元,用于判断所述评估深度层级对应的性能参数是否符合预设的运行条件;
[0219]
第二判断子单元,用于若所述评估深度层级对应的性能参数符合所述预设的运行条件,则判断所述评估深度层级是否为所述多个深度层级中的最后一个深度层级,若所述评估深度层级并非所述多个深度层级中的最后一个深度层级,则进入下一个评估周期;
[0220]
第四确定子单元,用于若所述评估深度层级不符合所述预设的运行条件,则结束循环评估过程,并将所述当前的评估周期的上一个评估周期所对应的评估深度层级,作为所述感知节点对应的目标深度层级;
[0221]
其中,所述多个深度层级中的首个深度层级为首个评估周期对应的评估深度层级,每个评估周期对应的评估深度层级的下一个深度层级,为该评估周期的下一个评估周期对应的评估深度层级。
[0222]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第三确定子单元,包括:
[0223]
第五确定子单元,用于在所述神经网络模型的各个计算层中,确定所述评估深度层级对应的各个目标计算层,所述各个目标计算层为所述神经网络模型中,对应层数级别小于或等于所述评估深度层级的计算层;
[0224]
第三获取子单元,用于在所述模型参数集合中,获取每个所述目标计算层对应的各个结构参数;
[0225]
第六确定子单元,用于基于各个所述目标计算层对应的各个结构参数,确定所述评估深度层级对应的各个模型参数。
[0226]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第六确定子单元,包括:
[0227]
第七确定子单元,用于对于每个所述目标计算层,基于该目标计算层对应的各个结构参数,确定该目标计算层对应的计算量和内存访问量;
[0228]
计算子单元,用于将各个所述目标计算层对应的计算量作和运算,将运算结果作为模型计算量;将各个所述目标计算层对应的内存访问量作和运算,将运算结果作为模型内存访问量;将所述模型计算量和所述模型内存访问量作为所述评估深度层级对应的各个模型参数。
[0229]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第一判断子单元,包括:
[0230]
第八确定子单元,用于基于所述评估深度层级对应的各个模型参数和所述评估深度层级对应的性能参数,确定所述评估深度层级对应的运行时长;
[0231]
第四获取子单元,用于获取所述感知节点对应的设备闲置时长;
[0232]
比较子单元,用于将所述运行时长与所述设备闲置时长进行比较,若所述运行时长小于或等于所述设备闲置时长,则确定所述评估深度层级对应的性能参数符合所述预设的运行条件,若所述运行时长大于所述设备闲置时长,则确定所述评估深度层级对应的性能参数不符合所述预设的运行条件。
[0233]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,还包括:
[0234]
第九确定子单元,用于若所述评估深度层级为所述多个深度层级中的最后一个深度层级,则结束循环评估过程,将所述评估深度层级作为所述感知节点对应的目标深度层级。
[0235]
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的数据传输方法。
[0236]
本发明实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器401,以及一个或者一个以上的指令402,其中一个或者一个以上指令402存储于存储器401中,且经配置以由一个或者一个以上处理器403执行所述一个或者一个以上指令402进行以下操作:
[0237]
当感知节点接收到触发指令时,确定所述感知节点对应的各个设备性能参数;
[0238]
确定所述感知节点中预设的神经网络模型对应的多个深度层级;
[0239]
确定模型参数集合,所述模型参数集合包括所述神经网络模型中每个计算层对应的各个结构参数;
[0240]
依据所述各个设备性能参数、所述模型参数集合以及预设的性能评估模型,在所述多个深度层级中,确定所述感知节点对应的目标深度层级;
[0241]
将所述目标深度层级作为所述感知节点的模型运行层级,以使所述感知节点在采集到原始数据时,通过所述神经网络模型中与所述目标深度层级相对应的各个计算层,对所述原始数据进行特征提取,得到所述原始数据对应的预处理数据,将所述预处理数据传输至所述感知节点对应的服务器。
[0242]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0243]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0244]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1