第1章 绪论
1.1 研究背景与意义
在人类科技发展史上,近二百年来的成就,彻底改变了人类的生活和生存方式。1687年,牛顿的《自然哲学的数学原理》出版,拉开了人类现代科学的大幕,在这部科学巨著中介绍的万有引力定律的重要指引下,人类科技在天文学上也开始加速发展。第一次工业革命让人类进入了蒸汽时代;第二次工业革命让人类进入了电气时代;第三次科技革命综合了人类诸多科技成就,如计算机、原子能技术、生物技术、航空航天技术、海洋探测和航海技术、信息技术、新材料技术、新能源技术等,这些成就极大地推动了人类在经济、政治、文化领域的变革,影响了人类的生活方式和思维方式,同时也改变了人类的生存方式。
近年来,随着高速计算机和网络的发展,人类进入了信息化时代,各行业进入了科技高速发展的快车道。2013年,德国在汉诺威工业博览会上推出“工业4.0”的概念,代表人类已进入了智能化时代,我们每天都能感受到物联网、智能制造和人工智能等技术带给我们的惊喜。
什么是人工智能?早在1950年,英国数学家艾伦·麦席森·图灵(Alan Mathison Turing)在他的论文“计算机器与智能”中就提出了一个问题:机器是否可以思考?图灵对于人工智能的发展有诸多贡献,他提出了一种用于判定机器是否具有智能的试验方法,即图灵试验,为现代计算机的逻辑工作方式奠定了基础。我们后来称图灵是计算机科学之父和人工智能之父。
1956年8月,在美国汉诺斯小镇的达特茅斯学院,由人工智能与认知学专家约翰·麦卡锡(John McCarthy)、马文·明斯基(Marvin Minsky)、信息论的创始人克劳德·香农(Claude Shannon)、计算机科学家艾伦·纽厄尔(Allen Newell)、诺贝尔经济学奖得主赫伯特·西蒙(Herbert Simon)等人发起了著名的达特茅斯会议,确定了“人工智能”(Artificial Intelligence,AI)的概念,人类进入了人工智能元年。
1957年,美国神经生物学家弗兰克·罗森布拉特(Frank Rosenblatt)发明了感知器,这是机器学习人工神经网络理论中最早的神经元模型,是一种将神经元用于识别的系统,它的学习功能引起了科学家们的广泛兴趣,推动了连接机制的研究。由于人工神经网络理论的突破,因此人工智能领域受到了极大关注。
1960年,维德罗首次将Delta学习规则用于感知器的训练,这种方法后来被称为最小二乘法,Delta和感知器的结合创造了一个良好的线性分类器。
1967年,最近邻算法(The Nearest Neighbor Algorithm)出现,自此计算机可以进行简单的模式识别。具有代表性的k最邻近(k-Nearest Neighbor,kNN)算法的核心思想是:如果一个样本在特征空间中的k个最邻近的样本中的大多数属于某种类别,则该样本也属于这种类别,同时具有这种类别的样本特性。该方法在确定分类决策上只依据待分类样本最邻近的一个或几个子样本的类别来决定整体样本所属的类别。
1969年,马文·明斯基和西蒙·帕珀特(Seymour Papert)出版了《感知器》(Perceptrons)一书,书中提出了人工神经网络的局限性,指出了XOR(Exclusive OR)问题和感知器数据线性不可分,作者用数学方法证明了当时的人工神经网络只能实现最基本的功能,这种网络只有两层神经元:一个输入层和一个输出层。如果在输入层和输出层之间加上更多网络,理论上可以解决大量的复杂问题,但是并没有提出训练网络的方法,所以这样的神经网络在应用领域毫无价值。这导致人工智能研究领域出现了技术瓶颈,人工智能的研究随之陷入低谷。1973年,数学家拉特希尔向英国政府提交了一份关于人工智能的研究报告,对当时的机器人技术、语言处理技术和图像识别技术进行了严厉的批评,并尖锐地指出:人工智能是根本无法实现和不切实际的宏伟目标。此后,科学界出现了对人工智能技术的深度质疑,尤其对人工智能技术的理论基础和应用价值提出了严厉的批评,这导致许多欧美国家政府和机构停止了对人工智能领域的研究投入与项目资金支持,人工智能研究陷入了寒冬。
人工智能研究的受阻,并没有阻碍研究者们继续努力,他们不乏智慧的思想,面对科学界的拷问,他们认真反思并继续前行。1977年,美国科学家爱德华·费根鲍姆(Edward Feigenbaum)在第五届国际人工智能联合会议上提出了“知识工程”(Knowledge Engineering)的概念,对以知识为基础的智能系统的研究与建造起到了重要作用。多数学者接受了费根鲍姆的观点,以知识为中心的人工智能研究开始发展。从此,人工智能又迎来了新的发展。
1980年,第一届机器学习国际研讨会在美国卡耐基梅隆大学召开,标志着机器学习(Machine Learning,ML)研究揭开了新的篇章。1981年,伟博斯(Werbos)提出了多层感知器(Multilayer Perception,MLP),在神经网络中使用反向传播(Backpropagation,BP)算法。1982年,美国生物物理学家霍普菲尔德J.J.(J.J.Hopfield)与杰弗里·辛顿(Geoffrey Hinton)几乎同时发现了具有学习能力的神经网络算法,并首次将李雅普诺夫(Lyapunov)函数引入网络,作为网络的能量函数,证明了网络的稳定性。1986年,杰弗里·辛顿和同事大卫·鲁姆哈特(David Rumelhart)及罗纳德·威廉姆斯(Ronald Williams),发表了一篇具有突破性的论文Learning Internal Representations by Error Propagation(通过误差传播学习内部表征),详细介绍了反向传播技术,论证了应该如何训练多层神经网络,以解决复杂的学习问题。
1986年,罗斯·昆兰(Ross Quinlan)提出决策树算法,又称ID3算法,通过计算每个节点属性的信息增益生成最终的决策树,算法的核心是计算信息熵,这种算法简易可行,被广泛应用。
1991年,夏皮雷(Schapire)最先构造出一种多项式级算法,即最初的Boosting算法。1995年,弗洛恩德(Freund)和夏皮雷改进了Boosting算法,提出了AdaBoost(Adaptive Boosting)算法,在分类器训练与预测算法中得到了广泛的应用。1995年,瓦普尼克(Vapnik)和科尔特斯(Cortes)给机器学习领域带来了一个重要突破—支持向量机(SVM),与神经网络不同,SVM是一种按照监督学习方式对数据进行二元分类的广义线性分类器,广泛地应用于统计分类及回归分析。此后,机器学习的研究领域分为神经网络方向和支持向量机方向。
1997年,两位德国科学家赛普·霍克赖特(Sepp Hochreiter)和尔根·施密德胡伯(Jürgen Schmidhuber)共同撰写了一篇论文,提出了长期短期记忆(Long Short-Term Memory,LSTM),LSTM模拟人类大脑的思维,通过细胞状态记忆信息,并使用记忆功能来增强人工神经网络。这种方法被迅速应用于手写识别和语音识别的递归神经网络,对后来人工智能的研究有着深远影响。
2001年,美国统计学家利奥·布雷曼(Leo Breiman)提出了集成决策树模型,它基于一个随机子集的实例,并且每个节点都是从一系列随机子集中选择出来的。集成学习方法集成了多棵决策树集,它的基本单元是决策树,进一步在决策树的训练过程中引入随机属性的选择,所以其被称为随机森林(Random Forests),随机森林也在理论和经验上证明了其对过拟合的抵抗性。例如,对于决策树来说,当原始数据集的特征较多时,构造的决策树往往深度较大,很容易造成训练数据的过拟合,而随机森林本质上是多个决策树的集合,而且每棵树都有所不同,这样,尽管单个决策树可能会出现过拟合,但通过对这些决策树的统计处理,就可以避免过拟合现象,这样既可以减少过拟合,又能保持较强的预测功能。
2006年,杰弗里·辛顿和他的学生在Science上发表了一篇论文,提出了深度置信网络(Deep Belief Network,DBN),从而开启了深度学习的新纪元。DBN属于无监督学习方法,它是以限制玻尔兹曼机为基础,运用概率生成实现的一种神经网络模型方法,这种方法体现了多隐层优异的特征学习能力,学习得到的特征对数据有更本质的刻画,有利于可视化和分类的实现。
2007年,在斯坦福大学任教的华裔科学家李飞飞发起创建了ImageNet项目。项目初期,ImageNet号召感兴趣的人上传图像并标注图像内容,最终形成了用于对象识别的大型可视化数据库,为人工智能研究和应用提供了海量的可靠图像资料。2009年,华裔科学家吴恩达(Andrew Ng)及其研究团队开始研究使用图形处理器(GPU)进行大规模无监督机器学习,尝试程序自主辨识图像对象,对视频图像中的三维场景和不同细节进行智能标注。
2014年,伊恩·古德费罗(Lan Goodfellow)提出GANs生成对抗网络算法,这是一种用于无监督学习的人工智能算法,这种算法由生成模型(Generative Model)和评估模型(Discriminative Model)构成,使用两种模型互相博弈学习的方式提升最终模型效果,这种算法很快被人工智能的很多技术领域采用。
2016年,Google DeepMind开发的AlphaGo以4比1的成绩战胜了人类围棋世界冠军李世石。人工智能发展又一次进入了如火如荼的兴盛期。
随着高速网络、大数据、云计算、物联网等技术成果的相继迸发,人工智能技术迈入了新的融合时代,从谷歌的机器理解、微软和科大讯飞的语音识别技术,到谷歌自动驾驶、波士顿动力学机器人,再到工业线程的智能控制、智能仓库和智能制造,还有遍布市场的智能音箱和AI设备,人工智能已经完全而且更加深入地融入我们的生产、生活和工作过程中,感谢我们人类历史上无数前赴后继的科学家和学者的贡献,他们描绘的美好图景正在我们这个时代开花结果。
强化学习(Reinforcement Learning,RL)是一种结合动物学习心理学,利用试错机制和环境进行交互,在环境给予的奖励或惩罚刺激下,通过最大化累积奖励来获得最优策略的机器学习方法,其本质可理解为对目标导向的学习及对决策问题进行理解和自动化处理的过程[1-2]。强化学习的理论范畴涉及一些经典学科,如控制理论、统计学、心理学、神经科学、计算机科学等。关于强化学习的发展可以追溯到以下几个阶段:1898年,Thorndike E.L.[3]设计了著名的“饿猫迷笼”实验得出动物学习心理是一种不断与环境交互试错的过程,动物心理学的发展贯穿了早期强化学习的研究工作。1957年,Bellman R.[4]针对设计控制器的最优控制问题,提出了动态规划(Dynamic Programming,DP)方法,利用迭代思想求解贝尔曼方程获得最优解,结合迭代思想和试错机制可以解决具有马尔可夫决策过程(MarKov Decision Process,MDP)的离散随机控制问题,DP理论推动了强化学习的发展。1972年,Klopf A.H.[5]结合动物学习心理学和试错机制提出了时间差分学习(Tempral-Difference,TD)方法。1992年,Watkins C.等[6]结合最优控制理论、时间差分学习、贝尔曼方程等提出了Q-Learning算法,Q-Learning算法是现有的大部分强化学习算法的理论基础。
对于一些高维的环境状态变量,传统的RL在与环境交互的过程中,RL算法在计算价值函数和策略函数时存在很大的局限性。随着计算机技术的发展,深度神经网络可以解决一些复杂的函数问题,实现从函数输入到输出的映射。研究者结合深度神经网络的特征表达能力和强化学习的决策能力,提出了深度强化学习(Deep Reinforcement Learning,DRL)。DRL的起源可追溯到2013年,谷歌公司Minh团队结合卷积神经网络和Q-Learning,在Atari游戏中达到了专业玩家的操作水平,该项成果也标志着深度强化学习的诞生,开创了强化学习发展的新阶段[7]。深度强化学习在其他领域也取得了较好的成果:Lei X.等[8]利用深度强化学习实现机器人的端对端控制,解决了导航定位问题,相比常规的运动规划方法省略了复杂的特征提取环节。Duan Y.等[9]针对机器人的连续控制问题,利用多种深度强化学习算法进行控制验证,提出了强化学习的连续控制问题基准。除了游戏和机器人控制领域,深度强化学习在优化、调度[10]及多智能体系统[11]中也被广泛使用。深度强化学习应用中的受控对象通过与环境相互作用来获取感知信息,算法借助神经网络对感知信息做非线性预测,利用强化学习决策能力实现最优策略的输出。深度强化学习作为一种机器学习方法,凭借其强大的表达能力和决策能力在解决许多复杂的控制与决策问题上具有一定的研究意义。
随着计算机、传感器、精密制造、智能控制等技术的快速发展,机器人作为融合多种交叉学科理论于一体的智能化产品,凭借其快速、灵活、稳定等特点在工业和服务业中扮演着许多重要角色,按照应用场景,机器人主要分为工业机器人和服务机器人[12-13]。其中,服务机器人主要以轮式机器人为主,倒立摆轮式机器人作为轮式机器人的一种,具有结构简单、运动灵活等特点,可以在狭小空间内完成复杂的运动和操作,如物品的运输[14-15]。机械臂作为工业机器人的重要设备和关键部件,凭借其执行速度快、精度高、冗余性强、通用性好等特点被广泛应用于许多场景,如携带物体[16]和抓取物体[17]。倒立摆轮式机器人保持姿态平衡是实现运动和操作的前提条件,研究如何控制姿态平衡能够有效提高机器人在操作、检查等方面的作业效率,使机器人在运动过程中具有更大的灵活性。当机械臂携带物体时,在末端执行器上保持物体平衡能够提高机械臂的作业效率,研究如何控制物体在末端执行器上保持平衡,能够提高机械臂的灵巧控制,对扩大机械臂的应用范围具有一定意义。当机械臂抓取物体时,确定目标物体位置和姿态信息是抓取的关键,研究对目标物体的抓取控制对提高机械臂的决策能力和适应能力至关重要。
从以上对机器人的应用分析可知,倒立摆轮式机器人和机械臂涉及的控制问题包含以下几个部分:机器人姿态平衡控制[18-20](为了描述方便,本书将“倒立摆轮式机器人姿态平衡控制”简写为“机器人姿态平衡控制”)、机器人持物平衡控制[21-23](针对机械臂携带物体,大部分文献研究内容为机械臂末端执行器和移动物体之间的平衡控制,具体表现为,在机械臂末端设计末端执行器,通过控制末端执行器的运动实现对移动物体的位置控制,并使移动物体在末端执行器上设定的位置范围内保持平衡状态。为了后续描述方便,本书将此类控制简写为“机器人持物平衡控制”)、机器人抓取控制[24-26](为了描述方便,本书将“机械臂对目标物体的抓取控制”简写为“机器人抓取控制”)。
由于机器人是一个具有高阶、非线性、强耦合的多输入多输出系统,故其结构和控制过程异常复杂,难以用简单的数学模型进行描述[27-28]。例如,在机器人姿态平衡控制和机器人持物平衡控制中,当机器人运动过程中存在摩擦、空气阻力、机械游隙及控制器中电子器件引入的偏差时,很难针对动态系统建立精确的动力学模型,采用基于数学模型的传统控制方法具有局限性;对于一些不基于动力学模型的传统控制方法,需要根据系统特点和工程技术人员的经验反复调整确定系统的控制参数,具有较大的实施难度。在机器人抓取控制中,采用常规抓取控制方法时,需要提前确定目标物体的位置和所处环境;如果目标物体处于非结构化环境,那么机器人对于目标位置的获取将存在局限性,抓取控制模型很难用数学模型描述,抓取控制模型的输出值和目标值之间可能存在偏差。智能化控制技术的发展,给机器人控制带来了很多新的思路,其中深度强化学习在处理上述问题时具有较大优势。针对机器人姿态平衡控制和机器人持物平衡控制中模型难以描述的问题,基于深度强化学习的控制方法可以在机器人与环境交互过程中,利用深度强化学习算法迭代计算出最优控制策略,并且不需要建立机器人的精确模型。针对机器人抓取控制问题,基于深度强化学习的抓取方法可以通过机器人和环境不断交互来获取最佳抓取策略,并且不需要对目标物体的位置和环境做特定要求。针对机器人控制过程中高维传感器数据的处理问题,通过训练深度神经网络,可以在多种高维的原始传感器数据中提取有效信息,用于控制和决策,省去了人工设计传感器数据算法和提取特征信息的步骤[29]。尽管基于深度强化学习的控制方法在处理上述复杂的机器人控制问题上具有优势,然而在具体的实施过程中依旧存在各种难题。例如,如何设计与控制细节相关的奖励函数,如何提高控制模型的性能,如何提高学习效率等。对这些问题的研究是将深度强化学习理论成功应用到更加广泛的机器人智能控制领域的关键,对实现机器人智能控制具有一定的理论意义和应用参考价值[30]。
机器人的种类繁多,功能也不尽相同,机器人控制除了平衡、抓取等主要控制方式,还有越障、自主决策、搜寻等多种控制方式,这体现了移动机器人的本质功能。在移动机器人的自主控制算法设计上,也体现了强化学习方法的应用。
多轴机器人在工作过程中,根据空间坐标的目标点和目前关节的空间坐标,通过从空间坐标到机器人笛卡儿坐标的映射作用进行路径规划和轨迹规划,即要在空间坐标中规划一系列关节角度和位置,并赋予时间信息,完成对起点和终点的位置、速度、加速度、加加速度的控制,这些规划过程可以通过逆运动学模型转换成关节坐标和角度。所以,机器人的逆运动学模型和计算是完成机器人一系列运动规划的理论基础。
综上所述,机器人的关键控制主要包含:与机器人的站立或姿态相关的平衡控制,机器人作业过程中的持物平衡控制、末端定位和抓取控制,机器人在移动过程中的自主控制和路径决策优化问题,机器人运动规划和轨迹控制中的逆解方法。本书对以上这些内容进行了分析和研究,首先,分析了各类传统控制方法在上述机器人控制中存在的局限性;其次,针对传统控制方法存在的局限性引入深度强化学习方法,并对目前深度强化学习方法在上述机器人控制中存在的问题进行相关讨论;最后,针对深度强化学习方法存在的问题提出相应的解决方法,并在机器人控制中进行验证。