前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于程序员转型AI这件事,三位老炮跟你聊些干货(下)

关于程序员转型AI这件事,三位老炮跟你聊些干货(下)

原创
作者头像
AI科技大本营
修改2017-07-21 15:01:54
8480
修改2017-07-21 15:01:54
举报

系列文章:

关于程序员转型AI这件事,三位老炮跟你聊些干货(上)

关于程序员转型AI这件事,三位老炮跟你聊些干货(中)

Part 3 智亮:你是我的眼——对计算机视觉的介绍

[1500282113448_2346_1500282113640.jpg]
[1500282113448_2346_1500282113640.jpg]

今天我们主要聊的是计算机视觉,咱们先从最大的概念开始说一说,人工智能,机器学习,计算机视觉。

[1500282139213_3400_1500282139383.jpg]
[1500282139213_3400_1500282139383.jpg]

人工智能这个概念一点都不新,机器学习也一点都不高深,那个计算机视觉也谈不上神奇,为什么这样说?

我们人工智能实际上在历史上,浪潮至少三次。

第一次50年代到70年代,叫符号主义流派,专家系统占主导地位。

什么叫专家系统?就是人去学一个东西,然后把学到的知识理论化,再把这些理论模型化,最后把这个模型程序化,形成一个系统,就叫专家系统。

专家系统巅峰在1962年,IBM公司的跳棋,战胜了当时的人类高手,引爆了第一次浪潮。

专家系统能解决一些问题,但是也解决不了很多问题。

到了1980年,统计时代开始盛行。统计流派巅峰在1993年,Vapnik系统性的提出了一篇论述叫支持向量机,现在这个算法在很多地方被大量的使用,它非常有效。

引爆第二波浪潮的重点就是1997年,IBM的深蓝战胜了当时的国际象棋冠军卡斯帕罗夫。

[1500282162724_261_1500282162917.jpg]
[1500282162724_261_1500282162917.jpg]

2016年的阿尔法狗引爆了第三波浪潮,我们这一波的流派现在还没有名字,我更倾向于把它叫暴力流派。

2006年Hinton提出过一个经典的论文,Hinton这篇论文虽然在2006年提出,但是我们神经网络是一个非常老的概念,它的前身要追溯到1986年的多层感知器反向传播算法。

这里边还有一段历史公案,就是Vapnik老爷子和Hinton老爷子,他们学术矛盾很深,在80、90年代外面SVM一个占据主流的时候,神经网络被打压到连论文都发不出去,业都毕业不了。现在老爷子算是打了一个翻身仗。

刚才说到我们三次浪潮,前两次每次都是这样,说人类要毁灭了,后来发现其实并不是这样。

[1500282203521_2974_1500282203663.jpg]
[1500282203521_2974_1500282203663.jpg]

我们现在就处在这个状态,人类又要毁灭了。其实和前两次比,还是有一点区别。

我觉得最大的一个区别就是它现在真的是深入到我们生活的每一个角落,打开你的手机看看,淘宝,智能推荐,拍一拍,谷歌翻译,搜索引擎,智能出行,智能规划,微信,智能助理,头条,智能推荐,还有机器识别,其实它已经深入的改变了我们生活的每一个角落,而将来它会改变更多。

[1500282227031_8648_1500282227193.jpg]
[1500282227031_8648_1500282227193.jpg]
[1500282260791_4435_1500282260957.jpg]
[1500282260791_4435_1500282260957.jpg]

然后我们刚才说为什么机器学习一点都不高深。当年,Vapnik老爷子他提出支持向量机有一个核心概念,这个世界是线性可分的。

什么叫线性可分呢?线性就是一条直线,二维空间里它就是一条直线,三维空间里它就是一个平面,他认为这个世界用直线能全分割开,在我们的二维世界给它变一个纬度也能分开。

有点像我拿着一堆木球和铁球,你在它们在地上滚,然后你让它一刀切,分成两堆这是不可能的,但没关系,我把它放到水里,木球漂起来,铁球沉下去,横着来一刀,这就是支持向量机的核心理念。

[1500282279137_9235_1500282279311.jpg]
[1500282279137_9235_1500282279311.jpg]

虽然有些时候是这样的,但是并不是所有时候都能够成立,所以支持向量机当时只能解决简单世界的问题。

而神经网络是用了一个比较复杂的结构,多层感知机。

现在深度神经网络用了一个非常复杂的多层、高阶的结构,然后去拟合我们现实的世界,它比支持向量机要成功得多。但是如果说它真的能够拟合我们真实世界的所有情况,其实还差那么一点意思。这也就是说为什么我说,机器学习或者神经网络没有那么高深。

[1500282297331_1725_1500282297489.jpg]
[1500282297331_1725_1500282297489.jpg]

它本质上不对这些问题进行数学上的建模,我就是用一个很复杂的神经网络,做出了一个足够复杂的方程,Y等于F(X),这个方程参数非常多的,阶数高,非常的巨大,我们的输入是X,这个方程给我们算出来Y。

然后我们比如说我们看一张图片,我们这张图片输入就是X,一只猫,这只猫它真的是一只猫,我们的期望就是这个F(X),计算出来的结果等于猫,这就是我们目标,怎么让它等于呢?就是我们用大量的数据不断的迭代。

当年,Hinton老爷子提出这个东西之后,被Vapnik老爷子批评,说你这个东西一点数学的美感都没有,Hinton老爷子在数学成就上确实不如Vapnik他老人家,这也是历史公认的。但是一句话,我好使,我有用。

但是现在也有人质疑什么呢?我们这么算出来的东西,为什么?什么原理啊?它怎么就好使了呢?不知道,但是我们知道,这个复杂的非线性方程,它能够在某种程度上模拟出来我们真实世界的情况,但它具体怎么模拟的,是一个黑箱,我们都不知道,阿尔法狗下棋能赢柯洁,没问题,但是你让他去教围棋,那是一把瞎,别说阿尔法狗教不了,写阿尔法狗的人也教不了。

[1500282316801_7108_1500282316918.jpg]
[1500282316801_7108_1500282316918.jpg]

再说智能,我们的大脑就是一个典型的智能。

佛家有六识,眼、耳、鼻、舌、身、意,它对应的是六尘色、香、声、味,触、法。视觉,听觉,嗅觉,味觉,触觉,以及我们的思考,这个构成了我们的智能。

而计算机如果想有智能,它首先也得有这些感官,有输入才能有思考,有思考才能有输出,有了输入、思考和输出,它才有智能。而我们今天主要讲的就是在我们生活中,我们最大的信息来源,视觉。放在计算机上,就是计算机视觉。

[1500282346193_5049_1500282346451.jpg]
[1500282346193_5049_1500282346451.jpg]

当前的计算机视觉,它的技术上一般是有叫卷积神经网络。这个东西就是用大量的神经网络堆叠起来。

比如,给一个输入说,这是个人,而且是个女人,计算完了以后,得到输出,只要这个网络得出的是个女人,就OK。换句话说,我给它的每一个训练数据,我都告诉他正确答案是什么,这个就是监督式学习。

然后呢,它和以前的模式识别,特征检索,是有比较大的区别,区别在哪里?

其实它也有特征提取和特征检索,为什么说有区别?

区别在这,它的特征不是我们告诉的,不是我们编码,不是我们手工设定,而是通过大量的数据,它自己学习出来的,这也是神经网络和以前的所谓专家系统最大的区别。

[1500282367996_9621_1500282368210.jpg]
[1500282367996_9621_1500282368210.jpg]

那我们来看看,单就计算机视觉这个领域它能做什么。上图就是大家现在能做得非常好甚至超过人的一个例子,在这张图片里面,有很多东西,计算机能够把它分析出来。它能够从一个图片里面区分出不同的物体,并且辨别出它们是什么,在哪里,这是能做得事情。

[1500282394101_6423_1500282394268.jpg]
[1500282394101_6423_1500282394268.jpg]

这张图是毕加索的公牛,毕加索在画这一系列的图时有一个目的,说我画的公牛跟真的公牛一模一样,你能认出来,说明我画的好,如果我画的跟真实的公牛不一样,你们是怎么认出来?

我全涂成黑的,是牛;我再黑一点,细节全都丢失了,还是牛;那我把纹理去掉,把形状变一下,把各种全都抽象起来,到这还是跟我们平时看到的比较接近,画到后来还有人认为是牛,那么对人来说牛到底是什么东西?为什么这个样子是牛?这就是抽象。

我要说的就是计算机视觉现在有两个非常大的不能做的事情,第一就是抽象。

[1500282416877_8873_1500282417026.jpg]
[1500282416877_8873_1500282417026.jpg]

第二件事情很有意思,看上图,计算机第一反应有可能是猫,但是再仔细看看,就不认识了。我们的计算机视觉至少在目前这个阶段,它不知道自己不知道,这个事它做不到。

这两个事,一个是看到抽象的东西它认识,另外一个是看到不认识的东西,它知道自己不认识。在目前的卷积神经网络这个结构下,计算机是做不到的,它并不是万能的。

当然它也能做很多事情,接下来,我就仔细的看一下,卷积神经网络的一个大致的发展历程。

卷积神经网络开拓者Yann LeCun做了一个非常简单的卷积网络,去做手写数字的识别,也就是我们现在每个人初入机器学习,一定接触到的一个Mnist。

他做了一个数据集,用了一个卷积神经网络去计算一个手写的数字,它到底是一二三四五六七八九中的哪一个。这个东西做的非常的成功,美国的邮政和银行都在用,但是并没有产生太大的反响,因为支持向量机,也能做到同样的事情。

第二个,Alex,刚才两位老师也提过,他也是老爷子的学生。2012年,他刷爆了计算机视觉的比赛,以碾压性的优势,干掉了所有的SVM的东西,从那以后卷积神经网络才成为了计算机视觉的标配。

第三个人,何凯明,微软亚洲研究院出来的,2015年他提出的参加网络也是卷积神经网络的一种。这一年,计算机在Imagenet的比赛成绩超过了人类,虽然不像阿尔法狗那么有名,但是在计算机视觉史上这个时间点是要被铭记的。

下一个时代在哪里?是不是在你们中间,我也不知道。

介绍完了历史,我们来看一看卷积神经网络最大的特点。这个特点在于它能够自己去学习这些特征,我们看一下一个非常经典的一篇论文,叫做《Visualizing and Understanding ConvolutionalNetworks》,非常有名。

他们做了一个实验说,我训练一个非常简单的积卷神经网络,训练出来之后,我想看一看究竟学到了什么,大家都说它是黑箱,那我们打开看一下,到底学到了什么东西。

[1500282534574_4708_1500282534726.jpg]
[1500282534574_4708_1500282534726.jpg]

第一层,他们发现,都是非常简单的直线,斜线,各种颜色,这些非常简单的纹理。用这种形状的卷积核能够把图片上面的线条区分出来。这个网络在没有任何人工指定的情况下,大量的学习数据网络,它天然学到的,非常的巧合,或者说也是必然。

第二层,每个九宫格是个神经元,在我们用大量数据去输入它的时候,它会给出一个反馈。这个反馈是一个数,越高,代表它越兴奋,对这个输入越敏感。

它在所有的数据里面,找出了让这个神经元最敏感的九张图,并且通过反卷积的方式把它计算出来,它不代表这个神经元就是这个内容,而是这个神经元对这样内容的东西最为敏感。我们能看到第二层里面出现了圆形和各种角度的弧线,我们在大量的观察之后,得出一个判断,这个网络的第二层对形状敏感。

[1500282554769_1465_1500282554989.jpg]
[1500282554769_1465_1500282554989.jpg]

第三层,我们看到的纹理有点像长颈鹿,在经过大量的数据研究之后呢,我们认为它的第三层是对形状,纹理,这些信息比较敏感。

[1500282573481_4514_1500282573617.jpg]
[1500282573481_4514_1500282573617.jpg]

第四层,就开始对纹理形状结合,是对形状和纹理的复杂结合开始敏感。

第五层的时候,它就开始把所有的信息结合起来,形成一个高阶的概念。比如,我对狗敏感,我对花敏感,我对人脸敏感,它在一层一层这样不断递进之后,把上一层的信息,结合起来,然后形成下一层的输入,通过不断的训练自己,让每一层的神经元对不同的信息产生反映。

[1500282595940_3030_1500282596076.jpg]
[1500282595940_3030_1500282596076.jpg]

计算机视觉这个领域,它现在的课题大概就是这么几个。

首先就是识别,比如,这张照片,我能说出来它是人,那么就OK。

然后就是检测,检测的目标是我不但要说出来这个照片都有哪些东西,我还要知道它在哪一块。

再然后是语义分割,就是我画框已经满足不了我,我要精确的描绘出来这个人的轮廓,我要把有语义的东西从背景里面挑选出来。

最后一个叫描述,比如我给你一张图,你要给我一句话,一个女人和孩子在看电视,如果我们粒度再细腻点,还要说电视里面有一只狮子,这就是我们描述要做得事情。

识别检测分割和描述,就是当前计算机视觉的四个重要课题,现在很多论文都是围绕着这几个方面。

识别已经超过人了;检测还比人差点,但是不会差特别多;语义分割差的稍微远点,人能画出来,它不一定能画的像;描述,英文方面,现在是大概能看,说出来的东西比较靠谱,中文,基本上是一个空白,现在大概就是这样的情况。

[1500282623206_5326_1500282623305.jpg]
[1500282623206_5326_1500282623305.jpg]

然后如果说我们刚才看到的识别,检测,分割和描述,是我们现在在研究的这个领域,那么它的未来在哪里?

这是我个人的判断,首先说我们人在看到这个世界的时候,不是通过一张张的照片去认识这个世界,我们看到的是连续的,流动的物体,我们在大脑里面接受的是视频,这个也是视觉的一个发展方向,它未来必然是以视频或者序列为基础。

第二个大的发展方向,就是理解和分组,像上图,我们人一看到,就知道这是草地上有一条公路,公路上有一辆车,有一个树把车挡住了,在我们的脑海里是这个样子。但是计算机确实不是这么理解的,而让他能够这样去理解问题,就是我们未来的一个研究的目标。

第三个,叫无监督和One-Shot。比如,我们现在都知道Imagenet这个大赛,它一共有1000个类别,每个类别平均下来有一千张图像,加在一起是一百多万张图片,每张图片都有标签,都告诉你这张图片是什么东西。

所以大家现在看到的很多这种检测都是这样,为什么呢?因为他们只有Imagenet这样一个大量的数据都有标签,我们倒是想训练出来一个能识别其他的东西的,但是没数据。

所以未来我们的方向有一个很重要的分支,我们怎么样能够缩减数据的需求量,最好是什么呢?我给你图片,哪怕一千万张都可以,但是你别让我每张数据我都给它标个标签,太累。

无监督学习是个分组的过程。举个例子,分组的过程就相当于是,我看到无数只猫的图片,我不知道它叫什么,但是我知道所有这些猫都是同一个东西,当我把猫这个概念抽离出来以后,你给我一张照片,说这个物体叫做猫,我瞬间就明白了猫这个概念,这个是我们的无监督学习。也是我认为非常重要的一个方向,甚至说能不能够改变我们未来的产业的格局,就是最后一点。

如果说每一个数据都要监督,每一个分类都要一百张带标签的图片,那就只有Google、BAT这样的公司玩儿得起这个产业,但是如果当无监督出现之后,我们会看到,整个这个人工智能或者叫计算机视觉这个领域,会进入到一个群雄并起的局面,这个技术的成功,或者失败决定了未来的产业化的发展方向。

[1500282645254_237_1500282645407.jpg]
[1500282645254_237_1500282645407.jpg]

介绍一下目前用计算机视觉技术做的一些市面上的应用,这个东西就是我们做得一个识花的东西,对着一个花,拍张照片,我告诉你它是什么,从技术本身来讲其实没有太大的难度,就是一个简单的识别。

[1500282660617_854_1500282660866.jpg]
[1500282660617_854_1500282660866.jpg]

然后还有一个比较有意思的东西,Prisma,用到的是英文,给你一张照片,选定一个名作,比如梵高的星空,选定一个艺术风格之后,对这张照片进行应用,我们得到一个内容还是这张照片,但是风格变成了星空,或者呐喊的这样一张图片。

为什么把它们两个提出来呢?因为这两个应用用的技术都不难,投入也非常的小,像我们花伴侣,第一个用了一个星期训练,一个下午写APP,出来之后,大概四个多月的时间就有了一百多万的用户,最可怕的是什么呢?它从0到十万,花了三个月的时间,然后到三月的时候,春天来了,野花开了,一个月的时间,从十万变成一百万。而Prisma是5周,一千万用户。

我们并没有用多复杂多高深的技术,都是计算机视觉技术一个简单的应用,但是引爆了我们的社会,这也是我们为什么要去了解计算机视觉,了解机器机学习技术的原因,因为在之前这些技术并不是保密,是公开的,他们都流传在学术界。

我们为什么说机器学习是个的大的机会,学术界的宝藏,刚才两位老师也提到了,算法的红利,在于把它拿到工业界,学术界已经玩儿的不爱玩儿的东西,但是你把它向公众开放,让大家看到它能做什么之后,往往会爆发出连你自己都想象不到的一个巨大作用。

然后接下来就介绍一些前沿的尝试,这个是从16年开始,在学术界就非常热门的一个叫对抗生成网络的技术。

意思就是说我有两个网络,一个网络不断的去创造出来东西,相当于各种各样的造假;而另外一个网络呢,我就去负责分辨真伪,这两个网络不断的去训练自己,去提升自己。

造假一张接着一张的往外造,分辨网络再去分辨是真是假,这样它们两个在不断对抗磨合的过程中,只要有训练数据,就等生成一个以假乱真的东西。

[1500282685662_8698_1500282685795.jpg]
[1500282685662_8698_1500282685795.jpg]

这个是对抗生成网络的一个例子,你用手画个猫的轮廓出来,它给你生成一只猫,但是很快被人玩儿坏了。左边这样的东西,大家能够说很像是猫。但是右边呢?真正能像人一样,画出来的都像猫吗?有一定的距离,但是这个技术现在确实是未来的一个非常重点的一个方向。

[1500282708018_2907_1500282708154.jpg]
[1500282708018_2907_1500282708154.jpg]

这几张图是哪位大师的作品呢?我们肯定不知道,因为都是电脑画的,没有一张是人画的,但是看起来好像都很厉害的样子。计算机造了大量的图片出来,然后让人去挑,说哪个你觉得最有艺术价值。

[1500282731384_5966_1500282731550.jpg]
[1500282731384_5966_1500282731550.jpg]

然后这个呢,是挑战对世界的理解,为什么这么说?上边大家看到的是真实的行车记录仪拍摄下来的记录,下边这个是计算机根据第一帧的真实的画面,自己训练的生成后面的画面,凭空生成,无中生有,这也是对抗神经网络的一个非常可怕的点,也许有一天你看到的视频,你根本就不知道是真是假。

[1500282748998_5841_1500282749119.jpg]
[1500282748998_5841_1500282749119.jpg]

最后一个,是比较老的论文,但是我觉得代表了很多东西,就是它不光是能够学习图片上的特征,它还能学习它的语义。大家看,我有一堆照片训练出来说第一个戴眼镜的是男人,然后剪掉一个男人,加上一个不戴眼镜的女人,得到的是戴眼镜的女人,这篇论文非常的有意思,后来没有在语义上面学术界没有跟得太紧,但是这可能是我们未来一个很大的一个爆发点,很有意思。

【完】

文章来源:AI科技大本营

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part 3 智亮:你是我的眼——对计算机视觉的介绍
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档