让深度学习告别密集计算,新技术可减少95%计算量

【让深度学习告别密集计算,新技术可减少95%计算量】莱斯大学的助理教授 Anshumali Shrivastava 说 , 「它应用于任何深度学习架构 , 该技术都能亚线性地扩展 , 也就是应用到的深度神经网络越大节省的计算越多 。 」
该研究将会发布在今年的 KDD 会议上被介绍 , 它解决了谷歌、Facebook、微软等大公司面临的最大难题之一 。 这些大公司都在争相建立、训练、部署大量的深度学习网络来发展不同的产品 , 例如自动驾驶汽车、翻译、邮件智能回复 。

让深度学习告别密集计算,新技术可减少95%计算量

文章插图

Shrivastave 和莱斯大学的研究生 Ryan Spring 表示该技术来自于哈希法(hashing) , 一种行之有效的数据检索方法 , 经过改编可极大地减少深度学习的计算成本 。 哈希法使用哈希函数将数据转换为易管理的小数值哈希(被称作 hash) 。 哈希被存储在表格中 , 类似于印刷书中的索引 。
Spring 说:「我们的方法融合了两项技术——巧妙的本地敏感性哈希法变体(variant of locality-sensitive hashing)和稀疏反向传播变体——以减少计算需求 , 且不附带大量的精确度损失 。 例如 , 在小规模的测试中发现我们可以降低 95% 的计算 , 但是和通过标准方法获取的精确度依然差 1% 以内 。 」
深度学习网络的基本构建块是人工神经元 。 尽管在 1950 年代就被作为生物大脑神经元的模型 , 人工神经元还仅仅是把输入数据转化为输出结果的数学函数和方程式 。
在机器学习中 , 所有神经元都有相同的初始状态 , 就像白纸一样 , 它们会随着训练拥有各自的特定功能 。 在训练中 , 神经网络「看到」了大量数据 , 每个神经元都会成为识别数据中特定模式的专用结构 。 在最底层 , 神经元执行简单的任务 。 例如在图像识别应用中 , 底层神经元或许用于识别亮/暗 , 或是物体的边缘 。 来自这些神经元的输出会被传递到网络中下一层的神经元那里 , 经受其他模式的识别和处理 。 仅有几层的神经网络即可识别面部、猫狗、交通指示牌和校车等概念 。
Shrivastava 说:「向神经网络层级添加更多的神经元能扩展其表现性能 , 而我们希望神经网络没有大小上限 , 据报道谷歌正在尝试训练一个包含 1370 亿神经元的模型 。 」相比之下 , 对于训练和部署这样的神经网络可能会有计算力的限制 。
他说:「如今使用的大部分机器学习算法都开发于 30 至 50 年前 , 设计时并未考虑计算复杂性 。 但有了大数据之后 , 在资源上有了基本的限制 , 比如计算周期、能耗和存储 。 我们实验室旨在解决这些限制 。 」
Spring 表示 , 大规模的深度网络中 , 哈希法将会极大地节省计算量和能耗 。
他说:「节能随着规模而增加是由于我们利用了大数据之中的稀疏性 。 例如 , 我们知道一个深度网络有 10 亿个神经元 。 对于任何给定的输入 , 比如一只狗的图片 , 只有其中的几个会变兴奋 。 按照数据用语 , 我们将其称为稀疏性 , 而正是由于稀疏性 , 我们的方法将在网络变大之时节能更多 。 因此 , 当我们展示了 1000 个神经元的 95% 的节能时 , 数学表明我们可以为 10 亿个神经元实现超过 99% 的节能 。 」