社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习如何用在边缘设备上?苏黎世联邦理工Zhongnan博士论文《在边缘设备上使用深度学习》,182页pdf

机器学习研究组订阅 • 2 年前 • 364 次点击  


深度神经网络(DNNs)在许多不同的感知任务中都取得了成功,如计算机视觉、自然语言处理、强化学习等。高性能的dnn需要大量的资源消耗。例如,训练DNN需要高动态内存、大规模数据集和大量计算(训练时间很长); 即使使用DNN进行推理也需要大量的静态存储、计算(较长的推理时间)和能量。因此,最先进的DNN通常部署在拥有大量超级计算机、高带宽通信总线、共享存储基础设施和高功率补充的云服务器上。最近,一些新兴的智能应用,如AR/VR,移动助手,物联网,要求我们在资源有限的边缘设备上部署DNN。与云服务器相比,边缘设备通常只有相当少的资源。为了在边缘设备上部署DNN,我们需要减少DNN的大小,即我们的目标是在资源消耗和模型精度之间更好地权衡。在本文中,我们研究了四个边缘智能场景,并开发了不同的方法来实现每个场景中的深度学习。由于当前的DNN经常被过度参数化,我们的目标是在每个场景中找到并减少DNN的冗余。我们将研究的四种场景总结如下:

https://www.zhuanzhi.ai/paper/98b23292d07d9ad7e453f1551f23a23e

  • 边缘设备推理。首先,在边缘设备上的固定资源约束条件下,我们实现了有效的DNN推理。与云推理相比,边缘设备的推理避免了将数据传输到云服务器,可以实现更稳定、更快和更节能的推理。针对存储大量权值和在推理过程中计算的主要资源约束,提出了一种多比特网络的自适应损失感知量化(Adaptive Loss-aware quantiization, ALQ)算法。ALQ减少了量化位宽上的冗余。直接优化目标(即损耗)和学习到的自适应位宽分配允许ALQ获得平均位宽低于1位的极低位网络,同时产生比最先进的二进制网络更高的精度。

  • 适配边缘设备。其次,当目标边缘设备上的资源约束在运行时动态变化时(例如允许的执行时间和可分配的RAM),我们能够有效地适应DNN。为了在设备上推断过程中最大化模型的准确性,我们开发了一种新的综合方法,动态实时稀疏子网(DRESS),它可以从骨干网中采样并执行具有不同资源需求的子网络。DRESS通过权值共享和体系结构共享,减少了多个子网络之间的冗余,分别提高了存储效率和重配置效率。生成的子网络具有不同的稀疏性,因此可以利用稀疏张量计算在不同的资源约束下进行提取推断。

  • 在边缘设备上学习。第三,当面对不可见的环境或边缘设备上的用户时,我们能够有效地学习dnn。设备上学习既需要数据效率,也需要内存效率。因此,我们提出了一种新的元学习方法p-Meta,以实现仅使用少数不可见任务样本的内存高效学习。p-Meta通过只识别和更新结构上的适应关键权值来减少更新冗余,这节省了更新权值所需的内存消耗。


  • 边缘服务器系统。最后,我们在边缘服务器系统上实现了高效的推理和高效的更新。在边缘服务器系统中,几个资源受限的边缘设备通过受限的通信总线连接到资源充足的服务器。由于事前相关训练数据有限,预训练的DNNs在初始部署后可能会得到显著提升。在这样的边缘服务器系统上,设备上推理优于云推理,因为它可以实现快速和稳定的推理,能耗更低。然而,由于边缘设备上的内存和计算能力有限,在云服务器上进行再训练比在设备上进行再训练(或联邦学习)更受欢迎。我们提出了一种新的管道深度局部更新(DPU)来迭代更新已部署的推理模型。特别是,当从边缘设备或其他来源收集的新数据样本在服务器上可用时,服务器只智能地选择关键权重的一个子集来更新并发送到每个边缘设备。这种基于权重的部分更新通过重用预先训练的权重减少了冗余更新,实现了与完整更新相似的精度,但通信成本显著降低。


引言

深度学习是一种新的颠覆性技术,极大地推动了人工智能的发展。深度神经网络(DNNs)在深度学习中得到了广泛的应用,它可以根据给定的输入进行预测。DNN由大量级联的层组成,其中每一层通常包括(i)可训练的权重,可以在该层的输入到输出提取的特征上执行矩阵乘法,(ii)可以带来非线性行为的非线性函数。在计算机视觉、自然语言处理、数学、生物化学等许多领域,DNN通常可以取得比先前的计算模型甚至人类更优越的性能。

在图像分类中,AlexNet [KSH12]通过使用GPU训练深度卷积神经网络自动学习特征,在ImageNet大规模视觉识别挑战赛(ILSVRC)上的比赛结果表明,AlexNet大大超过了之前基于手工特征构建的分类器,如随机森林和支持向量机,精度提高超过10%。AlphaGo Zero [SHM+16]增强-学习一个深度策略模型,通过与自己对弈来预测围棋棋盘上的移动,被学习的模型甚至可以击败围棋世界冠军。BERT [DCLT19]对未标记文本的深度双向表示进行预训练,然后对预训练的模型进行微调,该模型在SQuAD测试中表现出比人类更好的语言理解能力。近年来,图卷积神经网络[EAGT19]也被应用于许多生物和化学问题,如预测蛋白质功能,预测二值化基因表达等。因此,DNNs不仅可以在我们的日常生活中完成一些以前必须依靠繁琐的人类努力才能完成的智能任务,还可能带来在长期的人类历史中很少被探索的新的科学启示。


在本文中,我们将研究如何在不同的场景下在边缘设备上实现深度学习。在边缘设备上部署DNN总是在资源需求和模型精度之间进行权衡。由于DNN经常消耗大量的资源,我们假设DNN中存在冗余。我们的目标是根据不同场景中的主要资源约束来识别和减少冗余。本文分为四个独立的场景。在每个场景中,我们将(i)分析其主要资源约束,(ii)回顾当前可用解决方案的缺点,(iii)提出我们的解决方案以减少DNN中的冗余;(iv)从实验或理论上验证我们的解决方案的有效性。


想要了解更多资讯,请扫描下方二维码,关注机器学习研究会

                                          


转自:专知


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/148517
 
364 次点击