IBM发表机器学习瘦身术,让大型深度学习训练模型精简95%,连在手机上都能跑
IBM研究所研究员Nam Nguyen 在2017年NIPS会议发表论文 ,揭露研究中的人工智慧最佳化框架Net-Trim,以分层凸集架构来修剪精简预先训练的深度类神经网路模型,解决大型机器训练模型在嵌入式系统运作资源短缺的问题。
随着技术的发展,从影像辨识到语言翻译,深度学习逐渐成为人工智慧应用程式的首选,而为了增加结果精确度,开发者使用更多的资料以及更多层的深度学习网路,以期得到更好的结果,然而越庞大的训练模型意味着需要更多的运算资源,不过对于运算资源有限的嵌入式系统来说,如果这些庞大的预训练模型无法在上头运行,那也是徒劳。
Nam Nguyen与其团队开发的Net-Trim,能够在不牺牲精确度的情况下降低机器学习训练模型複杂度。其中一个工作便是移除冗赘的权重值,让网路变的稀疏。常见的方法便是使用L1正规法,但是这个方法在深度学习无用武之地,部分原因是因为跟深度学习相关的公式为高度非凸性。
Net-trim能找到每一层网路中最稀疏的一组权重,并维持输出与起始训练的回应值一致。使用L1鬆弛,由于整流器线性单元活化是分段线性的,因此允许透过解决凸程式来搜寻。
训练资料在类神经网路一层一层的往下传递,Net-trim在结果输出与前置预算网路的回应值一致的前提,每一层以最佳化架构提升权重稀疏度。Net-Trim其中一项优点便是能使用凸公式,能够适用各种标准凸优化。
而Net-Trim于其他修剪方法不同之处在于,Net-Trim方式是数学可证的,在学习网路修剪前与修剪后维持相似效率。另外,与其他使用阈值修剪的方法相比,Net-Trim在第一次修剪完后,不需要再花其他多重再训练的步骤。而且受惠于Net-Trim后处理阶段的特性,Net-Trim可以搭配各种最新的类神经网路,再缩小模型大小之余,还能增进模型的稳定度以及预测精准度。
Net-Trim是第一个有效能保证的修剪架构。Net-Trim可以让前置预算可追蹤,凸公式可以推导出再训练的模型与起始模型的距离理论值。Net-Trim使用MNIST资料集,可以无损分类精准度的修剪掉超过95%的资料量,以模型大小相比,100MB可以缩减成5MB,这样的成果非常有利于在行动装置上使用。