让深度学习告别密集计算,新技术可以减少95%的计算量,而且时间也被削减了。莱斯大学助理教授AnshumaliShrivastava表示:“它可以应用于任何深度学习架构,并且该技术可以进行次线性扩展,也就是说,应用的深度神经网络越大,可以节省的计算量就越多。”该研究将在今年的KDD会议上发布,它解决了谷歌、Facebook、微软等大公司面临的最大痛点之一。这些大公司争先恐后地建立、训练和部署大量深度学习网络,以开发不同的产品,例如自动驾驶汽车、翻译和智能回复电子邮件。Shrivastave和莱斯大学的研究生RyanSpring表示,这项技术来自散列法,这是一种经过验证的数据检索方法,已被用于大幅降低深度学习的计算成本。散列使??用散列函数将数据转换为可管理的小值散列(称为散列)。哈希存储在表中,类似于印刷书籍中的索引。“我们的方法融合了两种技术——一种聪明的局部敏感哈希变体和一种稀疏反向传播变体——以减少计算需求而不需要繁重的计算。例如,在小规模测试中,我们发现我们可以将计算量减少95%,但仍在以内标准方法达到的准确度的1%。”深度学习网络的基本构建块是人工神经元。尽管在1950年代作为生物大脑神经元模型引入,人工神经元只是将输入数据转换为输出结果的数学函数和方程。在机器学习中,所有神经元都有相同的初始状态,就像一张白纸,随着训练的进行,它们会有自己特定的功能。数据中的特定模式。在第一层,神经元执行简单的任务。例如,在图像识别应用程序中,底层神经元可能用于识别光/暗或物体的边缘。这些神经元的输出传递给到网络中下一层的神经元,在那里识别和处理其他模式。只有几层的神经网络可以识别像面孔这样的概念,cats和狗、交通标志和校车。“向神经网络层添加更多神经元可以扩展其性能,”Shrivastava说,“虽然我们希望神经网络的大小没有上限,但据报道,谷歌正试图训练一个具有1370亿个神经元的模型。”相比之下,训练和部署此类神经网络可能存在计算限制。他说:“今天使用的大多数机器学习算法都是30到50年前开发的,在设计时并没有考虑到计算复杂性。但对于大数据,资源存在基本限制,例如计算周期、能源消耗和存储.我们的实验室旨在解决这些局限性。Spring表示,在大规模深度网络中,哈希将大大节省计算和能源消耗。他说:“随着规模的扩大而增加的能源节省是由于我们利用了大数据中的稀疏性。例如,我们知道一个深度网络有10亿个神经元。对于任何给定的输入,比如一张狗的照片,只有少数人会兴奋。用数据的说法,我们称之为稀疏性,正是由于稀疏性,我们的方法将在网络变大时节省更多的功率。所以当我们展示1000At95%energysavingforasingleneuron,themathshowsthatwecanachieveover99%energysavingforabillionneurons.”论文:ScalableandSustainableDeepLearningviaRandomizedHashingviaRandomizedHashing)链接地址:https://arxiv.org/abs/1602.08194摘要:为了能够在复杂的数据集上学习,目前的深度学习架构越来越庞大,这些架构需要极大量的矩阵乘法运算来训练数百万的参数。相反,还有另一个增长趋势,希望将深度学习引入低功耗嵌入式设备。这些矩阵运算(深度网络的训练和测试都需要)在计算上和功率上都很昂贵。我们提出了一种新颖的哈希-基于技术,可以大大减少训练和测试深度网络所需的计算量。我们的方法将自适应丢弃与随机散列相结合,以实现最大内积t搜索以有效地选择节点的活动激活。我们用于深度学习的新算法可以在更少(稀疏)节点上运行,这可以大大降低前向和反向传播的总计算成本。因此,我们的算法仅使用总乘法的5%就可以平均保持在原始模型精度的1%以内。这里提出的基于散列的反向传播有一个独特的特性:它的更新总是稀疏的。由于这种稀疏梯度更新,我们的算法可以最佳地用于异步和并行训练,并且可以通过增加核心数量来实现近线性加速。我们通过对几个真实数据集的严格评估证明了我们提出的算法的可扩展性和可持续性(能源效率)。算法1:使用随机哈希的深度学习图2:使用随机哈希的神经网络的可视化表示在图2(1)中,哈希表是通过对每个隐藏层的权重进行哈希来构建的;(2)使用层的随机散列函数对层的输入进行散列;(3)查询层的哈希表,得到活跃集AS;(4)只有活跃集中的神经元对进行前向和反向传播。隐藏层中的纯色神经元是活跃的神经元。(5)将更新后的权重重新哈希到新的哈希位置,从而更新AS权重和哈希表。原文:https://phys.org/news/2017-06-scientists-slash-deep.html【本文为《机器之心》专栏原文翻译,微信公众号《机器之心》(id:almosthuman2014)》】点此阅读该作者更多好文
