第四范式戴文渊:机器写出1000万条以上规则,就超越了专家

2017.7.4

【2017年7月4日,北京】人类可能要穷其一生,才能从围棋一段升到九段,无论如何,这是个漫长的过程。然而,机器却能一下子到20段。机器是在什么时候超过人类的?如果能让机器写出1000万条以上的规则,在该领域机器就超越了人。

在36氪主办的“智汇·智变·智成”2017商业新生态峰会上,第四范式创始人、首席执行官戴文渊说了上述观点。在《B-R-A-I-N:构建商业AI能力的核心要素》的演讲中,他表示,这个数字是理论依据的。

他介绍了相关的理论,介绍了人与机器思考的方式有什么区别,为什么有的地方机器能超过人类?需要哪五大前提,才能利用人工智能技术提升产品或者业绩。

以下为演讲全文(经编辑,有适度删减):

我今天想分享的是AI开始火了以后,很多公司都会感兴趣怎么用AI的技术能够帮助企业提升业绩,让企业能经营得更好。

首先,让我们来思考一下如何判定机器的智能程度?

对生物而言,脑容量比较大的生物会比较聪明。包括人自己,从一个原始人进化到早期或者晚期的智人,再到现代人是伴随着脑容量的增加。

如何判断机器智力水平?

计算机没有脑容量可言,计算机必须要用数学的模型来建模。那业界是如何判断机器的智力水平呢?

有两位统计学家 Vapnik和Chervonenkis,他们提出了一个理论叫“VC维”。VC维反映了函数集的学习能力——维度越大则模型或函数越复杂,学习能力就越强。

当然大家可能觉得VC维太过数学了,那我们换一种方式理解——人怎么解决问题?

我们总结规则。

比如牛顿三大定律,总结出了物理学三条规则。其实各行各业都有专家在总结业务的规律。

机器如果做这件事情,方式可能和人不一样,机器会把所有的物理现象按照速度区间分成1000万份或3000万份,提取更多的规则出来。

这种情况下,甚至机器会做得比牛顿更好,因为牛顿定律在高速情况下不成立,而机器可以在高速的区间上提取出不一样的规则,可以做得更好。

编者注:由牛顿定律为基础建立的经典力学,只适用于宏观、低速、弱力的场合。在高速(速度接近真空中光速C)、微观(粒子角动量接近普朗克常数h)和强力(维系原子核的约束力,强度~10^4牛顿)的情况下不适用,分别用相对论、量子力学和粒子物理描述。

其实,现在AI的商业应用场景就是在做这样的事情——利用机器看数据,提取出比专家规则更多的规则数。

2009年我加入百度的时候,所有的搜索、广告都是专家规则系统,当时规则数写到了将近一万条,都是资深广告领域的业务专家写出来的。后来,我们用机器分析数据,最后把广告的规则写出了1000亿条,比人写的一万条做得更精细,所以最后带来了四年八倍收入的提升。

现在这样的方法已经应用到了各种领域。

比如金融领域的反欺诈场景,我们与一家银行合作,原来规则数大概有1000多条,后来利用机器学习,帮其找到25亿条规则,提升了预测成功率。此外,在个性化内容推荐领领域,现在很多企业学习今日头条做个性化的内容分发,那如何才能做到个性化?本质上其实就是让机器写出来的规则数足够多就可以了,过去由业务专家来定怎么分发,就没法做到个性化。

机器能可以在短时间内写出来的海量规则,专家可能要30年才能写出来。

这也就解释了为什么人在下围棋的时候从一段到九段是漫长的过程,而机器能一下子到20段。如果能让机器写出1000万条以上的规则,在该领域机器就超越了人。

我们会觉得有的时候好像机器比人强很多,有的时候机器比人弱很多,这是为什么呢?其实就是因为有的领域机器能写出比人多得多的规则,但是有的领域不行。

让机器做得好的五个要素:B-R-A-I-N

怎么能让AI做好?我们总结了一下,一共有五个前提条件,概括来说叫做BRAIN。

第一是大数据(Big Data)。

我要强调的并不是说数据量越大越好,而是看你有多少有意义的数据,或者说“过程数据”。

这就像围棋要看很多的棋局才能学会,并不是看每天的等级分排名或者新闻报道。

对于企业经营来说,我们要收集的是过程的数据,总的来说其实是请求、服务,再加上反馈的过程。

以推荐来说,这是一个访问,当用户访问了以后我们进行推荐,用户可能会接受,可能不接受,这样的话就是一个过程数据。

需要多少个过程数据才能够让机器非常有把握做得比资深的业务专家好呢?1000万。也就是说,训练出一个优秀的AI模型,需要1000万以上个样本。

为什么是1000万?其实有理论的支持,即获得图灵奖的VALLIANT引理,我们可以将它理解为机器模型的规则数量和数据量要相匹配。如果机器写出1000万条规则才能超越专家,就要1000万个数据。

第二是要有反馈(Response),而且反馈要数字化。

比如过去做内容推荐,目标是推荐“相关”的内容,但计算机无法衡量内容的“相关性”。所以现在,我们会把推荐目标拆解成点击率、阅读时长、转发、收藏、投诉, 虽然说这些指标并不完全代表“相关性”,但每一个指标都可以被度量,计算机可以理解,可以优化。

最后实际结果表明,在近似的目标上走得足够远,反倒比执着在准确却无法达成的目标效果会更好。

第三是算法(Algorithm)。

原来我们需要算法专家做很深入的算法研究,但算法专家的数量毕竟是很少的。我们现在在探讨一些新的方式,不仅让算法专家,让普通的业务开发者也能操作算法。现在已经可以实现让一个业务专家经过一到两个月的培训,再加上一个机器学习平台,就能够做出机器学习的模型。

当然平台会封装掉有很多很复杂的工作,比如说要能支持万亿级别特征的算法、比如说实现自动特征工程。过去为什么做机器学习建模会难,就是因为要做特征工程,特征工程需要数据科学家磨炼三到五年的时间,才能做出非常优秀的模型的效果。

现在,这个问题已经得到解决。年初,我们就在公司内部举行了一场建模大赛,所有参赛选手均为商务、行政、人力等非技术人员,最终超过70% 的参赛组合AUC(编者注:AUC是衡量模型效果的专业指标,取值在0到1之间))成绩超过0.8,这个成绩可以与从业多年的资深数据科学家媲美。

第四、基础架构(infrastructure)也是很重要的。

现在AI的流派主要是基于大数据和机器学习的,在大数据下其实是没有简单的问题的。

其实管理机器和管理人是一样的,当你管理20团队的时候,会出现一些问题,超过100人的时候又会出现一些问题,可能每天都会有员工请假等等。同样的道理,超过100台机器去跑一个任务,每次跑任务都会有机器宕机。超过1000台机器的时候,会出现各种分配任务的不均衡,有的机器可能在跑,做了很多的事,有的机器闲着没事干,这都是很复杂的。当数据量大的时候就有架构问题,这甚至是不亚于算法的难题。

1万台机器遇到的问题则需要用冠军级的人去写出来的系统,还有支持万亿级的机器学习框架,难度也是很大的。我们也正在设计支持万亿级机器学习的架构,并把分布式计算、流式计算、高性能计算(超算)等能力都封装于产品中,确保在大数据的场景下,计算能力随数据量增加呈线性增长,实现系统时间成本与计算成本的可控。

最后一点很重要的就是需求(Needs),也就是要有清晰的问题定义(单一目标、有边界)。

现在AI只能解决单一领域的问题,一个有边界的问题。比如说AlphaGo下象棋没有下赢了,大家不会觉得它不行,因为你对它的期望就是下围棋。

但业务问题通常都是多目标优化的。实现多目标优化可以通过拆解的方式,就像做企业的KPI也需要拆解成不同的目标,这时候对各个目标进行单一目标优化,最后组合起来达到多目标优化的方式。

总的来说,其实在商业领域应用AI,其实就是在业务目标清晰的前提下,把模型的维度做高。

说一个更容易理解的方式:过去由业务专家制定出成百上千条规则,今天则要由机器读数据,写出上千万甚至上千亿条规则。要实现这个目标,需要满足五个前提条件,但其实这是很有难度的。

第四范式解决的就是如何降低人工智能商用门槛的问题。过去解决一个AI问题需要经历很长的步骤,而现在可以把中间过程简化,只需要有一个业务目标和数据,可以直接做出AI解决方案。

五六年前想做个性化推荐,都是很大的工作量,但现在技术带来了开发成本的大幅度下降,以及企业运营效率的快速提升。