2016年10月18日, 世界人工智能大会技术论坛,特设“新智元智库院长圆桌会议”,重量级研究院院长 7 剑下天山,汇集了中国人工智能产学研三界最豪华院长阵容:美团技术学院院长刘江担任主持人,微软亚洲研究院常务副院长芮勇、360人工智能研究院院长颜水成、北京理工大学计算机学院副院长黄华、联想集团副总裁黄莹、Intel 中国研究院院长宋继强、新华网融媒体未来研究院院长杨溟联袂出席。 【新智元导读】试试在Google搜索框里键入“what is machine learning?”,你将打开一个各种评论文章、学术研究的潘多拉之盒。本文的目的正是理清“机器学习”这一概念,彻底搞懂机器学习。
本文的目标是为机器学习(ML)提出一个合适的工作定义,此外,对机器学习的基本原则、让机器进行“思考”的挑战和局限、归由“深度学习”(机器学习的“附属学科”)处理的一些问题,以及开发机器学习应用程序的关键等问题作一个简明的概要。
本文由以下几个部分组成:
我们把所有这些问题和资源放到一起,不管你感兴趣的是哪个方面都可以在本文中一窥究竟——你可以直接跳至感兴趣的部分,也可按顺序阅读全文。首先,我们为机器学习作了如下定义:
什么是机器学习?
“机器学习是以观察和真实世界交互的形式提供给计算机数据和信息,让计算机去学习,自主地随时间推进而进步,并如人类一般行动的科学。”
正如该领域的诸多研究者所描述的,以上定义包含了机器学习的终极目标。本文的目的是为具备商业头脑的读者诸君从专家角度提供一个机器学习的定义。参考文献以及相关访谈列在文末以供读者进一步阅读。
我们如何为机器学习下定义?
关于机器学习的定义,如任何其它概念一般,向不同人士提问,你会得到不同的回答。我们从互联网上可靠的来源中搜集了以下5种定义:
我们把这些定义发给了我们采访过的专家们,让他们回复他们喜欢的定义,或提出他们自己对机器学习的定义。本文开头给出的定义则反映了这些回答中普遍提到的要点。以下是部分专家回复的答案:
Dr.Yoshua Bengio, Université de Montréal:
机器学习的定义不可有否定的词句(上述的2和3)。下面是我的定义:
机器学习研究是人工智能研究的一部分,它的意图是通过提供数据、观察、以及和现实世界的交互让电脑获取知识。获得了知识的电脑能正确推断新情况。
Dr.Danko Nikolic, Max-Planck Institute:
(我修改一下上述第2条):“机器学习是让计算机在不需要特定程序的情况下行动的科学,但得让他们自主学会一些诡计。”
Dr.Roman Yampolskiy, University of Louisville:
机器学习是让电脑如同人一样学习,甚至学的更好。
Dr.Emily Fox, University of Washington:
我最喜欢的是定义5。
机器学习的基本概念
机器学习算法的种类有很多,每天都有无数算法被公开,这些算法主要根据两个要素分类:学习风格(例如:监督学习、无监督学习、半监督学习),以及形式或功能上的相似之处(例如:分类、回归、决策树、聚类、深度学习,等等)。不管何种学习风格或功能,所有机器学习算法都包含如下概念:
(图源:Dr. Pedro Domingo, University ofWashington)
机器学习算法的基本目标是在训练样本之外进行归纳,也就是说,成功解释它从未“见”过的数据。
机器学习模型的可视化呈现
概念和要点最多能帮助人理解。当提问“什么是机器学习?”时,人们往往想了解的是机器学习是什么,以及它能做什么。下面是一些机器学习模型的可视化呈现,可点击图片下方的链接了解更多信息。
决策树模型
高斯混合模型
Dropout 神经网络
Mergingchrominance and luminance using Convolutional Neural Networks
如何让机器学习?
让机器进行学习的方法有许多,从使用基本决策树到人工神经网络层级的聚类(后者已经让位于深度学习),使用哪种方法取决于你的任务类型、数据形式和数据量。
虽然人们强调选择最好的学习算法的重要性,研究者们发现的最有趣的一些问题却不是来源于现有的机器学习算法的执行标准。多数时候这是训练数据的问题,但这个问题即使在机器学习的全新领域也会出现。
应用上的研究能为该领域带来进步,原因有两点:1. 能发现现有方法的局限;2. 研究者和开发者与该领域的专家共同合作能提升系统性能。
有时候这些进步是“偶然”发生的。例如,考虑模型整体,或者把许多学习算法结合起来以提高准确性。参加2009年Netflix Price竞赛的团队发现他们在把自己队伍的算法和其它队伍的算法结合起来时,能得到更优的推荐算法(阅读Netflix博客了解更多)。
需要指出的是,在商业化的应用里,机器学习不仅是自动化,这是个常常被误解的概念。如果你这样想,你就可能错失机器可以提出的有价值的见解,以及随之而来的机会。会学习的机器对人类有用是因为他们在大数据(或其它数据)中能更快地发现或突出可能被人类忽视的模式。机器学习是一种能提高人解决问题的能力的工具,能对许多问题产生影响,从辅助诊断疾病到提出全球气候变化的解决方案。
机器学习的挑战和局限
“机器学习无法从无中生有…它能做的只是由少变多。”——Dr. Pedro Domingo
机器学习的两大问题是过拟合(模型过度适应训练数据,而非归纳新数据,或变异,也就是在训练新数据时学习随机事件)和维度(包含更多特征的算法会在更高/更多样的维度中运行,使得理解数据更困难)。数据集太大有时候也是个问题。
机器学习新手最普遍的错误是以为数据训练测试成功了就是整个的成功。Domingo强调了测试模型时预留出一些数据集的重要性,在整体数据集测试后只能使用预留的数据去测试所选择的模型。
当一种学习算法(例如learner)不管用时,通常情况下提供给机器更多数据就能解决,这是近些年来在机器学习新手中广泛流传的做法;然而,这又会导致可扩展性的问题,就是我们有足够的数据,但没有足够的时间去学习那些数据。
机器学习的目的既不是自身的终结也不是解决方法。试图用它作为万能解决方法,即“BLANK”,只会是无用功;反之,带着明确的问题或是目的来运作会是更好的办法。
深度学习和神经网络的发展
深度学习包含为优化多重层级的抽象层中学习数据的呈现进行的机器算法的学习和设计(布置计算机系统的方式)。最近DeepMind,Facebook,以及其它机构强调了深度学习是机器学习的未来的“前沿”。
国际机器学习大会(ICML)被广泛认为是机器学习领域最重要的会议,本年度的会议于6月份在美国纽约举行,它让来自世界各地的研究者聚到一起讨论深度学习的最新挑战:
2. 基于模拟的学习和对现实世界的可转移性。
过去十年里深度学习系统在一些领域取得了不错的成就,例如物体探测和识别,文本-语音转换,信息检索等等。最新的研究关注发展基于有效数据的机器学习,也就是学习效率更高的深度学习系统,所需数据和时间更少,表现却毫不逊色,应用于前沿领域例如个性化医疗,机器增强学习,情感分析,等等。
机器学习应用的几个关键
下面是从我们的系列采访以及本文末的参考文献中选登的机器学习应用上的最佳的一些实践和原则。希望这些能帮助读者理清机器学习如何应用,帮助公司或研究者在启动一个机器学习相关的项目时避免常见错误。
参考文献