中国自动化学会主办,深蓝学院承办的『深度与宽度强化学习』学科前沿讲习班在中科院自动化所成功举办。本文根据浙江大学刘勇教授在前沿讲习班上所作报告速记整理而成。
刘勇,浙江大学智能系统与控制研究所教授,浙江大学求是青年学者,浙江省“新世纪151人才工程”第三层次培养人员,担任浙江省机器换人专家组专家。承担NSFC-浙江两化融合联合基金、国家自然科学基全青年和面上项目、科技部863重点项目子课题、浙江省杰出青年基金、工信部重大专项等国家级省部级项目多项。获得浙江省自然科学奖2017(一等奖),科学进步奖2013 (一等奖),发表SCI论文20余篇,授权发明专利6项。主要研究方向包括:智能机器人系统、机器人感知与视觉、深度学习、大数据分析,多传感器融合等。
研究背景与挑战
目前,世界上很多国家政府对AI深度学习都非常的重视。同时在很多的应用行业,比如无人超市、自动驾驶等,都是深度学习在促进行业技术的发展。
在深度学习出现之前,做人工智能或者机器学习的模式是先进行输入,然后设定一个特征,输入后做特征提取,找到有用的特征,再用这些特征生成一个分类器,最后输出。在这个时期做人工智能或者机器学习科研并不受产业界重视,其根本原因是这个时期模型最终的好坏,不在于决策训练时候使用的分类器,而在于该提取何种特征进行分类,但是对于特征的需求产业界比科研界更懂。
而深度学习的出现则改变了这个情况,深度学习是端到端的学习,其实是一个拟合在一起的黑盒子,把特征提取和整合分类的决策和训练放在一起,只要有数据、有输出结果,无需专业人士就可以完成。
深度学习还有另一个优势,就是将复杂的特征提取转化为逐层的特征提取。
首先定义训练数据集D,输入值x和输出值y,为最小化其误差,定义代价函数,将输出的预测值与真实预测值间的误差最小化。
目前,当机器人在感知环境中做事情时,需要知道环境中哪些是目标对象或需识别目标,比如让机器人去厨房中取一杯水,就是会遇到的经典任务之一。
此时机器人要考虑几个问题。第一,厨房在哪里,哪个场景是厨房?
二,什么是水,需要识别的目标是什么?需要定义多层级语义感知需求问题和标注样本数量过少的问题。
第三,视觉传感器是二维传感器,所以实际观测到的是二维信息,如何让机器人通过二维信息在三维空间进行活动,是典型的不完整观测。对机器人环境感知来说,以上三个问题十分重要。
另外,二维传感器观测到的二维信息,是一些稀疏的点,对应起来是表面的纹理,怎么让机器人顺利的把目标抓起来,需要一个抓取规划,这个抓取规划也是要解决的问题。还有动作连贯性问题,在深度学习、机器人现场感知环境中这个问题显得很重要。
当然针对机器人问题来说,有些东西在传统视觉里是不一定存在的,比如多层次语义感觉,要知道地点和目标,同时还安装了多个传感器。另外运动是连贯的,从A点到B点,物理空间和时间上的连贯,被称为运动的连贯性。这些统称为机器人在环境感知中的先验知识。
因此机器人感知中面临的问题是标注样本数据量少,而解决这个问题,需解决参数学习的病态性。按照机器理论学习来说,只有D的样本,去估算出一组θ参数,但因为D的数量过少,无法覆盖样本真实分布信息,这个问题叫做参数学习的病态性。
第二,是由于机器人不完整观测感知带来的任务映射病态性问题。x是已知的信息,需要推导出y信息,但因为x本身包含的信息不足以推导出y信息,比如只有一个二维图像的前提下,要做一个三维重建,只有一个视角,信息就是不充分的,也就是x缺少重构唯一输出y的信息,这个问题叫做任务映射信息的病态性。
以上两个病态性问题,是无法通过任何数学方法弥补的。
要解决这些问题,就需要用到先验知识,也就是前面提到的机器人运动连贯性、有多传感器、多层级语义感知,利用这些先验知识解决样本标注较少或观测较少的问题,这个方法称为正则化方法。
接下来,本报告将从提升深度学习泛化能力入手,通过嵌入先验知识的正则化方法手段,阐述如何解决机器人环境感知问题。
研究现状
首先,介绍一下隐层正则约束和结构正则约束。
对深度学习而言,一般做一个网络训练,将L最小化,是一个基本模型。但若对它进行正则化该怎么做呢?首先是基于数据的正则,是对x、y训练数据上做些特定的训练方式,叫做数据正则。
另外一种叫结构正则化,比如卷积神经网络。传统的神经网络是稠密全连接的网络,所有输人的每一个子向量都会同顶层节点发生关系。但是卷积神经网络只有部分发生关联,实际上是一个卷积的过程。这种对结构进行一个正则的行为,叫做结构正则。
还有一种叫做加入正则项的正则。当在基本模型的后面加上一个约束,要求满足基本模型的最低Lot值,并将正则项加人进去,使正则项能够传下来,这也是一种用来正则的方法,叫做加人正则项的正则。这里可以细分一下,比如参数正则,约束输出参数0,同时要求输出是正则,实际上就确定了这些正则是做这些约束的。
研究内容
隐层正则约束,先从图正则自编码器来介绍,定义一个编码器h有一个f,解码器则是把它倒过来。实际上简单的自编码器可以看到x经过编码器到h隐层后,可以复原,这叫做AE结构。再通过堆栈方式,一层层的叠加,就可以得到多层网络叠加。这样训练完成后得到的x持续上升的多层感知机,是最早的做法。
对于这个问题又要回到前面定义的参数学习问题,从训练集D到0,D实际上是训练数据,θ是自编码器的参数。然而D中可能包含噪声,必须把噪声去掉,需要另外做一个特定任务下对应的特性。这里借用了子空间学习(流形学习)。它认为高维数据分布实际上在低维的流形的切平线上,这是数据的特性。广泛的会用到特征提取物的降维,其核心是保留高维中的竞争关系。如果数据点间距离比较近,变换到其他维度后是否距离还应比较近,就需要一个约束,需要一个正则关系,叫做图正则。
然而流形中的特性用到机器学习中是什么样的特性呢?是否应将流形中的约束加到隐层正则约束中?于是对隐层做一个约束,h表示隐层,隐层希望它们满足一个嵌人的信息,重构误差的输出。
对于不确定性的传播性,图正则项约束了所有隐层节点各自不确定度,同时将隐层节点推向非线性激活函数的饱和区。通过围绕一个物体360°的照片,可以看到两个视角之间是相邻的,对它做一个降维,投到二维空间,发现两个相邻的小格空间上维度是相近的,也就体现出它们在这个维度上是相近的,同时在另一个坐标中是尽可能趋同的,也就是把它推到了饱和区。
将这个方法用到机器人上,通过单眼激光,让机器人在地图上到处走,进入另一个房间时输入激光扫描270°的线的一堆点,根据这些点预测或者判断出自己在哪个房间。如果同一个房间里两个数据之间有临近性,就可以嵌人到深度学习中,也就是特征关系。通过测试,机器人可以在不同房间内比较好的进行预测和分类。
图像聚类与分类实验配置:
图像聚类与分类实验结果:
接下来是结构正则约束,也叫语义正则网络。在参数学习病态特征中,如果把D叫做场景中的图像与类别,那么怎么通过一张图让机器人知道这是哪里?可以通过250万张图像进行训练,但是如此大数量的训练是十分麻烦的。
场景分类结果:
语义正则网络:
所以现在设计了一个多任务的网络结构,用到了彩色图像、深度图像,然后把图像都合成之后,设计一个模型,会发现有两项,项是针对图像的场景分类,另外一个是像素物体的分类误差。把这两个叠加起来,结构要怎么正则?要做分类做图像处理,但前几层是基础底层特征,没必要重新学习,可以共用,比如:做一个SSCNNR2的特征,就是前两层为共用的特征,之后再把各个不同的拉出来。另外当前六层都是共用的结果时,把各个不同的拉出来,看从哪一层做的效果更好一些,叫做前二层网络正则结构与前六层网络E则结构。
实验结果:
接下来是结构正则约束。当观测不完整、不充分的时候,如何把场景做好,就需要场景的深度重建。深度重建可以帮机器人做好些语义上的理解。
现有的深度传感器和单目深度估计,存在二义性。
通过增加单线激光扫描来解决观测不充分和预测二义性问题,最大的挑战是如何把稀疏观测做好。
接下来要考虑如何设计网络,若直接输人稀疏观测和图像,输出深度估计,实际效果会非常不好。比较好的做法是首先从稀疏观测重构稠密参考观测,避免混淆逻辑值与深度值。然后加入全局跳跃连接进行结构化正则,参考深度与实际深度之差,将深度估计问题转化成深度“雕琢”问题,调整实际场景深度与稠密参考深度之间的差值。这样网络主体可以采用残差网络,残差网络的局部跳跃连接与估计残差深度的全局跳跃链接形成嵌套残差网络。
实验结果:
对于机器人,抓取物体的时候需要知道物体的模型是什么样的,而通常深度相机或激光扫描出来的就是一些点,通过深度学习来估计模型的三维形状,叫做深度移动立方体网络。
一些比较传统的方法,一种是直接通过点进行三维重构,就是用深度学习把点做出来;还有一种是体模型,通过一个个立方体,像乐高积木一样堆出模型,然后进行平滑处理。
这些方法都需要对结果进行优化,无法直接得到结果,也就无法得到模型的结构先验值。其核心的问题,就是重构的过程是不可导的,想要本质上解决这个问题,需要将过程变为可导,然后将其放入网络中进行整体的训练和学习。
而移动立方体,本质上就是一个网格,用每个点的位置来确定哪些点要连成一个边,有了一条边,然后就可以把这个模型给出来。建立几个顶点,建立拓扑结构,核心问题就是确定拓扑结构和顶点位置。可以看这四个顶点的符号来判断这四个顶点是否被占用。这个做法有一个很大的缺陷,就是没办法做拓扑的模型。这样的话要把拓扑和顶点的位置解耦,将其变成可导的立方体。把整个过程变成一个占用概率,不是根据符号来判断,而是根据概率来判断。这样就把这个问题变成了一个可导的问题。
网络输入可以用离散点,也可以替换为其他各种输入,如二元栅格占用模型甚至是图像。
代价函数也做了几个设置:第一,算拓扑结构下的点到三角形边的距离,这个距离尽可能要短一点,这样包的比较紧致。另外,给定先验知识约束占用栅格状态,设计第二项的代价函数,最后做平滑。
二维方面,做第一项点到距离的时候,发现连完之后的轮廓基本就可以把车的轮廓找出来。再加第二项约束,使得输出更接近真实轮廓。然后再做边缘底部缺陷修正第三项约束,最后平滑。用一些经典方法做对比,发现效果还是不错的。
总结与展望
未来,在正则化统一框架下深度学习性能一定会得到更好的提升,在机器人环境感知应用上也一定会取得更好的表现。
同时应更多的在无监督学习、定性与定量感知任务相结合与结合机器人声学、触觉等传感器方面,做出更多的努力。
来源:中国自动化学会 转载本文请联系中国自动化学会授权。