深度学习和控制理论是两个不同领域的技术。深度学习是一种机器学习的方法,通过使用神经网络学习特征和模式,以完成各种任务,如图像识别、语音识别和自然语言处理。控制理论则是研究如何设计和实施系统的控制策略,以使系统产生预期的行为。
深度学习的优点在于它能够处理大规模和复杂的数据,具有较强的泛化能力。它可以通过学习大量数据中的模式和特征来自动提取有用的信息,从而在许多任务中实现很高的准确性和性能。并且深度学习还能够进行端到端的学习,即从原始输入直接学习到输出,无需手动设计特征。这使得深度学习在许多实际应用中具有很大的潜力。
当然深度学习也存在很多缺点限制其应用。首先,深度学习需要大量可靠的训练数据来获取良好的性能,这对于某些无法获取可靠数据的任务可能是困难的(例如无法在一般地球环境训练着陆器在月球、火星着陆等)。另外,深度学习模型的训练需要较长的时间和复杂的计算资源,这对于实时应用可能是不可接受的。此外,深度学习的可解释性差,理论与实际之间存在差距,限制了其在某些领域的应用,如医疗和金融。
相比之下,控制理论的优点在于它提供了一种数学化的框架,用于设计和实施系统的控制策略。这使得控制理论能够提供系统稳定性和优化性能的保证,并且它对于设计复杂系统的控制逻辑非常有用。此外,控制理论通常更易于解释和理解,使得其在一些对可靠性要求高的关键应用领域(如医疗和航空航天)中应用广泛。
控制理论也存在很多限制。控制理论在应用前通常需要对系统进行建模,以便设计和分析控制策略,而系统的复杂性和不确定性可能会导致建模误差,进而使得控制效果大打折扣;控制理论通常是针对单一的控制场景设计控制算法,导致其泛化能力弱等。
深度学习和控制理论相互补充,以实现更好的性能和效果。深度学习可以为控制系统提供更强大和灵活的感知和决策能力,同时控制理论可以为深度学习提供更好的系统稳定性和鲁棒性。通过结合深度学习和控制理论,实现对复杂动态环境下任务的自适应和优化控制。深度学习可以帮助控制系统从海量数据中学习模型和策略,而控制理论可以通过对学习到的模型和策略进行优化和调整,以实现控制任务的要求。因此,二者的结合可以为系统提供更强大和鲁棒的控制能力,以适应各种复杂和动态的任务和环境,实现1+1>2的效果。
可实际问题在于,深度学习和控制理论应具体通过什么方式才能实现优势互补,实现1+1>2的效果呢?
CMU学者石冠亚在其论文《Neural Lander: Stable Drone Landing Control Using Learned Dynamics》中通过将标称动力学模型与学习高阶相互作用的深度神经网络(DNN)相结合,并证明DNN控制器的收敛性和稳定性,文章最大的贡献在于给出了对于”深度学习+控制理论“的一套行之有效的方法论(下文中定理2)。
接下来我们以四旋翼无人机的着陆过程为例,共同学习理解”深度学习+控制理论“的方法。
控制模型建立与控制器架构设计
四旋翼无人机着陆过程模型
无人机的空间位置:.
无人机的空间速度:,且有.
无人机姿态旋转矩阵:,且有.
无人机机体角速度:.
无人机质量,惯性矩阵,斜对称映射,重力加速度:.
无人机四个转子提供的控制推力(升力)和机身控制扭矩(标称模型计算得出):.
无人机的四个电机的平方转速与输入扭矩的线性变换矩阵为:
分别为升力系数和扭矩系数,为转子臂长度.
扰动作用力和扭矩: ,.
考虑无人机模型的动态为:
动力学方程:
运动方程:
设无人机的四个电机的平方转速为控制输入,通过线性变换后得到,扰动作用力和扭矩源于四旋翼无人机在起飞和降落环节与环境之间复杂的空气动力相互作用,无法给出精确建模,作为未建模动态存在于模型动态中。
控制器设计
我们的目标是通过DNN学习(1)和(2)中未知的扰动力和扭矩来提升控制效果。由于我们主要关注着陆和起飞任务,设姿态动力学是有界的,气动扰动扭矩τa也是有界的。因此位置动态 (1) 和 fa 将是我们首要关注的问题。我们首先使用具有谱归一化的DNN来近似 fa 以保证其 Lipschitz 常数,然后将DNN合并到我们的指数稳定控制器中。训练是离线完成的,学习到的动力学实时应用在机载控制器中,以实现平稳着陆和起飞。
跟踪参考轨迹
设无人机期望的位置为,实际位置为,则位置误差为.
设中间变量为,与的关系为:
其中为正定对角矩阵或对角矩阵,易证当时,指数收敛。
现在位置轨迹跟踪问题转化为跟踪参考速度的形式:
对于未建模动态,采用DNN进行逼近,用DNN的输出来近似,设控制器提供的控制推力(升力)为:
即控制推力的大小为,控制推力的方向为,一般来说方向为竖直向上。
将(5)代入至动态模型(1)中:
其中设未建模动态的逼近误差为 .
式(6)提供的信息是:如果有界则跟踪误差全局范围指数有界收敛。
按照上述方法,控制器提供的控制扭矩表示为:
进一步,将控制律落在无人机的四个电机的转速上:
其中为DNN需要输入的部分状态
至此控制器已完成总体的架构设计,接下来需要对上述设计过程中提到的的未建模动态进行处理。如上所述,采用DNN进行逼近对未建模动态进行逼近,DNN输出的为的近似动态,那么如何做才能保证该DNN的稳定性和鲁棒性呢?
DNN设计
DNN对动态的逼近
众所周知,只要有足够多的靠谱数据,DNN是能够很好地完成对未知函数的逼近,所以采用DNN进行逼近对未建模动态进行逼近是完全可行的。本文关注的重点是如何设计DNN,来保证DNN输出的稳定性和鲁棒性,所以关于DNN的基本运行机制、基本训练过程等内容此处不再赘述。
设DNN的输入为,输出为,为神经网络的内部参数(权重),并设,那么该DNN可表示为:
其中为DNN中神经元的激活函数,激活函数采用计算最简便的ReLu:.
但是按照标准DNN学习过程得到的直接去用做上述控制系统中的是不可行的,可能的原因如下:
标准的DNN学习到的可能存在无法泛化,即网络对训练集的数据可以很好的逼近,但超出训练集时效果不佳 标准的DNN学习到的可能存在局部非平滑的区域,直接应用在控制系统将导致系统不稳定
为解决这一问题,引入生成对抗网络(GAN)领域中计算机视觉方面的研究成果——谱归一化(Spectral normalization)方法。
Lipschitz条件及谱归一化(Spectral normalization)
谱归一化通过约束目标函数的Lipschitz常数以保证所训练的神经网络的鲁棒性,并且先前研究成果已证明通过谱归一化的DNN具有良好的泛化能力。
设Lipschitz常数写为,其定义为:
Lipschitz条件是比一般连续条件更强的平滑连续条件,Lipschitz常数越小,代表函数越平滑。我们希望DNN能在输入变动较小时输出保持稳定,实际上就是在最优参数解附近应该是尽量平滑的,也就是尽可能减小Lipschitz常数。
所以我们的思路就是通过限制DNN的Lipschitz常数以辅助构建更鲁棒的机器学习模型。
那么就先要想办法求得DNN的Lipschitz常数:由(9)可知,DNN就是ReLu和线性变换逐层复合得到输出,但遗憾的是,精确计算整个DNN的Lipschitz常数是一个NP-Hard问题。
既然精确计算整个DNN的Lipschitz常数是一个NP-Hard问题,所以就只好退而求其次,换一种思路:约束每层的Lipschitz常数以限制DNN的Lipschitz常数。
定理1:已知一般可微函数 的Lipschitz常数是其在域上的梯度的最大谱范数(最大奇异值).
有了谱归一化理论中定理1的加持,现在将思路转化为:通过约束每层的谱范数来限制DNN的Lipschitz常数.
因此,对于DNN中的线性映射,每层的谱范数为:
“矩阵谱函数的定义为:
”
并且已知激活函数ReLU的Lipschitz范数等于1,再根据不等式
我们可以找到的上界为:
“有关生成对抗网络谱归一化的详细推导可参考:
《Spectral Normalization for Generative Adversarial Networks》
arXiv:1802.05957
有关深度学习中Lipschitz条件的详细数学解析和精确计算DNN的Lipschitz常数是一个NP-hard问题可参考:《Lipschitz regularity of deep neural networks: analysis and efficient estimation》
arXiv:1805.10965
如无法下载文献可在文末获取论文下载方式
”
在实践中,在训练过程中对每一层的权重矩阵应用谱归一化以限制:
其中 是DNN期望的。
所以上述论述总结为:对于如(9)所示的多层ReLU网络,使用谱归一化,整个网络的满足:
其中网络参数为:.
基于梯度优化训练具有有界的DNN
给定输入的观测值和目标输出,估计(1) 中的归结为优化(9)中的参数,并且限制每层的的 (即最小化每层权重的谱范数),所以优化目标为
是观察到的干扰力,是观察到的状态和控制输入,使用随机梯度下降来优化(16)并应用谱归一化来调节权重。
将DNN的输出应用于控制系统
根据(8)
由于依赖于,因此只能以迭代方法将DNN的输出应用于控制系统:
其中和是当前和前一个时间步的控制输入。
DNN输出的收敛与稳定性分析
接下来证明系统的稳定性和(17)中控制输入的收敛性。
控制收敛性
首先考虑DNN输出的收敛性。
将式(17)改写为:
当系统中所有的状态变量稳定后,根据式(17),如果DNN输出收敛,DNN的输出应满足:
证明:,DNN输出为-Lipschitz连续,且。当系统状态均已稳定收敛后,有
因为系统状态均已稳定,DNN也应处于局部状态改变过程,即根据Lipschitz常数(10)定义式有:
再结合式(16),可得:
因为,所以
为收缩映射,式(19)得证。综上所述,满足可证明DNN输出收敛,为可设计的参数,所以在训练DNN过程中需要着重考虑的选取。
稳定性分析
假设:
有界 考虑姿态控制器、电机速度控制器的更新频率远高于位置控制器的更新频率,假设. ,存在上界
定理2(本文重点):
设李雅普诺夫函数,其导数为,代入控制器(6):
设矩阵的最小特征值为,根据式(22),(16)以及假设,可得:
根据非线性系统中的比较原理,设,,再结合(24)可得
求解微分不等式:
代入:
根据该式可知,指数收敛,收敛速率为,并且。
证毕。
定理2的贡献在于:对于通过收缩理论设计的控制算法,即使系统的部分非线性动态依赖于DNN逼近,也能提供明确的鲁棒性和稳定性保证。定理2可以推广应用于具有状态和控制相关不确定性的一般非线性系统。
实验结果
相关图片来源:
https://medium.com/
https://github.com/OleksandrKosovan/dog-cat-classification
DOI: 10.1109/IECBES.2018.8626714
https://www.gshi.me
关注公众号回复”深度学习+控制理论“获取相关论文