作为 AI 大神,贾扬清让人印象深刻的可能是他写的AI框架Caffe ,那已经是六年前的事了。经过多年的沉淀,成为“阿里新人”的他,对人工智能又有何看法?最近,贾扬清在阿里内部分享了他的思考与洞察,欢迎共同探讨、交流。
贾扬清,浙江上虞人,毕业于清华大学自动化系,在加州大学 Berkeley 分校获得计算机博士学位,目前担任阿里计算平台掌门人。
最近几年深度学习的流行,大家一般认为是从2012年 AlexNet 在图像识别领域的成功作为一个里程碑。AlexNet 提升了整个业界对机器学习的接受程度:以前很多机器学习算法都处在“差不多能做 demo ”的程度,但是 AlexNet 的效果跨过了很多应用的门槛,造成了应用领域井喷式的兴趣。
当然,任何事情都不是一蹴而就的,在2012年以前,很多成功的因素已经开始逐渐显现:2009年的 ImageNet 数据库奠定了大量标注数据的基础;2010年开始,IDSIA 的 Dan Ciresan 首次用 GPGPU 进行物体识别;2011年,北京的 ICDAR 大会上,神经网络在中文离线识别上大放异彩。就算是 AlexNet 中用到的ReLU层,早在2001年神经科学的文献中就有提及过。所以,一定程度上说,神经网络的成功也是一个水到渠成的过程。2012年以后的事情,大家可以读到很多,这里就不再赘述。
成功与局限
在看待神经网络成功的同时,我们也要进一步深挖其背后的理论背景和工程背景,为什么神经网络和深度学习在几十年前失败,但是现在却成功了?它成功的原因是什么?而它的局限又在什么地方?我们这里只能片面地说几个重点:
大量的数据,比如说移动互联网的兴起,以及 AWS 这样低成本获得标注数据的平台,使机器学习算法得以打破数据的限制;由于 GPGPU 等高性能运算的兴起,又使得我们可以在可以控制的时间内(以天为单位甚至更短)进行 exaflop 级别的计算,从而使得训练复杂网络变得可能。要注意的是,高性能计算并不仅限于 GPU ,在 CPU 上的大量向量化计算,分布式计算中的 MPI 抽象,这些都和60年代就开始兴起的 HPC 领域的研究成果密不可分。
但是,我们也要看到深度学习的局限性。今天,很多深度学习的算法还是在感知这个层面上形成了突破,可以从语音、图像,这些非结构化的数据中进行识别的工作。在面对更加结构化的问题的时候,简单地套用深度学习算法可能并不能达到很好的效果。有的同学可能会问为什么 AlphaGo 和 Starcraft 这样的算法可以成功, 一方面,深度学习解决了感知的问题,另一方面,我们也要看到还有很多传统的非深度学习算法,比如说 Q-learning 和其他增强学习的算法,一起支撑起了整个系统。而且,在数据量非常小的时候,深度学习的复杂网络往往无法取得很好的效果,但是很多领域,特别是类似医疗这样的领域,数据是非常难获得的,这可能是接下去的一个很有意义的科研方向。
接下去,深度学习或者更广泛地说,AI 这个方向会怎么走?我个人的感觉,虽然大家前几年一直关注AI框架,但是近年来框架的同质化说明了它不再是一个需要花大精力解决的问题,TensorFlow 这样的框架在工业界的广泛应用,以及各种框架利用 Python 在建模领域的优秀表现,已经可以帮助我们解决很多以前需要自己编程实现的问题,因此,作为 AI 工程师,我们应该跳出框架的桎梏,往更广泛的领域寻找价值。
挑战
往上走,我们会遇到产品和科研的很多新挑战,比如说:
机会
往下走,我们会发现传统的系统、体系结构等知识,计算机软件工程的实践,会给 AI 带来很多新的机会,比如说:
人工智能是一个日新月异的领域,我们有一个笑话说,2012年的科研成果,现在说起来都已经是上古时代的故事了。快速的迭代带来的大量机遇和挑战是非常令人兴奋的,无论是有经验的研究者还是新学 AI 的工程师,在当今云化,智能化的年代,如果能快速学习并刷新算法和工程的各种挑战,就可以通过算法创新引领并且赋能社会各个领域。这方面,人工智能领域开源开放的各种代码,科研文章和平台给大家创造了比以前更容易的入门门槛,机遇都掌握在我们自己手中。