Little Explanations #1 -神经网络与模型压缩
来源:互联网 发布:算法的含义 编辑:程序博客网 时间:2024/05/21 03:54
本文为数盟原创译文,转载时请务必注明出处为“数盟社区”,并将原文链接置于文首。
作者:V. Alexander Saulys
前言:这是我对Singular Distillations的技术解释部分的全部内容。我将每年出版一次我对一些论文的解读。我相信,有些是相当复杂的,其他的则需要简单解释。我会将那些令我印象深刻文章向所有对它们好奇的人展示出来。
我们最近很少会直接使用模型了。一个简单的最小二乘线性回归就足够,这种日子一去不复返了。甚至连随机森林或adaboost模型也很难满足。相反,在处理困难问题的时候,集合或组合模型将被使用。
这些集合存在一个问题,它们太大。我个人就训练过占用成百上千M空间的集合体,所以我想Google或Facebook使用的更复杂的模型会占用许多G。在训练时,这通常是好的。毕竟大型的集合体可以在性能强大的电脑上训练,但谈到可用性时,更多问题就来了。用户期望即时结果和大型集合体可以同时进行预测。当试图将其缩小至移动设备上运行时很头疼,对性能有了很多约束。
康奈尔大学的Bucila、Caruana和Niculescu-Mizil试图解决这个问题。他们试图把集合体压缩得更小但仍有能力的模型。为此,他们决定利用一个独特的属性。神经网络倾向于与数据过拟合(为什么会这么做我们择日再讨论)。模型压缩利用更小的网络与结果更大的模型过拟合来进行。
要做到这一点,我们假设我们有一个非常庞大而复杂的小模型。假设其因太大而不适用于日常研究。我们可以将较小的网络与这个更大的模型过拟合。这很简单,但可能没有足够的容器来充分过拟合这个模型。为了弥补,我们需要生成合成数据。
合成数据由几个不同的方式形成。论文本身就包含了几个例子,欢迎阅读,但他们提到的一个重要关键词是Munge。Munge生成新的数据采样与给定的概率分布。这用于连续数据。更多分类数据,利用现有的过度拟合训练数据集和压缩较小的模型已经足够。
这些数据经过训练后,模型的预测也被使用。重要的是不要使用实际的目标值,这将会导致从头训练模型。通过训练预测值,较小的模型将会过拟合大模型的预测,从而压缩它。
这最终会形成100000 x的压缩比。我下面演示的是一个小的模型压缩。
https://gist.github.com/valexandersaulys/0fbab2a04ba4d7ddaabc 【可能需要翻墙】
[ 论文 ] →https://www.cs.cornell.edu/~caruana/compression.kdd06.pdf
- Little Explanations #1 -神经网络与模型压缩
- Little Explanations#2-为递归神经网络编码文本
- 深度神经网络模型压缩
- 深度神经网络模型压缩
- 阅读笔记:深度神经网络模型压缩与加速
- VALSE 2017 | 神经网络模型压缩优化方法
- DSD训练法—压缩神经网络模型
- 神经网络模型选择与训练
- 人工神经网络模型与分类
- 神经网络模型的压缩及SqueezeNet的应用测试
- 当前深度神经网络模型压缩和加速方法速览
- 当前深度神经网络模型压缩和加速方法速览
- 神经网络模型算法与生物神经网络的最新联系
- 神经网络模型算法与生物神经网络的最新联系
- 机器学习与神经网络(一):人工神经网络模型简介
- BP神经网络模型与学习算法
- BP神经网络模型与学习算法
- BP神经网络模型与学习算法
- 玩转深度学习法的13家顶尖公司
- java基础之----类与对象
- 典型的JVM垃圾回收算法
- 上下班的判断(不同季度不同时间段)
- 记第一次实习面试经历
- Little Explanations #1 -神经网络与模型压缩
- iOS动效学习-推荐资料(最全)
- String to Integer (atoi)(java)
- Little Explanations#2-为递归神经网络编码文本
- 2、变量和其作用域
- Qt5 HTTP GET方法
- [php学习一]环境的搭建
- HBase最佳实践-列族设计优化
- Samba使用大全(绝对经典)