基于DBN的下肢康复外骨骼关节角位移预测方法研究
2021-12-22陈文浩宋胜利钟浩杰
陈文浩,宋胜利,钟浩杰
(1.解放军32518部队,福建三明 365000;2.解放军陆军工程大学野战工程学院,南京 210007)
0 引言
外骨骼是一种模仿人体下肢结构的装置,可为穿戴者提供驱动力[1-2]。外骨骼首先通过传感器获得下肢位置信息,然后通过控制单元输出控制信号,最后通过驱动器在下肢关节处提供外部力矩。下肢康复外骨骼是针对下肢运动功能障碍患者而设计的[3-4],对患者康复或恢复运动能力有显著效果[5-7]。下肢康复训练分为主动训练和被动训练2类[8]。被动训练是根据患者下肢运动习惯规划运动轨迹,下肢被动地跟着外骨骼训练。与被动训练相比,主动训练需要患者的自主意识参与到训练之中[9]。因此,在主动训练中是否能够根据患者的运动意图来实时控制外骨骼尤为重要[10-12]。
日本Cyberdyne公司研发的下肢外骨骼机器人HAL(hybrid assistive leg)是预测人体姿态的典型,具有生物意识控制系统和自主控制系统[13-14]。HAL将传感器贴在穿戴者肌肤表面,通过采集肌电信号(electromyography,EMG)来预判肌肉的收缩[15]。当穿戴者出汗时,将影响贴在皮肤表面的肌电传感器[16],并且EMG中存在噪声,需要去除噪声[17]。自回归模型通过对输入信号加权后,可以预测人体姿态,加权向量可以根据最小均方(least mean square,LMS)算法[18-19]或递归最小二乘法(recursive least square,RLS)[20]给出。LMS算法的优点是复杂度小、易于实现,缺点是学习时间较长;RLS相比LMS算法有更快的收敛速度和更高的精度,但是其计算复杂度要比LMS算法高。吴青聪等[21]提出了一种模糊滑模导纳控制算法,屠尧等[22]提出了一种人机交互力自适应导纳控制策略,导纳控制策略虽然能够提高患者训练的主动性,但不能预测患者的姿态。
为了提高患者在康复训练中的主动性,提升下肢康复外骨骼的训练效果,本文将采用深度置信网络(deep belief network,DBN)对步态关节数据进行预测:首先建立2层受限玻尔兹曼机(restricted Boltzmann machine,RBM)隐含层,利用对比散度算法进行无监督预训练;然后采用LMS误差作为损失函数,通过反向传播(back propagation,BP)算法来微调权重值和偏置值;最后,与长短期记忆(long short-term memory,LSTM)网络和BP网络作对比,验证基于DBN的预测效果。
1 下肢康复外骨骼机械结构
下肢康复外骨骼机械结构是下肢外骨骼研究的基础,为了帮助患者主动训练并提高安全性,该装置采用了液压驱动的方式。穿戴外骨骼行走时,由于与外骨骼存在交互,因此外骨骼机械结构设计应能模仿人体运动,满足行走、奔跑和上下楼梯等基本运动要求。根据仿生学和人机工程学进行机械结构设计,在髋关节设置3个自由度,膝关节设置1个自由度,踝关节设置3个自由度,并且在关键自由度上设计安全限位模块。为了适应不同体型的穿戴者,外骨骼大腿、小腿和髋部均设计为可调结构,其三维模型图如图1所示。下肢康复外骨骼工作时,通过预测患者的运动意图来实时控制,以提高患者的训练主动性。
图1 下肢康复外骨骼三维模型图
2 DBN设计
设计的DBN由输入层、隐含层和输出层组成,如图2所示。隐含层由RBM单元堆叠而成。1个RBM一共有2层,上层由若干隐藏神经元组成(即隐层),下层由若干可见神经元组成(即显层)。RBM构成的无向图模型,只有在隐层和显层神经元之间有连接,显层神经元之间以及隐层神经元之间都没有连接。隐层神经元取二进制并服从伯努利分布,显层神经元取二进制或者实数值。当堆叠成DBN时,前一个RBM的输出层(即隐层)作为下一个RBM的输入层(即显层)。
图2 DBN结构图
3 DBN参数更新
首先对RBM层进行无监督训练,使特征向量映射到网络时尽可能保留特征信息;然后使用BP算法进行有监督训练,反向微调整个DBN。
3.1 无监督预训练
利用对比散度算法进行无监督预训练,具体如下:
(1)随机初始化参数{W,k,b},其中W为权重矩阵,k为显层的偏置向量,b为隐层的偏置向量,将所有参数随机初始化为区间(0,1)的数值。
(2)计算隐层神经元被开启的概率:
式中,P为隐层神经元被开启的概率;hj(0)为第一隐层第j个神经元;v(0)为输入向量;σ为激活函数,使用ReLU函数,定义为f(x)=max(0,x);Wj为权重矩阵第j行向量;bj为隐层的偏置向量第j个元素。
(3)根据隐层神经元开启的概率,进行Gibbs抽样,对隐层中的每个神经元进行二元{0,1}抽样:
式中,rj为区间[0,1]的随机数。
(4)用隐层h(0)重构显层v(0),计算新的显层v(1)的概率:
式中,vi(1)为显层v(1)第i个神经元;ki为显层的偏置向量第i个元素。
(5)根据计算得到的概率再次进行Gibbs采样,对显层v(1)中的每个神经元进行二元{0,1}抽样:
式中,ri为区间[0,1]的随机数。
(6)用显层v(1)重构隐层h(0),得到新的隐层h(1),计算隐层h(1)神经元被开启的概率:
(7)更新得到新的权重矩阵和偏置向量:
式中,λ1为学习率。
3.2 有监督反向调参
在有监督的参数调优前,先进行前向传播,得到输出值,然后通过BP算法来更新整个网络的权重值和偏置值。有监督反向调参具体如下:
(1)采用LMS误差函数来进行BP,LMS误差函数如下:
式中,J为均方误差;N为样本总数;y^i为网络输出;yi为样本;l为网络隐含层的层数索引。
(2)通过梯度下降算法更新网络的权重和偏置参数:
式中,λ2为学习率。
综上,DBN参数更新过程如下:在无监督预训练阶段时,首先随机初始化第1层RBM参数,然后通过迭代计算隐层神经元被开启的概率,根据隐层神经元开启的概率进行Gibbs采样、计算新的显层的概率,用新的显层重构隐层、计算新的隐层神经元开启的概率、更新权重矩阵和偏置向量,更新第1层RBM参数。堆叠第2个RBM层时,第1个RBM的输出层(即隐层)作为第2个RBM的输入层(即显层)。以此递推,可堆叠多个RBM层。完成无监督预训练后,进入有监督反向调参阶段,通过有监督反向调参更新整个DBN参数。
4 仿真验证
4.1 仿真实验
通过人体运动捕捉系统Perception Neuron采集人体行走时下肢各关节的角位移数据。实验共采集6人(受试者基本信息见表1),每人采集600次,将其中的550次作为训练集,50次作为测试集。设定系统在每人每次行走中采集1 000组数据(行走速度范围为1.0~1.6 m/s),每组数据为6个关节的角度,共21 600 000个角度数据。在DBN的无监督预训练阶段,首先对数据进行归一化处理(预处理),把数据范围转换至区间[0,1],设置训练次数为10次,每次随机的小批量样本数量为50,学习率λ1为1。在DBN的微调阶段,设置目标误差为1×10-7,动量参数为0.95,学习率λ2为0.1。
表1 受试者基本信息
4.2 关节角位移预测
为了验证DBN的有效性,与LSTM网络和BP网络进行对比。DBN设置3层隐含层,每层隐含层具有3个神经元;LSTM网络设置3层隐含层,36个神经元;BP网络设置单层隐含层,25个神经元。输入集为6个关节不同t时刻的角位移、t-1时刻的角速度和t-2时刻的角加速度,输出集为t+1时刻的关节角位移。
图3为受试者1的膝关节的一次预测效果。从图3中可以看出,单隐含层BP网络预测效果较差,最大误差约为20°,LSTM网络最大误差约为2°,DBN的效果最好,最大误差约为0.5°。
图3 膝关节预测对比图
表2为50次测试集中每个测试集1 000组数据的均方根误差。从表2可以看出,BP网络预测效果最差,髋、膝、踝3个关节角位移均方根误差分别为4.38°、4.31°、4.49°;LSTM网络3个关节角位移均方根误差分别为1.40°、1.51°、1.46°;DBN 3个关节角位移均方根误差分别为0.42°、0.41°、0.44°。从以上数据可以看出,DBN预测效果最好,3个关节角位移均方根误差均为最小。受试者1→2的均方根误差比受试者1~6的均方根误差大,这是由于每个人走路的姿态略有不同,因此神经网络学习并预测某个随机个体下肢关节角位移时,预测效果会降低。
表2 关节角位移均方根误差单位:(°)
5 讨论
深度学习是一种深层非线性神经网络,具有较强的特征学习能力,能够逼近复杂函数。浅层的神经网络可以进行数据预测,但在有限样本的情况下,对复杂函数预测效果有限[23]。
浅层神经网络使用单隐含层逼近复杂函数,需要的计算单元较庞大;深度学习是分层表征,使得计算单元很少,从而减少了计算量。目前,基于深度学习的姿态研究多用于人体身份识别[24-25]。
徐俊武等[26]以健肢表面肌电信号为输入,通过BP神经网络预测关节角位移,3个关节的平均均方根误差分别为4.35°、8.34°、3.17°,高于本文结果。BP网络由于神经元和网络层数少,学习能力比深度学习网络差。王斐等[27]使用LSTM网络对下肢步态进行预测,以表面肌电信号为输入,得到的均方根误差约为6°,同样高于本文结果。LSTM网络适用于前后关联较强的数据,而人体行走具有一定的随意性,数据的前后关联性较弱,因此预测效果较差。段有康等[28]使用支持向量机先进行相位划分,再预测关节角位移,3个关节的平均均方根误差分别为0.20°、0.92°、0.22°,虽然髋关节和踝关节的均方根误差要低于本文结果,但是相位切换处预测值有较明显的波动,幅度达到约2°。而下肢康复外骨骼突然发生角度较大的波动对患者康复是十分不利的,甚至会造成损伤。
为了提高下肢康复外骨骼的性能,本文提出了一种基于DBN的预测方法,即建立2层RBM隐含层,利用对比散度算法进行无监督预训练,采用最小均方误差作为损失函数,通过BP算法来微调权重值和偏置值。仿真结果表明,与LSTM网络和BP网络相比,基于DBN的预测方法具有更好的预测效果。本文使用的DBN层数和神经元较少,下一步将增加网络层数和神经元,研究大型网络的预测效果。