本发明涉及多维力传感器检测数据解耦领域,特别是涉及基于堆栈稀疏自编码的多维力传感器的解耦方法。
背景技术:
多维力传感器作为一类精密性高、可靠性稳定的传感器,在汽车制造、生物力学、机器人、航空航天、轻纺工业、自动化流水线装配等领域得到了广泛的应用,并逐渐成为了不可或缺的核心部件。因此,多维力传感器测量的精度和可靠性成为了衡量传感器好坏的重要指标。
从目前的研究来看,增强多维力传感器测量精度主要有以下两大途径:优化传感器的结构和优化传感器的解耦算法。对前一种方法,其易受诸如传感器结构加工误差、应变片贴片位置等多种因素影响,导致在数据测量时引入了不确定因素,且很难对不确定因素进行校正。而对于后一种方法,随着软硬件技术的不断飞跃发展,大大降低了算法层面上的时间成本和计算成本,同时提高了算法的可实施性,因此得到了较多的成果。另一方面,实际的解耦模型需要克服环境噪声的干扰,同时能够有持续稳定的输出,这对算法解耦提出了更高的要求,而这也是算法解耦的难点之一。因此,设计一个具有良好的鲁棒性和稳定性高的解耦模型是非常有必要的。
国内涉及多维力传感器解耦方法的专利有“基于遗传算法的多维力传感器标定实验数据拟合方法”(201610232792.4),通过推导传感器耦合误差理论模型的系数求解公式,而后利用遗传算法在matlab软件上进行全局最优解的确定,从而解决数据拟合问题,但该专利中的遗传算法求得的最优解可能是局部最优而非全局最优,导致拟合误差增大。国家发明专利“一种多维力传感器动态解耦方法”(201910160583.7),该方法首先对传感器进行动态测试,而后对输出信号进行动态补偿,最后将经过补偿后的信号带入解耦模型中以实现解耦,但是该方法中并没有考虑到实际工业环境下嘈杂的噪声对传感器采集数据的影响,在实际应用中可能存在一定的局限性。由此可见,设计一个具有良好鲁棒性的多维力传感器是非常有必要的。
技术实现要素:
为解决上述问题,本发明在堆栈自编码器和原创性的模拟噪声环境下传感器采集数据方法的基础上,提出了基于堆栈稀疏自编码的多维力传感器的解耦方法。为尽可能的降低环境噪声对传感器采集的数据的影响,本发明通过模拟噪声环境对传感器采集数据的影响,增强训练得到的模型的鲁棒性。另外,为了避免模型的过拟合和增强特征数据的可分性,本发明采用了堆栈稀疏自编码器,通过对传统的自编码器的网络隐藏层神经元添加稀疏惩罚因子以实现强制性稀疏限制,同时堆栈稀疏自编码的使用增强了网络模型的稳定性。为达此目的,本发明提供基于堆栈稀疏自编码的多维力传感器的解耦方法,具体步骤如下,其特征在于:
步骤1,获取实验标定数据:利用不同质量的砝码(力f)作用于多维力传感器(6维),通过采集系统获取相应的输出电压u;
步骤2,获取模拟噪声环境数据:向步骤1中获取的输出电压u中添加高斯白噪声以模拟噪声环境下所采集信号受到的干扰,此处的信噪比范围控制为20~30db;
步骤3,增加标定数据的维度:将步骤2中得到的每4组的电压数据首尾拼接以得到usplice,而后对usplice归一化至[0,1]以生成训练数据utrain;
步骤4,堆栈稀疏自编码器预训练:利用步骤3获得的数据,通过逐层贪婪训练出一个含有三个隐藏层的堆栈稀疏自编码器,其具体结构为“输入层-隐藏层1-隐藏层2-隐藏层3-输出层”,其中每层的神经元个数为24-20-16-12-6;
步骤5,对预训练的堆栈稀疏自编码器进行微调,以提高模型的精确性;
步骤6,将训练获得的堆栈稀疏自编码模型嵌入传感器及其采集系统中,并实际应用。
进一步,步骤2中模拟噪声环境下所采集的数据的过程可以表示为:
us=un u
式中,u为原始电压数据,un为高斯白噪声数据,us表示得到的模拟噪声环境下采集的数据。
信噪比的定义如下:
式中,ps表示信号的功率,pn表示噪声的功率。
进一步,步骤3中对拼接后的样本usplice归一化处理至[0,1]的过程可以表示为:
式中,utrain为归一化后的训练数据,min()和max()分别表示最小值和最大值。
进一步,步骤4中堆栈稀疏自编码器预训练的具体步骤为:
步骤4.1,预先训练第一个稀疏自编码器;
步骤4.1的具体步骤为:
步骤4.1.1,第一个稀疏自编码的输入为utrain,输出记为uoutput,为了尽可能的减小输出与输入间的差异,传统的自编码器的损失函数可表示为:
第一项为网络模型输入与输出之间的误差部分,第二项是权重衰减项,目的是减小权重幅度。其中,n为训练样本的个数,λ为权重衰减系数,nl为网络模型的层数,sl、sl 1分别代表第l层和第l 1层网络神经元节点个数,
为了避免网络过拟合、充分挖掘数据特征信息和增强特征数据的可分性,稀疏自编码器在自动编码器的基础上对网络隐藏层神经元添加稀疏惩罚因子以实现强制性稀疏限制,即:
式中,s2表示隐藏层神经元个数,ρ为稀疏性参数,
综上所述,稀疏自编码的损失函数具体定义为:
式中,β为稀疏惩罚因子的权重系数。
步骤4.1.2,利用梯度下降法反向修正稀疏自编码的各连接层之间的权重系数w和偏置系数b:
步骤4.1.3,在迭代过程中,当损失函数e小于e-4或达到初始设定的迭代终止次数,则模型训练结束,否则返回步骤4.1.1。
步骤4.2,预先训练第二个稀疏自编码器。即以第一个训练完成的编码器的隐含层作为第二个编码器的输入,训练的策略及参数更新准则与步骤4.1保持一致。
步骤4.3,预先训练第三个稀疏自编码器。即以第二个训练完成的编码器的隐含层作为第三个编码器的输入,此处的损失函数的有别于步骤4.1.1中的损失函数,即将jsparse(w,b)中的uoutput改为:第一个稀疏编码器输入数据utrain相应的标定力f,模型的参数更新准则与步骤4.1保持一致。
步骤4.4,将步骤4.1-4.3得到的三个编码器的隐藏层连接在一起,形成“输入层-隐藏层1-隐藏层2-隐藏层3-输出层”所示结构的堆栈稀疏自编码器;
进一步,步骤5中对预训练的堆栈稀疏自编码器进行微调的具体描述为:
重新构建整体模型的损失函数,其中模型的输入为步骤3中获取的训练数据utrain,训练的理论输出为utrain相对应的标定力f。而后继续使用梯度下降法对网络参数进行更新,最后完成模型的微调,提高模型的精确性。
本发明基于堆栈稀疏自编码的多维力传感器的解耦方法,有益效果:本发明的技术效果在于:
1.本发明利用所提方法有效的模拟了多维力传感器在采集数据时受到的噪声环境的干扰,利用模拟噪声的数据训练解耦模型,增强了解耦模型在噪声环境下的鲁棒性;
2.本发明采用了堆栈稀疏自编码器,一方面:通过对传统的自编码器的网络隐藏层神经元添加稀疏惩罚因子以实现强制性稀疏限制,避免模型的过拟合和增强特征数据的可分性。另一方面:通过多隐藏层的堆叠和借助自编码器优异的非线性表达能力,增强了网络模型的稳定性和准确性。
附图说明
图1为本发明的流程图;
图2为本发明所用的解耦模型的网络结构图;
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
本发明提出了基于堆栈稀疏自编码的多维力传感器的解耦方法,旨在提高多维力传感器在噪声环境下数据解耦的鲁棒性,同时提高数据解耦的稳定性和准确性。图1为本发明的流程图。下面结合流程图对本发明的步骤作详细介绍。
步骤1,获取实验标定数据:利用不同质量的砝码(力f)作用于多维力传感器(6维),通过采集系统获取相应的输出电压u;
步骤2,获取模拟噪声环境数据:向步骤1中获取的输出电压u中添加高斯白噪声以模拟噪声环境下所采集信号受到的干扰,此处的信噪比范围控制为20~30db;
步骤2中模拟噪声环境下所采集的数据的过程可以表示为:
us=un u
式中,u为原始电压数据,un为高斯白噪声数据,us表示得到的模拟噪声环境下采集的数据。
信噪比的定义如下:
式中,ps表示信号的功率,pn表示噪声的功率。
步骤3,增加标定数据的维度:将步骤2中得到的每4组的电压数据首尾拼接以得到usplice,而后对usplice归一化至[0,1]以生成训练数据utrain;
步骤3中对拼接后的样本usplice归一化处理至[0,1]的过程可以表示为:
式中,utrain为归一化后的训练数据,min()和max()分别表示最小值和最大值。
步骤4,堆栈稀疏自编码器预训练:利用步骤3获得的数据,通过逐层贪婪训练出一个含有三个隐藏层的堆栈稀疏自编码器,其具体结构为“输入层-隐藏层1-隐藏层2-隐藏层3-输出层”,其中每层的神经元个数为24-20-16-12-6;
步骤4中堆栈稀疏自编码器预训练的具体步骤为:
步骤4.1,预先训练第一个稀疏自编码器;
步骤4.1的具体步骤为:
步骤4.1.1,第一个稀疏自编码的输入为utrain,输出记为uoutput,为了尽可能的减小输出与输入间的差异,传统的自编码器的损失函数可表示为:
第一项为网络模型输入与输出之间的误差部分,第二项是权重衰减项,目的是减小权重幅度。其中,n为训练样本的个数,λ为权重衰减系数,nl为网络模型的层数,sl、sl 1分别代表第l层和第l 1层网络神经元节点个数,
为了避免网络过拟合、充分挖掘数据特征信息和增强特征数据的可分性,稀疏自编码器在自动编码器的基础上对网络隐藏层神经元添加稀疏惩罚因子以实现强制性稀疏限制,即:
式中,s2表示隐藏层神经元个数,ρ为稀疏性参数,
综上所述,稀疏自编码的损失函数具体定义为:
式中,β为稀疏惩罚因子的权重系数。
步骤4.1.2,利用梯度下降法反向修正稀疏自编码的各连接层之间的权重系数w和偏置系数b:
步骤4.1.3,在迭代过程中,当损失函数e小于e-4或达到初始设定的迭代终止次数,则模型训练结束,否则返回步骤4.1.1。
步骤4.2,预先训练第二个稀疏自编码器。即以第一个训练完成的编码器的隐含层作为第二个编码器的输入,训练的策略及参数更新准则与步骤4.1保持一致。
步骤4.3,预先训练第三个稀疏自编码器。即以第二个训练完成的编码器的隐含层作为第三个编码器的输入,此处的损失函数的有别于步骤4.1.1中的损失函数,即将jsparse(w,b)中的uoutput改为:第一个稀疏编码器输入数据utrain相应的标定力f,模型的参数更新准则与步骤4.1保持一致。
步骤4.4,将步骤4.1-4.3得到的三个编码器的隐藏层连接在一起,形成“输入层-隐藏层1-隐藏层2-隐藏层3-输出层”所示结构的堆栈稀疏自编码器;
步骤5,对预训练的堆栈稀疏自编码器进行微调,以提高模型的精确性;
步骤5中对预训练的堆栈稀疏自编码器进行微调的具体描述为:
重新构建整体模型的损失函数,其中模型的输入为步骤3中获取的训练数据utrain,训练的理论输出为utrain相对应的标定力f。而后继续使用梯度下降法对网络参数进行更新,最后完成模型的微调,提高模型的精确性。
步骤6,将训练获得的堆栈稀疏自编码模型嵌入传感器及其采集系统中,并实际应用。
图2为本发明所用的解耦模型的网络结构图。该结构图中可简化为五大层:数据预处理层、隐含层1、隐含层2、隐含层3和输出层。其中的数据预处理层通过对传感器采集到的原始数据添加合适的高斯白噪声以模拟环境噪声的干扰,同时通过首尾拼接的方法提高解耦模型训练样本的维度,这在一定程度上避免了模型的过拟合。对于解耦模型的每个隐藏层,其来自于相应的稀疏自编码器的隐藏层。另外,利用前一个稀疏编码器的隐藏层作为下一个编码器的输入以获得下一个编码器的隐藏层。而后将训练得到的各稀疏编码器的隐藏层通过堆栈的方式连接到一起,再进行微调最终完成解耦模型的训练。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。
1.基于堆栈稀疏自编码的多维力传感器的解耦方法,具体步骤如下,其特征在于:
步骤1,获取实验标定数据:利用不同质量的砝码(力f)作用于多维力传感器(6维),通过采集系统获取相应的输出电压u;
步骤2,获取模拟噪声环境数据:向步骤1中获取的输出电压u中添加高斯白噪声以模拟噪声环境下所采集信号受到的干扰,此处的信噪比范围控制为20~30db;
步骤3,增加标定数据的维度:将步骤2中得到的每4组的电压数据首尾拼接以得到usplice,而后对usplice归一化至[0,1]以生成训练数据utrain;
步骤4,堆栈稀疏自编码器预训练:利用步骤3获得的数据,通过逐层贪婪训练出一个含有三个隐藏层的堆栈稀疏自编码器,其具体结构为“输入层-隐藏层1-隐藏层2-隐藏层3-输出层”,其中每层的神经元个数为24-20-16-12-6;
步骤5,对预训练的堆栈稀疏自编码器进行微调,以提高模型的精确性;
步骤6,将训练获得的堆栈稀疏自编码模型嵌入传感器及其采集系统中,并实际应用。
2.根据权利要求1所述的基于堆栈稀疏自编码的多维力传感器的解耦方法,其特征在于:步骤2中模拟噪声环境下所采集的数据的过程可以表示为:
us=un u
式中,u为原始电压数据,un为高斯白噪声数据,us表示得到的模拟噪声环境下采集的数据,
信噪比的定义如下:
式中,ps表示信号的功率,pn表示噪声的功率。
3.根据权利要求1所述的基于堆栈稀疏自编码的多维力传感器的解耦方法,其特征在于:步骤3中对拼接后的样本usplice归一化处理至[0,1]的过程可以表示为:
式中,utrain为归一化后的训练数据,min()和max()分别表示最小值和最大值。
4.根据权利要求1所述的基于堆栈稀疏自编码的多维力传感器的解耦方法,其特征在于:步骤4中堆栈稀疏自编码器预训练的具体步骤为:
步骤4.1,预先训练第一个稀疏自编码器;
步骤4.1的具体步骤为:
步骤4.1.1,第一个稀疏自编码的输入为utrain,输出记为uoutput,为了尽可能的减小输出与输入间的差异,传统的自编码器的损失函数可表示为:
第一项为网络模型输入与输出之间的误差部分,第二项是权重衰减项,目的是减小权重幅度,其中,n为训练样本的个数,λ为权重衰减系数,nl为网络模型的层数,sl、sl 1分别代表第l层和第l 1层网络神经元节点个数,
为了避免网络过拟合、充分挖掘数据特征信息和增强特征数据的可分性,稀疏自编码器在自动编码器的基础上对网络隐藏层神经元添加稀疏惩罚因子以实现强制性稀疏限制,即:
式中,s2表示隐藏层神经元个数,ρ为稀疏性参数,
综上所述,稀疏自编码的损失函数具体定义为:
式中,β为稀疏惩罚因子的权重系数;
步骤4.1.2,利用梯度下降法反向修正稀疏自编码的各连接层之间的权重系数w和偏置系数b:
步骤4.1.3,在迭代过程中,当损失函数e小于e-4或达到初始设定的迭代终止次数,则模型训练结束,否则返回步骤4.1.1;
步骤4.2,预先训练第二个稀疏自编码器,即以第一个训练完成的编码器的隐含层作为第二个编码器的输入,训练的策略及参数更新准则与步骤4.1保持一致;
步骤4.3,预先训练第三个稀疏自编码器,即以第二个训练完成的编码器的隐含层作为第三个编码器的输入,此处的损失函数的有别于步骤4.1.1中的损失函数,即将jsparse(w,b)中的uoutput改为:第一个稀疏编码器输入数据utrain相应的标定力f,模型的参数更新准则与步骤4.1保持一致;
步骤4.4,将步骤4.1-4.3得到的三个编码器的隐藏层连接在一起,形成“输入层-隐藏层1-隐藏层2-隐藏层3-输出层”所示结构的堆栈稀疏自编码器。
5.根据权利要求1所述的基于堆栈稀疏自编码的多维力传感器的解耦方法,其特征在于:步骤5中对预训练的堆栈稀疏自编码器进行微调的具体描述为:
重新构建整体模型的损失函数,其中模型的输入为步骤3中获取的训练数据utrain,训练的理论输出为utrain相对应的标定力f,而后继续使用梯度下降法对网络参数进行更新,最后完成模型的微调,提高模型的精确性。
技术总结