从NIPS2014大会看机器学习新趋势
微软杰出科学家 John
Platt
本文译自:Machine Learning Trends fromNIPS
2014
编者按:John
Platt是微软的杰出科学家,也是微软在机器学习领域的领军人物。加入微软17年,一直在机器学习领域埋首耕耘。Platt也是SVM最快的加速算法SMO的提出者。NIPS大会是机器学习领域两大重要学习会议之一,另外一个是ICML。接下来的文章中Platt将和大家分享他所观察到的领域内令人激动的三大趋势。
深度学习和神经网络研究继续保持快速增长的势头
深度学习是通过数据自动构建深度模型的过程。之所以称之为“深度”是因为这些模型的计算需要经过多个步骤,而不是仅仅通过一两个简单步骤就可以解决的。深度学习一般都是利用神经网络,通常都使用矩阵乘法和非线性构建建立它们的功能模型来完成的。
自2011年以来,深度学习的发展速度变得十分迅速。比如在图像识别方向,深度学习取得了里程碑式的进展,对于图像中物体的识别的错误率以每年40%的比例下降。深度学习在图片方面的运用已不再仅限于图片分类。
但是,目前机器学习面临的一大挑战是对强耦合输出的整体估计。比如说,当你在翻译一句话的时候,你并不会一个词一个词地翻译,而是会从整体的句子结构出发。
之前,当机器学习算法估算出耦合输出时,一般会再次进行显式的推理计算,这样就会导致运行速度十分缓慢。最近出现了一些能让神经网络进行隐式推理计算的研究成果,实在令人激动。在这次的NIPS大会中,IlyaSutskever演示了如何用深度LSTM模型进行机器翻译,结果十分令人满意,可以与目前最先进的机器翻译系统媲美。Ilya的系统相对来说更综合一些,它可以将输入和输出的顺序进行对应。此外,大会上研究者们还展示了一些其它对跨时间、空间进行耦合输出的研究。
JasonWeston就在大会上展示了一篇论文,介绍了如何利用“内容寻址(content-addressable)”记忆来进行智能问答。神经图灵机(Neural
Turing Machine)也有类似的工作原理。
如今深度学习备受关注,研究员们也在努力探索它背后的奥秘。Ba和Caruana的一篇NIPS论文中解释道,一旦深度网络系统开发完备后,浅网络便可以根据深度网络的输出来学习相应功能。浅网络无法直接根据数据进行功能学习,这也意味着深度学习是关键所在。
很多人(包括我们)在相关任务中都采用深神经网络的中间层作为特征探测器。此次NIPS大会有一个很精彩的演讲,演讲者做了一系列各种各样的实验来研究这种模式。他们培养了一组有500个视觉类别的深度网络,保持前N层不变,然后再培训的一组不同的500个类别
。他们发现,如果使用中间层再培训上层,你会由于次优的训练而失去准确度。而如果你使用顶层,你则会由于功能过于具体而失去准确度。微调一下都会所有东西都会失去一些准确度。知道这一点是很有用的。
大规模的学习将变得更加可行
大规模的训练(涉及各种模型)会持续成为一个很有趣的研究分支。虽然很多人都没有1TB以上的训练集,但是使用大规模的数据模型往往是非常有商业价值的。
机器学习的训练是参数优化的一种形式:一个机器学习模型可以被看作一组具有被调节到最佳状态旋钮的训练集。
大规模的训练就会变成大规模的最优化。尤里涅斯捷罗夫(Yurii
Nesterov) ,著名优化专家,在一个有意思的演讲中谈及了关于如何解决某些机器学习中参数的数量出现对数的优化问题。
当机器训练在多台计算机分别进行时,要尽量减少在计算机之间的通信量是十分具有挑战性的一件事。训练时间通常是由通信时间决定的。
这次大会上还有一个很不错的演讲,介绍了通过分布特征进行筛选的方法,所有节点之间只需要两个阶段的通信模式。
在我看来其前景十分可观。
对机器学习实践中限制因素的研究
我在这次NIPS大会上发现的另一个令人惊喜的趋势是,如今越来越多的算法和理论研究者开始研究解决机器学习实践者在实践过程中遇到的问题。
在过去的几年里,对抗性训练(adversarial
training)一直是让人饶有兴趣的研究主题。在对抗训练中,研究人员不会试图通过一个概率分布来为这个世界建模,而是扮演一个试图让算法表现不佳的反方。这样研究人员便可以通过最佳状态的反方的数据训练来衡量自己的模型。
很多对抗性的训练工作都相当有趣。在此次NIPS
大会上,我看到了一些体现了对抗性训练实用性的展示。对抗性的训练的本质便是提供有可能出现的最坏情况。如果你创建了一个适用于“简单数据(easydata)”
的算法,通常情况下你不会得到最坏的情况。但是,在大会主会场上展示的一篇论文却提到,你可以有你的蛋糕(在简单数据上表现良好)并且吃掉它(却也能得到最坏的情况)。此外,德鲁·巴格内尔(Drew
Bagnell)在强化学习研讨会(Reinforcement Learning
workshops)的演讲中提到要学会在现实世界中的控制策略,对抗性学习是必须的(因为你应该把你自己的错误决定如同反方因素来对待)。
在一个关于软件工程的机器学习研讨会上,有来自LinkedIn
,Microsoft,
Netflix,和Facebook的演讲者,分享他们是如何将机器学习运用于产品开发的经历。一些来自谷歌的工程师合写了一篇关于机器学习带来的科技债务的犀利论文,我强烈推荐相关领域的人能读一读这篇文章。
------------------------------------------------------------------------------------------
欢迎关注
微软亚洲研究院官方网站:http://www.msra.cn
微软亚洲研究院人人网主页:http://page.renren.com/600674137
微软亚洲研究院微博:http://t.sina.com.cn/msra
微软亚洲研究院微信:搜索“微软研究院”或扫描下方二维码:
从NIPS2014大会看机器学习新趋势的更多相关文章
- 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...
- Web应用架构的新趋势
系统架构:Web应用架构的新趋势---前端和后端分离的一点想法 最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前 ...
- 掌握新变革,解密新趋势|msup第29届MPD软件管理工作坊成功召开
由msup主办的第29届MPD软件管理工作坊于7月9日-7月10日在北京国家会议中心举行,25位一线讲师,近500名软件研发工作者共同探讨软件研发与科技发展趋势. 随着移动互联网的发展,软件开发行业的 ...
- LiveVideoStack Meet|深圳 多媒体开发新趋势
2018年初始,音视频技术生态并不平静,Codec争夺愈加激烈,新一代标准的挑战一浪高过一浪:WebRTC的定版也为打通浏览器.移动端乃至IoT带来了机会:此外AI.区块链技术的兴起,催化着与多媒体领 ...
- Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构
Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 目录 Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 0x00 摘要 0x01 Alink设计原则 0x02 A ...
- 《2016ThoughtWorks技术雷达峰会----雷达新趋势》
雷达新趋势 徐昊,ThoughtWorks中国区CTO 1.Open Source open source 已经从一个简简单单的软件代码组织方式变成一种文化,一种运动.当谈到Open Sour ...
- [转]Web3.0时代,企业知识管理新趋势
[转自http://www.amt.com.cn/html/ManageFront/AMTPoint0/2014/0716/1370.html] Web3.0时代,企业知识管理新趋势 2014-07- ...
- java web框架发展的新趋势--跨界轻型App
“跨界(cross over)在汽车界已然成风,将轿车.SUV.跑车和MPV等多种不同元素融为一体的混搭跨界车型,正在成为汽车设计领域的新趋势.从个人而言,当包容.多元的审美要求和物质要求越来越强烈时 ...
- Baccarat凭什么能成为DeFi后时代火爆新趋势?
在各币种经历涨涨跌跌以后,DeFi后时代已然来临.那么,当前DeFi市场中哪个项目更被市场生态建设者看好呢?毫无疑问,Baccarat会成为最被看好的DeFi项目. Baccarat采用了独特的共识算 ...
随机推荐
- java android环境变量配置
JAVA_HOME 用于jdk配置D:\Program Files\Java\jdk1.8.0_25 path %JAVA_HOME%\bin;;%JAVA_HOME%\jre\bin;;D:\P ...
- 大数据攻城狮之进阶技能-Github的使用
引用百度百科中的介绍: github GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线 ...
- share团队冲刺9
团队冲刺第九天 昨天:完善代码 今天:修改代码中的问题,提高兼容性 问题:无
- 吴裕雄--天生自然ShellX学习笔记:Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一 ...
- UML-操作契约总结
1.操作契约属于什么? 属于用例模型 如图: 2.操作契约在那个阶段引入? 在细化阶段,并非初始阶段. 3.哪些需要写操作契约? 1).最复杂的系统操作 2).最微妙的系统操作
- java截取字符串并拼接
一.substirng public static void main(String[] args) { String sendContent = "请查收:www.baidu.com&qu ...
- 洛谷 P1258 小车问题
题目传送门 解题思路: 首先,每个人都要做一次车,而且两个人要同时到达,这样才能使总时间最短. 那么,我们设起点为A,终点为B,小车先带甲开到C点后甲下车走到B点,同时小车掉头与已经走到D点的乙相向而 ...
- c++语法(1)
#include<iostream> #include<windows.h> using namespace std; class Parents { public: ; // ...
- Jmeter学习前提:Jmeter安装
一.Jmeter下载 1. 前提:已经安装 jdk8+ 1.1 JDK下载 a. 进入jdk8+下载地址:https://www.oracle.com/technetwork/java/javase/ ...
- django项目班笔记-注册功能
目录 一.用户模型设计 1.用户表字段分析 2.用户模式设计 二.执行迁移 三.图形验证码 四.将图形验证加入到前端文件中 验证码生成源码:https://files.cnblogs.com/file ...