机器视觉与深度神经网络—洗去浮华,一窥珠玑

近年来机器学习、AI领域随着深度神经网络(DNN)的崛起而迎来新一波的春天,尤其最近两年无论学界还是业界,或是各大媒体,甚至文盲老百姓都言必称“智能”。关于这方面,可讨论的东西实在太多太多,我不想写成一本厚厚的书,所以在此仅以机器学习在计算机视觉和图像领域的人脸识别应用作为一个例子,来陪着大家看看这场热潮、浮华背后有哪些被专家学者们忽视或轻视,但却有着根本性重要的东西,并同时提出本领域的若干值得展开的创新性研究方向。好了,废话少说,且看DNN的大戏上演。

2014年对于人脸识别领域来讲可谓是“欢欣鼓舞”的一年,在LFW数据集(labeled faces in the wild)上的评测结果被连续“刷表”,首先是Facebook的AI Lab发表论文DeepFace报告了accuracy达到97.25%,紧接着Face++的《Learning Deep Face Representation》小小胜出达到97.3%,结果板凳还没坐热就被香港中文大学的Xiaoou Tang和Xiaogang Wang实验室的GaussianFace刷到了98.52%,宣称首次超越了“人类的识别能力”(97.53%)。然后,此次在新加坡VISVA 2014 winter-school上看到Xiaogang Wang报告,他们最新的DeepID2将上述记录刷到了99.15%。下图1是引自GaussianFace一文,作为展示各大新近算法那“优美”ROC曲线的一个示例。

图1:多种算法在LFW数据集上的ROC曲线

可以想象,各大科技媒体、投资机构、业界巨头等都将目光、热忱投向了AI领域,仿佛双目所及都是满满的“$_$”;各大砖家学者、大虾菜鸟也都或奔走相告、粉墨登场如巡回演唱般,或摩拳擦掌、疯狂涌入想着趁热沾沾光、分一杯羹。

古人云,“不知者不罪”,对于那些不懂AI、机器学习以及深度神经网络(后简称DNN)理论及方法的人还情有可原,但是那些具备多年知识积淀和实战经验的砖家们,我就分不清他们是真的“too young too naive”还是另有原因了。在这场浮华背后,我为大家拨开云雾,看看那些被忽视或掩盖起来的本质问题。

1Unfair comparison

各大研究机构论文中报告的accuracy,通常都会同时与其它的多个算法系统进行对比,但是这些对比是unfair的!因为它们在模型的训练阶段,使用的training data差别迥异,而且绝大多数image都是不在LFW数据集里面out-set data。众所周知,欲对比算法、模型的优劣,必先固定训练数据集与测试数据集,为各candidates营造公平的周边条件和评价准绳。

2算法之间的性能差异未经统计检验——不靠谱

“拍拍脑袋,设计了一个新算法,一顿coding之后,放到XXX数据集上一跑,做个10-fold cross validation,拿着accuracy rate跟其它论文方法一对比,发现有0.5个百分点的提升,于是欣喜若狂、普大喜奔、paper满天飞”……这就是计算机视觉领域乃至整个AI领域的现状。然而,学过统计的人都应该提这样的问题:“算法A与算法B的差异,究竟是随机因素引起的波动,还是具有统计显著性的?它们的output error rate波动特性如何?……”这本身又可以看成一个假设检验问题,例如可使用ANOVA、F-test、t-检验等来研究,看看是否在 (=0.05)显著性水平上,算法A优于算法B这个假设是可接受的。但可笑的是,从未见有人用这种“科学”态度和精神来对待这些“科学问题”!

3人脸识别算法性能超越人类?——我读书少,你别骗我

假设某算法A在某数据集X上的accuracy比某“人”的识别结果高,能断言算法A优于“人类”的识别性能吗?请别欺我没学过统计。这个问题有点类似上述问题2,但是稍微更复杂点。

对于一个具体的人,例如张三,他的decision model可以简记为“算法B”。而“人类”是一个类属概念,可以认为是很多不同的decision models构成的model-class。好吧,至此在我有限的知识范围内,纵观数学和计算机学界还没有人提出过一个合理的metric(度量),来评价一个算法A与某个“模型族”的性能差异,以及该差异的统计检验指标……

如果有哪位专家对此领域颇有建树,已经超越美帝、秘密而低调地走在国际最前沿,还敬请回信指教,在此我先行谢过。

4只看数字指标,忘了产品和应用“标的”

究竟我们研究人脸识别算法干嘛用?这里简单谈两个方面的应用,一者娱乐用,另一者那是相当的“不娱乐”啊。先说前者,举个栗子就是百度魔图去年搞的“pk大咖明星脸”(测测你与哪个明星长得像,如图2a)和“全民大穿越”(看看你跟各种电视剧里的谁比较像,图2b)。显然,对于这样的非严肃场景,即使识别错了也无妨,甚至还错得蛮可爱的。在这类应用中,根本无需太追求算法的accuracy,更遑论绞尽脑汁、苦苦地追寻那97%到98%的微不足道的、毫无意义的提升。

图2:百度魔图的两个娱乐应用

然而对于另一类应用,例如biometric(生物身份识别),那就千万马虎不得了。打个比方某银行推出了“刷脸取钱”的快捷服务,就是你往ATM机前一站,它能自动识别你是张三还是李四,然后验证通过就咔咔吐出一堆钞票,确实挺酷。现在拿目前最先进的算法DeepID2来看,号称accuracy 99%。于是张三在ATM机前多晃悠几十次,就没准碰上被误识别为李四,毕竟1%的概率嘛(这是个戏谑的概数,严谨来说不是这个值,此处暂且按下不表),然后把李四账户的钱全卷跑了。

通常,在金融系统中,要求在0.1%的FAR(false accept rate)下verification rate达到99%,才可以投入实用。而根据最新的研究发现,在FAR=0.1%的约束下,目前最好的算法verification rate=41.66%,还远远达不到实用的地步。

至此,我所理解的全世界专家们孜孜不倦地追求high accuracy的算法,应该是要应用到类似biometric这样的严肃场合。那么问题来了,他们为何不直接采用这类场合通用的评价标准“verification rate @ low FAR”,却笼统地用了个掩耳盗铃的accuracy。

5全自动机器学习?——作为“人”还是别对自己的智商妄自菲薄吧

很多技术论坛以及国际学术会议上,都常常听到某些“看起来像是”砖家大神的,吐沫横飞地讲着“用DNN可以让机器实现全自动地学习,并超越人类handcrafted的特征和方法”,抑或是言必称DNN多么多么复杂,不把自己显得高大上誓不罢休。其实在我看来,DNN是非常非常简单的一个东西,它的外在的、看似复杂的样子也只是由内在的很多简单的组件加在一起所展现出来的表面的繁杂而已(在此暂不展开说)。而且更重要的是,说handcrafted或启发式方法不好,那纯粹是一种恶意的诋毁。

首先,DNN本身的结构中,layer的数量、每个layer的node数、卷积层与全连接层的组合模式、卷积kernel的大小、max-pooling层的位置、输出层的log-transform、输入层的数据模式等等,无一不是handcrafted。除了结构和参数,就连训练方法中也融入了很多启发式的设置,例如采用drop-out来缓解耦合与过拟合,又如神经元之间以及相邻layer之间的locality-influence方式来帮助增强稀疏化。

其次,除了DNN外,无论logistic regression(LR)还是SVM或是其它很多模型,都是人类智慧的结晶,是非常美的东西。例如LR中sigmod函数(也常被用于DNN)的平滑、对称和双边饱和特性,又如SVM的最大间隔原理和VC维理论所刻画的简单性原理,这些都是极其符合自然美学的设计,也彰显了大繁至简。其实将最大间隔与VC维的理念融入DNN,寻找结合点,也是很值得研究的方向之一,直觉能够为DNN带来再一次的不小的提升。

此外,还有值得一提的是,DNN的高层网络中,某些神经元的刺激响应模式类似图3a所示,对人脸和猫脸的轮廓会输出极大响应值。联想PCA人脸识别方法中的eigenface,如图3b所示,其实两者存在很多相似的地方,这绝非偶然。实际上,DNN在某种意义上可以理解为一种级联的变换或encoder,在information loss和对非线性的处理能力上增强了;而PCA是一种线性变换,对于数据的非线性特性和丰富的细节,描述能力较差(information loss较大),所以出现图3这样的差别就不难理解了。在某种意义上可以把DNN看做“非线性化的PCA”。事实上,笔者思考和粗略提出了clustering-based PCA以及multi-stage residual-boosting PCA方法,感兴趣的读者可以交流并一起尝试研究,或许可以揭示DNN与PCA的某些内在关联。

图3:DNN人脸&猫脸(a)与PCA的eigenface(b)

行文至此,作为总结,皆化作一句话:“面临机器学习尤其是DNN被大肆吹捧的热潮和浮华,诸君当冷静而理性视之,做到不卑不亢、静水流深,方能真正登堂入室”。

原文发布时间为:2015-10-17

时间: 2024-10-27 16:14:27

机器视觉与深度神经网络—洗去浮华,一窥珠玑的相关文章

由深度神经网络想到的人生意义和哲理

◆ ◆ ◆ 导读 几周前,我经历工作项目的调动,恰好给了我空余时间重拾那些很久没有碰过的感兴趣的话题.机器学习是我兴趣列表中的第一项.这是一个已经广泛渗入科技领域的话题,但我对其一无所知.仅几周的泛读,已经让我相信我们正加速朝向一个通用人工智能的时代.随着物联网(IOT)设备的快速普及产生了极大量数据,在这方面深度挖掘的进步将会保证这一未来越来越近. 但是基于这篇文章的论述范围,我将把话题限制在讨论以下假设:围绕在我们周围的所有事情构成一张深度神经网络,以及这一观点带来的形而上学的意义. ◆ ◆

【深度神经网络 One-shot Learning】孪生网络少样本精准分类

传统观点一般认为,深度神经网络通常比较擅长从高维数据中学习,例如图像或者语言,但这是建立在它们有大量标记的样本来训练的情况下.然而,人类却拥有单样本学习的能力--如果你找一个从来没有见过小铲刀的人,给他一张小铲刀的图片,他应该就能很高效的将它从其他厨房用具里面鉴别出来. 这是一种对人类来说很容易的任务,但是直到我们想写一个算法让它去做这件事--那就GG了 .很明显,机器学习系统很希望拥有这种快速从少量样本中去学习的能力,因为收集和标记数据是一个耗时费力的工作.而且,我认为这是通往通用人工智能的漫

人工智能破译人类思维:深度神经网络可识别人的想象

外媒称,日本研究人员已经成功借助人工智能破译了人类的思维和想象,从而在理解人类思想及其背后的大脑机制领域获得了重大突破. 据阿根廷21世纪趋势网站 6月6日报道,破解人类思维的内容是科学界长久以来的愿望.事实上,此前的种种研究也已经实现了破译人类所见.回忆.想象和梦境的内容. 例如另一个日本科学家团队早在 2008 年就成功地在电脑屏幕上直接重现了从人类大脑活动中获取的图像. 但包括这一研究在内的其他以往研究都遭遇了难以逾越的障碍,因为每个个体的大脑内容都具有其独特性,因此思维模式的目录创建很难

《白话深度学习与TensorFlow》——2.2 深度神经网络

2.2 深度神经网络 2016年3月,随着Google的AlphaGo以4∶1的悬殊比分战胜韩国的李世石九段,围棋--这一人类一直认为可以在长时间内轻松碾压AI的竞技领域已然无法固守,而深度学习(deep learning)这一象征着未来人工智能领域最重要.最核心的科技也越来越成为人们关注的焦点.这里所谓的深度学习实际指的是基于深度神经网络(deep neural networks,DNN)的学习,也就是深度人工神经网络所进行的学习过程,或称作Deep Learning.这个Deep指的是神经网

Top 100论文导读(一):纯干货!深度神经网络中的理解,泛化以及迁移学习

更多深度文章,请关注:https://yq.aliyun.com/cloud 作者:Adrian Colyer, 著名阿克赛尔合伙公司(Accel Partners)的投资合伙人,该公司致力于帮助杰出的企业家创建世界级的高科技企业,在加入Accel之前,Adrian拥有20年技术人员工作经验,如担任Pivota , VMware, SpringSource的CTO.如果你对科技企业感兴趣,可以和他联系.邮箱:acolyer@accel.com. 他的领英主页. 前言:作者从top 100 优秀深

YouTube推出基于深度神经网络的推荐系统

YouTube的推荐系统是是世界上规模最大.最复杂的推荐系统之一.最近Google的研究人员公布了他们投到今年ACM会议的一篇文章,详细介绍了他们最近利用深度神经网络实现YouTube推荐系统的技术细节.相关会议也会将于本月15号至19号在美国波士顿召开. YouTube的全球用户已经超过十亿,每秒上传的视频长度以小时计.视频"语料"库存日益增长,就需要一个推荐系统及时.准确地将用户感兴趣的视频不断推荐给用户.相比其他商业推荐系统,Youtube推荐系统面临三个主要的挑战: 规模.现有

深度神经网络可视化工具集锦

  TensorBoard:TensorFlow集成可视化工具 GitHub官方项目:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tensorboard TensorBoard 涉及到的运算,通常是在训练庞大的深度神经网络中出现的复杂而又难以理解的运算. 为了更方便 TensorFlow 程序的理解.调试与优化,Google发布了一套叫做 TensorBoard 的可视化工具.你可以用 TensorBoard 来

终于盼来了Hinton的Capsule新论文,它能开启深度神经网络的新时代吗?

本文讲的是终于盼来了Hinton的Capsule新论文,它能开启深度神经网络的新时代吗?, 眼见"深度学习教父"Geoffery Hinton在许多场合谈到过自己正在攻关的"Capsule"之后,现在我们终于等到了这篇论文,得以具体感受Capsule的特性.雷锋网 AI 科技评论把这篇论文主要成果介绍如下. 背景 目前的神经网络中,每一层的神经元都做的是类似的事情,比如一个卷积层内的每个神经元都做的是一样的卷积操作.而Hinton坚信,不同的神经元完全可以关注不同的

SAS:深度神经网络赋予大数据分析更多可能

在工商银行的反欺诈系统中,几百个数据分析模型不间断地分析着来自四面八方的数据,从中挑拣出有可能发生金融欺诈的交易.但是,如此巨大的模型"战队",其管理和维护成本之高也是令人咋舌. 6月8日,在SAS Forum China 2017峰会上,中国工商银行软件开发中心上海开发二部副总经理苏彦告诉ZD至顶网记者,工商银行用更加智能和自动化的机器学习平台构建出可以自学习的模型,并保证所有的模型都是最新的,这种做法不仅使工商银行的防欺诈系统的准确率高出业内平均水平的20%,同时也大大降低了传统静