很多关心研发的人会有这样的疑问。
去年,讲到人工智能时人们会谈到它具有“三要素”:算法、算力和数据;从今年开始,把场景加入进来,开始用“四元分析”的方式来理解人工智能。加入场景非常重要的原因是人工智能终究是一种技术,人工智能必须要落实到精准的场景,才有它实实在在的价值。
人工智能的概念实在太大了,现在深度学习最热,学术界里研究深度学习会做些什么事情呢?
一般情况下,学术界把问题设立好后,去思考研究一些新的算法,然后在具体的问题上,力图在精度上达到极限。从深度学习上设计更好的模型结构方面,过去这些年,像最初的Hinton用最基本的网络结构,到谷歌的GoogleNet,微软的残差网络(ResNet),可以看到基础网络结构是推动学术界往前走的核心。但是除了基本的网络结构之外,更大的网络、更深的网络以及不同的网络模型的融合,也是大家追逐精度的常用方法。
另一方面,我们要训练这些网络,可能需要更多的计算资源,比如需要图形处理器集群(GPU Cluster),比如希望有更便捷的训练平台,像Caffe、MxNet、Tensorflow等等。当然,更重要的是大家在一点点往前推动的同时,积累了很多小的经验,这些经验通过学术报告、论文的形式来分享。
大家都站在巨人的肩膀上一步一步往前走。当然,还有怎么样用其他的非标注的数据来提升解决问题的能力。所有的一切都结合在一起,在解决具体问题的时候,能够把精度达到极限。
学术界很多时候研究的目的,是要有成果论文发在最顶级的学术杂志上,也希望这些算法能够具有普适性,除了能解决自己的问题,其他人也能借鉴,最好能开源,所有人都可以去使用,这样就能很好地提升自己在这个领域的影响力。
但工业界不是这样。工业界要去探索商业,注定要有经济上的考虑,思考盈利模式,那对人工智能的考虑就会不一样。
在工业界待过就会明白,人工智能本身并不是一个产品,不是单纯靠人工智能就能获得利益,必须要与自己的业务和场景相结合,才能发挥它的价值,核心算法只是其中的一个模块而已。无论是往前端走,还是往后端走,还是需要很多不同类型的人,才可以做出一个产品。
最重要的是,人工智能并不是一个静态的东西。比如说训练出来的模型,要用到某个业务场景里面,业务场景里产生新的数据,这些数据进一步提升人工智能模型的能力,再用到场景里面,这是一个闭环和不断迭代的过程。
另一方面,也是很多从学术界到工业界的教授和学者很容易犯的一个很严重的错误,就是认为技术在真正推动产品。但其实,用在具体的场景里面,技术只是起到一个非常小的作用,它的贡献大概30%到40%就不错了。
一个成功的产品,还需要产品工程师和非常多的人,大家一起才能做出一个具备非常完美的用户体验的产品出来。一个核心点就是我们做技术的人,做研究的人,要明白永远没有完美的算法,算法永远是有瑕疵存在的,我们一定要和场景工程师在一起,通过好的产品设计,把这些算法上的瑕疵避免掉,打造没有瑕疵的用户体验。
此外,除了考虑用户体验,工业界设计一个产品还会考虑其他方面。比如,当前把视觉,语音和相关的技术用在智能硬件上的时候,工业界可能会想,到底这个产品能不能满足某种高频的刚需?
工业界还会考虑一款产品用到的技术有没有成熟?比如说家用机器人,可以端茶送水,可以聊天,这是不可能的,技术上还有一个过程。
另外,工业界还会考虑技术成熟了,但有没有壁垒?假设没有技术壁垒的话,今天做一个产品出来,比较前沿的大公司,都有专家团队,你把这个产品做出来立马又失掉了,技术上的壁垒也一定要有。
另外一方面,就是学术界想得最少的:我们做一个场景,一定要有变现的模式。没有一个变现的模式,产品出来了,但是今后挣不了钱,也不可能让这个公司维系下去。
总的来说,学界进行人工智能、深度学习的研究,一直是在追求精度和极限。用四元分析的方法来说就非常有意思,即场景和数据确定了,然后设定一个问题,设定一个数据集,假设有足够多的计算机资源,怎么样设计新的算法,让精度能够达到极限?
有很多的数据集,比如ImageNet,号称人工智能的世界杯;人脸研究界有LFW(人脸图片的数据库,用来研究不受限的人脸识别问题);在视频领域有美国组织的TRECVID;语音的话有Switchboard。他们共同特点就是:问题和数据都是确定的,用尽量多的计算机资源,去设计不同的算法,最终希望达到精度的上限。
但不得不承认,很多成果是没办法商业化的。为什么?在ImageNet上,假设训练了1000多层的网络,把9个或更多网络全部合在一起能达成一个很好的精度,在现实的场景下是不可能用这么大的模型和这么多的资源去做一件事情。所以,很多的成果,是假设将来计算能力达到一定的程度,精度能够达到这个上限。
AI研究的另外一个维度是追求用户体验的极限。用四元分析的方法,是把场景和算力固定了。这是什么意思?假设我们要做一个机器人,希望它能识别你,这时候场景是确定的。算力确定了是说,这个场景推出的时候,用什么样的芯片和什么样的硬件,其实已经确定了。我们要做的事情是在这样一个确定场景和算力的情况下,怎么样去提升数据和算法,跟具体的应用场景去形成一个闭环,去不断地迭代,去提升它的性能。这跟学术界把场景和数据固定是完全不一样的。在这种场景下,可以不停地用收集到的新数据不停提升和优化模型,在数据、算法和场景三要素中形成一个闭环。虽然我们能把所有的问题解决,但是在具体的场景下,也有可能逐步地提升它的性能。
这时候做的事情很有意思——要做很多数据的清洗、标注。为了把产品的价格降低,比如用一个很差的CPU就能够去做计算,肯定要不停地去优化模型的速度。另一方面,很多时候,满足这种体验的需求会使一些新的问题诞生出来。
仔细想一想,学术界多数做的事情是在思考,在想它的极限在哪,主要用脑;工业界并不是强调用脑,而是用心——就是怎么样能把这个场景做出来,并不一定要有非常高大上的算法,就是要从用户使用产品的维度上,让用户感觉这个产品非常好。
学术界和工业界又不是完全割裂的:工业界敢去提某一个产品的设想,是看到了在学术界有一些前沿的成果,可以在工业界来用。同时,工业界也在逐步提炼它的问题,扔给学术界,希望他们去做这种前沿的探索。比如说工业界可以想,三年、五年以后会往哪些方向去推动,他就可以把这些任务推给学术界。
在人工智能、深度学习的研究领域,学术界和工业界的差别还是很大的,同时也相互作用,相互增强。学术界和工业界一起合作,研究和产业相结合,一定会把人工智能带上另外一个阶段。
本文作者系360公司首席科学家、人工智能研究院院长。
(来源:中国经济网)