近年来,深度神经网络在多种应用上取得了极大的成功,网络架构也变得越来越深。以卷积神经网络为例,从 1998 年 LeNet 的 5 层,发展到 2015 年产生了 152 层的 ResNet。
在网络架构变化的同时,包括物联网在内的终端设备数量也越来越多,有着急剧的增长。因为这些设备直接连接传感器数据(摄像头、麦克风、陀螺仪等),所以在终端设备上部署机器学习具有极大的吸引力。
但现在看来,顶级的机器学习系统还无法满足终端设备的现状:
1. 要么把传感器数据输入到云端的大型神经网络模型;
2. 要么直接在终端设备上使用简单的机器学习模型(如线性支持向量机)。前者有通信成本、延迟的问题,后者会降低系统的准确率。
为了克服这些问题,自然而然地就想到了分布式计算方法。层级分布式计算架构包括云、边缘与终端设备,这种架构有固有的优势,例如支持中心调节与局部决策,具有系统可扩展性,特别是对基于位置分布的 IoT 设备上的大规模智能任务。
虽然业内也有一些分布式方法,但依然面临多种挑战,例如终端设备存储与能源有限、通信成本等。那有没有一种系统能够训练一个端到端模型,把模型在云与终端设备之间划分开?
为了这个目标,作者们提出了在云、边缘以及终端设备这样的分布式计算层级上的分布式深度神经网络(DDNN)。论文内容摘要如下,具体细节请查看论文原文。
论文:Distributed Deep Neural Networks over the Cloud, the Edge and End Devices
地址:https://arxiv.org/abs/1709.01921
摘要:我们提出了在分布式计算层级上的分布式深度神经网络(DDNNs),包含云、边缘设备以及终端设备。在能够适应云上的神经网络推理的同时,DDNN 也允许在边缘、终端设备上使用神经网络的浅层部分进行更快、本地化的推理。在可延展的分布式计算层级支持下,DDNN 能按比例扩大网络大小,且在区域跨度上进行扩展。由于其分布式特性,DDNN 增强了传感器融合、系统故障容错、数据隐私。在 DDNN 的实现上,我们绘制了 DNN 在不同分布式计算层级上的部分。通过联合训练这些部位,我们最小化了设备上的通信和资源使用,最大化了在云中使用的提取特征的有效性。最终的系统内建了对自动传感器融合、故障容错的支持。作为此概念的证实,我们演示了一个 DDNN 能够利用传感器的多元性改进目标识别的准确率、减少通信成本。在我们的实验中,对比传统的在云中卸载原始传感器数据的方法,DDNN 能够在终端设备本地处理大部分传感器数据,同时取得高准确率,通信成本能够降低 20 倍。
图 2:DDNN 架构的概览。垂直线表示 DNN 通道,连接水平线(神经网络层)。(a) 是标准的深度神经网络(完全在云端处理);(b)是引入了终端设备和本地出口点(exit point),可能分类云之前的样本;(c)是(b)的扩展,增加了多个终端设备,聚合在一起进行分类;(d) 和(e)是(b) 和(c)的拓展,增加了云与终端设备之间的边缘层;(f)展示了边缘也能像终端设备一样被分布。