人工智能已经沦为刷榜,刷论文的时代了? 新一代人工智能,认知智能已经来临。道翰天琼。

人工智能和深度学习技术风靡全球,盲目追风之下我们需要一场深刻的反思,到底什么是人工智能?深度学习能为我们带来什么?

AI 领域专家Filip Piekniewski 非常尖锐地指出了当下 AI 发展的问题:

一方面,深度学习给 AI 领域带来了巨大的成功,然而尚且无法实现像人一样拥有常识的 AI ,而对于这一点,多数 AI 研究者颇有些心照不宣地视而不见,沉浸在刷榜和发Paper 中。

另一方面,AI 似乎也被自身的成功所绑架,甚而成为自身成功的牺牲品。

对此, Piekniewski 基于自身在 AI 领域摸爬滚打数十年的经验,以及自身的思考,从 AI 应用和科研两个方向给研究人员提出了一些方法论建议,他调侃为发展 AI 的“不扯淡”的人工智能方法论("no bullshit" approach to AI)。

 

1

 

 

 

 

序言

不知道为啥,评论区里的读者童鞋们老说我的文章带有那么一内内批判色彩……好吧老铁,我承认我挺Mean的,额行行行…我承认我特别的愤世嫉俗。所以在大概两三年前,我决定洗心革面,重新做人!致力于做一个高尚的人、纯粹的人、有道德的人、脱离低级趣味的Up主。因此我稍微的转换了一下我的行文风格,开始写一些有实际建设性内容的文字,让读者童鞋们深入地了解到,其实我还是一个很有思想的数据科学家,而不是一个披着学者外皮的愤青~ 

其实说真的,我在博客上的那些炮轰其实只是正文的一个调剂品,大家多多关注文章的主体内容嘛。(顺嘴一说,那些被我炮轰的家伙本身就活该,他们脑袋怎么想的,成天的瞎炒作乱恰饭,一天到晚胡说八道。) 

但是话说回来,不论如何我也算是在人工智能、机器人和神经网络领域混迹了十来年的老油条了,对这几个领域还是有些发言权的。想当年咱也是发了不少Paper、披着大红袍让人叫X博士的主儿。

但当年在我读博的时候,人工智能领域还是一片荒芜,所以我的AI学习之路和现在的小伙子们有些不同,这也就直接导致了我能从一些不同的角度对人工智能的发展进行评价,也可以提出一些不寻常的观点。

哦对了,我先给那些没看过我简介的童鞋做个自我介绍哈。想当年在神经网络和连接主义(connectionism)还没有大杀四方的时候,我就开始对它产生了浓厚的兴趣。甚至因为研究的有点多,都开始腻烦它了。在那几年,我在数学、计算科学和神经学这个交叉方向上深刻钻研,并且尝试了各种基于神经科学、生物科学的计算模型。但是很遗憾,最终的收获寥寥。于是在接下来的几年里,我转而开始研究机器人领域。但是好景不长,没几年项目又黄了。接着,我获得了DARPA的项目资助,提出了PVM(Predictive Vision Model,预测视觉模型)模型,并致力于计算机视觉的研究。直到今天,我的项目组还在研究基于视觉的无人超市场景。

这么多年以来,我经历了人工智能的潮起潮落,见证了本来沉寂的神经网络方向风起云涌。但是就像大家看到的一样,人工智能领域充斥着“刷榜”和“刷分”的浮躁气氛,在我眼里看来,它们都太“扯淡”了!各种研究一味追求在某些数据集上的精度而不去关注这项技术为人类带来的便利和帮助。所以在这篇文章里,我想跟大家聊聊我个人对于人工智能的一些看法和研究进展,我将它称作发展 AI 的“不扯淡”的人工智能方法论。

 

  

2

 

 

 

人工智能,本质是为何?

我们知道,人工智能、深度学习、机器学习这些名词再唬人,它背后也就是一个计算机程序。这些程序产生的方法可能千奇百怪,有的是用专家系统,有的是用SVM,有的用深度网络。但是不论如何,往深处剖析起来,它们都是一行行的代码,都只是按照个规则运行在计算机上的0、1字节。

有人可能会问,这个大家都明白,你说这个干嘛? 

其实我想说,我接触到的很多读者都会神化神经网络,觉得它跟一般的软件不同,就好像我们将一段代码称为神经网络的时候,它就具有了某种“灵性”,它的计算就会变得十分神秘而不可捉摸。

但事实并非如此,神经网络也是有局限性的,并且这个局限性是随着设计与生俱来的。不是说我们给神经网络配置个更高配的GPU、提供更多的算力,它就能大力出奇迹、洞悉世间万物。

这时候可能就有小伙伴问了,那你能解释神经网络为什么有效吗?

确实,现在神经网络的可解释性研究还很初级,我们无法用人类能够理解的方式去对神经元之间的交互进行阐释,但是我们能够从更泛化的角度去预期网络的能力。比如在处理高清图片的时候,使用和GTA V相同算力的神经网络模型的渲染性能会更好。当然它的这点能力肯定不够去进行复杂视觉场景的理解和推理,因为图像渲染的工作比较固定,算法优化做的更好,但是理解和推理计算需要大量的反向操作,这个目前还是很难优化的。

那么神经网络是怎么搭建出来的呢?在说它之前,我们先退一步看看计算机程序一般都是如何设计出来的。

首先第一种方式,就是程序猿们根据业务需求手工设计。

当我们可以很明确地知道某个程序的任务、业务流程和业务逻辑的时候,手工设计是最好的解决方案。它能够通过一个算法、一个个数据结构和一系列清晰的操作对每一种情况进行处理,从而完美解决我们的业务需求。大多数的工业自动化软件都是这样设计的,比如我们常用的文本编辑器、修图软件、输入法和浏览器等都是如此。

但是这种方法的缺点显而易见,就是需要有大量的程序猿对业务进行分析、拆解、设计和实现,这样的人力成本通常是很高的。而且就算程序猿们完成了软件的开发,它最终能不能上线、到底好不好用、边界条件下的可用性等等问题都要进行更深一步的验证才行。而这些验证工作通常又要花费10余倍于开发的成本,其中包括各种严格的测试和形式化检查。而且即便经过了如此严苛的审查,我们也无法保证这个程序不出现bug,所以软件的维护成本仍旧高昂。

为了改变这种无奈的情况,在上个世纪80年代,人们提出了软件设计的另一种概念:专家系统。这种方法中,一个程序是由高级逻辑规范所生成的。这就是专家系统和函数式编程。 

在这种开发理念中,程序猿不必要细致入微地手写代码来告知程序如何解决问题,而只需要用非常形式化的逻辑语言,比如Prolog,来描述问题。接下来,专家系统和函数式编程软件就能根据这个问题的描述将其转化成机器可以执行的代码,并且解决问题。 

这种方法的好处在于,程序猿其实不用知道如何去解决这个问题,他只要能够描述这个问题就行了。在这种编程中,只要程序员描述问题的方式正确,那么原则上这个程序就没有bug,它的处理正确性和操作的规范性也就相应可以得到保障了。其实,这种编程思想是“元编程”的一个例子。其中,专家系统需要保障在任何时刻都能对所输入的形式化问题描述进行完美和正确的反馈。

但很可惜,这种愿景从来没有实现过。原因很简单: 

首先,我们无法保证使用高层级的声明性描述式的语言能够准确地表达问题,它的准确性和对业务描述的粒度远不及底层编程语言细致。在实践中,我们经常能发现在一些边界条件下,高等级的描述语言含糊不清,对问题根本没有解决的思路或者启发,这是十分致命的。写过代码的童鞋都知道,程序的运行规则和程序代码本身应该是相辅相成的,就类似于作曲和演奏之间的关系一样:贝多芬能够光用笔杆子和五线谱完成一篇交响曲,而普通人要是没有钢琴可能一个小节的音乐都写不利索。 

其次,能够用专家系统解决的问题种类和数量十分有限。但是话说回来,专家系统并非一无是处,它为后世留下了一些十分优秀的遗产,比如Lisp、Closure、Prolog、Maple和Mathematica等软件。

第三种方式,基于数据自动生成计算机程序。我们将这种方法称为“机器学习”。机器学习是一个复杂的交叉学科,是很多统计学和优化论等等尖端方向组合而成的方向。

这种方法已经存在了很多年,至少可以追溯到上个世纪60年代。那时候Rosenblat通过反向传播算法提出了Vapnik支持向量机,而反向传播方法则由 Rumelhard、Hinton和Williams 发扬光大。但其实在他们之前的十年左右,Paul Wobbos就已经将这项技术研究的差不多了。

反向传播的思想通常是和连接主义有关。连接主义是一种设计思想,它是指将一个特别大而且复杂的计算分散成许多小的、互相连接的、由诸多简单神经元分散计算并最终集成的解决思路。这种想法其实在很大程度上受到了人脑神经元结构的启发,但是在实现和具体运行的形式上则是受到Conway的Game of Life、细胞自动机和Hopfield网络(后来发展成了玻尔兹曼机)的影响更大。

在机器学习的范式中,输入的数据驱动着模型的生成。机器学习方法通过数据描述着模型的规则,它利用可塑可延伸的模型参数(本质上是某种数据结构)来构建模型的结构和变量。例如,在简单的线性模型中,我们可以通过一个点积操作和非线性激活操作修改分类器的超平面,使其能够根据数据集中样本的分布特点实现标签的分类。又例如,一个神经网络可以根据输入的几百万张图片学习图像中的样本模式,并且对其中的物体进行分类和识别。

基于机器学习的程序设计方法在诞生之初饱受诟病,人们说它不切实际、可扩展性差、参数量太大、计算量需求过高等等。但是不可否认,机器学习方法的优点更加引人注目,就是它抢了程序猿的饭碗——我们不再需要那么多实现规则的码农,也不再需要成百上千的测试团队了。在机器学习方法看来,最重要、也是唯一需要的就是数据!而数据的成本相对于动辄四五十万年薪的码农来说就显得十分低廉了(虽然它需要人类标记)。 

除此之外,机器学习方法的另一个好处是,它具有一定程度的可扩展性(尽管这种可扩展性是有严格的前提限制的)。其实回头望去,在过去的十余年间,深度学习就是在人们对机器学习的可扩展性研究,以及深度模型识别能力研究这两个方面共同作用的产物。

当然了,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值