微软John Langford:机器学习解决哪些世界难题?

John Langford , 微软机器学习研究员,也是 Vowpal Wabbit 的主要研发人员。这次,他在Quora上谈了自己对机器学习、Vowpal Wabbit 以及人工智能等问题的看法。除了回答一些热门、实用的问题,他也提供了非常丰富的专业研究信息和文章资料,是一篇值得收藏的对话类文章。



关于机器学习



未来几年,机器学习会解决那些重大世界难题?



未来几年,我认为机器学习不会解决什么重要世界难题。



不过,我确实期望它能为各个公司解决越来越多的问题,通过这种积累让世界在点点滴滴方面变得更好一些,研发出解决未来世界难题所需的工具。人们将能够更方便地获取他们想要的新闻消息,人和电脑之间的界面将运转得更好,更多的日常任务将由机器自动实施。



在更远的未来(10 至 30 年之后),我们可以预期机器学习在这些领域做出贡献:



1. 自动驾驶。自动驾驶怎么会解决掉世界难题呢?当交通运输变成一种公用事业而不再是一种私人财产时,汽车会变少,这些汽车会产生更少的污染,交通事故也会大大减少。还有个额外的好处,那就是大街上再也不会总是塞满停泊的汽车了。



2. 大众的个性化教育。在科幻小说《钻石时代》里,许多人都使用同一本书来进行自我教育。未来教育的细节可能和小说不一样,但我认为,没有什么理由否认,机器学习技术将有效地促进这种个性化教育的到来。在未来世界,每个人都可以以自己的步调来学习,而机器学习将使这成为可能。我们需要机器学习,特别是在早期教育阶段,因为在这个阶段互动是关键。



3. 医疗保健的合理化和个性化。美国建立了一个反常的医疗系统,在这个系统中,最昂贵的解决方案总是能赢得竞争而拿到钱,这就是美国的医疗保健比其他国家贵两倍的原因。我预期,医疗革命将从使用 Fitbit 智能手环和微软智能手表等个人装备的个性化医疗开始,因为这些领域的风险更低,也因为这些领域尚未被做事情的旧习惯所牢固占领。



总之,机器学习在下述情境中是一个优秀、合理的工具:



1. 当正确答案并不显而易见的时候。



2. 当相关背景已被数字化的时候。



3. 当相同的决策将被重复多次的时候。



然而,事情也不只有好的一面。许多相对惯例化的工作将消失,社会必须很好的应对这一问题,才能维持一个良好的公民社会。社会作为一个整体可能将会更富裕。但这并不等于说,社会将会运转良好。



机器学习里有多大比例是计算机科学,又有多大比例是统计学呢?



这要看情况。当样本不太多时,基本上是统计学问题。当样例数量极大,而你又想在一个正在运行的系统中部署它时,计算机科学方面的问题常常就变成了支配性的,即便统计学方面始终是相关的。



不过,机器学习还有一些要素既不属于传统统计学也不属于计算机科学。想一想优化和表征理论(Optimization and representation theory ),它们就不太属于这两者。



你觉得哪家实验室的机器学习研究最有趣呢?



哇,在机器学习领域,业界和学界中,有许多人正在做着各种有趣的事。让我先从自家说起,再介绍些其他研究:



1. 显然,我所在的微软纽约研究院的实验室在做一些非常吸引我的工作,这些工作既有对系统的研究,也有硬核理论(《 Contextual-MDPs for PAC-Reinforcement Learning with Rich Observations》)的研究。







2. 其他的微软研究院也在做有意思的事,比如解决图像识别问题(《 Deep Residual Learning for Image Recognition 》或 GPU 并行问题:《1-Bit Stochastic Gradient Descent and Application to Data-Parallel Distributed Training of Speech DNNs 》)



3. 谷歌至少有两个实验室做出了有趣的研究—— 伦敦的 Deepmind 在研究通关雅达利电子游戏(《Human-level control through deep reinforcement learning 》)和围棋。 位于硅谷的另一家公司则专注于高级表征,例如《Grammar as a Foreign Language》这篇论文。







4. Fac ebook 纽约实验室的人在研究记忆和学习之间的互操作( interoperation)(《Reading Childrens Books with Explicit Memory Representations 》 )



5. 加州伯克利大学的 AMP lab 实验室正在做机器学习/数据/系统方面的研究。



6. 还有很多教授各自在大学里做着有趣的工作。机器学习研究方面,最好的大学可能仍然是伯克利/卡耐基梅隆/斯坦福,不过,从事有趣工作的教授则分布在几十所大学里。那些考虑读研究生的人真的应该至少像了解大学一样去了解自己未来的导师。如今要了解这一点要容易得多了,因为论文发表的信息更容易获取了。



7. 类似地,还有许多其他产业实验室在做有趣的工作。



去纽约今年夏天的机器学习国际会议看,感知一下当下的研究方向吧。我写了一些博客来讨论那些令我感兴趣的论文。





深度学习会取代所有其他类型的机器学习吗?



不,但它可能会成为许多种机器学习的一部分。深度学习如今是一个很火的话题。深度学习办法为许多对大量样本进行泛化问题(比如,很好地预测同一个问题的新例子)提供了有效回答,在我看来,这是合乎逻辑的结果,因为由线性表征得到的优化假设,充其量只是为实践提供方便的错误。不过,仍然有许多领域似乎是深度学习不能胜任的:



1. 深度学习尚未在那些训练样本较少的领域展现出成功迹象。在样本较少的情况下,那些通过其他信息来源而设计的技术仍占据领先。(当然,深度学习将来有可能会生成这些其他信息源,但这并没有消除给定较少信息源时的学习需求。)



2. 没有解决这一需求:通过探索性技术来搜索数据。我遇到过一些深度学习研究者不肯承认这一点,但是,如今有了 Deepmind 的研究结果后,他们安静多了。



3. 深度学习在科学探索方面常常是无能为力的。如果你有一个关于世界如何运行的特定假设,那么(比方说)采用一个图模型并测验其统计有效性将是更可行的。



4. 没有解决围绕部署机器学习的系统问题,在某种意义上,它(经常)让事情变得更麻烦了。



对于上面的许多难题,深度学习可能构成解决方案中的一部分,但很明显,深度学习不是一个完整的解决方案,无论是在以下哪种意义上:无需借助深度学习,我们就能轻易谈论解决问题,或者用深度学习生成解决方案。例子,请见论文:《State of the Art Control of Atari Games Using Shallow Reinforcement Learning》



机器学习中,有多少与理论有关,又有多少事关实践经验?



以我的经验看,有着一半理论一半实践经验背景的人比那些只关注理论或只关注实践的人要强很多。只注重实践的研究者有时候会犯一些很愚蠢的错误,比如,分不清训练集和测试集或者采用错误的方法去解决问题。只注重理论的人也许理解优秀算法的结构,但不能有效运用,或者不能从很多可能的方法中选出合适的那个。运用方程解决问题和证明方程是两种完全不同的能力,这在机器学习中尤其的正确,在机器学习领域,证明方程有效经常并不意味着可以用它来解决问题。理论和实践最理想的混合状态是很难固定的, 而且(我很肯定)这取决于你正尝试解决的应用问题。



当前哪种机器学习框架(Tensor Flow, MLlib, Torch 等等)更让人印象深刻?



机器学习系统不同,目标也大不同,所以,应该选择一个被低估的,而不是我能舒适驾驭的。我想至少提几个突出的框架。