RACV2019观点集锦 | 视觉的层次化处理过时了吗?

本文得到

CCF-CV专委会授权发布,公众号【CCF-CV计算机视觉专委会】

原标题:RACV2019观点集锦 | 视觉的层次化处理过时了吗?

引言

计算机视觉是人工智能的“眼睛”,是感知客观世界的核心技术。进入21世纪以来,计算机视觉领域蓬勃发展,各种理论与方法大量涌现,并在多个核心问题上取得了令人瞩目的成果。为了进一步推动计算机视觉领域的发展,CCF-CV组织了RACV2019,邀请多位计算机视觉领域资深专家对“视觉的层次化处理过时了吗?”进行研讨。我们将研讨内容按专题实录整理,尽最大可能以原汁原味的形式还原观点争鸣现场,希望有助于激发头脑风暴,产生一系列启发性的观点和思想,推动计算机视觉领域持续发展。

本期专题为“视觉的层次化处理过时了吗?”。各位专家从计算机视觉的目标、Marr视觉理论、广义层次分析方法、可解释性神经网络及脑皮层处理机制等多方面展开了深入的探讨。

主题组织者:查红彬,鲁继文,马占宇

讨论时间:2019年9月28日

发言嘉宾:胡占义;贾云得;邬霞;张拳石;郑伟诗

参与讨论嘉宾[发言顺序]:林宙辰,山世光,查红彬,赖剑煌,王亦洲,纪荣嵘,邬霞,胡占义,林倞,陈熙霖,王涛,毋立芳,徐凯

文字整理:明悦

审校:山世光

「RACV发言讨论嘉宾及CCF-CV专委会允许非商业用途的转载。转载时应保证内容与原文一致,声明“本文得到CCF-CV专委会(公众号: CCF计算机视觉专委会)授权发布”,并添加原文链接。」

组织者开场:查红彬

各位老师早上好,我们这个研讨会现在开始。这个分会的主题是:视觉层次化处理过时了吗?这个题目,本来是贾云得老师提出来的,但是因为贾老师工作繁忙,世光就把这个任务推到我头上了。很幸运,我们有鲁继文老师、马占宇老师的大力支持,还请了五位我们认为应该对这个主题有很多感受的老师来做报告,今天非常荣幸能跟大家一起讨论有关这方面的想法。

视觉的层次化处理,这是个老题目,应该说在计算机视觉发展这么多年当中,只要是研究计算机视觉的人大概都有点关联,我想将来再过一段时间还会有很大的关联。但是这个东西就像三国演义里面害死了杨修的那个叫鸡肋骨一样的东西,你把它扔掉吧又舍不得,你想啃它吧又啃不出肉来,所以这玩意就是有点让你很难受的那种感觉。刚才世光说让我们享受周围的风景,后边这两个小时我们就一边看风景,一边啃鸡肋骨。好吧,下面我们请胡占义老师先做报告。

主讲嘉宾发言实录


1. 胡占义

查老师让我来向大家介绍一下我对这个议题的观点,山老师反复强调不要介绍自己的研究成果,我最近这两年对计算机视觉了解的不够,我已成了计算机视觉的一个interested outsider,感兴趣,但没有多少研究。所以说要求不要介绍自己的工作,这个要求对我来说比较容易做到,因为我本来就没有自己的工作值得给大家介绍。

对这个议题,第一个我先说说我对提出这个议题的可能初衷。为什么大家会提出“视觉中的层次化处理是否过时了”这个议题呢?我觉得可能是因为最近这几年的深度学习。因为深度学习框架下,从图像到特定视觉任务,人们通常通过端到端的学习完成,这样大家就觉得传统的从图像去噪、物体分割、特征提取、物体表达、物体识别的层次化处理步骤就不需要了,这种框架也过时了。

我觉得对这个议题的讨论,我们首先需要探讨一个什么是计算机视觉。计算机视觉为什么叫计算机视觉,而不是模式识别,图像处理呢?这是因为我们计算机视觉的核心科学问题与其它相关领域不同。所以,我觉的对“层次化处理是否过时了”这个议题的讨论,需要至少回答下面三个问题:

第一:计算机视觉的目标是什么?

第二:计算机视觉是一门科学吗?

第三:计算机视觉是不是还需要300多年来一直沿用的由笛卡尔和牛顿建立起的科学分析方法。

关于计算机视觉的目标是什么这个问题,我觉得计算机视觉你不管做什么,其实它最重要的还是想构建一个通用灵活的视觉系统。通用性和灵活性是最主要的两个特点。关于计算机视觉的目标以及我们现在讨论的议题,我昨天晚上也说过,其实和90年代初,大家对Marr计算视觉理论提出的质疑和批评差不多。讨论计算机视觉的目标,不能不提及马尔计算视觉理论,因为我们计算机视觉研究长期以来还是在马尔计算视觉框架下进行的。其实我们今天的计算机视觉大多都还是计算视觉。马尔大家都知道,34岁建立了计算视觉,白血病去世以后,Marr的书<vision>1982年出版,他是81年去世的,他的书由他的学生帮他完成。上世纪90年代初,对马尔视觉提出批评的,最主要的是三个人物,一个就是马里兰大学的J. K. Aloimonos,一个就是密歇根州立大学的A. K. Jain,一个是宾夕法尼亚大学的R. Bajcsy。大家都知道,马尔的计算视觉由计算理论、表达与算法和算法实现三个层次组成。马尔觉得算法的具体实现方式对计算视觉不重要,所以,马尔的书主要讨论了前面二个问题,特别是重点讨论了“表达和算法”部分,即如何分步构建从primitive到2.5D,然后到3D的物体表达。大家对马尔层次化处理框架提出的批评,主要是说马尔视觉缺乏“目的性”和“主动性”,是一种bottom-up的被动过程。1994年在CVGIP:Image Understanding组织了一个专刊,这个刊物现在就是Computer Vision and Image Understanding,辩论关于“目的视觉”是不是一个视觉新框架,马尔计算视觉框架是否过时的问题。全世界30位专家发表了看法。辩论首先由耶鲁大学的心里学家Michael J. Tarr和计算机视觉专家Michael J. Black共同署名的文章“A Computational and Evolutionary Perspective on the Role of Representation in Vision”,对目的视觉提出了批评。指出计算机视觉的目的是建立像人类视觉系统一样具有“通用性和灵活性”的视觉系统。经过辩论,大家最终形成了比较一致的折中性意见,即目的视觉完全可以融入马尔的层次化处理框架下。马尔的层次化处理框架,并不排除“主动性”和“目的性”。我记得2000年左右我在做一个talk时有一个学生问我,老师让他博士论文内容做主动视觉方面的工作,问我觉得前景如何。我建议他不要做,我当时觉得这方面不会有大进展。事实上主动视觉我自己觉得从94年到现在,25年过去了也没有像样的进展。回到我们的议题,计算机视觉的目标是什么,我觉得建立一个具有通用性和灵活性的视觉系统这个目标仍还是一个比较合适的目标。假如目标仅仅是建立一个人脸识别系统,从目前的深度学习来看,“端到端”的学习,不需要显式层次化加工步骤,就可以实现。但要构建具有“通用性和灵活性”的视觉系统,我觉的“层次化处理的框架和途径”还不能说过时,我甚至觉得是必不可少的。

第二个问题就是说计算机视觉是不是一门科学,我觉得一门科学至少有三个特点:探索未知、发现规律和指导应用。计算机视觉需要借鉴生物视觉,而生物视觉的信息加工过程是一个层次化加工过程。最近这10到15年,一直在学习生物视觉。即使对视网膜(retina)而言,已经经过从感光细胞(photoceptor)到双极细胞(bipolar cell)到神经节细胞(ganglion cell)的三层加工。神经节细胞的功能主要是去噪,进行对比度增强(contrast enhancement)。神经节细胞的输出经过外漆体(LGN)达到V1区。V1区主要进行边缘检测和运动方向检测,这是比较清楚的。视觉物体识别在IT区。事实上,根据我的学习和理解,从V2,到V4,再到IT区,神经领域有些研究结果,但目前缺乏系统性研究结果。大家如果对生物视觉的神经机理想了解一下的话,我建议大家去看看MIT的DiCarlo2012年在《Neuron》上发表的文章:How Does the Brain Solve Visual Object Recognition? DiCarlo对猴子的快速物体识别,即100多毫秒能完成的识别的神经加工机理进行了介绍。 

猴子的视觉系统,主要由物体视觉(object vision)和空间视觉(spatial vision) 系统组成。物体视觉就是识别物体,空间视觉就是用于操作物体的视觉,如抓取物体的视觉。当前深度学习主要在物体视觉方面取得了非常好的结果,但在空间视觉方面,有一些工作,但都与基于几何的方法无法媲美。所以,目前研究基于几何的三维计算机视觉的研究人员要有自信和信心。深度学习不是万能的,我觉的在3-5年内,深度学习在三维视觉方面要超过基于几何的方法是不可能的。三维视觉需要精度,看上去像的基于学习的三维视觉没有实质性用处。上面说明,视觉仍是一个迷,还需要不懈努力地去探索。视觉通道从解剖结构上看,是一个层次化结构。结构决定功能,所以,神经科学也旨在揭示这种层次化加工机理。目前也有解释深度网络的工作,但与我这里说的揭示视觉物体的加工机理不是同一个概念。

回到计算机视觉是不是一门科学这个问题的第二个问题,即发现规律。人类历史上伟大的发现,如万有引力定律,麦克斯韦电磁方程、质能方程等,都具有非常清晰的物理意义和简洁的描述。发现规律应该是我们科研人员的不懈追求。据我所知,在神经科学领域,也有很多人反对用“深度网络”对神经物体表达进行建模,他们觉得用一个“大脑”建模“另一个大脑”意义不大,提供不了真正意义上的模型解释。层次化处理方法,我们计算机视觉领域有非常优秀的工作:如马尔从primitive-2.5D-3D的层次化三维视觉。Hartley 和Faugeras 等的从射影重建->仿射重建->度量重建的分层三维重建理论(stratified 3D reconstruction)。我对计算机视觉研究也有30多年了,我认为计算机视觉方面的任何其它书籍,没有任何一本可以与Marr的vision相媲美。我觉的从事计算机视觉的研究人员,还是应该好好读读Marr这本书。Hartley靠分层三维重建工作获得澳大利亚科学院和工程院院士,Faugeras靠分层三维重建工作获得法国科学院院士。现在神经科学领域有些人认为,视觉物体识别系统是一个逆生成模型,Inverse generative model,我觉的这是一种非常好的猜测。逆生成模型,是一种典型的层次化加工模式。

关于计算机视觉是不是一门科学这个问题的第三个问题,即指导应用问题。目前的端到端的深度学习,很难给出解释,给出具有应用性指导的原理和途径。由于时间关系,这个问题我就不多聊了。

现在我谈谈计算机视觉研究,是否仍需要笛卡尔和牛顿建立的科学分析方法这个问题。我觉得不管你怎么说,现在的所谓科学方法,英文叫做Analysis & Synthesis,是笛卡尔和牛顿建立的。这种方法本质上就是把一个问题化成一个个小问题,把每个小问题解决,就解决了大问题。我觉得我们今天讨论的议题,是层次化处理,还是端到端学习,好像是要抛弃这种科学方法。我觉的有点提倡“中医”取代的“西医”的味道。我这里需要强调一下,我不是说笛卡尔-牛顿这套科学分析方法,对解决当前的任何科学问题都有效,很多科学问题可能不能用这套分析方法解决。正如Marvin Minsky所说,智能不是什么原理驱动的结果,而是来自diversity。但我个人觉得,包括当前的认知神经科学,还是在这种科学分析方法的框架下进行的。

最后,我小节一下我对“层次化处理框架过时了吗”这个议题的观点:我不反对深度学习,我估计未来三到五年内,基于深度学习的计算机视觉研究还会继续活跃下去,特别是针对特定应用的视觉问题。我只是说,我们计算机视觉领域,还不到抛弃层次化处理框架的时候。如果大家认可计算机视觉的目标是建立一个通用和灵活的视觉系统的话,我个人觉得,层次化处理框架仍然是一种非常有效的途径,甚至是必不可少的途径。我就讲到这,谢谢大家。

2. 贾云得

刚才胡老师从生物视觉的角度解释视觉分析的层次处理方法,非常受启发。胡占义老师近几年对生物视觉做了非常深入的研究,对生物视觉的理解具有独到之处,特别是一位从事计算机视觉资深研究的学者来研究生物视觉,得到的结论对研究计算机视觉具有特殊的促进作用。两年前专门请胡老师来给我的学生做了一场生物视觉报告,学生们的反应非常好。

现在常讲“牢记使命”,从事计算机视觉的学者使命就是解决计算机视觉发展的瓶颈问题、挑战性问题。看到有老师提出讨论“视觉层次处理方法过时了吗?”这一话题,一开始的反应是这个话题还需要讨论吗?不过既然有老师提出这样的问题,应该有特别的看法;出于对看法的期待,我好奇地投票,建议讨论这个问题。几天前,由于主报告人方方教授有事无法出席这次会议,查教授要我替补做主报告,心里一点准备都没有,也没有积累到那个厚度来做报告。经不住查教授一再邀请,感谢他给我这个机会,向大家汇报一下我对这个问题的粗浅看法。

我的研究背景是武器系统工程,武器系统分析与设计非常讲究设计思想和设计方法,层次分析方法就是其中一种非常重要的设计思想。因此,这个层次分析方法给我的印象很深。早在1984年我的导师马宝华先生(我国著名武器系统专家)给我们讲授在国内刚刚兴起的层次处理分析法(Analytic Hierarchy Process,简称AHP),该方法是1975年美国运筹学者Saaty提出的;大家都熟悉,将决策分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析。直到现在,这种分析思想对我的影响极深,影响方方面面。比如,招收研究生,有5个学生报考你的研究生,究竟选择哪一位,你不仅要看他的学习排名,还要看他的思考思辨能力、编程实践能力、学习研究态度、家庭环境等因素。Maslow的人类需求层级理论也是一种层级处理方法,这是示意图,每一层的界限非常分明的。Maslow的层级理论充分表明人类需求的普遍规律,是客观存在的。在日常生活和工作中,我们都会不自觉的对问题思考、分析、求解进行层次化处理,比如,中美关系有合作与竞争、制裁与对抗、排斥与战争的层次划分。目前的中美关系处于制裁与对抗层次,只要不发生战争,我认为我们国家仍然会发展的很顺利。还有许多例子,我们常常会用分层的思想去分析,或这个社会的结构就是分层的。

在工程设计领域,我们也常用分层设计思想。我学的是武器系统专业,我们设计的引爆与控制系统遵循层次设计思想。比如,引爆一颗原子弹,并不是直接用炸药引爆,而是一个分层非常精致的引爆控制系统,由电雷管、起爆药、猛炸药、核装药、热核装药。掌握了武器设计原理,包括层级原理,可以设计出简易高效的武器系统。

下面讨论计算机视觉领域的层次处理方法。1962年和1965年Hubel和Wiesel发表论文,提出人脑对视觉进行处理的层次过程,并提出了层次化加工过程(hierarchical process)这一概念。我们可以推测David Marr可能受到这一工作的启发。他1967年抑或1968年就做完关于小脑皮层理论的博士论文,在神经生理学领域引起轰动,被认为是该领域的一颗新星。据说他1970年才进行博士学位论文答辩,是因为他的研究兴趣由脑皮层理论转到生物视觉层次化信息加工理论,后来称为计算视觉理论。因此,根据年代推测,David Marr的数学和神经生物学基础,又受Hubel和Wiesel工作的启发,对生物视觉加工模型产生浓厚兴趣。他于1973年应邀进入MIT AI实验室领导一个以博士生为主体的研究小组,1977年提出了计算视觉理论(computational vision),这一理论完全不同于当时主流的"积木世界"分析方法。计算视觉理论成为计算机视觉研究领域中的一个十分重要的理论框架。这是刚才胡老师也讲过的视觉信息处理的三个层次,从计算理论到表示和算法再到硬件实现,这个PPT是2000年我给研究生上计算机视觉的课件。也是那个时候接受胡占义老师建议,David Marr的计算视觉理论作为我们博士生必读经典著作。

David Marr把计算视觉信息处理研究分为三个层次,这一点对我们的影响很深,目前大多数学者都在做第二个层次(表示和算法)的工作,可以说有99%的人在做这一层的工作,而研究视觉计算理论(第一层次)的人很少,做硬件实现(第三层次)的人也很少。我们曾经投入好几百万做立体视觉硬件系统,做了近10年,原理样机和原型样机都做出来了,但微软的Kinect出现了,Kinect做的很漂亮,性能非常好,但价格不到2000元,而我们的系统估计也得20000元,只好放弃立体视觉硬件。

Marr把视觉信息处理过程分为三个层次,底层视觉、中层视觉、高层视觉。由此也可以把计算机视觉的研究内容分为五层,即成像装置、底层视觉、中层视觉、高层视觉、视觉计算体系架构。第一层成像装置是视觉系统的输入设备,目前不少团队在研究新型成像装置,相信再过5年,会出现不少新的成像装置,如同kinect那样的三维多维多波段等低成本商用成像设备,特别是手机的广泛普及和快速升级的需求,会推动成像系统的快速发展。这样的硬件设计工作由高科技公司做更有优势。

下面讨论传统视觉信息分层加工处理过程,即低层、中层、高层视觉加工过程。这中层级加工处理过程,刚才胡占义老师也讲了,是有神经生物学依据的。这是前几天从中科院上海神经所的一个新闻报道下载的一张图片。这是腹侧视觉通路,一种高效的视觉信息处理网络,由视网膜成像后通过视神经传到初级视皮层V1,完成诸如形状、颜色、位置等简单特征的检测,然后进入V2、V3、V4区,完成特征的组合,再进入下颞叶皮层(IT),完成目标识别,因此,这是一个从视网膜成像、特征、特征组合到目标识别四个层次的视觉加工过程。这也是计算机视觉处理视觉信息的生物学依据。

关于视觉层次处理的最新的很有意义的工作是MIT学者Yamins等人发表在PNAS 2019的论文。他们建立了一个层级模型来预测视觉皮层各个层级的神经响应,每一层都是一个由滤波器、池化、正则化构成的多层神经网络(CNN)。模型各个层级CNN输出和生物视觉信息处理的层级的响应有着非常高的相关性,这是一个很激动人心的结论。因此,不论是社会学领域、工程设计领域、还是计算机视觉以及生物视觉,层次化处理方法不存在过时一说。

最后,给出视觉信息处理层次化方法的延伸,可以称之为广义层次分析方法。一般来说,层次化结构是自下而上或自上而下的单向结构,每一层都包含有许多challenging问题,解决没有challenging问题有上千篇上万篇的论文,旧的问题没有解决好,新的问题又出来了,由此也是吸引了大批学者加入计算机视觉行列。但由于Marr视觉层次化处理结构是单方向架构,受到了许多学者的质疑,也就是说Marr视觉层次化框架没有反馈机制,无法含盖主动视觉机制。因此,除了每一层之间都是前向连接关系外,还可以增加反向通道,实现反馈机制,每一层都和反向通道连接,这样不仅实现局部反馈,也可以实现分层反馈直至全局反馈。

分层分析方法的另一种延伸策略是在原有基本层级结构的基础上,增加层级,即增加N+1层、N+2层…,比如,Marr层级中的最高层是视觉目标识别,可否增加一层属于推理层、理解层、意识层?Marr层级中的最底层是基本特征提取,可否增加-1、-2…层,比如,基本特征形成的像素或超像素是计算出来的。

总之,层次化处理方法不仅仅是视觉信息加工的基本架构,有着自然进化的生物学依据,也是工程设计和社会科学分析的基本方法。好的分析架构往往是解决问题的有力工具,层次化方法就是这样的工具,包括层次化架构+反馈机制以及层次化方法的延伸,有着许多挑战性问题,期待我们的中国学者,特别是青年学者投入更多的精力解决这些问题,在计算机视觉理论、算法、系统等方面做出能引领计算机视觉领域学科前沿的贡献。

点评(查红彬

谢谢贾老师的报告,以上是我们这个研讨会的两个重量级报告,但是这并不意味着后面的三个报告一定是轻量级的。我相信后面三个年轻人他们一定会讲很新颖的内容,他们也具有很好的挑战能力来挑战前面的两位元老,从啃鸡肋骨的程序来说,我们刚刚啃了点鸡皮,对吧,后面就要从骨头里面去啃肉了。下面我们欢迎三位年轻的研究人员做报告,首先是邬霞老师。

3邬霞

大家上午好,我叫邬霞,来自北京师范大学。我是做脑信号信息处理的,也希望从我们研究人脑的这个角度来给大家提供一点点信息量。

我们在脑科学里面做视觉信息的提取也是一个比较大的方向,我们主要是做一些数据分析方法,所以对这个问题有一点点的了解。对于我们来看的话,这个层次化的研究,就在视觉上面,可能就像刚刚胡老师说的,可能在V1上是比较可靠的,至于其他的层次,目前应该说研究结果还不能支持我们认为已经按照这个顺序走。从我们研究人脑的结果来看,总体来看,在脑科学里面也仍然是支持这个看法:就是从原始数据视网膜进来的信号,在经过V1简单的特征提取之后会往后面进行传输,然后后面各层次的视觉皮层实现更高级的特征提取。但是,我们认为它可能不光是在视觉皮层上来做,比如后面的V2,MT,甚至V4,V5。我们认为到了更高级的皮层,比如到了前额叶这些地方。肯定不局限在枕叶上面,而且会有更多跟语义相关的脑区来负责。

因此我们现在认为,除了V1能被计算机很好的建模以外,其他层次的脑皮层甚至是更高层次的话可能很难直接用一个函数来模拟它。这样就比较复杂,那么现在我们课题组也做一些基于磁共振数据的类似的工作,比如,基于枕叶皮层信号来重构我们看到的图像。比如,我们看到了文字,或者看到了这个画,或者是视频,发现只用枕叶上的脑信号来重构看到的图像是远远不够的,可能还需要其他皮层上的信号。

因此,我认为,就我自己的观点,我觉得如果需要从人脑分析上来构建模型,进而指导计算机视觉,或者说从研究人脑来做这个事情的话,可能不光只枕叶皮层或者视觉皮层,可能需要一些更高层次皮层上的信号来帮助我们尤其是,我认为,计算机视觉不再只是把这个东西看出来,只是把图像勾勒出来,可能更多的还是在于要把它识别出来,那么这里面肯定会涉及到语义的表达。语义已经到了前额叶这个地方,我觉得可能需要把这些信号引入进来指导后面的识别,像刚才胡老师提到了这个背侧通道和腹侧通道。那么腹侧通道我们认为它是识别是什么,背侧通道可能更多的是告诉你它在哪里,其实还有一个时间。现在脑科学里我们还没有找到这样一个比较显著的脑区,是在腹侧还是背侧还不知道。我觉得可能更多的还需要有其他皮层甚至更高层的,来帮助我们确定。在提取特征的时候,或者是在看这个图像的时候,我个人觉得可能这个自底而上、自上而下的这样一个注意机制应该都会在参与其中,而不是一个被动的接受。现在我认为做计算机视觉就是收到图像以后就提取特征就是从下往上传,那我们人看物体的时候不是这样。大部分情况下你是带着你的目的来看的,你有一个自顶而下的注意力的来指导你来挑选。所以我想,如果计算机视觉要模拟人的这种机制,可能需要一层一层往下传可能会有一个反馈或者说有一个其他的来做这个东西。

第二个问题是说这个瓶颈问题,基于我们的理解,现在人脑在这个初级的V1皮层,是不同细胞是负责不同功能的,提取不同特征。我不知道在计算机视觉里面有没有一个不同的提取特征的方法来,比如说,看纹理的、看方向的,有不同的模块。人脑的细胞其实是分工的,这个是不是可以借鉴过来?第三个问题是这个计算机层次化处理机制。目前从脑科学的研究上来看,仍然是借鉴这个思路来做,就是也会采用层次化的思想来分析数据,只不过大脑里面可能更多的不同层次间的这样一个反馈,这个跟计算机的这个层次化结构,人脑有很多来自高级皮层对低级皮层的这个指导和挑选,这个和计算机这个等级森严的这个层次有所不同,不知道以后是不是可以借鉴。谢谢大家。

4张拳石

大家好,我叫张拳石,去年刚回国,现在在上海交通大学,在座很多都是我的长辈了。这个题目是视觉层次化处理,那么我给自己定位的就是提出我的认知,思考一些问题,就是在深度学习之前,大家都是做一个图模型,然后就说我们模拟人的认知,人的符号化认知。但是一个很重要的问题是:人的认知是最好的认知吗?而另一个问题就类似是暗物质dark matter,其实很多视觉概念是没法用符号化的形式来表示的。近几年的deep neural network,也是一个层次化的处理,那么关键问题是,我们希望知道层次化处理deep neural network中的层次化处理学到了什么,是否学到了正确可靠的知识,这些知识从哪来,往哪去,就是说为什么我学到的是当前任务的表征,而不是其他表征,如果继续训练将学到哪些新的表征。

所以,我个人的一些思考是去解释神经网络,我觉得解释神经网络的根本目标是将深度学习从炼丹术变成一个science。近年来的深度学习往往是基于经验,就是说人们通过自己的经验去设定网络结构,去调参。解释神经网络大概有这两个思路:一个是语义层面去解释神经网络的处理逻辑,第二个是数学层面去建模神经网络内部的语义表达能力

在语义层面解释神经网络具体包括这几个方面:首先,在语义层面,我们希望知道神经网络中层建模了哪些概念,并且利用哪些概念做预测。进一步,我希望量化与提升神经网络的可靠性和可信任度。再就是如何去学习具有可解释的中层特征的神经网络,最后是在语义层面交互式的学习神经网络。以上就是第一方面,也就是在语义层面解释神经网络,这是我之前的工作。

但是,为了将神经网络从炼丹变成一个science,我觉得未来更多要从数学层面建模神经网络内在的表达能力。那么归根到底就是建模几个方面:

第一是理论建模跟解释神经网络的理论表达能力和实际表达能力;

第二是解释经典算法背后的机理,如蒸馏、压缩、对抗算法的机理;

第三就是量化神经网络中层表达的知识量和可靠性,打通网络结构与知识表达之间的壁垒。因为大家现在都在搜索神经网络结构,真正看一个网络结构是否好,归根到底是它所建模的知识是否是正确的、可靠的,所以说如何打通这两者之间壁垒是很重要的问题。当然这些问题我也在探讨中,我之前有做这样的工作,这个是非常具有挑战的。 

第四是network debugging,即,如何用小量的样本,像debug程序一样直接去修复神经网络的中层表达,这也是我最近在努力尝试的一个方向。最后是量化指标,并用这些量化指标去反馈指导神经网络的设计和训练,这样我们并不是依靠人的经验去指导神经网络的设计和训练,而是像化学方程式一样,有一些定量的指标去帮助指导神经网络的设计和训练。

我这个talk里面大概会提七个问题点。

第一个方面,是神经网络特征的冗余性和可靠性。之前有一个工作我觉得非常有意思,神经网络的输入只有一张图像,并且用来训练的label是任意给的label,网络依旧可以得到百分百的训练正确率。所以,当你的网络得到了一个很高的训练正确率,是否能保证网络建模了正确的知识,这个问题是非常重要的。

例如,我们用大红圈表示你之前想要的知识表达,而对于你的这个训练数据集,最好的表达实际上是这个圈,但是这个数据集所能训练到的知识表达是来自这个范围。事实上,我们经常会遇到这样的问题,即,很多该学的知识没有学到。造成这个问题的原因可能有以下两点。一方面是知识盲点,比如说这个范围内的知识,就是blind spot知识盲点。由于数据集采样过程中的一些不可靠的特征,或者说一些bias,可能会导致存在知识盲点,因此有一些知识没法建模。另一方面是不可靠特征,就是说可能学到一些并不是对某个任务最直接相关的一些特征,而是一些间接的、不可靠的特征。那么如何去量化知识盲点与不可靠特征?这是一个很重要的问题。

还有一个很有趣的问题就是:当同一个model在相同结构的情况下训练七八次,那么每一次训练,它所建模的知识是否是相似的?这里需要强调一个概念,相似知识不一定有相似的特征,因为每一次model参数初始化可能是不一样的。所以我定义了知识同构性。比如说A跟B两个神经网络有两个特征,A神经网络特征如果经过一个线性变换直接能得到B神经网络特征,我就认为它是一个最强的知识同构性,是第零阶同构。但如果A特征要经过一个非线性变换才能得到B特征的话,我就认为是第一阶同构,非线性变换意味着存在一些猜测成分在里面,即,我去猜到B特征是什么。如果类似的,经过n次非线性变换得到第n阶同构。那么,对于B特征我能拆分成这么多的同构分量——第零阶同构分量,第一阶同构分量,一直到第K阶同构分量,包括不同构的分量。这样,我们就可以测量不同神经网络之间的一个知识同构性。那么,回到刚才的问题,一个神经网络在相同数据集上训练两次或三次,它所学的知识是否是同构的?在我的测试下,答案是否定的。就是说两个神经网络训练两次,不同构的特征分量占大部分。换句话说,一个神经网络训练两次或三次学的知识相互都是不一样的,但是都能保证百分之百的分类正确率。我这样做的目的是提出一个问题:我们如何去评价神经网络训练的可靠性,如何去量化评价知识盲点、不可靠特征,去探索我们需要获得多少知识才能对这个任务做到百分百准确率。

第二个问题是,如何诊断神经网络知识盲点和不可靠特征。我们假设有两个神经网络,一个是很深层的神经网络,训练的特别好,准确率也非常高;第二个是比较浅层的神经网络。我们假设深层神经网络是ground truth,它是一个真实的、理想的表达,用它去诊断浅层神经网络的知识盲点和不可靠特征。简单来说,我们用浅层神经网络特征去重构深层神经网络特征,那些没有重构的地方就是浅层神经网络没有建模的知识,那就代表了浅层神经网络的知识盲点。而不可靠特征是指当我们用深层神经网络特征去重建浅层神经网络特征,那些不能重建的部分就代表深层神经网络没有建模的一些特征,但是浅层神经网络建模了,我就认为它是不可靠的。总之,我想提出一个如何去量化两个神经网络之间的知识同构性的指标,从而判断神经网络的知识盲点和不可靠特征。那么这是第一个方面,如何去量化神经网络特征的不可靠性和冗余性。

第二个方面,我们希望去量化神经网络的知识量,分析神经网络的特征到底建模了多少知识,而多少知识是不可能用语义去表达的。

第三个方面,就是information-bottleneck theory告诉我们,学习语境相关的知识,那么它到底如何量化不可靠特征,如何量化知识表达的多样性。这也需要提出一些量化指标,分析它建模了多少知识,

第四个方面,神经网络结构与效率的关系。目前,一个网络结构有一个准确率,我们希望知道每一种结构对应每一种作用效率的关系,这有助于建模更复杂的结构来提升鲁棒性,或者遗忘更多不相干的信息。总之,我们希望去建模每种结构的效率。

谢谢大家。

5郑伟诗

各位老师好,我主要从我所在的研究领域智能视频监控理解层次化。智能视频监控的一个重要目的是理解人在做什么,这往往涉及跨场景事件的理解。为实现这个目的,首先需要在单个场景检测人,理解个人的行为。如果再把这个理解逐渐扩展到更多摄像头下的理解,比如说20个摄像头的时候,那么这就是从单场景从多场景,形成由一到多、由点到面、由简单到复杂的层次化分析。如果再往复杂一点想的话,在智能视频监控中,需要考虑像多模态的、多粒度的融合,由于不同模态之间有显而易见的鸿沟,要实现不同模态之间、视频多帧时空之间的多对象交互,需要结合多层次、不同时间的、不同粒度的信息,并进行多源对象的交错关联建模。

具体的层次化分析是不容易的。以行为意图识别为例,研究发现一个行为并不是每个时刻信息都很重要,而是一个动作的中间信息,在中间发生的信息是最重要的,而动作的中后期信息已经不起决定性作用了。也就是说,研究发现当一个动作发生到中间的时候几乎可以判断出它是什么了。所以,就单一动作来说,在这种层次化建模的时候,时空信息就有偏好性。对于更复杂的事件,像长时间的行为,它不是单一的动作理解,而是连续动作的理解,那么究竟哪个时刻和哪个动作能够对后面时刻的哪个动作起着决定性的预测作用,这就变得更加复杂了。如果是理解一个更复杂的场景,这个场景下可能会有多人检测、动作识别等;如果要实时处理,还需要实现快速检测,并需要把人的检测和人动作识别融在一起;如果要更进一步理解群体行为,那么就需要形成了一种更复杂的交错关联处理。

作为一个小小的总结,我们可以从层次化分析方面去理解智能视频监控的任务,而且层次之间是有偏好性的,不同层次之间具有交错关联的特性。为解决这些问题,或许我们需要大量的标注,但是视频监控标注非常困难,而且代价高昂。因此,如果要把这种错综复杂的关系学好的话,我们需要做无监督、弱监督学习。另外,可能还需要考虑把常识建模嵌入进来,通过常识建模来减少数据量需求。这是我的一些想法。谢谢大家。

讨论嘉宾发言实录

查红彬

报告就到此为止了,我想先简单介绍一下主持这个主题的一些想法。层次化处理是不是一个问题呢?从今天各位老师的发言可以看到,层次化处理是个值得考虑的课题。无论是从计算机视觉的角度来讲,还是从脑神经科学的角度来讲,层次化处理可能都有它存在的一些依据或者必要性。因为这个话题跟脑神经科学关系比较密切,邬霞老师来从这个角度做了一些介绍,胡老师也谈了自己的很多想法。第二个是,层次化处理过程有两个侧面需要进一步考虑。一个就是它跟分布式处理到底是个什么样的关系,我们讲层次化处理和分布式处理,他们俩之间应该从低层也好,从高层也好,都形成一种互补关系。再一个就是,既然有层次化处理,必然有从高层到低层的反馈,不仅仅是自底向上的信息流动,还有从上往下的。那么这些由上向下的控制过程是怎么产生的,能发挥什么作用?我想这些问题是需要进一步讨论的关键点。下面我们进入自由讨论的环节,按照昨天山老师的安排,每个人三分钟,然后可以抢多次,就看谁抢话筒更快一些。下面我们就开始讨论。

林宙辰

其实我觉得层次化处理这事儿,首先大家都没有直说什么叫层次化处理,如果你就是说按计算机的处理一步一步的来,那所有的都是层次化处理。我觉得是不是说像多层感知机那样,只有feedforward前馈的这样才叫层次化处理,中间有跳接的,事实上视觉里面有V1到V4之间的跳接,甚至将来V4还有反馈之类的,这些如果加进去的话,就不叫层次化处理了。我是故意起个反头,因为这样今天这个结论一边倒的就不好。

山世光

刚才听了几位老师的介绍,一个感觉确实我们对于视觉处理里面的层次化的内涵和它的外延,大家的意见是非常不一致的。几位老师刚才讲的,胡老师和贾老师,更多的是从Marr的这三个层次,包括计算理论、表示和算法、算法实现三个步骤,以及从Primal sketch到2.5维到3D这个层次概念来讲。而我们年轻一代,像拳石老师,可能大家理解得更多是讲深度学习从底层的卷积到中间层再到高层,首先这不是简单的三层,而是很多层,甚至可能是一千层,然后中间都是层次化处理。这和Marr的那一套层次化,Marr层次化感觉更多的像一个几何的层次化。而深度学习,虽然它可能可解释性没有那么好,但是好像更多的是从语义的层次化抽象的角度来说的。当然刚才贾老师视野要更广的,涉及视觉里面层次化的知识。所以我不知道最初发起这个话题的查老师如何解释这个话题,这个层次化到底指的哪个层次化,几何上的还是语义上的。我自己觉得好像都有道理,但是我自己可能更喜欢的是语义层级抽象的这个层次化处理。事实上我等会可能还想再申请三分钟说一下我的一个观点,就是我觉得图像理解完全可以跟自然语言理解去做对比。我们说一图胜千言,图它怎么就变成了一千句话呢?我们的自然语音,从单词到词组,到句子,到段落,到一篇文章,它本身是一个清晰的层次化处理。这个和我们现在深度学习语义上层级抽象的层次化处理是一个非常好的对应,总之,我个人觉得层次化处理现在更多的应该要关注到语义的层次抽象这个内涵,这个可能跟很多老师的观点不一定一致。

查红彬

刚才世光问到当初我为什么提了这么一个题目,其实我一开始的想法比较简单:深度学习兴起之后我们强调端到端的处理,但在学习的总体框架中应该怎样考虑系统的结构呢?一旦有了结构的话,就会有不同的处理模块,以及结构模块之间的相互关系,也就是说有层次了。确实在计算机视觉领域也好,脑科学领域也好,关于什么叫层次并没有明确的定义。当然实际的处理过程中可能还会形成环流,或者环路等等。不管怎样,端到端的处理也好,环路处理也好,可能是要考虑到你的结构是什么,处理的层次是怎样的。

赖剑煌

我同意层次化处理没有过时的观点,但我在想层次化处理之外的,还有什么特别值得注意的东西,就像前面胡老师讲的,就是说做图像处理肯定是一步步来的,即具有从图像去噪、物体分割、特征提取、物体表达、物体识别的层次化处理步骤,那么从这个意义上来讲肯定是层次的。但是层次之间,它们有没有交互作用,有没有交互的东西?例如物体分割与特征提取,物体分割好了有利于特征提取的准确性,但准确的特征表达会更有利于物体分割,现实的例子是高维数据如何建立具有低维特征表达的聚类问题,这种交互是很明显存在的,层次模型如何能处理好这样的问题。

从神经网络来说,脑神经,或者神经网络也好,如果像刚刚胡老师讲的技术路线,那么它是层次的,但网络可以有并发的这样一个形式,如端到端的,中间层次有良好的交互形式,可以密切交换信息,这个是不是有意思,算不算一种新的发展。

王亦洲

层次化表示的一个突出的优点是它能够解决几何爆炸的问题,这也许是这种表示机理产生的原因之一。自然界中的视觉模式虽然非常丰富多样,但很多都是由相似的“部件”通过不同方式的组合构成。相应地,我们的神经表示也不是对每一种模式都用不同的神经资源,而是通过shared representation, 从底层到高层,形成复杂的、稳定的、层次化结构表示。我很喜欢刚才拳石研究的问题:层和层之间到底发生了什么,如何去量化这些东西,它们的变换到底是什么。

纪荣嵘

我顺着亦洲老师的话往下讲,其实我非常赞同亦洲老师的观点。我们现在做网络压缩的过程中,用这种算法去做,做到尽头感觉搞不动。我特别想知道,比如说有个问题想请教大家,我们做的过程中发现,比如说一个问题,几何旋转不变性,到底是由神经网络的哪一层的哪些节点,或者哪几层的节点组合而成。如果大家其实就把最简单的问题回答清楚的话,我觉得至少对神经网络的可解释性是一个很有意思的一种启发。比如现在做network的那么多,谁能告诉我,网络的旋转不变性,到底在VGG或者ResNet里面是哪几层哪几单元合在一起构成的。如果证明能解决的话,可以知道我们做模型压缩原理很多的一个问题,比如说我们保留哪些神经元,再比如说包括这里的recognition,识别一辆车,它到底是VGG里面哪些节点哪些单元合在一起构成了车的识别网络,这其实是一个层次化分析的问题。但其实我们也没有找到太多的思路,特别是我们特别好奇,比如说在这个神经科学里面,这种目标识别它是由哪一些层集合去组成的,它是各个层,还是说合在一起,合在一起到底是哪些层哪些节点合在一起,有这种说法吗?

邬霞

其实刚才前面老师也说了一下,就比如说像山老师提到的,我们怎么样从这个图里面把语义提取出来,怎么样从文字里面把语义提取出来,这个在我们研究人脑的时候,我们还在借鉴这个层次化处理机制,我们认为来自于不同模态的激活的这个材料,通过人的视听觉,通过人的不同的感觉,进来以后它会汇聚到语义层次上去提取语义信息,也就是说你从图里面提到的语义,和你从话语里面,还有你听到的声音里面的,最后都到达了相同的语义区,这个是在我们之前的研究里面其实也做过的。但是受限于现在数据采集设备的限制,还没有办法抓到这些传输的具体时间。比如说,我们常常用磁共振数据来获取脑数据,但是它扫的太慢了,很有可能你的语义一瞬间就实现了,现在还抓不到这样的一个过程。因此,现在假设这个信息流是从底层往高层这样传输,但具体是不是这样,中间有没有反复,其实我们也不知道。刚才纪荣嵘老师提的这个问题,我也特别抱歉的告诉你,我们也还不知道具体在人脑里面分多少层,然后每一层之间是不是有一些定量的关系,这个可能现在还没有办法做到。但是我觉得,随着用不同的研究手段来获取数据的过程中,比如说可以融合空间分辨率或者时间分辨率这种方法来帮助我们来获取语义特征,肯定会帮我们获取到更多神经处理的细节。目前从已有的研究结果来看的话,人脑里面它肯定不是由单独的几个神经元或者几个脑区就能解决视觉问题的,我们还是倾向于可能很多脑区都来参与这个工作,尤其是要到更高层次的语义上面去的话,还是需要有很多高层的网络来构建这个事情。在完成视觉任务时,整个大脑不是只有视觉皮层的一点点起作用,你在看一个很简单的画的时候呢,你的脑子其实也没闲着,有很多脑区在参与这个工作。

胡占义

我可以回答这个问题。首先,VGG网络没有旋转不变性,所以后来人们要加一层专门处理旋转变换的网络层。另外,人类视觉系统也没有完全的视角不变性。视觉系统从V1区到V2区V4区,到最后的IT区,物体识别对视角变化的容忍度越来越大,但没有严格的不变性。比如说对一个头朝下的人脸图像,识别率就会低。另一个是人脸识别的神经机理问题,人们对灵长类动物关于脸孔识别的机制了解的还是相对比较清楚的。猴子,包括人,对脸孔识别有专门的脑区和层次化加工网络。现在认为,猴子有6个脑区参与脸孔识别(PL,ML,MF,AL,AF,AM)。中间的二个区(ML,MF)的功能在于去除由于视角变化导致的几何形变,后面的几个区(AL,AF,AM)在于去除光照引起的变化。

林倞

就围绕这个问题来说,我觉得我还是想清楚的表达一个观念,我觉得视觉的层次化处理,永远不会过时,而且是未来研究的一个重点。我不知道大家有没有关注到一个观点,做machine learning的经常说计算机视觉其实是不存在的,它是machine learning的一些算法啊,然后结合一些特征,开始是手工设计特征,后来就搞深度学习,其实计算机视觉这门科学是不存在的,大家发很多CVPR论文都是从NIPS,ICML找个idea,当然我是非常反对这个观点的。然后我认为视觉思维存在我们两个层次化模型背后的视觉东西,把视觉层次化模型,层次化背后的一个表达,视觉也就是vision,我也非常喜欢Marr的书,所以包括我们在做深度学习的时候很多时候,都用了层次化处理的思想,去启发我们做深度学习,纪荣嵘说的压缩,还有这个像一些高层的语义的分割,上下文的建模,其实都受到层次化模型的启发。我觉得未来应该把更多的把精力放在表达上,比如说几何和语义怎么统一,其实核心还是说:到底是我们先做一个几何表达像Marr这样的几何表达,再做语义的表达,还是直接就做语义特征,我觉得这两个是不能分开的,所以我认为未来我们应该把重心再反过来看看,把层次化模型,把视觉的表达怎么去做,怎么去跟心理学,认知科学,脑启发去结合,我认为这是一个很重要的趋势,而不是过时。最后想强调一下,我们现在讲私下为什么会问这些问题,我觉得我们计算机视觉长期以来去做一个判别或分类问题,我们的benchmark,分类从概率上讲,后验概率,是吧,其实在Marr他们怎么讲,他们其实很多都讲联合分布,深层次的东西,所以就是说当我们曾经看,其实判别或者是分类,其实反而是要把,应该是说他怎么把深层,怎么去解释,这个才是视觉我们要回归的一个最重要的。然后讲一下像我们目前的深度学习更多是做一种抽象的归纳,不同层次的抽象和归纳,然后将来到什么解释性,到更高层这样的,就是说它应该是一种推演,由小到大的一个推演,推演初期这个时候视觉这种表达,更加注重,如果你没有这个深层,没有这个基石,谈不上这种推演。

陈熙霖

讲一句话,提一个建议。一句话就是说Marr那本书的核心其实是去做转换,转换就是层次化处理。一个建议就是,为了使更多的参与者有机会表达观点,建议稍微改一改规则,就是轮流发言,轮到每个人的地方,如果不愿意说,就顺着轮下去,这样对每个人比较公平,否则有些人比较被动就不说了。

王涛

刚才贾老师讲到了他的原子弹,然后我就想到了昨天晚上我看那个电视剧,叫激情的岁月,里边讲就是原子弹研制,而且昨天那一集我觉得特别关键,里面讲到跟原子弹研究相关的几个重要的问题,碰到的困难。我想从这个联想一下,他们碰到的第一个问题就是材料的问题,他们说不是炸药的问题,是材料的问题。其实对于我们视觉,我们是不是有很好的传感器,刚才说Kinect,对吧,Kinect好像是解决了,但是它这个工作距离非常近,2到3米,但是我们要看十几米以外的监控。他们碰到第二个问题就是状态方程,他们死活搞不清楚,就原子弹最后爆炸这个状态方程。我想这个其实是核心问题,对应到我们视觉中就是真正的视觉机理问题。每个层里面到底怎么处理,它的机制是什么。其实就像刚才那个,他还是一个谜一样,可能我们现在根本就想象不到人是怎么处理的,或者说更高效的一种处理方式是什么,所以我觉得这是大家应该探索的。比如现在研究深度神经网络,也就是刚才有老师打比喻的中医,但是深度网络它其实就是层次化的,一层一层的,但是它这个层次是非常机械,非常局限的。第一个就是没有高层指导低层,我觉得大家以后做研究可以更多的有这个机制吧,不再只有自底向上,要有自顶向下。第二个关于卷积核,卷积核非常死,把多通道每个通道都要做一次。其实是不是真的需要这样,它可能很低效,就在最开始的时候,RGB的时候,在每一层的各通道都使用相同的卷积核,但是随着这个特征不断的往上高层,其实可能就是可分离卷积,对吧,就是之前有人提,就没必要就是每个层次都用相同的卷积方式,这其实是我们可以设计的。第二个就是我想说的是,就是说这个胡老师提出空间视觉,对吧,它讲的下面物体识别是一层一层的,但是空间视觉时候50ms处理完,其实我对这个很感兴趣,不知道就是咱们神经学有没有什么研究,这也是关系到我们运动物体怎么跟踪,然后三维怎么去重建,我不知道有没有进展,我就说这些吧。

胡占义

我可以回答一下吗?大脑皮层有二个与运动(motion)直接相关的区,一个是MT区(Middle temporal),还有一个MST区,这些大家都比较清楚了。运动检测比物体识别要简单的多。因为运动可以用三个参数描述,运动方向和大小。视觉物体识别很困难,因为物体表达无法用参数描述,且维度很高。另外,汉语的运动,既可以表示motion,也可以表示movement。关于movement,如抓取物体,大脑有专门的motor区。运动规划和执行是非常高级的“空间视觉”任务了。人的视觉系统大体上分为“物体视觉”和“空间视觉”通道。目前人们对大脑高层区域的视觉加工机制都还了解的很初级。

毋立芳

关于这个问题,我就想说下我的理解,感觉层次化处理是视觉的本质,视觉本质就是层次化处理。只不过以前我们的传统方法是一种显式的层次化处理,把特征提取、特征表达、模式识别分别做,但深度学习,实际上也是层次化处理的,但它是隐式的,虽然它形式上是端到端,实际上也是一个层次化处理的过程。从刚才邬老师说的那个概念,各层之间都应该是有关联的,这种隐式的层次化处理反而更容易去把层和层之间的关联,以及层和层之间的反馈,有机结合起来。所以,我觉得实际上现在隐式的层次化处理的一些架构上,怎么样去把这种层间关联有效地表达出来,或者有效地结合起来,这样可以去设计一个应该说更符合人的视觉本质的一种层次化的表达。

林宙辰

我再唱个反调,就是说事实上我觉得层次化处理未必就真的存在,而是因为人的认知上面的一些缺陷,或者说像刚才胡老师说的,因为我们的科学研究方法受到了笛卡尔牛顿方法论的影响。所以我们必须是从下到上的这种分析,那么这个分析就必然导致我们得出结论说我们的研究对象就是一个层次化,它本身未必就是真的是按层次化的方式来进行。你如果有个新的方法论,你可以得出另外一个结论。

王亦洲

层次化表示我觉得它是存在的,人脑对视觉信号的加工有很多机制,如特征的分解与整合。信号进来以后,特征分解成独立的分量,大脑对它们进行并行加工;之后,到某个区域再把它们整合到一块,形成对对象的整体表达。这些机制与层次化加工不同,但也是很重要的。另外,胡老师也提到了 where 和 what,如果卷积可以分离,则每一层可以使用不同的卷积核。

查红

世光在前面问到为什么要建议这么一个主题,我刚才已经回答了一半,就是说要考虑结构的时候,必然就要考虑到层次化。另外,当我们讲到结构,讲到层次化时,可能大家头脑里面马上想到的是我怎样设计一个比较好的结构,这个结构有优化性能,能够很好的完成我们面对的各种任务。但是我同时对人脑的层次化结构也很感兴趣。我们知道人脑是没有任何设计师来设计的。人脑是在进化过程中,在原有的所有功能基础之上,通过适应环境及其变化,逐步演化出来的。也就是说它的层次化是跟它的时间进程,跟它功能的增加相关的。这样,我们讲层次化是要按照我们工程的思路,来根据我们眼前的任务人为给它分成不同的层次呢,还是它自己在对环境、对任务的适应过程中,自己将功能进行分化,进行重组,进而形成一个层次化的系统呢?当然,人脑一个很大的特点是除了层次化之外,它还是分布式的,像刚才提到的高级功能基本上都是分布在整个网络中。所以从这个角度来看,我们做计算机视觉研究的人,是不是也应该更多地从这种非笛卡尔的、非牛顿的思路出发,让系统在它自身的进化过程中去获取固有的层次化结构呢?

山世

我这个反对一下。我是觉得我们做计算机视觉,是从模拟脑的角度去实现视觉的功能,还是说从函数拟合的角度来去解决。如果说从函数拟合的角度来讲,为什么一定要分层?我们大量的计算机视觉问题,都是从X到Y的一个函数映射,如果是从数学的角度去考虑的话,那分层带来了什么样的好处呢?从进化的角度,分层很可能其实是为了避免组合爆炸带来的不可控的能耗问题,从生物进化看,生物从最开始的单细胞开始就必须解决能量的问题,因为生物不可能有无限制的能量,所以你必然是在能量受限的约束条件下,因而不得不采取一些折中的办法,所以才出现了这样的一个层次化处理方式。但如果从函数拟合的角度来讲,是不是一定说函数层层嵌套,一层层走下去才是最优的一个解决方案呢?我觉得不一定。好像也确实有研究表明一层也可以去实现多层的功能,那么我们为什么非得去分层呢?

查红彬

好的,既然是争论,我就得回应一下。其实你这种想法是很直接、很直观的。经典力学中,牛顿写了个方程式出来,万事都解决了,这是个映射问题。然后爱因斯坦写了个方程式出来,相对论问题解决了,这也是映射问题。但是对于脑来说,现在还没有谁能发现这个方程式,没能找到一个适用于脑的一对一功能映射规则。我们现在面对的是一个多对多的映射,需要很强的泛化能力:我不是只能干这件事,我还要能干别的事情。系统要有很强的柔性,就得有一定的结构,有结构的可塑性

山世光

我一直认为脑肯定不是最优的,因为脑就是进化过程中不断加各种约束条件而演化出的东西,进化其实是evolution的错误翻译,大家都现在认可,evolution应该翻译成演化。进化这个翻译给了我们错误的认知,好像生物的演变是有方向有目标的,其实演化没有方向没有目标,不是从简单到复杂,低级到高级,就是自然选择的结果。

查红彬

我们必须明确的一点是,虽然说脑不是最优的,绝对不是最优的,但是脑的能力是很强的,这一点你不得不承认。

胡占义

我可以加一句,第一个就是说我们人脑有大脑皮层对不对?这种皮层是叫新皮层(neocortex),简单动物没有,只有哺乳动物有。新皮层约2毫米厚,从上到下分6层,这是我们高级智慧的神经基础。新皮层是进化来的,所以说我们大脑不一定是最优结构,什么叫最优可能上帝也不知道,但是我们比简单动物要高级,这个肯定的。比简单动物高级在什么地方?就在于我们大脑的这2毫米厚的皮层。第二个,是不是生物的表达就比计算机的表达好?这个大家做过比较实验。怎么做呢,就是把电极插入大脑记录神经元放电。把群体神经元在图像物体刺激下的放电响应与VGG最后一层的物体表达进行比较;第三个,人们发现猴子的IT神经元对物体的表达可以通过线性分类器分类,这是2015年MIT DiCarlo组报道的。第四个是,目前神经科学目前主要研究快速物体识别问题,即100毫秒左右进行的物体识别。因为100毫秒左右,即使有高层反馈,也不起主要作用。人们很少研究300毫秒进行的物体识别,因为一旦涉及到反馈,目前大家对其神经机理都不清楚。这是我的一点理解,不见得对。

陈熙霖

今天讨论的这个题目叫视觉层次化处理,我觉得应该改成计算机视觉层次化处理,因为生物视觉是不是层次化处理不是我们决定的,因而是否过时就更无从谈起。我们讨论的是计算机视觉要不要层次化处理。一个类比是如果我们现在看到有人爬上珠穆朗玛峰,他是分三个阶段爬的。我们至少知道,如果这三个节点我们也可以到达,那应该也可以爬上去,这就是我们讲的层次化。另外以语言为例,世界上有没有哪个语言直接上来教句子?答案一定是没有,都是从字、词、句开始教的,也可能没有字,但是至少是词和句。因为这种组合复杂概念的复杂性是指数增长的。创造那么复杂的语言世界一定是简单的过程。再看一个工程的例子,网络的成功得益于其层次结构。TCP/IP定义了一个细腰,它使得这个层次分的很清楚,因为有这个层次才能支持上面纷繁复杂的应用。回到今天我们谈的计算机视觉,我觉得胡老师刚才讲的有一句话我非常赞同,就是回到纯计算机视觉,我们就应该研究100毫秒或者200毫秒以内的反应,那之后的其实都已经超出了纯粹的视觉的感知了,实际上是认知的能力在起作用。对于视觉认知的说法,我个人不太同意,视觉就是感知。不能因为研究内容的泛化就导致有明确内涵概念的泛化。可能有人会说用神经网络堆叠也是一层一层的,可是这里的堆叠,中间有没有一个“细腰”存在,有没有一个明确的中间表达?如果存在这样一个“细腰”的表达,我认为是层次;如果不存在这样一个“细腰”的表达,我认为就是堆叠。就像我们造楼一样,不能说每个砖堆起来就是分层的,分层必须要有楼层的概念。回到刚才讲“细腰”,为了支持纷繁复杂的多任务,就要有中间表示,这是关于我对层次的理解。

胡占义

我再回应一下陈老师。关于视觉,我们还没有一个公式能把所有视觉问题就解决了。但类视觉系统具有灵活性和普适性。我们进化的视觉物体识别通道,绝不是仅仅用来识别物体,还有很多其它功能,如视觉测量。另外,视觉皮层的V1,V2区等,首先是解剖概念上的区,不是功能意义下的划分。为什么进化出层次化的结构,层次化的结构到底有什么优势,需要研究。

陈熙霖

我们之所以说很多感知细胞和神经元,很重要的一条,是在稳定性和可靠性之间做的折中。正是因为如此,生物视觉系统才可以经受住伤害。相比之下,对于一个网络,如果把网络中的某一个连接剪断,网络行为可能就发生了彻底的变化,可是我们人脑袋上受点小伤小害,基本上不出大问题。

山世光

刚才陈老师提出了一个很有趣的问题,就是视觉到底要不要做认知?我觉得视觉如果不做认知的话,我们是不是应该做苍蝇的视觉,做还没有皮层的生物的视觉系统。那我们就不要做大脑皮层,应该从头开始做,做最早的单细胞,那些最简单的生物它的视觉能力,因为你没有到皮层的话,物体识别都成问题了。

胡占义

陈老师刚刚说到什么叫视觉感知,视觉感知的定义是什么呢?感知就是对外界环境的表达和解释(interpretation)计算视觉的创始人David Marr,曾说:vision is to know what is where by looking,核心问题是对环境(物体)的表达(representation)问题。认知与感知有很大区别。认知是指知识获取的脑加工过程,包括推理,决策,记忆,语言理解等。我们研究计算机视觉,从传统来说是研究视觉感知的学科,而不是研究视觉认知。所以说不是说视觉感知就是研究苍蝇视觉一类的简单视觉,视觉感知很复杂。

林倞

我觉得认知跟感知是不可能分开的。视觉感知是认知的一部分

胡占义

视觉感知这个大家有定义对吧?视觉感知干什么,视觉感知就是干两件事,对你看到的东西进行解释和表达,interpretation以及representation对吧?这是我们视觉感知做的。视觉认知干什么,咱们所谓的认知就是knowledge acquisition by mental action对不对?就是知识的形成。认知与感知有联系,但也是有严格区别的

林倞

它就是目标跟任务导向,然后里面的话感知认知包括决策是一起的。

胡占义

但是我觉的决策不包括在感知里面

查红彬

苍蝇的感知也好,人的认知也好,其实都是在更低级动物的基础上进化出来的。人的认知,特别是意识,只有很短的进化历史,在那之前从低级生物再到人类的进化过程当中,有机体的主要功能大都是意识下的处理。现在计算机视觉领域有多少人在做意识层面的认知研究?尽管现在很多人说在做语义的检测、语义的抽取,以及推理等等,但到目前为止,我觉得没有多少人真正在做意识层面的事情,基本上都还是在做意识下的、并行处理的、计算的这一块。我们用了计算机视觉,用了视觉这个名字,但我们做的还是感知方面的事情,而且还都是意识下的。人的意识上的处理是高度抽象的,而且它只是人的心智处理过程的冰山一角。从目前的发展阶段来看,我们这么做是对的,我们不得不借用意识上的一些语言来描述问题,但是没有真正去做。

胡占义

我稍微解释几句,第一个呢,新皮层就是neocortex,在这里处理未必就上升到了意识。比如说V1区,大家普遍认为V1区所有的处理都没有上升到意识,你只要睁开眼看,V1区都在处理,但是你都没有意识到看什么。V1区的处理没有上升到意识层。另外,好多认知学家人认为前馈处理都没有上升到意识层,当然这是有争议的。我不是说新皮层处理的就没有意识,他既可以上升到意识也可以没有上升到意识。但是V1区以前的处理上升不到意识,至少据我所知,当前的认知科学的结论还是这样。

查红彬

对,意识层面的东西,对于整个大脑的处理过程来说,只是很少很少的一部分。但是我们现在计算机领域的有些人,为了追求自己研究工作的意义,将一些意识上的概念拿来说事。意识上与意识下的区别还是要有的。

陈熙霖

我们这些人把研究计算机视觉的那些办法,直接拿来搞所谓的认知,也是有待商榷的。很多时候本质上就是搞了一个相关和联系,包括VQA等,大多数时候就只是把数据灌进去,填鸭式的灌进去,一旦换一个场景,这样的系统立刻就无所适从了。所以我同意刚才两位老师讲的。而且刚才讲到前馈和反馈,不带反馈肯定跟意识没有任何关系。我们也不能把计算机视觉泛化。

徐凯

我倾向于把深度学习当作一个工具,不必太过神秘化或者神圣化它。现在是因为它的性能确实好,所以我们特别“崇拜”它,希望去深究它的机制、机理。但大家都知道深度学习其实本质上是函数逼近。另外给大家带来一点图形领域的信息。图形学领域开展深度学习的研究相对滞后,但最近这两年有一个非常火的方向是逆向渲染(inverse rendering)。大家知道一般意义上说,图形学和视觉是两个互逆的过程,视觉是从图像推理或恢复对象或语义,而图形学是从三维对象生成图像,即渲染的过程。现在很多人研究可微分的渲染(differential rendering),本质上就是用神经网络表征和建模这个从3D到2D的渲染过程。有了这个,就可以类似于训练深度网络一样做反向传播,去学习这个渲染模型的参数或者恢复3D。这个过程看并没有涉及什么“认知”,实际上就是把深度学习当成一个建模工具,把深度网络当成一个可以用反向传播来优化的模型。

胡占义

我加一句,我觉得今天其实我们有一个很大的概念误区,我们不能说深度网络的层次化计算就是视觉的层次化加工。我觉的层次化加工,是指“功能原理”上的层次化,不是计算上的层次化,否则,什么都是层次化加工了,因为我们用计算机计算任何东西,都需要一步一步来。

山世光

我的观点正好相反,我觉得卷积神经网络的分层出来就是层次化。卷积神经网络的前面的卷积层的功能就是在提边缘啊,用学出来的滤波器实现边缘提取功能,而再后面的卷积层则是在提取一些中层语义特征,也是有功能的。再比如说pooling层,回到刚才荣嵘那个问题,它是如何实现不变性,其实不仅仅是旋转不变性的?还有尺度不变性,位置不变性,pooling层可以实现一些不变性。然后不同的卷积滤波器或特征之间的加权求和组合到下一层,让每个神经节点去实现越来越复杂的功能。

邬霞

对,我特别同意,我们现在没有办法获取到足够的数据来帮助我们来建模,我们更多指望从你们这里借鉴知识来帮助我们建模。

林宙辰

其实如果一直按照笛卡尔牛顿的这套科学方法论,那么中间的信息融合过程是怎么发生质变的,我觉得现在还没有这方面的数学工具能够为我们揭示。

查红彬

我们上午第一个Session就到这。

原文链接:https://mp.weixin.qq.com/s/3H-t-hCzHoGwDfSmQzXbXw

END

备注:CV综合群

CV综合交流群

每日分享2D、3D目标检测,智能驾驶。人脸技术,视频分类,超分辨率等最新资讯,若已为CV君其他账号好友可直接私信加群交流。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值