戴文渊,第四范式创始人、首席执行官。人工智能研究领域「迁移学习」全球领军学者,机器学习全球商业领军人物,国际大学生程序设计竞赛(ACM-ICPC)世界冠军,新华社产品研究院五大顶尖专家之一。
2009-2013 年就职于百度,担任百度最重要的凤巢策略的技术负责人和实际上的操盘手,曾指导百度凤巢在线营销系统、百度大脑等多个重量级核心产品, 使百度变现能力提升 8 倍,获「百度最高百万美元奖」,并在短短三年内就晋升为当时凤毛麟角的 T10级百度高级科学家。2013-2014 年就职华为,任华为诺亚方舟实验室主任科学家 。
其学术论文多次被 NIPS、ICML、AAAI、KDD 等国际顶级学术会议收录,2007 年发表的论文 Boosting for Transfer Learning 在迁移学习领域论文引用数至今仍排名世界第三。
一、关于「先知」平台
机器之心:你在刚才演讲中介绍了「先知」平台,提到平台上的计算框架 GDBT 要比 Spark 和 Hadoop 都要快,随着数据量增长,可以让机器学习所需要的时间从原来平方级增长下降到现在的线性增长。能具体解释一下它的原理和架构吗?
戴文渊:解释这个架构可能比我今天讲的所有的都复杂,需要很长时间。简单打个比方,像 Hadoop 和 Spark 这样的分布式计算框架,它们在分布式计算上已经比较成熟了,分布式计算解决的问题是,假设我们把一本语文教材抄写一遍,我们把书撕开,每人拿一章回去抄,抄完就结束了,这就是分布式计算。
在处理不同数据量时 GDBT 和 Spark 对比
机器学习要解决什么问题?假设我不是要去抄课文,我是要去学习课文,我现在有四个人的学习小组去学一本书,我仍然可以把这个书分成四份然后分别去学,每个人只学一部分,然后我们去交流,你告诉我你学到了什么,我告诉你我学到了什么。这个交流其实就不仅仅是分工,而是协作。这个协作里面涉及到的是人与人之间,如果说对应到系统,比如机器与机器之间知识的交换。这在过去 Hadoop 和 Spark 中是没有涉及和考虑的,而且从系统设计的根本原理来看这是矛盾的东西。
这就是为什么我们后来决定去做这样的框架,而不是在 Spark 基础上去发展,Spark 的基本设计理念和机器学习存在一定矛盾,所以我们需要重新搭建一个框架。
机器之心:第四范式花了多少人力和时间去研究这个框架?
戴文渊:这类框架其实不是需要多少人去研发,而是需要特别强的一两个人去做,我们这位工程师大牛去年 4 月初加入,到 8 月写完了第一个版本,目前已经更新到第三个版本。如果是普通工程师,可能找 100 个人,乃至 1,000 个人都做不出来。
比如说谷歌的 Jeff Dean 开发了 GFS 和 MapReduce 原型( Google 版 Hadoop ),代码大概几千行,都是他一个人写的,并且这个代码世界上没有其他人能够看明白。谷歌做出了这个以后,微软、雅虎找了几千号人做这个东西,但都没有做成。
机器之心:今天发布的「先知」平台与 TensorFlow 等其他开源平台的区别主要是什么?
戴文渊:谷歌、Facebook 等大公司都开源了自己的机器学习框架,但「先知」和它们最大的区别是,这类框架是在不断研究怎么变得更大、更快和更强,而不是能给更多人用,「先知」是让深度学习更加易用。开复老师之前讲过,一个清华计算机系毕业生使用 TensorFlow 都比较困难,学习使用一个深度学习框架需要很长时间。我第一次接触深度学习是 2006 年,后来我们在尝试时发现有很多参数调优之类的事情要去做,这是个很大的问题。
这可能是一种学术界的导向——往往会关注一个效果更好的工作,而不是关注一个更好用的。但在工业界呆久了会发现,你需要放眼更大市场,让其在社会中得到更普遍的应用,让更多的人参与进来。比如说 iPhone 的相机不如专业机器专业,专业相机的研究就是怎么把它做得更精更强,但 iPhone 更方便、普遍的为我们所用。我们第四范式研究的就是怎么做「 iPhone 相机」,当然这个事情并不是简简单单的不调参,比如说 iPhone 里有很多智能化的图象处理,保证在普通摄像头下能拍出好照片。对于我们来说也是一样,做机器学习系统的过程当中其实有很多专业操作,包括数据清洗、特征变换和选择、特征组合、算法或者参数调优,这些步骤都是需要很厉害的数据科学家来做,先知平台就是让第四范式的数据科学家完成了这些工作,并把这些能力封装成易用的产品,以供普通人使用。所以今天开复老师说一些行业里 90% 的人都会失业,而我们干的事情就是让数据科学家失业。
机器之心:你在演讲中提到让技术人员、甚至是一些业务人员都能去使用「先知」这个平台,他们具体是怎样使用的?
戴文渊:其实做机器学习最核心的、也是不可替代的东西就是你要定义一个目标,比方说你要下棋下到最好,那你就要定义什么叫赢、什么叫输,你的定义目标就是我要最大化我赢的概率,比如说 AlphaGo ,你会发现它在盘面领先很多后会开始下臭棋,因为 AlphaGo 优化的是赢的概率最大化,而不是赢的目数最大化。
同样的道理,假设我们今天做金融中的差异化定价,那我们要知道目标和需要优化的东西是什么,我给你推送一款产品和对应的价格,然后得到你购买这个产品的概率,在购买概率扣除风险成本之后,我要最大化盈利,这个是以盈利最大为目标。如果是以体验最大为目标,那我就要定义一个你的满意度,使得你购买产品或者得到服务时你的满意度最大。所以,在机器学习的应用中,不可被替代的就是你的目标是什么,这个必须确定好。然后我们去做接下来一些过于专业的事情,比如说参数设置和数据变换等,客户只需要去设定目标和选择数据,我们就自动帮他把这个模型做出来,帮他去进行预测。
机器之心:「先知」在一开始也会重要应用在金融领域吗?接下来「先知」平台就是第四范式的一项核心业务了?
戴文渊:「先知」并不是定位在金融服务,而是一个通用平台,只是对我们来说要先服务好金融,毕竟第四范式现阶段并不是一家很大的公司,我们要先聚焦,把一个行业服务好,然后再进入第二个行业,那时我们也已经足够强大了,可以进入更多领域。
我们的核心会包括「先知」这个平台产品,以及在上面生长出来的解决方案,例如我们最近主打的一个解决方案就是信用卡的差异化定价。
二、关于第四范式及核心技术
机器之心:目前人工智能创业公司的业务方向大体有几种:潜心研究算法、做平台、做产品,您刚才提到,第四范式在创立时没有对标企业或者模仿的对象,我们在一开始选择了提供技术服务这种模式(事实证明也很成功),在这背后有哪些思考?
戴文渊:其实我们也是做产品的。如果一家公司只是提供服务,那生命力一定是不长久的, 为什么会有做企业服务的公司?是因为每个企业自己造轮子的代价太高,也不是一种最高效的方式,所以我们把这些企业的这类工作集中到一家公司,它造好轮子卖给这些企业。但如果变成了我们派自己的工程师和专家去每个企业里给他们造轮子,那就没有必要了,这个行业的人才紧缺且宝贵。所以我们也是一个产品型公司,我们提供的先知产品,基于此能衍生出适合不同行业的轮子,助推各行业跑的更快。当然做产品也不是说就没有服务,造轮子的公司也要负责帮客户把轮子装起来,至少有合作伙伴去帮人家把轮子装起来,所以你要有售前和售后,第四范式就是这样的一家产品型公司。
机器之心:能否介绍公司目前的核心技术,比如在数据免清洗和今天提到的 GDBT 框架。
戴文渊:今天我们发布了面向机器学习的分布式计算框架,里面包含了我们的新一代深度学习算法,能够支持到万亿级别的变量输入,这些都是我们最引以为豪的技术。我们的科学家团队很出色,我们从去年开始布局我们的专利,可能今天还没有看到我们的专利授权,但 3 年以后你会发现我们在人工智能的专利布局和广泛的授权,人工智能的核心点和绕不开的地方其实我们都用专利覆盖了。
三、关于迁移学习
机器之心:迁移学习也是近期人工智能的一个热点,可以用来解决一些深度学习不太擅长的任务,你是这个领域的专家,能否给大家科普一下迁移学习?它和深度学习、增强学习有何关系?
戴文渊:迁移学习最早是一个心理学概念,从一九零几年的时候,早期的 100 年基本上都是心理学家在研究迁移学习,计算机科学家是从何时开始研究迁移学习呢?大概是在 2005 年。我正好是这一年进入人工智能领域,当时迁移学习是我做学术研究的一个主要方向。它主要帮我们解决两类问题,一类问题是,我有一个领域的数据,我用另外一个领域去帮助这个领域能做的更好。另外一个是,我用更少的数据来达到相同的效果。
在我看来,如果放到工业应用来说,更少数据的价值会更大,因为有些领域是不会出现大数据的,比方说基因测序的成本从过去几万块降到现在的几千(估算),你要获得深度学习所期望的千万以上的样本,那就需要很高的成本。医疗也是一样,我之前接触到糖尿病研究,中国花费了数亿美金才搜集到了几十万人数据,这些都会严重限制深度学习在这些领域的应用。当然,这些领域当然也是可以使用人工智能的,但不一定是深度学习,一定是对样本数需求更少的方法,迁移学习正好是这样一个方向。
迁移学习和强化学习、深度学习之间会有一些关系,例如,强化学习不一定要用深度学习,但强化学习也可以基于深度学习去开发,强化学习一个主流的方式是用深度学习来做。同样的道理,迁移学习也可以选择是否用深度学习来做,未来迁移学习的主流应该是基于深度学习发展出来的。
机器之心:目前许多专家都在讨论深度学习的局限性和突破点,都会提到「小样本学习」,那现在我们是不是可以说,迁移学习就是一个可以解决小样本学习问题的非常重要的方法?
戴文渊:在我看来迁移学习就是解决小样本学习非常重要的思路,其实现在很多人提出一些很科幻的说法,说过去一千万样本才能学好,我现在用一千甚至一两个的样本就能学好。但你要知道的是没有免费的午餐,不可能在什么都不变的情况下数据量减少了。
迁移学习,其实它用的数据量并没有减少,只是我对目标领域的数据量要求减少了,但是我需要很多其他领域来帮助我,相当于你的资源投在了另外的一个领域,总的资源没有减少,所以可以获得相同效果。人也是这么做的,婴儿是没法举一反三的,只有受过教育的人才能做到,这就是因为你之前已经学过很多这方面的知识,学新知识时能把过去的知识迁移过来。
机器之心:杨强老师在之前的演讲中提到过目前迁移学习的一些问题和难点,比如说「两个领域衡量标准」的问题,你觉得现在在整个迁移学习领域还存在哪些困难,我们还需要在哪些方面进行尝试以求突破?
戴文渊:对深度学习来说,瓶颈曾一度在于大数据,这让原来 50 年代就提出的神经网络被打入冷宫了几十年,迁移学习同样如此,不是说你随便拿一些数据过来就能迁移。比方说你会数学,你学过数学,你能迁移去更好的学习物理,但这绝对不能帮你更好的学舞蹈。迁移学习的瓶颈在于有价值的数据源,我自己在 08、09 年就已经开始研究这个领域了,找过大量数据源,产生过大概上百万个迁移——拿这个领域的数据迁移去帮助另外一个,去测这个数据源能否帮助那个数据源,最后把这些两两之间的结果收回来,再去看这两个学习的领域之间的一些关系,而这又变成了一个机器学习问题。那时我们设计了一个判断能否迁移学习的模型,就是给定两个数据源,这个模型可以分析A数据源能否帮到B数据源。
机器之心:这个算法是不是也属于第四范式比较核心的技术?这次有没有出现在「先知」平台上?
戴文渊:这个功能会在未来的先知平台里出现。目前我认为整个业界还没发展到这个阶段,所以我们不会把这个功能作为这一代「先知」的一个核心。其实目前这个技术是可用的,只是我们会判断这个技术是否和现在业界的需求处于同一阶段,当我们认为这两者相匹配时,就会把它集成到产品里。对产品来说,其实很忌讳一开始放一些功能,即便这个功能很强,但过于超前。
对于整个平台产品来说,我们会先去推更好用的深度学习,以及一些迁移学习案例,让客户先了解其实是可以迁移的,当客户大量的参与其中后,下一步的问题才是什么可以迁移、什么不可以迁移。每个人都是有一个认知的过程,这个过程其实不能一下子走的太远。
机器之心:对 source domain(源域) 和 target domain(目标域)的区别思考如何影响我们选择迁移学习技术?
戴文渊:这个目前还是研究性的,其实我们在这方面也投入过一些研究,后来我们发现,对于这类问题,我们可以用机器学习的方式去学习哪类问题可以迁移、哪类问题不可以迁移。
机器之心:能否介绍一下 Homogeneous transfer learning(特征空间一致的迁移学习)和 Heterogeneous transfer learning(特征空间不一致的迁移学习) 各自的价值和意义?
戴文渊:我可能是领域内最早做特征空间不一致的,比较遗憾的是我当时没有用深度学习来做,当时我提过类似于语言模型的方式,也提过矩阵分解的方式,其实矩阵分解已经离深度学习非常近了。如果现在让我做,我可能会选择神经网络的方式来解决这个问题。跨媒介的迁移比较重要的是,仍然要找到关联性,这个关联性不一定是特征空间的关联,还可以是样本空间的关联,比如都是一匹马,那边是文本描述,那边是图片描述,通过标注关联起来,你就可以学习图片特征和文本特征之间的关系。而特征空间一致的情况下,往往我们要解决的一个问题是标注不一致,或者说数据分布不一致的迁移。数据分布不一致的迁移,如果打个比方,我个人生活环境中遇到的都是好人,那我会先天的以为所有人都是好的,但真实的世界肯定不是这样,所以这种分布不一致可能会导致我犯一些错误。迁移学习对特征分布不一致,我要通过其他领域找到一个真实世界应该有的分布,然后进行纠正,这些都是迁移学习不同的领域,10 年前我们在做研究时就是在做这些工作。
机器之心:在应用方面,有哪些具体的领域更适合迁移学习?
戴文渊:比如说我们现在服务的金融企业,他们会说我们业务的资产规模很大,但资产规模大不见得积累了足够多的数据,你要看这个资产规模对应的业务是什么。如果是 payday loan ,十亿资产规模对应的数据量就很大了,但如果是房贷,百亿资产规模对应的数据其实没多少。所以,现在的金融企业面临一个很头疼的问题,一些大额贷款业务的数据量不足以支撑现有的深度学习技术。但他们其实是有数据的,比如说一些小额信贷记录,那这些记录能不能帮助银行去更好的判断大额贷款?这就是迁移学习擅长的地方。
机器之心:那如果数据来源的范围再扩大一些,你之前在演讲中也讲过,一个从来没在银行办过业务的新客户,那我们能否可以去使用他在社交网络等其他领域的数据来做迁移?
戴文渊:这个是完全有可能的,并且也是我们现在涉及的领域,我们的上游会有大量数据,从这些数据合作方可以获取可供我们迁移的数据。我们先通过 Data Integration(数据集成)去进行数据关联,关联完成后才能够去迁移。
四、关于人工智能行业
机器之心:现在看来,迁移学习是推动人工智能发展的一个非常正确的思路,那在这个领域里还有哪些技术值得我们关注?
戴文渊:在人工智能领域,我一直有这样一个观点,就是人工智能其实是在学习人,我其实很反对一切反人类或者反生物的这种人工智能技术,所以在我看来,其实没有什么多种选择,过去的人工智能历史发展证明,最后都会归于一条路,这条路都是和人类(的智能)一致。其实人工智能就是一种仿生学。
但这种仿生会有特殊的地方,比如说机器的计算能力特别强,它不会累,所以它使用的方法也不同,如果说人类的精力是无穷的,那你的工作方法也会不一样。所以对于一个机器来说,它用的不一定是高度的抽象。人为什么需要高度抽象?是因为我的精力限制了我无法去做具象,但对于机器来说,可能一种好的方式就是具象,因为它的「精力」顾得过来,可以面面俱到。
机器之心:刚刚你提高人工智能是一种仿生学,现在有种观点是:人工智能发展的不够快,是因为我们对人类智能的理解不够深,你是否认为人工智能应该从神经科学里获得更多线索?
戴文渊:会的,这两块最后一定是要交融在一起的,过去这两个学科最大的问题是中间缺一个桥梁,因为这边学的是统计,那边学的是生物,很难找到有一个人两边都能精深。但是我很惊叹的是,有两个诺贝尔奖得主,他们是生物领域脑科学的科学家,他们完全不懂计算机,但是在他们获得诺奖的那篇论文里面提到,在脑科学领域,就我们生物科学家而言能做到的工作就那么多了,我们已经做完了全部的工作,未来交接棒将会交给计算机科学家。
第一个发明神经网络的是 Marvin minsky ,他就是一个交叉学科的人,既是生物学家,又是数学家,所以他后来能够用数学模型去建模神经元,就是因为他的交叉学科背景。只是像他这样交叉学科的人,至少在人工智能领域,已经越来越少了。