专栏名称: 产业智能官
用新一代技术+商业操作系统(AI-CPS OS:云计算+大数据+物联网+区块链+人工智能),在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。
目录
相关文章推荐
最爱大北京  ·  北京一男子独自登山失联8天!遗体被找到→ ·  昨天  
北京吃货小分队  ·  在北京,适合一个人呆一整天的地方 | 北京LOOK ·  3 天前  
最爱大北京  ·  2月23日 | 京城事儿全知道 ·  2 天前  
51好读  ›  专栏  ›  产业智能官

【无监督学习】通往人工智能重要的一环:无监督学习

产业智能官  · 公众号  ·  · 2019-05-17 05:27

正文

原创:狮刀  洪泰智造



从第二次布匿战争说起

公元前200年,正是第二次布匿战争时期(罗马人称迦太基为布匿)。罗马的西庇阿采取了一次精心策划的冒险行动。他沿着巴格拉达斯山谷向西推进,并且把沿途所有的迦太基城镇无情地捣毁,从而切断了迦太基城的一个主要供给来源。


当时迦太基的统帅汉尼拔已经名满天下。十四年前,他以惊人的胆略翻过被认为是无法逾越的阿尔卑斯山,突然出现在罗马本土意大利平原上,攻占了罗马的重要粮仓坎尼,派遣骑兵包剿罗马后路,围歼六万罗马大军,赢得了坎尼会战。


此时,他自然不能眼见罗马人如此嚣张,于是在扎马打响了战争。


可这次,西庇阿吸取了坎尼会战的教训,做好了充足的准备,在交战开始之前他就收买了大量的精锐骑兵。这次换成罗马人派骑兵围歼汉尼拔了,扎马会战中,迦太基人战死2万人,被俘1.5万人,而罗马只有1500人战死。


如果把互联网比作迦太基,那么人工智能就是忍辱负重的罗马。90年代,当互联网的光芒掩盖了一切的时候,人工智能不得不躲在暗无天日的小黑屋里苦练发功。 但,也正如罗马复仇的扎马会战,研究人工智能的科学家们发现,打败敌人最好的方式就是利用敌人本身。


打败敌人最好的方式是利用敌人本身

首先,利用互联网,大数据的搜集变得越来越简单和精确。现在每个人身上都连着两三个设备,手机,智能手表,智能手环,电脑,平板等等。哪怕在户外,骑个单车跑个步都在不断地进行人机交互。随之带来的是每个设备都在记录着数据,人和人,人和物,物和物,万物互联形成了无处不在的大量数据。


大数据使得机器学习升级到了深度学习。2006年,杰弗里·辛顿(Geoffrey Hinton)在《Science》上提出了“深度信念网络”的概念。深度学习与传统的训练方式不同,它先用大数据进行“预训练”,让神经网络中的权值趋向一个接近最优解的值,之后再人工“微调”来对整个网络进行优化训练。这样的好处是可以大幅度减少训练多层神经网络的时间。



比如,一只猫出现了,机器会先对输入的像素进行分析,如果其中的一些线条两侧亮度相差很大,它会判断出这可能是猫的轮廓,并把数据传递给下一层神经网络。后者继续沿着线条去寻找一些和猫贴合的特征,比如线条转折交汇处形成的角度是不是和猫的胡子相似。如果得到确认,数据会进入下一层,神经网络寻找更加复杂的外型,比如同样的线条有没有大致地围成一圈,形状和猫头部的相似性。再下一层,神经网络确定类似猫的眼睛鼻子嘴巴形状和头部的形状是不是以恰当的方式接合在一起,如果是的话它就会输出结果:这是猫。


这个时候,人类的作用就出现了。人类可以给机器一个反馈:你说对了或者你说错了。最后得出的结果是错的,机器会把这一信息逐层返回给更低一级的类神经元,让它们调整激活来优化最后的结果,然后再进行下一次的识别。


这就像小孩子去认识猫的时候,他会先看一些有关“猫”的图片,对猫有个大概的印象,然后等到他遇到真的猫时,他会问妈妈:这是什么?妈妈回答:这是猫。从此他就知道了,这是猫。如果妈妈回答:这不是猫,是狮子。猫的体型比狮子更小一点。小孩子就记住了,猫一般体型较小。


辛顿提出的这个模型就类似于这样,人类专家只需要在更加后面的阶段对机器进行干预,为更想要的结果添加标签,并给成功结果提供奖励。


神经学派再度复活:深度学习的兴起

神经学派再度复活,辛顿给这个多层神经网络相关的学习方法赋予了一个新名词——“深度学习”。


深度学习还可以找到事情之间的相关性。比如有统计数据表明,游泳死亡的人数越高,冰激凌卖的越多。可是这两者之间显然没有啥关系,共同点在于我们没有想到的第三个因素:夏天到了。依靠传统的机器学习,根本不能表达清楚各要素间的关系。在这种情形下,深度学习可以通过分析复杂的非线性模型,从而表示数据之间的关系,最终确定该怎么呈现这些数据之间的关系。



辛顿其(奇)人

辛顿操着一口地道的英式英语,说话时喜欢时不时摸一下鼻子。年逾70岁的他至今还在加拿大多伦多大学教着书,同时还兼职给谷歌打工,研究怎么把技术转化成产品。辛顿在剑桥大学读本科时就意识到,科学家并没有真正理解大脑,他们并没有完全了解十亿神经元是如何学习或计算,以及如何提升智力的。



但是辛顿的本科读的不是很顺利,他先读了一个月的化学,然后转到建筑系上了一天课,随后又开始读物理,后来发现物理实在太难了,就去学了心理学。


学完心理学之后,他开始对人的意识产生了兴趣。1978年,他去爱丁堡大学攻读人工智能博士学位,他的师兄有得诺贝尔奖的,有著作等身的,但只有他一个人在研究怎么用计算机模拟人脑。尽管他的算法可以成功执行,计算代价却非常巨大。那时的电脑性能还远远不能处理神经网络需要的巨大数据集,神经网路的训练时间非常漫长,没有办法投入实际使用。


那个时候,辛顿每周都会跟导师大吵一番。导师说,你研究的这个东西没有价值,赶紧给我好好写论文去。辛顿说,你再给我六个月。六个月过去了,辛顿又把最后期限往后拖了半年,最后不得已,他索性说,你再给我五年吧。


这一晃,三十年过去了,辛顿还在研究深度学习。他在学术界似乎是个异类。


这种怪异的特立独行也许和他的家庭有关。辛顿的父亲,霍华德·辛顿是英国著名的昆虫学家,霍华德有一个堂弟威廉·辛顿,还有一个堂妹叫琼·辛顿。他的这两个叔叔阿姨都有中文名,韩丁和韩春。


韩丁是著名的美国记者,在20世纪40年代,韩丁在中国目睹过重庆谈判,亲身经历了土地改革运动,写下了纪实文学《中国一个村庄的革命纪实》,跟毛主席都促膝聊过天。韩春就更牛了,中国绿卡第一人,和杨振宁是大学同学,还在美国参与了造原子弹的曼哈顿计划。


韩春和韩丁的父亲是个律师,业余时间发明了儿童用的攀爬游乐设备。


辛顿家族其他的亲戚有科幻作家,有发明函数模型的,有研究四维几何的,有哲学家,有逻辑学家,有化学家。还有一位是中国五零后六零后非常熟悉的伏尼契,她曾写了一本流行于中国大江南北的长篇小说——《牛虻》。



有这么多牛人当亲戚,辛顿可以肆无忌惮地坚持做自己喜欢的事情了。当然,他的坚持也带来了巨大的回报,如今辛顿和他的深度学习团队——纽约大学教授、卷积网络之父燕乐存(Yann LeCun)和加拿大蒙特利尔大学教授、机器学习大神本吉奥(Yoshua Bengio),俨然成为了人工智能领域的教父。


从左至右依次为Geoffrey Hinton、Yann LeCun、Yoshua Bengio

救世星大数据

是大数据救了辛顿。辛顿的深度学习之所以潜伏了这么多年才崭露头角, 不是因为他模型的结构有问题,而是数据样本不够大。


我们人类婴儿也不是一生来什么都会的,而是要经过不断地学习,才逐渐变得“越来越聪明”。机器也是如此,没有训练过的深度学习网络就像是没有受过教育的人类一样,啥也不会,可一旦有了足够的数据去“喂”它之后,它的智力就飞跃了。


当然,这也不能怪辛顿,毕竟那会儿互联网还没这么方便,不是人人都能上网的。也没有人意识到数据的重要性。直到2007年,斯坦福大学教授李飞飞成立了ImageNet。


当时,整个学术圈和人工智能行业都在苦心研究同一个概念: 怎么去找一个更好的算法,但却并不关心数据。 但如果使用的数据无法反映真实世界的状况,即便是最好的算法也无济于事。


这也是人类的通病。无论是紫薇软剑还是玄铁重剑,都胜不过“无剑似有剑”。


重剑无锋,大巧不工。


李飞飞意识到了这一点,她不去找什么天下第一的武林秘籍,而是一招一式的教机器练习基本功。


什么是ImageNet?


上世纪八十年代,普林斯顿大学心理学家乔治·米勒启动了一个名叫WordNet的项目,目的是为英语建立一套体系结构。这有点像一本词典,但所有的单词都会按照与其他单词的关系来显示,而不是按照字母顺序排列。


例如,在WordNet里面,dog(狗)将放在canine(犬科)下面,canine则会放在mammal(哺乳动物)下面,以此类推。这种语言组织方式依赖的是机器所能读懂的逻辑,并由此汇集了超过15.5万个索引单词。


所以,识别一只猫这件事之所以非常困难,是因为这个世界太复杂,事物的形态也非常多变。如果你只看过5张猫的图片,那就只有5个拍摄视角、光线环境,可能也只看过5个品种的猫。但如果你看过500张猫的图片,那就可以有更多的例子来得出它们之间的共性。


到底什么才是“学习”

人类也是这么学习的。你不要以为你是只看了几次猫之后就知道“这是一只猫”了,如果你把眼睛看作是生物照相机,那它们每200毫秒就拍一张照——这是眼球转动一次的平均时间。所以当我们长到3岁大的时候,就已经看过了上亿张的真实世界照片。这是非常大的训练量。


研究过WordNet的方法后,李飞飞发现WordNet可以为每个单词找到一张相关的图片,但主要是为了参考,而不是建设计算机视觉数据集。她设想了一个更加宏大的想法——组建一个庞大的数据集,为每个单词都提供更多例子。


数据集里的物体既包括熊猫和教堂等实物,也包括爱情这样的抽象概念。


李飞飞最开始采取是传统方法:以每小时10美元的价格雇佣本科生手工寻找图片,然后添加到数据集中。但她很快发现,按照本科生收集图片的速度,这项工程大约需要90年才能完成。


解散了本科生图片收集小组后,李飞飞也开始怀疑其自己来。她重新回归算法身上,打算创造出一种计算机视觉算法,自动从互联网上选取图片,让人类只负责验证图片的准确性。但经过几个月的研究后,她发现这项技术同样不可行——未来的算法也会受到局限,只能达到制作数据集时所具备的识别能力。


聘用本科生浪费时间,使用算法存在瑕疵,雪上加霜的是,该团队还缺乏资金——李飞飞说,虽然她四处申请,但那个项目未能获得任何联邦政府拨款。甚至有人说:普林斯顿竟然研究这个课题真是令人感到耻辱,这只是因为李飞飞是女性,所以普林斯顿才不好意思叫停。


事情的转机出现在网友身上,李飞飞发现亚马逊当时在聘用世界各地的人坐在电脑前面通过在线方式完成一些简单的任务,收费也很低,甚至出于社交性和新鲜感,很多人愿意免费。


两年后该数据库组建完成,1400万张经过标记的图片免费开放给机器学习研究者使用。其中包含320万张经过标记的图片,共分成5,247种类别,还包含“哺乳动物”、“汽车”和“家具”等12个子树。


这种利用游戏的形式来训练人工智能的方法也被很多人学去。比如谷歌的“你画我猜”的游戏,就是让网友去画一些素描,然后机器识别这些素描的什么物体;比如上传一张照片就能预测出你多大年龄的人脸识别游戏;再比如Facebook,这个在世界范围内拥有1200亿用户的流行的社交网络,由于其拥有的巨量数据,已经成为一个大数据天堂。Facebook的用户们每天都在愉快地喂养着这个大数据的野兽,发送100亿条的Facebook消息、点击45亿次“赞”、上传3.5亿新照片。现在,Facebook上有170亿个地点标记,以及2500亿的照片,这个数量如果雇本科生输入可能输500年都输不完。


李飞飞的数据库建立起来以后,科学家们都惊讶地发现他们的算法经过ImageNet数据集训练后表现更好了。


用ImageNet训练过的模型可以做其他识别任务的启动模型,之后经过微调就能完成任务。这不仅是神经网络的突破,也是常规认知的飞跃。


对于辛顿来说,没有比这更好的机会了。2007年,辛顿在谷歌做了一个有关深度学习的演讲。这次演讲之后,神经学派大放光彩,这还掀起了一波争抢技术专家的浪潮。燕乐存去了FaceBook,吴恩达在Google参与了“谷歌大脑”,还有一堆去了IBM、微软和Nuance(苹果的技术供应商)的。所有人都能自由使用辛顿的理论成果用以完善各自的系统,辛顿对此毫无保留。



另一种深度学习:无监督学习

如果你已经熟悉这本书的套路,你就知道接下来我们就要说问题了。确实,给你一张图片,让你把猫从图片里找出来这样的任务,在学习的过程中,深度神经网络先前接受的这些输入信息需要有一个标记信息,它相当于我们做训练题时的参考答案,深度神经网络把自己的分析结果和它进行对比,从而优化分析过程和纠正错误。如果输入的信息中没有关于实际上图片里有没有猫的标记,它就无从学习。


这就像我们做完题目之后需要对一下答案,才知道自己答得对不对,才能在下一次碰到类似的题目时不出错。因此,ImageNet这样的“参考答案”就显得十分关键。


那如果没有参考答案怎么办?或者说,我们能不能使用模型来生成数据,再用这些被生成的数据来训练模型?


这就是另一种深度学习技术:无监督学习,使用的武器叫作GAN模型。


GAN模型是“生成对抗网络”(Generative Adversarial Networks)的简称,由蒙特利尔的在读博士伊恩·古德菲勒(Ian Goodfellow)于2014年提出。GAN模型被燕乐存评为“20年来机器学习领域最酷的想法”。



我们来深入介绍下这个酷酷的GAN模型。一言蔽之,GAN模型所建立的学习框架,其本质就是生成模型和判别模型之间的一个模仿游戏。 那么问题来了:什么是生成或判别模型呢?


这里我举一个简单的例子,“你该如何判断一个人说的是英语”,来让大家理解生成模型和判别模型。


第一种情况是:你通过对英语的学习,熟练掌握了英语的表达方式。因此当你听到英语时,你就能立刻意识到,“噢这是英语,因为我会说英语”。那么恭喜你,采用这种方式的你,就是一种生成模型。


第二种情况是:你并不会懂英语,但你了解不同语言的发音习惯、单词长度、音节和音域特性。因此当你听到英语时,你就能根据这些特征判断这是英语。那么恭喜你,采用这种方式的你,就是一种判断模型。


GAN模型就包括了一个生成模型和一个判别模型,它通过生成模型生成一个数据分布,然后让判别模型去判断这个数据分布的来源:是来自于真实的数据分布,还是来自于生成模型呢? 它通过这两个模型之间不断的竞争,从而提高两个模型的生成能力和判别能力。



生成模型训练的目标是降低判别模型的准确率。毕竟判别模型越分辨不清数据的来源,就意味着生成模型模仿的越像真实分布,生成模型的表现就越好。而判别模型当然是希望提高自己的准确率。


这就像是明星模仿秀里的模仿者和台上的评委。模仿者就像生成模型,希望不断地提高自己的演技,让评委分不清楚自己和被模仿的明星;评委就像判别模型,希望不断地提高自己判断力,从而分辨清楚模仿者和被模仿的明星。


模仿者和评委的相互竞争和对抗,促使双方共同进步:通过评委判断力的提高,促使模仿者模仿力的提高;而模仿者模仿力的提高,又促使评委判断力的提高。循环往复,最终评委和模仿者的能力,都会大大的提升。


GAN模型对真实数据分布的建模和生成,可以用于生成一些图像、视频、自然语句和音乐等。其次,GAN模型收益于其内部的对抗训练的机制,可以解决机器学习中所面临的数据不足的问题。除此之外,GAN模型还被应用在强化学习中,从而提高强化学习的学习效率。因此,从学术界到工业界,GANs席卷而来。


巨头带路。


Twitter公司率先应用GAN模型解决了超分辨率问题。 超分辨率问题的产生,是因为在降低图像分辨率的过程中,所丢失的很多高频细节很难恢复。但通过GAN模型,可以学习到高分辨率图像的分布,就能够生成质量比较好的高分辨率图像。这意味着,我们可以不再担心图片被放大后的虚化问题了。


比如下面是超分辨率(右三)和原图(右四)的比对:


通过对照我们可以清楚的看到:虽然有很多细节都和原始图片不一样,不过看上去非常的和谐和清晰,其细节的丰富和清晰程度要远胜于之前的算法(右1和右2)。这些逼真的细节,可以看作是GAN在不断地训练后,通过学习到的分布信息“联想”出来的。


除了能生成图像外,GAN模型还可用于生成视频。它可以通过一些历史帧来预测一些未来帧,通过这样的方式,就能让模型捕捉到一些运动的信息。这个工作是由燕乐存在2015年提出的。


而Apple公司则是通过优化GAN模型,使用了类似GAN模型的框架,从而提高图像仿真的真实性,使得合成的图片看起来更加的真实。而什么是图片合成呢?比如通过GAN模型在一张没有墨镜的人脸上,生成一尽可能逼真的墨镜。


既然能生成带着墨镜的人脸,怎么会不能不生成去掉墨镜的人脸?因此GAN模型还被广泛应用在“人脸去遮挡”上。Github的用户saikatbsk便借助了生成对抗网络 GAN 的力量,成功完成了“人脸去遮挡”技术。







请到「今天看啥」查看全文