4
本文作者: 图普科技 | 2016-06-17 19:03 |
雷锋网按:本文作者系图普科技工程师,雷锋网原创首发。
在刚刚结束的旧金山苹果全球开发者大会上,苹果软件工程高级副总裁 Craig Federighi 讲述了新的照片管理功能 Photos。
在iOS 10的照片中,苹果利用深度学习和计算机视觉技术彻底更新了照片应用程序,通过人脸识别和物体识别自动识别图片内容,给相册中的人物分类。并且,新增的“回忆”功能,可以基于照片中的位置、人、场景和主题聚集在一起,然后选择音乐配以创建“短期、中期、长期”的视频或者电影。
例如,它会识别与旅行相关的所有照片,将它们集中置于一个相册,也许命名为“家庭度假”;或者说它会识别散落在相册各处的母亲的照片,并将它们分组集中起来。
简单来说,对图像的深度学习算法是通过多层的神经网络,不断地提取图像的高层次抽象具有强表达能力的语意层次的特征,即去伪存真的过程,有了很好的特征,就可以很好地对图像进行各种处理。
机器视觉领域以前提取特征的方式多为人工设定,而现在深度学习的方式是通过大规模的数据让算法自己去学,人的设定总是有局限的,而现在的深度学习可以在大规模数据的帮助下学习出人无法设计出的特征,这也是深度学习的魔力来源。当然现在一个基于深度学习的产品系统是非常复杂的,其还会结合时序信息,上下文的建模来达到惊人的能力。
无论是Apple,Google,Microsoft Photos里面使具体技术细节我们无从探知,毕竟这是这些公司关于人工智能的机密技术,但是我们还是可以从其提供的功能表象,再结合正在机器视觉领域掀起革命的深度学习技术,对其背后的技术原理进行一番推测。
无论是按人脸、地理位置、记忆分组,其背后本质上都是 image classification,clustering,sorting, tagging等机器视觉任务。现在流行的深度学习技术(无论是深度卷机网络CNN还是LSTM长短时记忆网络)近两年来在此类任务上取得了惊人的成绩,诸如Apple,Google等IT巨头公司必然大量储备了此类技术,同时加上去独一无二的海量数据和用户运用场景,使得这些公司可以运用这些深度学习技术将看起来很酷炫的机器视觉任务推向大众。
Google于2015年率先推出了基于人工智能的Photos产品,其可以将用户图片聚合于people,places和things这三个类别中,Apple在刚刚结束的WWDC上推出的Photos也紧随其后,推出了类似的功能,如人脸识别,和按官方称的按memories进行分组(里面也包含预测location功能,同时能在map上显示出来),具体不同的业务场景取决于各个公司对其客户使用方式的把控,但是从业务逻辑和功能背后的技术上看并没有显出太大差异。
由于Google是一家互联网导向公司,在云计算上有非常强的实力,所以Google photos是使用云的方式对客户图片进行存储和各种人工智能的处理,这样的方式使得Google可以使用其云端强大的计算能力去进行很复杂的运算处理,从而达到非常智能的效果,但是客户需要将其照片同步至云端,这会带来一些隐私的问题。
而Apple作为硬件为主体的公司,将人工智能的功能运行在其公司的移动设备是其达到最大效应的方式也是最自然选择,所以Apple的photos的智能处理运行于本地,这就使得用户不需要连上云就可以享受到这些功能,这极大打消了用户的隐私方面的担忧,这确实是Apple一个很大的卖点。
另外,Apple在本地,尤其移动设备上,运行人工智能算法是具有很大意义的。如何在有限的计算资源上达到高性能和低功耗,是其着重考量的点,当前深度学习在模型能力探索到一定阶段后(变深变强),学术界和工业界的注意力慢慢也转向模型大规模使用的层次,即变小变快——
苹果的人工智能在本地运行的背后应该很大依赖于现在学术界正在重点关注的研究领域,模型压缩 (model compression),也就是在稍微损失准确率的情况下,让所需计算量大幅度降低,使得深度学习的模型可以运行在计算能力受限的设备上。
这方面是一个巨大的挑战,至于Apple是否有独有领先学界业界的黑科技使得photos做到低功耗高性能的运用,这就不得而知,所以Apple的photos本地运行深度学习算法更加令人期待。
同时我们也不能忘记IT另一个在深度学习,机器视觉技术上有深厚积累的微软,微软也有类photos产品,但是可能由于其并没有太强的用户场景,其photos并没有作为一个独立的产品推出,所以没有引起太大关注,考虑到微软在此方面非常好的技术,对此感到有点遗憾。
目前,图像识别技术是基于深度学习算法多维度解读图像内容,需要强大的计算能力来支撑机器的程序运行。即使是比较简单的深度学习图片识别,比如在2012年的ImageNet大赛上的也需要上亿次的运算,而在四年后的今天,深度学习算法对一张图片进行解读都需要进行几十亿的运算,甚至上百亿,但是这些都是在云端进行的运算,并且有专用的硬件系统,所以能够在较短的时间内进行高速大量的运算。
根据我们的自己的经验,tuputech的图像识别系统,每天进行超过9亿张的图片识别,并且还需要较高的识别精确度,这对于模型的优化、计算能力、带宽的传输效率等要求都是非常高的。
但是手机端的本地计算不同于云端计算,如果在手机端进行如此高速、大量的运算,在算法层面技术难点主要还是在于这三个方面:
第一、模型的复杂程度,也就是模型的聪明程度、准确率、精确度等;
第二、计算时间,指计算一张图片需要花多长时间;
第三、功耗,指的是计算一张图片需要消耗的手机电池的电量
并且手机电池的续航能力一直是各个厂商想要攻破的难题,所以如果缺乏适配于手机端的计算能力,直接在手机上跑几十亿次的运算,可能只理解几张图片,手机电池就会被耗光。
另外,对于硬件能力的提升也是一大重点,怎么设计出更好的硬件去支持现在的深度学习算法,从而降低功耗、加快速度,我想Apple作为有硬件闭环的公司,在硬件上应该做了很大的定制化和创新, 使得基于人工智能的photos产品可运用在手机端,这也是Apple相对于其他互联网巨头得天独厚的优势,不要忘记Apple是硬件导向的巨头。
目前的人工智能基本都是在可控性较好的云端,而移动设备的计算能力和能耗都还不够好,所以可能计算结果没那么精准、计算速度没那么快,但若移动设备装配上人工智能的能力,无论是商业市场上还是真正改变人类的生活上,想象力是巨大的。所以Apple、Google和Microsof还是会选择将图像识别技术应用在手机端上,他们本身就是手机服务商,有这样的市场需求,他们自然会开始重视深度学习在端上的应用,相对于其他的手机应用,这是他们将深度学习系统全部应用在端的一个集合。比如说苹果的硬件包括手机、iPad、watch、Mac等,其所有的深度学习应用的程序和接口都是一样的,拥有统一的神经网络库。
毕竟移动端的应用更加贴近人类的生活。只要有市场需求,就有发展,正如我们现在的手机能力比当年登月的芯片的计算能力高了不知道多少倍,那些芯片帮助人登上了月球,而我们现在却用更好的芯片刷微博。其实也是在说,技术发展得确实非常快,可能现在觉得不大可能的事情,一两年后可能人人都会在谈说论道。
但是这项自动将相册分类功能看上去好像只是锦上添花的工作,如果这个功耗太大,而且准确率还不够高,就会得不偿失,用户就不希望这个功能消耗更多的电量,甚至于很多客户宁愿不要,因为他们肯定知道会消耗电量。
但是我们tuputech的技术控们还提了个问题,其实大家还会担忧“隐私”的问题,因为一个太智能的东西在帮你打点东西,大多数人会有隐私被侵犯的感觉,所以智能更适合做一些不太敏感的分类。不然相册里有一些黄图,系统告诉你是黄图并且自动帮你归类,你会没有安全感,同时会产生恐惧,最后对整个产品丧失信任,而且现在公众确实还不大适应人工智能,还需要接受的时间。
但是人工智能、图像识别在手机端的应用也是很广泛的,在进入移动互联网时代后,智能广告、推荐已经从辅助路径转变到了主路径上,比如说手机淘宝,其首页的商品推荐已经个性化,很大程度上提升了首页的分发能力;而今日头条新闻客户端,其主打特色也将智能推荐的资讯内容放入了产品主路径等。这些智能推荐引擎用大量的细分内容协助广告主细分了不同的用户,更精准得进行广告投放。
除此之外,现在也是一个移动视频应用爆炸增长的时代,一个较大的直播平台的用户量在高峰期可以同时几千万、甚至上亿人在线,但是目前直播获益方式还是以与网红分成为主。
如果通过图像识别对主播进行分类,可以得出直播平台的内容是否健康,或者给主播打上标签,平台是否需要培养和扶持一些比较稀缺、受欢迎的主播。或者根据直播的视频内发出的所有图像信息,包括人物、地点、活动、事物、背景等,在以人工智能技术作为基本支撑下,可以帮助用户智能搜索所需信息,像KTV 、餐厅、教室等,机器人可以根据用户偏好,智能推送相应直播视频,帮助直播企业更好地进行用户互动运营。这些都是可以提高产品和用户体验,或者企业想将这些信息流量变现,均可按企业需求定制。
雷锋网注:本文为雷锋网原创约稿首发文章 ,转载请联系我们授权并注明出处和作者,不得修改内容。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。