由机器之心主办的全球机器智能峰会(GMIS 2017)于5月27-28日在北京正式启幕。第四范式创始人、首席执行官戴文渊作为人工智能工业应用领袖,出席了开幕当天的主论坛并发表主题演讲,针对人工智能如何在工业界应用进行了关键性说明。
戴文渊认为,商业AI能力有一个核心的指标叫VC维,企业构建AI能力来说,就是要不断把VC维做大。
同时,支撑做大VC维有五大核心要素,即Big data(大数据)、Response(持续的反馈)、Algorithm(算法)、Infrastructure(计算资源)和Needs(明确的需求),首字母合在一起就叫做“Brain”。戴文渊指出,成功利用人工智能技术创造价值的公司,背后都具备了“Brain”。
以下内容根据戴文渊主题演讲编写,略微有所删减:
大家好,我是第四范式创始人戴文渊。今天在这跟大家分享我在这个领域的一些想法。
实际上我们这些年来,主要关注点在于AI技术研究如何突破, AI离我们感觉还很远,但生物的智能其实离我们是比较近的。从某种角度来说,这两者有可类比的地方。
从生物的智能上来说,通常我们会觉得,脑细胞比较多的生物比较聪明,脑细胞比较少的生物比较弱一点。我们会觉得人比猫是聪明的,因为人的脑细胞比猫来的多。
这个事情在统计学家的眼中,也会有一个类似的评判,当然统计学会用统计学的理论,实际上像我们原来在学术领域研究机器智能的时候,就是基于统计学构筑AI整个方法论。
统计学里最重要的理论叫“VC维”理论,所有的机器学习或者统计学习都是建筑在VC维理论之上。VC维反映的是什么?结论就是,如果一个机器模型,VC维越高,这个机器的模型会越强。
但其实VC维不一定只能刻画机器的智能,甚至能刻画一个生物智能的高低。对于人们的大脑来说,人脑的VC维也能算出来,大概是多约等于大脑脑细胞个数,前面可能只差一个常数项。
因为VC维能刻画机器的智能,甚至可以把机器的智能和生物的智能,用统一的一个VC维理论来构建。基于这一理论,我们就可以真正的有理论依据的去比较,到底是机器聪明还是人聪明?未来无论人的智能还是机器的智能,都可以在VC维理论的框架下解决。
机器的智能在哪里?
以牛顿三大定律为例,这可能是代表人比较高智能的水平。牛顿三大定律在干什么?
其实牛顿是一个物理学的业务专家,他看了很多物理的自然现象,最后总结出三条规则,其实就是物理学的三条业务规则,来刻画物理整个存在的现象。
实际上机器也可以干同样的事,如果让机器干牛顿的事,其实就是要让机器收集大量物理学现象数据,最后用机器学习的方式,在数据里总结出规律。但是机器通常不会像牛顿那样总结出三条规律,因为机器更擅长的不是总结三条,机器不知疲倦地可以总结出3000万,甚至1亿以上的规律。
如果机器做牛顿的事,他会把整个自然现象按照速度可能分3000万个区间。然后在每一个区间里总结出三条定律。大家都知道牛顿的三大定律,最后得到的反例其实在高速区间上不成立。但是如果说机器把它分得足够的细,把低速、高速都考虑了,实际上我们在高速里面总结出的三条定律,和低速是不一样的,就能够做得比人更好。
在数据充足的情况下,1000万维是衡量机器与人谁更聪明的标准
目前的人工智能,是基于由机器来总结业务规律。由于机器不知疲倦,所以能够做得更细、以达到更好的效果。深入到具体行业,以百度的广告为例。
我在2009年加入到百度,那时候百度的广告其实不是用AI来做的,当时是由人做的。人在总结规律,网民搜什么样的词,我们出什么样的广告。
当时他们总结了近1万条规则,这其实是个很复杂的规则系统。之后,我们开始用机器读整个广告投放的数据。由机器写出1000万条广告投放的规则,因为1000万比1万大1000倍,做得更细了。最后达到上线以后40%收入的提升,紧接着我们不断加满,到我2013年离开的时候,百度广告做了超过1000亿条规则。
所以大家可以看到,为什么2009年以后,百度收入同比增长曲线会逆势往上走,很大的程度来自于AI的技术给企业整个运营效率带来了提升。现在我们也在思考如何把这样的技术应用到各行各业,用机器替代原来的业务专家,基于数据去写业务规则。
因为各行业业务专家写的业务规则各不相同,少的可能只有几条,多的会有几千上万条。但是无论如何人都会有局限,人不可能写出1000万条以上的规则。比如在内容分发的领域,当机器把规则写到1000万、几十亿甚至几千亿的时候,我们可以很显著去做原来传统业务专家做不到的效果。
目前存在一个比较有争议的问题:到底机器强还是人强?大家会很担心,是不是机器最后会超过人。但又会发现,其实在很多领域,机器的智能比人差很多。
我们其实有一个经验,这个经验在一个垂直的领域,如果我们能用机器基于数据去写出超过1000万条业务规则,那么一个资深的业务专家,基本上没有办法比机器强。1000万其实是一个门槛,因为要人写出1000万,基本上不太可能。而机器1000万是可以的。但是其实也不是所有的领域都能写出1000万,因为你能写出业务规则的数量,或者模型VC维的数量,其实和数据量几乎成正比。
所以如果有一些垂直细分领域,我们的样本数是不够的。比方说我们只能找到有一些医疗领域,有一些罕见病我们只能找到100个病人,这时候我们用机器,可能只能写出100条业务规则。在这个场景下,机器就远不如人。所以机器大家经常会发现,在一些很罕见的场景计算下,机器比人要差很多。
我们确实会面临一些困惑,机器在某些领域会超过人。又过一段时间,发现在另一个场景下,机器比人又差。所以关于人工智能一直很有争议,一会说它可能要毁灭人类、替代人类,一会又觉得人工智能还是不行,比人差很多。
究其背后的原因,是因为人工智能在不同领域所面临的环境是不一样的。对于一个商业公司来说,构建AI的能力有5个核心的要素。如果这5个核心的要素是比较齐备的,机器就非常有机会超过人。但是如果暂时还有局限,我们就需要思考,如何来满足或者如何弥补目前的局限,来达到一个比较高水平的人工智能,未来各行各业都需要走这样一条路。
1、Big Data——有意义的过程数据
首先是大数据。前几年,我们对大数据的误解,更多体现在只去比较这个数据量的大小。比方我是一个PB级的数据量,你是TB级,可能就会觉得我比你强,其实并不见得。因为大数据还分有意义的大数据和没有意义的大数据,有意义的大数据叫做过程数据。
以围棋为例,什么叫有意义的数据?这些棋谱是有意义的数据,下棋的过程是有意义的数据。什么是没有意义的数据?比如那些棋手或者看等级分排名,对于我们来说也是一样的可以理解。好比我看每一个人下棋,我在旁边看,看着看着我可能自己也会下棋了。但我每天看新闻报道说,柯洁又输给Alpha Go了等,这些看了再多你也不会下棋。所以一定要喂给机器他能学会的那些数据,最后他才能学会。
回到商业上来说,过程数据的收集,大概会分成这样。以一个抽象的model为例,可能用户会对这个公司有一个请求,会提供一个服务。这个服务完以后,我们会收集到一个用户的反馈,叫正反馈或者负反馈,具体到一些场景。比如在线广告,可能用户有个搜索,给他看了广告,他点击就是正反馈,没有点击就是负反馈。
对实施反欺诈来说,我进行了一个刷卡交易,这笔交易可能被授权了。授权了以后可能说,用户发现,这个不是我刷的卡,会投诉到这家银行,或者投诉到这个信用卡公司。如果没有投诉,代表这个授权是对的,如果被投诉了,代表这个授权是不对的。所以机器学习整个是一个过程数据的收集。但目前很多行在数据的收集里,并不是一个特别完备的状态,可能在过去我们更多收集是一些统计数据。
一个优秀的AI模型,大概需要多少过程数据的样本?以我们经验来说,需要大概1000万以上的样本。VC维理论也是一样,我们把VC维做到1000万以上,人就做不过机器了。
如何支撑1000万的VC维?其实需要1000万以上的样本,这实际有一个统计学的原理来支撑。2011年的图灵奖的获得者Valiant,他得奖的公式就是规则数或者模型的维度,要和数据量相匹配,大概是说你有多少的数据,就能做多大的模型,数据量越大,能做出的模型越大。所以为什么我们要收集大量的过程数据,就是为了支撑我们做出更大的模型。
2、Response——数字化的持续反馈
第二方面是反馈。反馈就是我提供服务以后,要能得到一个正向或者负向的结果,告诉我提供的服务到底好还是不好。比如在广告里的点击和非点击,比如在推荐里的接受和拒绝。像这样的反馈,还有很关键的,一定得是能数字化的,因为计算机只听得懂0和1。所以点击如果是1,没点击是0,这是计算机能听懂。
现实情况是,我们经常会很怕一件事情,告诉机器说你要推荐一个好的结果,或者你要推荐一个相关的结果,但其实好和相关是计算机听不懂的语言。最近几年的推荐系统和过去相比,提升了很多。这个提升主要体现在哪?其实推荐系统最近有一个很大的革新,在过去我们认为推荐系统要推荐相关的内容,很强调相关性。
但机器根本不知道“相关”是什么意思。机器只知道,叫0还是1。所以最近大家可能会发现一些风头正兴的一些新闻应用,比如今日头条、快手,当然有大量各种个性化的内容分发,就已经改变了过去那种强调相关性思路。转而优化一些可被度量的指标,比如点击,我推荐的内容有没有被点击。
比方说我点了以后,我看了多久?这个可被度量。比方有没有转发,转发还是没转发,这个也是可以0和1的,收藏、投诉也是可以0和1的。
最终这些所有可被度量的指标,都可以优化。再基于这些可优化的指标来说,我们找到一个结合点。虽然这些指标,并不都能反映所谓的相关性。但是他们其实可被度量,可被度量就可被优化。最后反倒会发现,达到一个比过去优化相关性更好的效果。
在反馈来说,最关键要做到两点:
第一点:数字化反馈,要知道事情可点击或者不可点击这种0和1,或者时长可以被数字化的一些内容。
第二点:持续不断的反馈,任何一个机器都会犯错,犯错不怕,怕得是永远犯同样的错误。持续不断的反馈,假设一个反欺诈系统,我漏过一笔欺诈,我会得到一个投诉,这个用户投诉了以后,我会收集到这个数据,我就知道我犯了一个错误,回过头去我再学习。这样再学习的过程当中,让模型提升的更多。
3、Algorithm——高维度的算法能力
第三个方面是算法,算法是现在被关注比较的。但是其实构建一个强大的科学家团队,是一个很不容易的事,因为这里面会涉及到非常多需要做得事情。现在大家也发现,构建AI能力的瓶颈是招不到人。招不到人,最后发现我们有一堆数据,结果用不起来。
所以第四范式这家公司在做什么事?我们发现,不太可能每家企业都能招到科学家,因为科学家永远是相对小众的一群人。我们大众的人群是什么?其实是开发者。像互联网、移动互联网都不是科学家在做应用,都是开发者在做应用。而现在AI处在一个不太正常的状态,所有的应用基本上都是科学家做得。
第四范式正在致力于改变这个状态,我们把科学家的能力封装到一个平台里,然后能够让业务人员,再加上1-2月的培训,再加上一个平台的支撑,能够完成AI科学家团队做的事情。这是希望降低AI能力的门槛。降低门槛的背后,你的界面越简单,代表你背后的技术越难。
像搜索的界面特别简单,虽然只有一个框,你只需要填东西就行了,但是背后的逻辑或者背后的技术是非常复杂的。
这只是一些案例,很难把所有的事情穷尽。首先关于如何学习万亿特征量?刚才讲到我们要做出1000万条规则,通常机器学习的模型,能做到的级别只有万级别,很难做到1000万以上,我们甚至能做到1万亿以上。1万亿级别的模型,是一个很难的模型。现在主流的深度学习,都是做不到的。
我们早在2013年的时候,在凤巢就做了一个wide and deep model,这个能做到是一个能支持万亿级别特征量的模型。现在我们又把它升级到deep sparse network。Google在2016年的时候,发表了一篇论文讲wide and deep model,其实和我们当时的设计,是非常的相像的。
另外还有一点,是门槛的问题,现在绝大多数的算法设计的受众,全是科学家。第四范式正在致力于研究一些新的算法,比如我们有两个独特的算法:
第一个:线性分形算法。
第二个:He-treenet算法,是一个树和网络结合的模型。
这些事情能够让过去一些门槛高的事情变简化。比方说过去为什么使用算法的门槛高?因为要做大量的数据清洗、特征变换、归一化、特征组合、离散化这样的一些事情。
学习这些需要很长的时间,所以当我们把这些东西全都变成机器自动完成,这样才能让一个机器完成学习的过程,就是数据进来,靠一个算法,出来一个模型就可以用。如果只是这么简单,其实绝大多数的人都是可以使用的。
我其实可以透露一个数据,在我们公司内部,举办了一个名叫“一颗赛艇”的建模比赛。我们找了公司除了建模专家以外的所有人,比如HR、财务、行政、市场、销售人员等。
最后发现有70%的人达到了接近甚至超过了我们科学家用开源工具做出来的效果。所以这就是为什么我们希望把门槛降低,让更多的人做机器学习的一种方式的原因。
4、Infrastructure——高性能的计算能力
第四方面是nfrastructure,其实工程也是很重要的。例如Google,绝对不仅仅是那几个科学家,Jeff dean其实是一个跟他们创始人级别一样的架构师,他的作用也是同样重要的。因为机器学习没有简单的问题,或者在大数据下没有简单的架构问题。
这是一个叫做逻辑回归的算法,这个算法如果在小数据的场景下,把这些代码拷贝贴掉matlab里跑一下就出来了,很简单。但是如果把它扩到PB级以上的数据量,我们会发现,超过20台机器的时候,你要解决的是机器不在一个机柜里。
那时候你不能假设两台机器传输的速度是一样的,当超过100台机器的时候,你需要解决的问题是,你每次执行任务的时候,都会有机器出问题。当数据量大的时候就有架构问题,这甚至是不亚于算法的难题。
所以我们也在设计一些门槛很高的架构。比如像支持万亿级机器学习的架构。举一个例子,像做机器学习和原来做分布式计算有什么区别?大家都知道,像hadoop、spark这样的架构其实已经相对比较成熟了。他们做这样一件事情,我有一本书,我要让10个人抄这本书,能做得比一个人抄得更快。而机器学习,是让10个人学一本书,学得比一个人更快。
那么抄书只要撕成10份,抄完之后订起来就行。机器学的话就不行,各自学完之后,可能还要交流,还要互通业务。所以整个设计理念会不一样,我们和spark做过这样的对比。随着数据量的增加,我们速度会比spark有一个平方级速度的差别。比方在5万台数据的时候,提升并没有那么多,只有28%。如果再有600多万的话,提升了86倍,在3000多万,提升了400多倍。更大的情况下,spark已经没法跑了,就没有数据了。
所以需要把这些事情,这些门槛很高的技术,都能评比到这样一个平台上,让大家感觉不到这叫分布式,只是一个简单的学习。
5、边界清晰的问题定义
最后,机器学习还需要一个清晰问题的定义,我们目前来说,其实机器学习没有通用之门,只能解决一个单一的目标,有边界的一个问题。其实所谓通用的人工智能,都是一大堆大一目标的人工智能的组合。其实人也没有通用人工智能,每个人都有不会的东西,所以机器也是一样的。通用人工智能,只能到当我们解决问题极大多的时候,才会产生通用的人工智能。
所以像Alpha Go是一个清晰目标的问题,就是赢和输。当然大家会说,单一目标可能不能解决业务问题,推荐就单一目标来说是不能解决的。所以我们可以做多个模型和目标,最后做一个组合的优化,就可以达到多目标优化的结果。
总结来说,我们构建商业AI能力,可能早在30多年前,统计学习已经给了我们一个答案,叫VC维。支撑VC维有以上五大核心要素。实际上我们今天只要想去解决的一个问题,因为要解决同时满足五大前提条件的门槛是很高的,过去为什么只有像BAT做得还不错,是因为这个门槛太高了,要收集5个要素,难度太大。所以我们今天是希望我们用平台的能力,把A和I这个算法和计算能力两块弥补掉。
所以其实在过去,我们要做一个机器学习或者AI能力,其实需要一个很长的步骤。从定义问题到收集数据、目标设定,再做数据的归类、评价、特征提取、模型训练,再到上线,前前厚厚可能快的也是大半年,多则更多时间,甚至有的企业,可能建一遍失败了,换一个团队再建第二遍,第三遍。
但第四范式想要做得事情,其实把中间这些部分全部去掉,让企业能够定义好他的商业问题,把数据收集好了,直接阐述这个商业的解决方案。最后能够极大的增加人工智能开发的供给,让人工智能的应用,能够更大程度的爆发。
我们推出的平台叫第四范式的先知平台,希望去帮助每一家企业,去更容易的建AI的应用。