修剪AI网络而不会丢失性能

时间:2019-03-06 18:37:47 阅读:6次

  在2017年NIPS大会的聚焦论文中,我的团队和我提出了一个人工智能优化框架,我们称之为 Net-Trim ,这是一个逐层凸起的方案来修剪预训练的深度神经网络。

  深度学习已成为许多AI应用程序的首选方法,从图像识别到语言翻译。由于算法和计算的进步,我们现在能够训练更大更深的神经网络,从而提高AI精度。但是,由于功耗和内存使用量的增加,在具有有限硬件资源和功率限制的嵌入式设备上部署此类模型是不切实际的。

  克服这一挑战的一种实用方法是在不牺牲准确性的情况下降低模型复杂性。该解决方案涉及删除潜在的冗余权重,以使网络更稀疏。众所周知的L1正则化方法已被广泛用于有效发现浅网络的稀疏解,如线性和逻辑回归。然而,当应用于更深的网络时,这些技术没有显示任何好处,部分原因是与深度网络相关的损失函数是高度非凸的,并且优化算法无法找到既稀疏又提供高精度的良好解决方案。

  在重新训练之前和之后与隐藏层相关的加权邻接矩阵的图。由于整体网络响应的变化微不足道,Net-Trim能够修剪神经元之间的链接超过93个,并为该问题带来显着的模型缩减。

  由前IBM研究员,现任乔治亚州立大学助理教授,乔治亚理工学院Afshin Abdi和乔治亚理工学院副教授贾斯汀罗姆伯格的Alireza Aghasi组成的团队,我本人开始着手解决这一挑战。我们的方法在“Net-Trim:具有性能保证的深度神经网络的凸修剪”一文中进行了描述。当Net-trim应用于预先训练的网络时,它会找到每层保留输出的最稀疏权重集。响应与初始培训一致。使用标准L1弛豫进行稀疏性,以及整流器线性单元激活是分段线性的事实,允许我们通过求解凸程序来执行此搜索。

  更具体地说,训练数据是通过学习型网络逐层传输的,并且在每一层内,我们提出了一种促进权重稀疏性的优化方案,同时强制了最终响应与预先训练的网络响应之间的一致性。从某种意义上说,如果我们将每个层对传输数据的响应视为检查点,Net-Trim会确保检查点保持大致相同,同时发现检查点之间的路径更简单。 Net-Trim的一个有利优势是可以通过任何标准凸解算器处理凸形公式。

  我们的方法与该领域最近的工作方式大不相同,包括:首先,我们的方法在数学上是可证明的。我们已经证明Net-Trim修剪前后的网络保持了类似的性能。此外,与最近基于阈值处理的AI技术相比,Net-Trim在初始修剪后不需要多个其他耗时的再训练步骤。此外,由于我们的方法的后处理性质,Net-Trim可以方便地与神经网络中最先进的学习技术相结合。无论用于训练模型的原始过程如何,Net-Trim都可视为额外的后处理步骤,以减小模型尺寸并进一步提高模型的稳定性和预测精度。

  重要的是要注意,除了使计算易于处理之外,Net-Trim的凸形式还允许我们从重新训练的模型到初始模型的距离得出理论保证,并建立关于数量的样本复杂性参数。重新训练可能稀疏层所需的随机样本。 Net-Trim是第一个具有此类性能保证的修剪方案。通过添加额外的惩罚项或引入额外的凸约束,也可以很容易地修改和适应权重的其他结构约束。

  使用MNIST数据,我们的方法可以修剪超过95%的权重,而不会损失分类准确性。另一方面,使用更难的数据集SVHN可以移除90%的权重。在比较模型大小时,Net-Trim可以将模型大小从100MB缩小到仅5MB,这使得在移动设备上部署非常高效。

有趣的是,人类大脑的发育遵循类似的范例,其中“修剪”突触是学习过程中不可或缺的组成部分。着名神经学家Peter Richard Huttenlocher(1931-2013)通过开创性的研究表明,在婴儿出生的头几个月,人类大脑皮层中形成了数十亿个突触。然而,在随后的几年中,许多这些突触被消除,因为很少使用的连接被修剪掉,同时保持功能上重要的连接。

  保存

  保存

  保存

  保存

  保存

修剪AI网络而不会丢失性能所属专题:AI专题 《修剪AI网络而不会丢失性能》链接:http://www.zhouchuanxiong.net/812

修剪AI网络而不会丢失性能相关文章