编者按:本文来自微信公众号“东沙湖基金小镇”(ID:gh_1b5692ba4b3a),创业邦经授权发布。
「云上沙湖」云课堂邀请复旦大学计算机科学技术学院教授、博士生导师金城,就“深度学习在多媒体领域的最新进展”这一主题做出分享。
一、什么是深度学习
人工智能在近几年非常热门, AlphaGo事件,不仅给中国大众普及了人工智能的最新进展,而且也让更多的人开始关注人工智能的发展。
人工智能最经典的一个问题是分类的问题。这里我举一个挑西瓜的例子来解释说明一下。
吃瓜的分类问题
根据我们挑西瓜的经验,认为密度大的(重的)、纹路清晰的、拍打回声清脆的西瓜为好瓜,但是有些瓜可能密度不是那么大,但纹路很好,吃起来也是个好瓜,那怎样去判断瓜的好坏呢?我们可以设计一个以西瓜为样本的模型,一堆西瓜分别测出密度、花纹和拍打回声,密度比较大的西瓜记成1,花纹比较清晰把它记成1,如果响声不清脆把它记成0,符合要求是1,不符合要求是0,这样每个西瓜都有三元特征。然后再来尝一下西瓜的味道,好吃的写成1,不好吃的写成0,形成标签,最终组成一个用0和1组成的三维的数据,得出特征值。那么这个模型能做什么事情呢?当这个模型有了足够多的样本以及对应的标签以后,模型通过不断的学习,可以判断它是不是好瓜,这样通过足够的样本来学习的方式,就是机器学习的一种方法。
解决了分类的问题之后,接下来我们再通过猫狗问题的案例,来了解图像识别分类的基础问题。
猫和狗的分类问题
当拿到一张猫或狗的照片,首先,要获取照片里的信息,把获取的信息转换为机器能够认识的信息,接着通过图像本身具有的特征,提取有用的特征,假设我们用红色的点表示狗的特征,蓝色表示猫的。机器通过之前的训练会得到一种识别规则,通过此识别规则可以得到特征分类,最后机器把拿到的信息放在特征空间中对被识别的图像进行分类,从而辨别出图像上是猫还是狗。
绝大部分的图像分类问题都是这样解决的,甚至是下围棋,围棋盘上有很多点,通过计算棋子放在哪个点的收益最高,从而进行抉择,最后赢得比赛。
人工智能首个重要应用:手写数字识别
以上两个案例都还是比较基础的分类问题,人工智能在实际应用中遇到的问题就要复杂的多。
在美国存钱和寄件是需要手写填单,机器不仅要区别还要识别出手写的数字,到上世纪90年代末,已经有超过10%的美国支票识别采用神经网络模型来解决这类问题。先把一张图片变成高维空间里面一个点,在这个高维空间里面找到合适的模型,模型里的参数通过大量的数据训练,可以学习一个合理的映射,使得这张图能够映射成为十维空间一个点(也就是一个十维的向量),对应数字的那一维记作1,其他维度的值是0。这样如果输入一张带数字的图片,经过这个机器之后会得到适合的十维向量,然后我就去找这个向量的十个维度里面数值最大的是几,那就是模型对这个数字是多少的一个判断。
深度学习原理
第三次人工智能浪潮已经开启。当1956年人工智能开始起步的时候,人们更多是在说人工智能;在第二次浪潮期间,机器学习成为主流;这一次则是深度学习,是能够自我学习、自我编程的学习算法,可以用来解决更复杂的任务。
深度学习究竟意味着什么?从概念定义上来看,深度学习是一种能够让机器将从某一情境中的所学应用到学习新情景中的学习过程。深度学习的产物是可迁移的,包括某一领域中的内容知识,技能,情感,态度,以及如何、为何、何时应用这些知识来发现问题和解决问题的综合品质。
人类是很神奇的动物,一个3、4岁的小孩子,当你教他认识过猫和狗之后,他就能识别出照片里的是猫还是狗。这个原理是什么呢?其实我们也不够清楚。我们大概可以认为我们的眼睛就是很多个中心,每个视觉细胞组成当中的一部分。若干个感光的细胞会叠到同一个神经元上,若干个神经元再叠到一个高层的神经元,最后让我们的大脑来做一个决策和判断,这是什么样的物体。
而大脑在进行识别图像时,是依靠图像具有的本身特征先将这些图像分了类,然后通过各个类别所具有的特征将图像识别出来。当看到一张图像时,我们的大脑会根据存储记忆中已经分好的类别进行识别,感应到是否见过此图像或相似的图像。
人工智能和人很像却又不像,我们身上的基因是一代又一代人类存续下来的,也许我们的祖先看到过的东西是印在基因里的,可以帮助我们去识别和判断。
再举个例子,当我们学开车时,汽车在高速运动,我们需要快速判断向左还是向右,这个过程其实就可以看作是神经网络训练的过程。人的感知碰到火会感觉到痛,是因为手指神经元感受到了痛,神经元一直从手迅速传递到大脑,大脑作出一个指令,把手指往回撤,这种经验被写进基因里传下来,这些都是神经训练的结果。
三大核心问题突破
深度学习在这三个核心问题的突破,使得世界变得很不一样。
优化策略
优化策略问题,神经网络越深效果越好,但随着神经网络的加深,训练过程也会越来越难。深度学习也是一样的道理,想要处理复杂的工作,就需要复杂的神经网络,需要很强的深度学习能力。复杂的神经体参数会越多,参数变多就需要更多的参数量来进项训练。
数据规模
近年来全世界的人都在为机器学习或者数据学习做数据标注,数据规模越来越大。我们日常生活发的朋友圈其实是在为腾讯做数据标注,比如透过你去吃鱼的朋友圈,就可以得知你可能是爱吃鱼的,透过你经常活动的地点,可以分析出你大概的职业,还可以通过微博的点赞量来分析僵尸粉的数量等等。尤其是通过摄像头提供的数据,对我们国家的治安有很大的贡献,破案率明显提高。
计算能力
早年的显卡大多用于电竞游戏,而现在主要用于商业用途,并且必须需要达到一定的配置才可以。CPU是串联计算的方式,GPU是并行计算,比如说有一个任务,从1一直加到100,CPU是1+2,2+3,3+4,这样一个一个加过去,而GPU的做法是并行的,并行的GPU的广泛应用使得深度学习亟需的快速并行计算成为可能。
二、深度学习在多媒体领域的应用
在图像识别上的应用
2012年出现Alex Net,是我们认为深度学习划时代意义时刻的来临,它的出现改变了人们对于神经网络的看法。由于人工智能的广泛应用,现在的大企业特别重视并密切关注相关领域的发展,不惜花高薪去聘请专业的从业人员。
人脸识别
ImageNet是非常著名的物体识别的比赛,它的数据集里面有1500万张图片,一共分为2.2万类。从中选一张照片,有5次识别的机会,只要猜对一次就算对,如果有5次都错,就是错的。在2012年之前,大部分模型识别的准确率都停留在75%左右,到AlexNet(2012)出现提以后准确率升了10%左右,之后的2013、2014年的参赛模型都是按照AlexNet来算,错误率有所降低,已经接近甚至低于人类识别的错误率5.1%。
现在人工智能领域的竞争已经进入到白热化阶段,人脸识别成为非常重要的挑战,在LFW数据集中,人类的识别率是在97.53%,人工智能的识别率最高能达到99.77%(2015年),但这仅仅是在5749个人,13233张人脸照片中进行识别。当数据集提升到了800万个人,2亿人脸照片时,识别率就降低到了95.12%(2015年),那时候的数值还不能满足公安系统对于人脸识别的超高准确率要求,而现在的人脸识别已经基本可以达到了。张学友开演唱会就能抓逃犯,已经成为了家喻户晓的故事。
图像识别、描述
图像识别还有很多有趣的应用,不仅可以通过对应的话来描述一张内容为“一只鸟在天上飞”的图片,而且每个词对应图片上的哪个位置都能描述的很清楚,通过这样的描述,机器人可以明确是谁下达了什么样的任务,从而更准确的执行任务。
海量图像的分别和识别现在已经可以广泛应用,例如某宝的拍立淘功能,只需要用手机拍一下商品,就知道这件商品在淘宝上的价格,方便消费者来选购。除了识别之外,通过给照片标注信息,还可以做检索工作,比如设计师想找一张有一座山,天空有太阳的图片,当搜索山和太阳,会出现很多照片,很难立刻找到符合要求的,但有了图像描述之后,我搜索右上角太阳之类的,就会收到很多有趣的图片了,同时机器还可能会实现看图写画。
图像处理上的应用
超分辨率
超分辨率在美国电影里面经常看到,把调取的监控视频放大再放大,就可以看清人脸。这个事情,以前在现实生活中是很难实现的,低分辨率的数据量比较小,它把很多有用的信息都给去掉了,所以很难把低分辨率的数据转换到高纬度的数据。现在通过深度学习,超分辨率已经可以实现了。把低分辨率做个输入,高分辨率做个输出,通过输入足够多的数据训练出来模型,知道模型的参数段,再把所有的图降成低分辨率的图,变成原来1/4大小,然后把输入和输出换一个位置,就可以训练模型从一张低分辨率的图去得到一张高分辨率的图。
生成式对抗网络
最近特别火的生成对抗网络(GAN),是一种深度学习模型。模型主要通用框架有(至少)两个模块:生成模型(Generator)和判别模型(Discriminator)的互相博弈学习产生的相当好的输出。我们可以把它们想象成一个是做假钞的,一个是警察。做假钞的画了张100块,这100块经过警察的判断是假的,又被打回去,接着做假钞经过不断改进,又画出一张假钞,再拿到警察那里,还是被判定为假的。画的人成品越来越好,负责判断的经验也越来越丰富,这两个人互相促进,相互对抗,形成矛和盾的关系。
从文本生成图像
生成对抗网络的出现让图像在处理应用上得到了很大的进步,比如说超分辨率越来越清晰了,还有看图说话和从文本生成图像的能力也得到提升。之前是看图说话,现在可以看话画图,输入“明亮下垂的黄色花瓣,黄色花蕊”,计算机通过之前积累的对花的描述后,就可以画出来各种不同的“明亮下垂的黄色花瓣,黄色花蕊”的花。
从色块生成图像
到了2017年,出现了从色块生成图像的工作,紫色表现是路面,绿色表示树,蓝色是车,红色是人,通过不同的色块来生成图像。这些图像是真实世界当中不存在的,它是依据色块来画出来的所谓真实的照片,无中生有的作品。虽然生成的图像还不是很完美,但也已经非常惊艳。
同样是在2017年,美国著名的Reddit论坛上出现了Deepfake(换脸),用一张图上的人脸替换另一张图上的人脸,随后掀起了换脸应用的热潮,一些人不满足于换脸,开始通过机器生成非真实的人脸图像和房间照片等,甚至通过人脸提取出的轮廓信息,让蒙娜丽莎、爱因斯坦都动了起来。以前我们总说眼见为实,而现在人工智能生成的一些图像已经可以做到以假乱真,你看的图像不一定就是真实存在的,这也引发了一些类似社会安全和信誉度等比较有争议的社会问题,所以人工智能的治理和伦理方面的工作也变得越来越重要。
估算密集场景中的人体骨架
很多时候需要捕捉场景内人物的运动姿态,以前都是通过人脸识别来判断的,而现在可以通过机器来估算密集场景中的人体骨架。除了人体骨架的估算之外,还可以进行大场景高密度的人脸识别,适用于大型场景里的人物的识别、监测和抓取。有一个实验室做了一些脑洞大开的工作,通过高速摄像机拍摄光的发射器发射出来的光子,根据在墙上反射后的效果,可以判断障碍物的位置和动作,可以进行墙后人体姿态的识别。
在自然语言理解上的应用
以前自然语言比较难变成可计算的东西,在Word2Vec出现后,自然语言变成可计算,很多算法可以用深度学习的方法来做。比如说国家和首都这个词,假设把它简化成二维空间,保留两个词之间的关系,映射到一个空间中去,让向量的长度和方向差不多,并且从向量的角度来讲他是等同的,当把国家波兰减去华沙得到的向量的值就可以等于土耳其减去安卡拉。当这个映射建成了之后就可以解决这样的问题,例如北京之于中国相当于华盛顿之于谁?通过映射,可以得出是美国,基于这个映射很多复杂的问题都可以解决了,好多工作就可通过计算的方式来处理了。
现在人工智能领域应用最好的是人脸识别,其次是自然语言的应用,而自然语言的应用远远超过了其他图像和视频应用,它在落地性方面可能做得更好。
下图是餐厅的评论,单从字面上看,你难去分辨清楚哪些是人写的,哪些是机器写的。有些APP下载的评论区,你会发现那些评论都写的胡说八道,那些就是比较低端的刷榜行为。所以不仅是你看的到有可能是假的,有可能你读的文章也是假的。
下面这段话是我通过网站生成的文章,只需要输入“复旦IT同学会月度分享”这几个字,就可以生成这段话。在内容方面,摘要和主题部分表述还可以,段落和中心思想的内容就没那么的顺畅。所以目前的人工智能大多数还是用于重复性的工作,降低人的工作,提升工作效率,但是在创造性方面还有很大的差距。现在一些对于创造性要求不是很高的新闻稿,类似体育比赛的新闻稿已经可以用人工智能来完成了。我们经常会开玩笑说是人工智障,这也侧面说明了现在的人工智能的短板。当你和智能音箱对话的时候,你会发现它是没有记忆的,同样的问题当你重复提问时,它的回答都是不一样的,而且回答的内容上也是没有逻辑关系的。
在围棋上的应用
从本质上来讲,AlphaGo可以想象成通过输入棋子下在棋盘不同位置的图像,判断棋子下在那个地方可以受益最大化的过程。棋盘已经定好,白子和黑子都落子之后,这局棋谁赢谁输不需要棋谱都可以计算出来,这是围棋本身的规则决定的。因为当深度学习的模型看够了足够多的棋局数据后,会根据当前期盼的形式来做一个算力的结果,通过对全局观的考虑,快速算出胜负手所在的地方。
有一些游戏,通过深度学习短时间的训练,游戏成绩已经可以超过程序开发者。所以说只要规则是固定的,通常来说人类的一些相对简单和重复的工作被计算机取代是非常可能的,在某些方面上计算机甚至会比人类完成的更出色。
在省电上的应用
除了算力算法之外,能耗问题也被大家所关注,为了减少在能耗上的开销,有一些地方成为服务器机房选址的热门地点,例如阿拉斯加、西伯利亚等,因为这些地方足够冷,可以省掉散热的空调费用,而且水力资源丰富,用电也比较便宜。5G基站的能耗大概是传统基站的几倍,预计整个通信行业的能耗比例在全球的占到3%左右,互联网相关的服务器能耗占20%左右。巨大的能耗和因能耗所产生的高额费用,让不少运营商在考虑通过关闭部分服务器来节约成本,既能保证用户体验还能有效节约成本的情况下,在什么时候关闭哪些服务器成为问题。被Google收购的DeepMind公司给出了解决方案,通过预测1小时访问量和服务器使用量,来调整开关机的情况,有效地为Google节省了开销。
在军事领域的应用
2009年美国DARPA为代表的多国军事科学研究机构已经在利用深度学习技术进行军用目标识别方向开展了相关研究。美军在智能化电磁频谱感知与侦察领域的最新进展是DARPA所支持的“对抗环境中的目标识别与适应”(TRACE)专项,用深度学习和迁移学习等智能算法解决对抗条件下态势目标的自主认知难题,帮助指挥员快速定位、识别目标并判断其威胁程度。
在医疗领域的应用
深度学习在医疗领域的应用上很大问题是数据量不够,我们以前接触过全国肝病CT的数据最多的医院也就只有三万张,在医学图像领域,没有10亿张的照片做为数据集,很难做得好,所以现在很多研究的重点都放在了如何在数据量不多的情况下把其他领域里相关的经验用到这个领域上。目前,多种分析技术已经在DNA分析、癌症预测等方面产生影响。
在智能制造领域的应用
传统机械臂都是固定的,抓麦克风的机械臂只抓麦克风,工厂如果生产一样东西就得生产相应的机械臂,这样费时费力。现在通过深度学习的训练,让机械臂随机抓各式各样的东西,抓的起来的记作1,抓不起来的记作0,这样训练的次数多了,机械臂就可以抓起格式各样的东西了。
人工智能有的比我们强,有的比我们弱。智能可以分为三中类型:
第一种,感知智能,对视觉、听觉、触觉等感知能力的模拟。
第二种,认知智能,对推理、规划、决策、学习等认知能力的模拟。
第三种,创造性智能,对灵感、顿悟等能力的模拟。
目前自认语言的商业应用会更快一点,因为他是比较规则和结构化的,而视频、音频是非结构化的。语音是一维的信号,图像是二维的信号。目前触觉方面的研究相对较少,但在机器人领域,触觉是很重要的。
三、深度学习已经解决一切了么?
深度学习已经解决一切了么?还远没有,还有很多问题等待解决。
模型问题
比如模型通过给出的数据自己学习,学习出一个模型,可能你也没办法知道他学习出来的这个模型是什么样的,这里面有很多不可控的因素。谷歌相册的功能,通过上传的照片给出标签,但并不是每张照片的标签都很准确,一些标签被认为带有种族歧视的色彩,这在当时引起了很大的争议。
噪音问题
还有噪音的问题,有的图像,当没有噪音干扰的情况下判定是熊猫,但在加了噪音之后,很多算法就会产生错误,判断为猴子。有一篇非常著名的文章叫做《像素攻击》,讲的就是在图片里面改一个像素就能把结果输错。最近有一篇文章中表明,可以通过用改变人脸照片上的像素来保护隐私,这样听着很酷,但作用其实不大,因为在知道你用改变像素的手法处理照片之后,可以把新的照片打上新的标签,通过这个新的标签还会知道是你。
伦理问题
随着深度学习的不断深入,很多应用的出现让这方面的伦理问题越来越受到重视,比如说出事故时,谁来为机器的行为负责。
Tesla自动驾驶今年6月出现了事故,错把白颜色的货车认为是白云,从而引发车祸,而且这样的事故并不是首次发生。还有刚才举过类似的例子,通过深度学习在图像、自然语言方面应用,替换面部信息、替换声音,甚至是重新生成虚拟图像等,这些都是我们生产生活安全的潜在威胁,也需要我们进行更多关于技术、法律与道德的思考。
本文为专栏作者授权创业邦发表,版权归原作者所有。文章系作者个人观点,不代表创业邦立场,转载请联系原作者。如有任何疑问,请联系editor@cyzone.cn。