Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

鲍捷作者

文因互联CEO鲍捷:确保搞砸人工智能项目的十种方法

做成一件事儿不容易,而坑恒在。

鲍捷博士于5月10日在将门创投的线上 talk 中盘点了人工智能项目的大坑小坑,选出了看上去非常反常识的十个经典坑。

这是一篇大实话合集,但别绝望,最后将会放出从二十年踩坑经验中总结出的彩蛋,共勉。

作者介绍

鲍捷博士,文因互联 CEO。拥有20年学术界和工业界的相关经验。美国Iowa State University人工智能博士,RPI博士后,MIT访问研究员,W3C OWL(Web本体语言)工作组成员,前三星美国研发中心研究员,三星问答系统SVoice第二代系统核心设计师。主要研究领域涵盖人工智能的诸多分支,包括机器学习神经网络数据挖掘自然语言处理、形式推理、语义网本体工程等,发表了70多篇领域内相关论文。是中文信息学会语言与知识计算专委会委员,中国计算机协会会刊编委,W3C顾问会员会代表。2010年以来关注金融智能化的研究和应用,成果有XBRL语义模型,基于知识图谱的基本面分析、金融问答引擎、财务报告自动化提取、自动化监管等。

以下为演讲原文:

鲍捷博士:我今天的题目是《确保搞砸人工智能项目的十种方法》,按照这十种方法,基本上可以搞砸项目。(笑)

之所以能够讲这个题目,是因为我自己之前也搞砸过很多项目,下面列表里超过一半的项目最后是失败的:

我开始想,为什么大部分的项目最后做不成?

我经历了好几次很痛苦的时刻,比如刚到RPI(伦斯特理工学院)做博士后,这个学校有全美做知识图谱最好的实验室,实验室的James Hendler和Deborah Mcguinness,都是这个领域最好的老师。

我在那里做了一个知识管理系统,在我看来,我们是世界上最好的语义网实验室,也是最专业的一群人,不用这个技术来武装自己好像说不过去,所以我就做了一个语义检索系统,但是后来没有人用。

我就在反思到底问题在哪,为什么这行真正最好的专家,做出这样一个系统,连自己都不用?

我不停地在想,人工智能项目失败的核心原因到底有哪些?

当然,后来经历了更多的失败。基于这些直接或者间接失败的经历,我逐渐总结出来确保一个项目会失败的一些原因。这些原因很多时候看起来是反直觉的,我会逐一地跟大家讲。

在最后,我也会总结如果想要避免这10个坑,应该做什么。

NO.1 一下子砸很多的钱

第一种确保你的项目失败的方法:一下子砸很多的钱。

我目前也在创业,有VC问我:“你们做的这个事,如果BAT砸很多的钱,是不是就一下子能赶上你们?”

我说不会,通常举的例子,就是日本的五代机。当初日本举全国之力,砸了几百亿日元,最终没有做成。

五代机是什么?1970年代末是人工智能的第一次冬天开始回升的时候。80年代开始进入人工智能第二个高峰。这时候,日本启动了一个新的项目,叫第五代计算机。

什么叫第五代计算机?前四代计算机,分别是电子管的、晶体管的、集成电路的,和大规模集成电路的。日本到第五代计算机的时候,他们认为要想做人工智能,就必须用人工智能的专有硬件。

(《知识信息处理系统的挑战:第五代计算机系统初步报告》中第五代计算机系统概念图)

这个话是不是听起来很耳熟?最近在做深度学习的时候,看到了很多关于深度学习芯片的想法。这个想法并不新,因为在30年前,日本人在五代机的计算里,就已经有这样的想法了,只是当时的人工智能芯片,不是现在深度学习的芯片,而是Prolog的芯片。

Prolog是人工智能的一种语言,主要是一种逻辑建模语言。如果能够用Prolog来建计算机,计算机就可以进行思维,可以处理各种各样认知的任务。这是一个非常大型的国家项目,最终花了几百亿日元,耗掉10年时间以后,在1992年,终于胜利地失败了。

这不是个例,很多大型的项目,最后都失败了。

一开始砸很多钱,为什么还会失败?你要想,做一个项目,通常是有目标的。当你有一个大预算的时候,你的目标通常也定得很高。像五代机的目标,不单当时是做不到的,三十年后的今天,也是做不到的。

虽然五代机失败了,但是日本的人工智能技术,在五代机的研发当中得到了很大的提升,所以到了20年后,语义网兴起的时候,日本的语义网研究水平还是相当好的,那些钱没有白花,它培养了很多的人才

在日本做五代机的同时,美国也有类似的研究,主要是LISP machine,LISP是人工智能的另外一种语言,也是逻辑建模的语言。其中有一个公司叫think machine。当时至少有100家LISP公司。

为什么单独要提到think machine?创始人在失败之后沉寂了一段时间,开了一个新的公司叫MetaWeb,MetaWeb是2005年的时候成立的,这个公司有一个产品叫Freebase,用Wikipedia做了一个很好的知识库

2010年这个公司被谷歌收购,改名叫谷歌知识图谱。所以今天谷歌的知识图谱有很多历史渊源,可以追溯到30年前LISP machine的研究里面。

罗马不是一天建成的,所以一下子砸很多钱,就会导致项目的目标过高,从而导致这个项目有极大的失败概率。

我曾经遇到过一个大型国企的人,他跟我说,他们要花3000万建一个企业内部知识管理系统。我就问他,你那个3000万是怎么投的?他说我第一年就要投3000万。然后我没说话,因为我的想法是这个项目一定会失败。后来这个项目的的确确失败了。

也有一些大公司投比这还多得多的钱来做AI项目。这些都不一定让事情更容易成功。

这是第一种方法,一下子砸很多钱。

NO.2 根据最新论文来决定技术路线

第二种方法:根据最新的论文来决定技术路线,这可能也是一个反常识的事情。

因为最新的技术不是最好的技术,要注意,在工程领域里面,通常面临着实际的约束来解决问题的。而论文是一种实验室的环境,是不一样的。

比如说实验室里,可以假设有一些数据,可以假设这些数据已经被集成了,被清洗了,是没有噪声的。可以假设目标是清晰的,但所有的这些假设在现实中都不一定成立的。

最好的例子,就是信息抽取,这是2013年的EMNLP上的一篇文章,我拆出来的图。

这个图告诉我们做NLP的论文和实际的工业系统所采用的技术路线有什么不一样的地方。

从2003年到2012年整整10年,学术界所发表的自然语言处理论文的实体抽取子领域里,完全用机器学习的方法论文占到了75%,混合机器学习和基于规则的方法论文占到了21%,完全只用规则方法的论文,只有百分之一点几,非常低的比例。但是当看到工业界的实际应用的时候,发现了完全不同的技术占比分布,用规则方法的占到了45%。

如果光看大型的供应商,比如说IBM这样的公司,67%的软件是完全基于规则方法的。完全基于统计方法即machine learning方法的软件,在所有的供应商那里占33%,在大型的供应商那里只占了17%。

所以从学术界的研究到工业界的实践,有一个非常巨大的差异。为什么会有这样的差异?就是我刚才提到的,在发表论文的时候,完全不需要考虑现实中所会遇到的那些约束条件。在知识提取、实体提取领域,尽管现在从理论上来说,已经解决了,比如说实体识别问题、NER问题、分词问题,但是到了真正现实的语料中,发现这些方法都不好用。这也可以用另外一个问题来验证这一点,就是问答系统

今天看到大部分的论文——我没有做精确的统计,只是基于模糊定性的看法——能看到大部分发表的问答系统的论文都是基于统计方法的。特别是这两年基于NLP的方法,尤其是基于端到端的方法的。无一例外,能够真正在工业中应用起来的问答系统,除了小冰这样的闲聊系统之外,真正的面向解决任务型的问答系统,全部都是用规则系统的。我还不知道哪一个是用深度学习的,当然也可能有用在某一个具体的细节,或者某一个组件上面,我没有见到过用于整体架构上。

所以当决定一个工程问题技术路线的时候,不一定要按照最新的论文趋势来做这件事情,甚至,论文和十年之后的技术都不一定有相关性。一定要根据现实的情况,根据现实的约束,来决定技术路线。

NO.3 脱离真正的应用场景

第三种方法:如果脱离了真正的应用场景,项目就注定会失败

这里我用OWL2来说明。OWL2是一种语言,对于做语义网的同学们很熟悉了。

在Web上所知道的所有的这些标准化的格式,比如说HTML都是W3C,即万维网联盟设计的。万维网联盟也会负责Web上其他的协议,其中有一个协议叫OWL。它是在讲,在互联网上如何表达我们的知识。

比如说,一个餐馆要发布它的菜单,该用什么样的格式来发布?或者我现在要在网上发布我的简历,希望被谷歌更好地检索到。我要告诉谷歌,我是一个人,我姓什么,叫什么,出生年月是什么,我应该用什么样的格式发布这样的数据。其中一个格式就是OWL。OWL的第一个版本在2004年发布,第二个版本是在2010年发布。

OWL WORKING GROUP比较活跃的工作组的成员里面,有相当多的知名大学的老师,还有一些知名公司的科学家,包括IBM、Oracle、惠普。你们注意到,我刚才提到这些大公司的时候,有一些名字没有出现,比如说谷歌和Facebook。

OWL2本来希望想做的事情,是设计如何在网上表达并发布日常生活衣食住行信息的。但是,最终工作组成员的构成,一种是大学研究人员,另外一种是大公司做企业级应用的,大部分是远离场景的。

最终设计出来的产品,也就是OWL2语言,脱离了真正想去服务的那个场景。OWL WORKING GROUP在开会的时候,写了大概好几十个应用案例,但是大部分的案例都是这样的:一个制药公司要做一个药,应该怎么表达制药的知识,或者一个医生如何表达病历、疾病或基因,大体上都是这样的应用。没有任何一个案例是在讲述在网上如何找一个朋友,或者如何跟朋友聊天,或者如何去订餐,日常生活中的案例都是没有的。

OWL2最终写出来以后,有600页纸,这是一个非常复杂的语言。事实上,也就是在一些少量的企业级应用里面被用到了,在真正的日常应用当中,成功的案例几乎没有。这就是个典型的脱离了应用场景的项目,所以这个项目,花了很多钱,最终没有达到真实想达到的目标。

NO.4 使用过于领先的架构

第四种方法,使用过于领先的架构

这也是跟前面第二种方法相呼应的,第二种方法说,你不能根据最新的论文来决定你的技术路线。第四种方法是在讲,如果你使用了一种特别先进的架构,反而有可能导致你的项目失败。

Twine在2007年被称为世界上第一个大规模的语义网的应用。当时是一个明星企业,这个公司到了2010年的时候关门了。为什么?Twine在成立的时候,想做一个语义书签的应用。比如说我读了一篇文章,我觉得很好,把它保存下来,留着以后再读。Twine的机器人就会分析我保存下来的这篇文章到底在说啥,然后给这个文章一个语义标签。如果有人订阅了我的标签,他就可以不断地看到我这个标签下收藏的好东西,就这么一个想法。

Twine在底层用了一个叫RDF的新数据库,RDF是一种语义网的语言,比关系数据库增强很多,它是可以进行推理的数据库。但是当Twine用户量达到200万的时候,它就遇到了一个瓶颈,数据库的性能不够。所以Twine的CEO就决定,开发一个新的数据库。

当时这个公司大概是40个人,用20个人来研发基础性的东西——一个新的语义数据库。2008年的时候,情况还不错,他们发现自己做的东西是个很好的东西,突然就在想,我们做的东西为什么只搜索书签?完全可以搜索整个Web上的东西。于是他们就做了一次转型,去做整个Web的语义搜索。步子太大,就把公司拖死了。到了2008年经济危机爆发的时候,资金链断裂,撑了一年以后就死了。

在死的时候,Twine的CEO Nova Spivack ,是我们领域非常值得尊重的一个先行者,也是一个技术大拿,同时也是一个非常成功的投资人。他就检讨了Twine的失败。他说我试图在太多的地方进行革新,我应该要么革新一个平台,要么革新一个应用,要么革新一个商业模式,但是我似乎在太多的地方都进行革新了,而且我使用了一种非常超前的架构,就是RDF数据库,导致了我要追求的目标太大,我无法达到这个目标。

我想他说的这个话,即使到今天,也是非常值得思考的。

这个项目相关的分析文章,我差不多每过两年都要仔仔细细地看一遍。Twine失败了以后, Nova Spivack 对公司进行了一次转型,成立了一个新的公司叫 Bottlenose,还是用了同样的技术,用在了更聚焦的应用场景上,从2C的服务转到2B的服务上去。

Bottlenose这个公司,到目前为止已经8年时间了,还是很成功的。2B的应用相对而言不太需要这么大量的数据,不用解决系统可伸缩性问题,突出了这个系统最核心的优势,即语义分析和理解能力。

像Twine这样失败的例子是不罕见的。用一个过于先进的架构的时候,通常会面临一开始很难去预期的一些风险,甚至不仅仅是像RDF数据库这样的小众的产品,更加大众的产品,也有可能会遇到这样的情况。

比如说有人经常会问我说,你们做知识图谱的应用,是不是一定要用图数据库?我就通常回答说不一定。

如果你熟悉图数据库,比如说你对 Neo4j 整个运维都非常地熟悉了,你知道它的JAVA虚拟机如果出错的时候,该如何处理;你知道它内存不够的时候,该怎么办;你知道怎么进行数据的分片,知道怎么进行主从的复制……所有这些运维问题都很熟悉的时候,你就可以试一试上这个应用。

在上应用的时候不要太着急,如果你只是一个在线应用,可以放一放,先把离线的这部分运维的工作搞清楚以后,然后再上线,也可以先用一个小数据集试一试。总之,步子不要太大。

NO.5 不能管理用户预期

第五种方法,不能管理用户预期。

这是一个特别常见的项目失败的原因,甚至不是因为技术上做不到,而是用户预期更大。

我先说一个技术上完全做不到的,比如说有一个银行,他们推出了所谓的机器人大堂经理,你可以跟一个机器人对话办理业务。显然,这个东西如果真的能够做到,应该是非常令人吃惊的事情,这已经远远超出当前技术边界。

最近有一个比较有名的骗局,就是机器人索菲亚。沙特阿拉伯还给了它第一个公民的身份,这是一个非常典型的诈骗。

这种类型的机器人是不太可能出现的。

在其他应用当中也会遇到这样的情况,尤其是对话机器人是最容易引起用户的图灵测试欲望。当用户发现跟他对话的是一个机器人的时候,他就会试图去调戏这个机器人。比如很多人都会去调戏siri,所以siri积累了很多段子,准备应对大家调戏。

如果你是提供了一个搜索引擎,那么大家的预期是比较低的。但如果你以一个问答引擎的形式,提供同样的内容,大家的预期就会高很多。

我们最早提供了一个终端级产品,用户的评价就不是特别好,后来我们调整了一下定位,把它调整成用搜索界面来提供服务,系统顶层的智能程度没有太大改变,但是用户的预期和评价马上就好起来了,因为用户预期降低了。这样的语义搜索引擎,相比其他的搜索引擎,其实还是好一些的。

对话机器人其实也一样,如果你给用户的预期,是能够跟他平等对话的机器人的话,通常是很难达到的。用户通常玩一玩就会发现好傻,然后就不玩了,所以大家注意到谷歌机器人跟Apple的siri机器人定位有很大区别,谷歌机器人不仅仅做对话,它能够预先帮你去做一些事情,甚至主动地去帮你做一些自动化的事情,其实这是非常聪明的选择。

目前能够跟人长期进行交互的机器人,其实是一个更加偏秘书型的,或者说它就是一个帮助你进行任务自动化的机器。如果你是立足于对话,其实很难满足用户预期,但是如果你立足于自动化,就比较容易达到用户预期。同样的技术,你用不同的方法去服务用户,用户预期不一样,用户的感觉就完全不一样。所以要尽可能地让用户感知到产品的成熟度,在他的预期之上,这个产品才有可能成功,他才愿意付费。

NO.6 不理解认知复杂性

第六点叫做不能理解认知复杂性

这个事情我在刚开始的时候就提到了,这个例子就是Semantic Wiki,我写了很多个这样的系统,Semantic Wiki是什么呢?大家肯定都用过维基百科或者百度百科,这只是一个典型的维基系统,有很多人去写一个页面。Semantic Wiki也是基于协作的,也是一个Wiki,只不过在这个Wiki的页面上,你可以打一些标签,加一些注释。

它可以解决什么问题呢?比如可以解决页面之间的数据一次性问题,就是一个页面上的数据,可以流到另外一个页面上去,举个例子,比如说在维基百科上面,可以看到很多国家的GDP,就是国民生产总值,在中国的页面上,会有中国GDP,在亚洲国家的GDP列表上面,也会有中国GDP,然后在世界国家的GDP列表上,也会有中国GDP,那么是不是可以有一个机制,比如在一个页面,写下中国的GDP是多少,只要这个数字改变,其他所有页面上的数字会同步改变,用Semantic Wiki技术就可以做到这一点。当然Semantic wiki还可以做很多很酷的其他的事情,很强大。

我从2004年开始就开始写Semantic Wiki系统,前前后后写了三个Semantic Wiki系统,后来我加入了一个开源社区,叫 Semantic MediaWiki, 基于这样的系统,我做了一个很好的知识管理系统。

2010年我们试图来推广这个系统,当时是做了一个实验,也是一个美国的国家机构委托我们做的,就是要测试用这种协作的知识管理系统来记录一些事件,能不能记录得很好,好到可以后面让机器自动进行处理。

当时做的对比实验是找了一群RPI的计算机系本科生,让他们来看电视连续剧,看完以后描述情节。一部分人用自然语言来进行描述,一部分人用Semantic Wiki,以更加结构化的方式来进行描述。然后再找了学生来分别阅读前两组学生的描述,最后让他们来做题,看哪个组能够更精准地来复原电视剧情节。最后得到的结果发现是用自然语言描述是更容易,就是描述得更精准,速度更快。

然后我们仔细去看那些学生写的结构化的描述,发现是错误百出,比如说张三拥抱了李四,对于一般的所谓有过知识工程训练的人来看,很明显拥抱应该是一个关系,张三和李四应该是两个人,一个是主语,一个是宾语,那么就应该是主谓宾,张三拥抱李四是很清楚的一个知识建模,但是相当多的学生,他们把这么一个特别简单的建模就给搞错了,他们没有办法理解什么叫概念?什么叫关系?什么叫属性?甚至他们不知道什么叫主语和宾语?然后发现在一开始设想这件事情的时候,忽视了绝大多数的人,在他们的教育生涯中比如高中教育里面,是没有结构化思维的训练的,这是一种事先无法意识到的认知复杂性。

由于我们都经过十年以上的训练,所以就完全把这些东西当成是天然的事情。后来在OWL WORKING GROUP也遇到了同样的事情,有人说这个东西太复杂了,其中有一个逻辑学家就抗议说,这东西不复杂,这东西在计算机上跑的时候,它的算法复杂性只是多项式复杂性而已,然后我听了这句话以后,突然意识到了一个事情,就是在这些逻辑学家的脑子里面,他们所提到的复杂性是指一个语言对于机器的复杂性,所以我们通常把它称为计算复杂性。

但是实际上普通人所理解的复杂性不是这样的,比如说你半页纸就能说明白的东西,那是一个简单的东西,如果让我看到20页纸,才能看明白,那这个东西是一个复杂的东西。所以一个技术,你能不能够让程序员用起来,能不能让用户用起来,最核心的事情,你是不是能够让他们在认知上面觉得这东西,一看就懂,一听就懂,一打开就懂,不用解释,这才叫简单。

在很多算法的设计上面也好,文档的设计上面也好,应用的设计上也好,它最终能不能用得好,关键是让人感觉到它简单好用,这就是一个很重要的因素。斯坦福Parser,为什么在NLP领域里面被用的这么广,一个很重要的原因,它的文档写的好,每一个类都有文档,提供了足够多的案例。

所以好的文档可以极大地降低一个产品的认知复杂性,即使你的产品本身是复杂的,你把文档写好,也足以有助于推广这个产品,所以尽可能地让能够接触到你产品的人,不管是搞语言的,搞技术的,搞算法的人都感觉到这东西简单,是保证你的产品成功的一个关键。

NO.7 专业性不足

第七点,这一点就很好理解了,专业性不足

我经常会遇到这样一些人,说某某公司现在想做一个问答系统,希望投入三五个人,可能大多数情况下没有博士,多数情况下可能就是一个工程人员,试图很快的时间,两三个月之内,甚至三五个月之内,把这样一个东西做出来,也是一种幻想。当然我不会直接说破。

人工智能产品,的的确确是有它的专业性的。很多机构想试图自己去做这样的事情,花了1000万、2000万、3000万冤枉钱,结果做不到。确实,如果没有一个足够专业的人是很难把这种事情给做成的。

我也经历了很多这样的事情,在曾经做过的一个语义理解系统里面,也经历了这样的问题。我想能够完成这样一个系统,实际上是要综合很多不同的算法,不是一个算法就能够解决掉的。比如说,从正面的例子来看,IBM Watson 系统里面有几十种不同的算法,有机器学习的算法,有自然语言处理的算法,有知识图谱的算法。你要把所有的这些算法恰到好处地组合在一起,拿捏的尺度就是一个特别重要的能力。你该用什么样的东西,你该不用什么样的东西。

比如说规则系统,任何一个人都可以写10条正则表达式,这是没有问题的。但是如果你能够写好100条正则表达式,那你一定是一个非常优秀的工程人员,你的软件工程能力很过硬。如果你能够管理好1,000条正则表达式,那你一定是一个科班出身的,有专业级的知识管理训练的人。如果你能够真正地管理好10,000条正则表达式,那你一定是一个有非常丰富的规则管理经验的人。

当然我说的1,000条、10,000条,并不是说你 copy paste 10,000次,改其中几个字,那个不算。人工智能的很多事情,困难就在这儿。你到网上去拿一个什么开源包啥的,你把它做到80%,都很容易做得到。但难度就在于最后的20%,通常可能需要98%、99%的正确率,才能够满足用户的需求,但是如果专业性不够,最后的这些点是非常难的。

打个比方说,你要登月的话,你需要的不是梯子,是火箭。你搬个梯子,最后只能爬到树上去,再也没办法往上走了。你需要的是停下来造火箭,造火箭就是专业性,如果专业性不足,你永远只是停留在80%的水平上,再也升不上去。

回到刚才讲的语义理解的项目。当时就遇到了蛮多困难,要能够集成规则的方法,集成统计的方法,集成自然语言处理的方法。当时全球有很多实验室一起来做这件事情,但缺这样一种角色,能够把所有的尺度拿捏得特别好的。

其实IBM把Watson系统做出来,也是经历了很多内部变迁,包括项目管理人的变化,包括各种技术选型的变化,能够做到这一些,这种人才是非常短缺的。在中国,能够真正从头到尾把一个语义的理解系统架构做好的人,是非常非常少的,也许10个,也许20个,数量确实不多。我相信在其他人工智能领域,也面临着同样的情况。

专业性也不会仅仅只局限于程序或者技术这一块,人工智能的产品经理,人工智能项目的运营,还有整个后面的知识系统,数据的治理,都是需要很专业的人来做,现在这些人才都非常地短缺

NO.8 工程能力不足

第八种方法就是工程能力不足

我的博士论文是一个分布式推理机,但因为编程能力不够,一直到我毕业为止,都没有能够把它实现出来。当然后来到了2012年、2013年之后,图计算,包括基于消息交换的图计算出来之后,那时候我再来做分布式推理机就比较容易了。

但这是我特别大的一个教训。

在这之后,我就比较关注,如果做一件事情,先能够把我的工程能力补足。这个工程能力,包括软件工程能力,如何写代码,如何管理代码,如何做系统集成,还有回归测试,如何进行代码的版本控制等等。后来我面试人的时候,也比较关注这些东西。

一个人工智能的技术能不能做得好,核心往往不仅仅是算法,而是底下的架构,还有系统。比如论文中其实是很好的分布式推理算法,但是我因为缺少这个架构,就没有办法把这个东西实现出来。后来像深度学习也是这样的。最近看到陈天奇他们的实验室,把算法、架构、操作系统都放在一个实验室里面来运作,觉得这是一个特别好的事情。目前算法和架构之间的裂缝太大了。

工程是解决人工智能的核心钥匙。如果代码能力不行,架构能力不行,工程能力不行,在这个情况下,根本就不应该去谈算法。优先应该把工程能力补起来,然后再谈算法。

NO.9 阵容太豪华

第九点,阵容太豪华

这一点不太好说具体的项目是什么,太敏感了。

但是我就从逻辑上给大家讲一下。因为一个项目如果太豪华,核心的问题就是沉没成本。

我们也经常看到一些初创公司,不管是从商务上,还是从技术上,特别优秀的人组成了一个公司,最后还是会失败。为什么?因为比较优秀的人,就是想要做大的事情。一个大的事情,很难一下子就做对。通常大的事情,是从小的事情成长起来的。如果我们不能够让豪华的阵容,从小事做起,通常这样一个事情是会失败的。

逻辑很简单,我就不多说了。

NO.10 时机不到,运气不好

第十点,我可以把所有其他的因素丢到这儿,就是时机不到、运气不好。

其实可以把所有其他的事情都归结为运气不好。

比如说我们现在看深度学习,比如像attention、卷积、LSTM、联想记忆等等所有这些概念在90年代,我读研究生的时候,这些概念都已经有了,但是当时是做不到的。当时即使有了这些算法,也没有这样的算力,即使有了这样的算力,没有这样的数据。

在2000年的时候,我在硕士毕业之后,就在研究一种分层的多层神经网络。我们把它称为hierarchical neural network,跟后来深度学习的想法非常接近。我带着这个想法,去见我的博士导师。说我想继续沿着这个方向往前走,但他说现在整个神经网络都已经拿不到投资了,你再往前走,也走不下去,所以后来就放弃了这个方向,准备做语义网了。10年之后,这个方法终于找到了机会,后来就变成了深度学习的东西。

很多时候,时机不到,即使你有这个算法,你也做不到。90年代的神经网络,差不多花了10年的时间,才等到了自己的复苏。

知识图谱也是一样的,知识图谱大概也等了十几年的时间,到了最近这几年才真正地得到了大规模的应用。

总结

让我们来取个反,做个总结:

最后一点,时机和运气再啰嗦一下。

很多时候,我们是真的不知道这件事情能不能做得成,也真的不知道,自己处于什么样的历史阶段。很难预言未来是什么,但是至少有一点,如果我们多去了解一些算法层面的发展,包括人工智能的发展史,包括相关的这些技术的发展史,能够更好地理解未来。

所以我也推荐一下尼克老师的《人工智能简史》这本书。我看了两遍都挺有收获的。看了这东西,能更多地理解什么是时机,什么是运气。

有时候我也经常会读一些经典的文章,十年前或20年前的书,我读了还是挺有启发的。比如说,今年我又把Tim Berners-Lee《编织万维网》那本书又重新读了一遍,读了一遍以后,我就坚定信心了。

知识图谱这样一个互联全世界的记忆的系统,大概率到2030年能够实现,这还是一个很遥远的时间,但是根据历史规律,应该到2030年能实现了。

一方面,降低我们现在的预期,另一方面也给我们前进更大的鼓励。

场景跃迁理论

刚才反反复复提到了,要控制用户的预期,控制自己的预期。做一个项目,要从小到大,循序渐进。最后把所有的东西抽象到更高层面上,我自己总结为一个理论,叫场景跃迁理论。

这个理论的核心,是说一个人工智能的公司需要多次的产品市场匹配,就是Product-Market Fit。如果提供了一个产品,市场恰恰需要,而这个市场恰恰又很大,就说得到了一个产品市场匹配。

经典的互联网创业,通常做一次产品的市场匹配,就可以成功了。但人工智能往往要做好几次,互联网公司和人工智能公司很不一样。

一个称为养鸡场模式,一个称为养小孩模式。

互联网公司是一种养鸡场模式,它是一个大规模的复杂系统Complex system。它的关键是可扩展性。我养了一只鸡,我发现这只鸡不错,我养1万只鸡,这就是养鸡场模式。核心就是如何能养一万只鸡,这就叫可扩展性。

人工智能应用是另外一种类型的复杂系统,叫Complicated system,它是有非常多的组件,通常是上百种奇奇怪怪的组件组合在一起。它的核心并不是养一万只鸡,更多像养小孩一样,生完孩子,从小给他换尿布,给他喂奶,教他走路,教他说话,逗他玩,小学、中学、大学,一路把他养大,每一个阶段所面临的主要任务都不一样。你如何能够让这小孩成长,我们把它称为可演进性,这才是AI公司最核心的因素。

把一个AI的公司给养大,其实是特别不容易的事情。就跟养小孩一样,往往前5年的时间,都在搭团队,搞基础,特别辛苦。公司存活的观念就是,如何能够在演进的过程中,逐步地挣钱,而不是试图一步到位地找到市场产品结合点。不仅仅是在人工智能的阶段要挣钱,在人工智障的阶段,也要能够挣钱。

没有一个完整的系统,怎么能挣钱?只能够把系统中的某些组件拿出去,做部分的商业化。就好像毛毛虫到蝴蝶一样,毛毛虫要蜕皮,蜕好几次,才能变成一个蝴蝶。毛毛虫阶段,它要吃树叶子,在蝴蝶那个阶段,它是要吃花蜜,所以它在两个不同的阶段,它的商业模式是完全不一样的。人工智能公司也要蜕好几次皮。在早期的时候,因为产品还不够完善,所以人工智能公司早期都是外包公司,这是正常的,就应该接受,这是发展必经的阶段。

总结今天所说的一切,人工智能是一种新兴的事物,它是非常复杂的东西。很难用传统的旧经验来套这样一种东西的发展,必须经过很长时间的演化,才能够达到成熟的状态。而这个演化力才是我们想做一个成功的商业的尝试,最关键的因素。如何保证在一次又一次的场景跃迁当中,团队不散架,这样的能力,才是决定了某一个商业上面能不能成功的最大的关键。

我觉得不仅仅是商业,不管是在学校里做研究也好,还是在大型跨国公司里做研究也好,很多道理都是一样的。就是如何能够循序渐进地,从小到大地来做,谢谢大家!

文因互联
文因互联

当人工智能遇见金融

理论文因互联鲍捷人工智能
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

LISP技术

LISP是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法。起源于公元1958年,是现今第二悠久而仍广泛使用的高级编程语言。只有FORTRAN编程语言比它更早一年。LISP编程语族已经演变出许多种方言。现代最著名的通用编程语种是Common Lisp和Scheme。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

本体工程技术

本体工程,又称为本体论工程、本体论设计或本体设计,是计算机科学与信息科学当中的一个新兴领域,旨在研究用于构建本体的方法和方法学。本体工程乃是一个新兴的研究和应用领域,关注的是本体开发过程、本体生命周期、用于构建本体的方法和方法学以及那些用于支持这些方面的工具套装和语言。

Prolog技术

Prolog是一种逻辑编程语言。它创建在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。

关系数据库技术

关系数据库,是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。

语义网技术

语义网是由万维网联盟的蒂姆·伯纳斯-李在1998年提出的一个概念,它的核心是:通过给万维网上的文档蒂姆加能够被计算机所理解的语义,从而使整个互联网成为一个通用的信息交换媒介。语义万维网通过使用标准、置标语言和相关的处理工具来扩展万维网的能力。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

图灵测试技术

图灵测试(英语:Turing test,又译图灵试验)是图灵于1950年提出的一个关于判断机器是否能够思考的著名试验,测试某机器是否能表现出与人等价或无法区分的智能。测试的谈话仅限于使用唯一的文本管道,例如计算机键盘和屏幕,这样的结果是不依赖于计算机把单词转换为音频的能力。

信息抽取技术

信息/数据抽取是指从非结构化或半结构化文档中提取结构化信息的技术。信息抽取有两部分:命名实体识别(目标是识别和分类真实世界里的知名实体)和关系提取(目标是提取实体之间的语义关系)。概率模型/分类器可以帮助实现这些任务。

问答系统技术

问答系统是未来自然语言处理的明日之星。问答系统外部的行为上来看,其与目前主流资讯检索技术有两点不同:首先是查询方式为完整而口语化的问句,再来则是其回传的为高精准度网页结果或明确的答案字串。以Ask Jeeves为例,使用者不需要思考该使用什么样的问法才能够得到理想的答案,只需要用口语化的方式直接提问如“请问谁是美国总统?”即可。而系统在了解使用者问句后,会非常清楚地回答“奥巴马是美国总统”。面对这种系统,使用者不需要费心去一一检视搜索引擎回传的网页,对于资讯检索的效率与资讯的普及都有很大帮助。从系统内部来看,问答系统使用了大量有别于传统资讯检索系统自然语言处理技术,如自然语言剖析(Natural Language Parsing)、问题分类(Question Classification)、专名辨识(Named Entity Recognition)等等。少数系统甚至会使用复杂的逻辑推理机制,来区隔出需要推理机制才能够区隔出来的答案。在系统所使用的资料上,除了传统资讯检索会使用到的资料外(如字典),问答系统还会使用本体论等语义资料,或者利用网页来增加资料的丰富性。

暂无评论
暂无评论~