GoogleAI提出神经网络模型优化技术MorphNet让算力消耗更小

想要调整你的神经网络来完成特定任务?这件事并没有想象中那么简单。深度神经网络(DNN)是块好砖,不过想要搬动它,需要耗费的计算资源和时间成本可能非常昂贵。现在,  Google AI放出了MorphNet。他们用流行的图像分类神经网络Inception V2对其进行测试之后发现,在不牺牲精度的情况下,神经网络变得更快更小,算力消耗还减少了!


 MorphNet是什么


MorphNet是一种神经网络模型优化( refinement)技术,走的是利用现有架构,针对特定任务优化的路线。


也就是说这是一个迁移学习问题。迁移学习的难点在于找出不变量,模型需要处理许多与此前训练的任务目标相近,但又不完全一样的任务,这会使模型性能大打折扣甚至崩溃。


而MorphNet的成功之处在于,只要将针对类似问题构建的神经网络作为输入,就能为新任务创造更小、更快、更合身的新架构。


GoogleAI提出神经网络模型优化技术MorphNet让算力消耗更小_人工智能_人脸识别


MorphNet通过循环收缩和扩展两个阶段来优化神经网络。


 收缩阶段


在收缩阶段,MorphNet会识别出低效神经元,并运用稀疏正则化器来修剪它们。


需要说明的是MorphNet会在考虑目标资源的情况下来计算一个神经元的损失,因此在训练过程之中,优化器能够意识到资源损失,从而认识到哪些神经元是高效的,哪些又是可以被移除的。


有些不明白?那么来看看下面这个例子,看MorphNet是如何计算神经网络的计算成本(如FLOPs,即每秒浮点运算次数)的:


假设一个表示为矩阵乘法的神经网络层,该层具有 2 个输入(Xn),6 个权重(a, b, …, f)以及 3 个输出(Yn;神经元)。也就是说评估这一层需要 6 次乘法。


GoogleAI提出神经网络模型优化技术MorphNet让算力消耗更小_人工智能_人脸识别


MorphNet将乘法数视作输入数和输出数的乘积。在左侧的示例当中,虽然有两个权重为0,进行评估时仍然需要执行所有的乘法。但中间的示例显示了结构的稀疏性,MorphNet能够识别它的输出数为 2,并且该层的乘法数从 6 减少到了4。按照这个想法,MorphNet可以确定网络中每一个神经元的增量成本,以产生右侧这样更为有效的模型。


 扩展阶段


在扩展阶段,MorphNet使用宽度乘数来均匀地扩展所有层的大小。


举个例子,如果扩展50%,那么对于低效层来说,神经元从 100 个收缩到 10 个之后,只会重新扩展到15个;而对于重要层来说,神经元只会从 100 个收缩到 80 个,重新扩展后则可能达到 120 个,并且获得更多可支配的资源。


也就是说,MorphNet的最终效果是将计算资源从网络中效率低的部分重新分配到效率高的部分。


GoogleAI提出神经网络模型优化技术MorphNet让算力消耗更小_人工智能_人脸识别

△ MorphNet优化AI模型


 效果怎么样


Google AI团队用MorphNet对Inception V2网络模型进行了训练。


GoogleAI提出神经网络模型优化技术MorphNet让算力消耗更小_人工智能_人脸识别

△ 图片截自论文MorphNet论文


基线方法是使用宽度乘数,通过均匀缩小每个卷积的输出数量来权衡精度和算力消耗(红色)。


MorphNet方法则直接以算力消耗为目标,在收缩模型时生成更好的权衡曲线(蓝色)。


在同等精度之下,MorphNet方法将算力消耗降低了11%到15%。


在对Inception V2的优化上MorphNet表现出色,对于其他的网络模型,MorphNet也同样好用。


GoogleAI提出神经网络模型优化技术MorphNet让算力消耗更小_人工智能_人脸识别

△ 图片截自论文MorphNet论文


既成功压缩了模型尺寸/ FLOPs,在质量上又几乎没有损失,果然Google出品,必属精品。


这么好用的东西,Google已经自己用起来了。Google AI团队表示,MorphNet已应用于Google多个生产规模的图像处理模型。


MorphNet现已开源。


GitHub地址:https://github.com/google-research/morph-net


20
183
0
23

相关资讯

  1. 1、连接受限win8怎么办?win8系统网络连接受限解决方法2372
  2. 2、联想s410如何进入bios设置u盘启动?3064
  3. 3、大电竞APP怎么添加收货地址?大电竞APP添加收货地址的方法2372
  4. 4、百思不得姐如何取消关注?百思不得姐取消关注的方法3035
  5. 5、Win10版本号怎么看?四种方法帮你了解Win10版本号2160
  6. 6、福昕PDF阅读器的安装使用教程福昕PDF阅读器怎么安装使用4020
  7. 7、Win10日历怎么放在桌面?938
  8. 8、如何使用philmappphilmapp的使用方法1039
  9. 9、FlashFXP连接FTP服务器很慢怎么解决?1699
  10. 10、爱奇艺怎么删除观看历史记录?历史记录删除方法分享512
全部评论(0)
我也有话说
0
收藏
点赞
顶部