在终端和云端上混合部署深度学习神经网络的方法和系统与流程

文档序号:17239176发布日期:2019-03-30 08:30阅读:460来源:国知局
在终端和云端上混合部署深度学习神经网络的方法和系统与流程

本发明涉及软件技术,具体地,涉及在终端和云端上混合部署深度学习神经网络的方法。



背景技术:

在众多人工智能技术中,深度神经网络(dnn)是一种通过模拟人脑神经网络实现类人工智能的机器学习技术。鉴于其具有高效的数据特征提取与分析能力,其现已被广泛应用在计算机视觉、自然语言处理、无人驾驶、智能家居等相关的领域或行业,影响着人们的日常生活。

深度神经网络的本质是通过模拟人脑神经,组合低层特征形成更加抽象的高层特征,从而分析出数据所表达的信息。构建一个dnn主要分为两个阶段:训练阶段与推测阶段。训练阶段需要网络模型先基于大量训练数据进行调整网络模型中的权重等信息。推理运算阶段直接利用训练完成的网络模型对数据进行分析,该阶段无需存储训练数据和进行反向传播操作。

目前的主流深度学习框架的模型训练和推理计算均是在云端/服务器端进行,而在资源受限、强调实时性的终端/嵌入式端环境中的深度学习计算引擎的实现还在发展中。另一方面,在终端侧实时性强的人工智能展现出强大的需求,需要基于深度神经网络模型,在本地终端环境中运行的人工智能推理运算,以满足在资源受限、实时性约束等终端条件下的图像目标分类与识别等任务需求。为了解决上述问题,从简化网络模型的角度设计了压缩优化方法,降低网络模型对终端设备的硬件资源需求。

尽管利用模型的优化可以在嵌入式终端设备上部署深度神经网络,但在终端设备上深度学习系统仍面临着两难的境地。要么终端设备采集数据,传至云上的大型深度神经网络模型进行处理,因此提高了通信成本,带来了延迟问题和隐私问题;要么直接在终端执行的深度神经网络模型必须进行大幅的压缩删减,因此丧失了系统精度。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种在终端和云端上混合部署深度学习神经网络的方法和系统。

根据本发明提供的一种在终端和云端上混合部署深度学习神经网络的方法,采用分布式系统架构,利用云端与终端混合部署神经网络,互相配合共同完成推理运算任务;

其中,在终端设备上部署训练好的深度神经网络压缩模型,在云端上部署深度神经网络。

优选地,终端上部署的神经网络输出的检测结果,若检测结果满足置信度的标准,则流程结束;若检测结果不能满足置信度的标准,则终端实现的初始特征样本将传至云端,由云端完整的深度神经网络进行进一步处理。

优选地,通过使用基于熵的确定标准,在神经网络的早期点对样本进行分类,称为早期出口点;

如果在一个早期出口点,根据目标类的计算概率向量的熵,认为样本置信度已经被可信分类,就不需要由更高的云端神经网络层进行进一步的计算;反之,就将数据发送到云端进行进一步的推理计算;

出口点被设置在物理边界上。

优选地,神经网络的推断在按物理设备划分的阶段中使用预测出口阈值t作为对样本预测的置信度的度量;使用归一化熵的阈值作为置信条件,来决定是否在某一出口点完成对样本进行分类;归一化熵η被定义为

其中c是所有可能的标签的集合,x是一个概率向量,下标i表示序号;这个归一化熵的值在0和1之间;若η小于0.5则表示关于样本的预测是可信的;若η大于等于0.5则表示它是不可信的;在出口点计算出η并与t进行比较,以确定是否应在该出口点退出;

在给定的终端设备出口点上,如果预测结果是不可信的,即η>t,则进一步进入云端执行分类操作。

优选地,在终端和云端之间的分布式计算层次中使用边缘服务器来垂直扩展;边缘服务器的作用是从终端设备中获取输出,进行聚合和分类,如果需要更多的处理,则将自己的中间输出转发给云端;在终端本地正确分类的样本在没有与边缘服务器或云端进行任何通信的情况下退出;需要更多特征提取的样本会被发送到边缘服务器,如果有必要,最终会被发送到云端。

根据本发明提供的一种在终端和云端上混合部署深度学习神经网络的系统,采用分布式系统架构,利用云端与终端混合部署神经网络,互相配合共同完成推理运算任务;

其中,在终端设备上部署训练好的深度神经网络压缩模型,在云端上部署深度神经网络。

优选地,终端上部署的神经网络输出的检测结果,若检测结果满足置信度的标准,则流程结束;若检测结果不能满足置信度的标准,则终端实现的初始特征样本将传至云端,由云端完整的深度神经网络进行进一步处理。

优选地,通过使用基于熵的确定标准,在神经网络的早期点对样本进行分类,称为早期出口点;

如果在一个早期出口点,根据目标类的计算概率向量的熵,认为样本置信度已经被可信分类,就不需要由更高的云端神经网络层进行进一步的计算;反之,就将数据发送到云端进行进一步的推理计算;

出口点被设置在物理边界上。

优选地,神经网络的推断在按物理设备划分的阶段中使用预测出口阈值t作为对样本预测的置信度的度量;使用归一化熵的阈值作为置信条件,来决定是否在某一出口点完成对样本进行分类;归一化熵η被定义为

其中c是所有可能的标签的集合,x是一个概率向量,下标i表示序号;这个归一化熵的值在0和1之间;若η小于0.5则表示关于样本的预测是可信的;若η大于等于0.5则表示它是不可信的;在出口点计算出η并与t进行比较,以确定是否应在该出口点退出;

在给定的终端设备出口点上,如果预测结果是不可信的,即η>t,则进一步进入云端执行分类操作。

优选地,在终端和云端之间的分布式计算层次中使用边缘服务器来垂直扩展;边缘服务器的作用是从终端设备中获取输出,进行聚合和分类,如果需要更多的处理,则将自己的中间输出转发给云端;在终端本地正确分类的样本在没有与边缘服务器或云端进行任何通信的情况下退出;需要更多特征提取的样本会被发送到边缘服务器,如果有必要,最终会被发送到云端。

与现有技术相比,本发明具有如下的有益效果:

1、面向资源受限的终端环境,同时需要满足实时性要求的深度神经网络的应用,采用对深度神经网络模型压缩的方式,终端设备中部署训练好的深度神经网络压缩模型,以便在在资源受限的嵌入式环境中快速完成特征提取的推理运算。

2、考虑灵活的兼顾实时性和系统精度的平衡,终端上部署的网络输出检测结果满足置信度的标准即可结束;若终端结果不能满足要求,则终端实现的初始特征样本将传至云端,由云端完整复杂的深度神经网络模型进行进一步处理。这种方法灵活的兼顾实时性和系统精度的平衡,云端结合的部署方法能够在终端即时输出低精度检测结果;然后基于必要性判断,在置信度不满意的情况下将中间结果传至云,云上的复杂模型处理输出高精度检测结果。

3、由于终端已经实现了特征提取,因此传至云上的并非传感器采集的原始数据,因此能够提供更好的数据隐私保护,同时减少了带宽消耗。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明的原理示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

本发明采用分布式系统架构,利用云端与嵌入式端混合部署深度神经网络,互相配合共同完成推理运算任务。

本发明提出在终端设备上,尤其是嵌入式端,部署经过压缩优化的浅层神经网络,在云服务器设备上部署深度神经网络,以此构建了一个混合云端与终端的基于分布式计算层级的分布式深度神经网络,它由云、边缘和分布式终端设备组成。通过分布式计算,增强了传感器融合、数据隐私和系统容错能力。在可扩展的分布式计算层次结构支持下,不仅可以扩大神经网络的规模,还可以在设备跨度上扩展。它允许将早期的出口点放置在终端设备中。当系统表现可信时,深度神经网络的推理执行可以在本地终端上就完成图像分类并退出,进行快速的局部推断;当系统基于判断标准,需要进一步进行额外处理时,中间数据可以传输至云服务器端,进一步利用云端的深层深度神经网络进行处理,以提高系统的表现精度。

本发明提供的技术方案的本质是将一个终端设备上的小型神经网络模型(更少的参数)和一个在云上的大型神经网络模型(更多的参数)组合起来。终端设备上的小型神经网络模型可以快速的初始化数据提取,并分析出这个模型是否是满足要求的。另外,终端设备还可以通过云端的大型神经网络模型,执行进一步的程序并完成最终的分类。相比于直接将神经网络输入到云端,这个方法通信开销更低;相比于终端设备上的简单模型,这个方法可以获得更高的准确率。此外,由于使用了从终端设备处理数据的方法代替了原始传输数据的方法,这个系统可以更好的保护个人隐私。

此方法通过使用基于熵的确定标准,在神经网络的早期点对样本进行分类,称为早期出口点。如果在一个早期出口点,根据目标类的计算概率向量的熵,认为样本已经被可信分类,就不需要由更高的云端神经网络层进行进一步的计算;反之,就将数据发送到云端进行进一步的推理计算。出口点被设置在物理边界上,例如,在终端设备上计算层次结构的最后一个卷积层上。可以提前分类的输入样本将在本地终端上退出,从而降低响应延迟。

混合神经网络的推断在按物理设备划分的阶段中使用预测出口阈值t作为对样本预测的置信度的度量。定义t的方法之一是在验证集上搜索t的范围。本发明使用归一化熵的阈值作为置信条件,来决定是否在某一特定的出口点完成对样本进行分类。归一化熵η被定义为

其中c是所有可能的标签的集合,x是一个概率向量,下标i表示序号。这个归一化熵的值在0和1之间,这样可以更容易地解释和搜索其对应的阈值t。例如,η接近0表示关于样本的预测是可信的;η接近1则表示它是不可信的。在出口点计算出η并与t进行比较,以确定是否应在该出口点退出。

在给定的终端设备出口点上,如果预测结果是不可信的(即:η>t),则系统会进一步进入云端执行分类操作。

一个混合神经网络的搭建与推理步骤如下:

1)对训练好的深度神经网络进行网络模型压缩、权重调整的简化工作;

2)在资源受限的终端设备中部署采用压缩优化的深度神经网络;

3)在资源丰富的云端中部署原始的深度神经网络;

4)在终端设备的本地深度神经网络上设置出口点;

5)终端设备首先向本地压缩深度神经网络发送采样数据并进行快速推理运算;

6)终端设备确定本地深度神经网络的推理结果基于置信度的标准是否能够做出准确的分类;

7)如果是,则对样本进行分类,并直接在终端设备上完成处理;

8)如果不是,则终端设备将中间计算结果通过出口点推向云端,以便进行进一步的分类处理,

9)云设备基于终端的推送信息在高精度深度神经网络上进行最终分类决策。

以图像分类识别为例,终端利用其上的神经网络识别物体图像,若终端设备对图像分类结果的一致程度高于某个阈值,则图像的分类结果可以被认为是可靠的,终端无需再向服务器端发送数据,由终端设备返回最终结果;若分类结果的一致程度低于某个阈值,则终端的分类结果可以被认为是不可靠的,这时终端可以将处理后的数据发送至云服务器做进一步计算。与直接将原始数据发送至云端的进行处理的方式相比,该方法在本地的终端设备上处理了大部分的传感数据,降低通讯开销,减少时延。

本发明还可以通过在终端设备和云之间的分布式计算层次中使用边缘服务器来垂直扩展。边缘服务器的作用与云服务器相似,都是从终端设备中获取输出,尽可能进行聚合和分类,如果需要更多的处理,则将自己的中间输出转发给云。在本地正确分类的样本在没有与边缘或云进行任何通信的情况下退出。需要更多特征提取的样本会被发送到边缘,如果有必要,最终会被发送到云。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

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