一种应用神经网络的智能机器人参数优化系统及方法
【专利摘要】本发明涉及一种应用神经网络的智能机器人参数优化系统及方法,涉及智能机器人参数优化领域。通过云端服务器完成参数优化和压缩过程,从而减少终端机器人的运算量。该系统包括至少一个云端服务器和至少一个终端机器人,所述终端机器人与云端服务器通过网络连接,终端机器人内部嵌入有用于正向传输计算的终端神经网络模块,云端服务器内嵌入有用于根据样本库进行优化参数的云端神经网络模块。该方法包括以下步骤:终端机器人对环境信息和动作指令进行识别和采集;不同云端神经网络模块对不同种类的信息进行参数优化并存储;判断是否对神经网络模块的参数优化过程进行压缩;对优化后的参数进行压缩。本发明适用于智能机器人神经网络模块参数优化。
【专利说明】
一种应用神经网络的智能机器人参数优化系统及方法
技术领域
[0001 ]本发明涉及智能机器人领域,具体涉及智能机器人参数优化领域。
【背景技术】
[0002]目前现有的智能机器人大多都是单机版本的,也就是并没有通过远程服务器来实现更好的性能的,这类机器人存在硬件条件不好,硬件成本高、可实现的智能程度不高,用户体验不好的缺陷。
[0003]为了克服单机版本机器人的不足,越来越多的云机器人逐渐出现,云机器人是应用的云端的服务器进行服务的。
[0004]中国专利发明名称为“云机器人系统及实现方法”,公开号:101973031A,【公开日】:2011-02-16,利用远程云计算平台直接通过网络发送控制命令。
[0005]中国专利发明名称为“一种云机器人系统、机器人和机器人云平台”,公开号:105563484A,【公开日】:2016-05-11,其中增加了人工坐席模块,而且是通过专用通讯网络实现数据传输。
[0006]以上两个专利申请均采用了云机器人技术,,其中第一个是通过云端服务器进行终端控制,第二个采用云端服务器运算方式,都能够实现网络连接,但对通讯网络的延时要求很高,网络条件差时会导致服务不可用的情况出现。
[0007]同时,由于人工智能的发展,机器学习算法,特别是神经网络等深度学习的算法给机器人产业带来新的生机,比如卷积神经网络(CNN)、递归神经网络(RNN)和深度神经网络(DNN)在语音识别、视觉识别和自然语言处理上带来很大的进步,大大提升了机器人产品的应用价值,特别是服务类智能机器人的用户体验。
[0008]但是机器学习算法的优势在于不断使用大量的数据来优化算法的参数,用来训练的数据集数量庞大,而且参数的数量也特别巨大,比如十几层的应用于视觉识别的神经网络的参数是十亿数量级,完成其训练需要的时间和运算资源是非常庞大的。
[0009]例如:利用AI e xNe t图像库来训练一个神经网络,使用dua 1-socket Xeonprocessors (3TFL0PS的运算能力)需要150个小时,即使使用昂贵的专用于机器学习的GPU服务器也需要2个小时,所以直接在终端机器人上实现深度神经网络训练的成本非常高。
【发明内容】
[0010]本发明所要解决的技术问题是提供一种应用神经网络的智能机器人参数优化系统及方法,目的在于通过云端服务器完成参数优化和压缩过程,从而减少终端机器人的运铃舁里。
[0011]本发明解决上述技术问题的技术方案如下:一种应用神经网络的智能机器人参数优化系统,所述系统包括至少一个云端服务器和至少一个终端机器人,所述终端机器人与云端服务器通过网络连接。
[0012]在上述技术方案的基础上,本发明还可以做如下改进。
[0013]进一步,所述终端机器人包括用于正向传输计算的终端神经网络模块。
[0014]进一步,所述终端机器人还包括以下模块的一种或几种:
[0015]用于识别语音环境信息的语音识别模块;
[0016]用于识别三维环境信息的视觉识别模块;
[0017]用于识别方向环境信息的导航模块;
[0018]用于根据外界环境进行路径规划的路线规划模块;
[0019]用于执行动作指令的动作控制模块;
[0020]所述语音识别模块、视觉识别模块、导航模块、路线规划模块和动作控制模块分别连接云端服务器中不同的终端神经网络模块。
[0021]采用上述进一步方案的有益效果是通过不同的终端神经网络模块对终端机器人中各模块信息进行优化,减少了运算量,提高了运算的准确性。
[0022]进一步,所述云端服务器还包括:
[0023]用于根据样本库进行优化参数的云端神经网络模块;
[0024]用于根据优化后的参数集以及终端机器人中各模块的硬件信息对云端神经网络模块的参数优化过程进行压缩的压缩模块;
[0025]用于对优化参数进行存储的数据存储模块。
[0026]进一步,所述压缩模块进一步包括:
[0027]用于获取终端机器人的硬件信息的硬件信息获取模块,所述硬件信息包括型号、计算能力以及内存信息;
[0028]用于设定是否进行参数压缩的条件压缩条件设定模块;当参数压缩条件介于压缩上限和压缩下限之间时进行参数压缩,所述压缩上限为终端机器人的最大运算能力或内存的百分比,所述压缩下限为云端神经网络模块对参数压缩的最大容错率;
[0029]用于根据终端机器人硬件信息对神经网络的参数位数、神经网络的层数、神经网络每层的节点或连接数量中的一种或几种参数进行压缩的参数压缩模块。
[0030]采用上述进一步方案的有益效果是通过设定参数压缩的上下限,能够提升用户体验,在保证运算准确性的基础上减少云端服务器的运算量。
[0031]进一步,所述压缩模块还包括:
[0032]用于根据压缩后的参数和样本库信息获得预算错误率,并将该预算错误率发送至终端机器人的错误率预算模块;
[0033]用于判断预算错误率是否大于参数压缩的最大容错率的错误率判断模块,是,则发出警告信息,否,则不作出任何操作。
[0034]采用上述进一步方案的有益效果是:终端服务器可以根据上述过程在系统软件上作出相应的设计以提高用户体验。
[0035]本发明解决上述技术问题的另一技术方案如下:一种应用神经网络的智能机器人参数优化方法,所述参数优化方法包括以下步骤:
[0036]步骤一、对环境信息和动作指令进行识别和采集;
[0037]步骤二、对不同种类的信息进行正向传输计算;
[0038]步骤三、根据样本库对不同种类的信息进行参数优化并存储;
[0039]步骤四、判断是否对优化后的参数进行压缩,是,则执行步骤五,否,则终止执行并发出系统提示;
[0040]步骤五、对优化后的参数进行压缩。
[0041]进一步,步骤一中识别和采集的环境信息包括语音环境信息、三维环境信息和方向环境信息。
[0042]进一步,步骤四中判断是否对优化后的参数进行压缩的过程为:
[0043]当参数压缩条件介于压缩上限和压缩下限之间时进行参数压缩,所述压缩上限为终端机器人(I)的最大运算能力或内存的百分比,所述压缩下限为云端神经网络模块(3)对参数压缩的最大容错率。
[0044]进一步,步骤五中对优化后的参数进行压缩的过程为:
[0045]步骤五一、云端服务器(2)获取终端机器人(I)的硬件信息,所述硬件信息包括型号、计算能力以及内存信息;
[0046]步骤五二、根据终端机器人(I)的硬件信息对神经网络的参数位数、神经网络的层数、神经网络每层的节点或连接数量中的一种或几种参数进行压缩;
[0047]步骤五三、根据压缩后的参数和样本库信息获得预算错误率,并将该预算错误率发送至终端机器人(I);
[0048]步骤五四、判断预算错误率是否大于参数压缩的最大容错率,是,则发出警告信息,否,则不作出任何操作。
[0049]本发明的有益效果是:本发明通过集中使用云端高性能的服务来训练神经网络,将优化好的参数送到所有的终端机器人中,使得可以通过使用更少的硬件资源实现正向运算和应用,一方面有利于降低终端机器人的硬件成本和提升用户体验,另一方面通过集中运算神经网络来应用于所有的终端机器人,大大降低了整个系统的重复计算和运算量,并采用非实时更新参数的方式,减少对网络实时性的依赖。
【附图说明】
[0050]图1为本发明所述的应用神经网络的智能机器人参数优化系统的原理示意图,其中终端机器人的个数为一个,且该终端机器人中包括了语音识别模块、视觉识别模块、导航模块、路线规划模块和动作控制模块中的所有模块;
[0051]图2为本发明以深度神经网络为例的系统原理示意图,其中终端机器人的个数为一个,且该终端机器人中包括了语音识别模块、视觉识别模块、导航模块、路线规划模块和动作控制模块中的所有模块。
[0052]附图中,各标号所代表的部件列表如下:
[0053]1、终端机器人,2、云端服务器,3、云端神经网络模快,4、语音识别模块,5、视觉识别模块,6、导航模块,7、路径规划模块,8、动作控制模块,9、压缩模块,10、存储模块,11、终端神经网络模块。
【具体实施方式】
[0054]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0055]如图1所示,本发明提出了一种应用神经网络的智能机器人参数优化系统及方法,所述参数优化即为通过训练数据,对神经网络模型中的参数进行训练的过程。神经网络包含有许多分支,包括卷积神经网络、递归神经网络和深度神经网络,以下就以深度神经网络为例对本发明进行进一步的解释说明。
[0056]实施例1
[0057]如图2所示,该系统包括至少一个云端服务器2和至少一个终端机器人I,所述终端机器人I与云端服务器2通过网络连接,终端机器人I内部嵌入有用于正向传输计算的终端深度神经网络模块,云端服务器2内嵌入有用于根据样本库进行优化参数的云端深度神经网络模块。
[0058]在对参数进行优化时所依据的样本库可以来自终端机器人,也可以来自服务器的存储设备或网络数据等。
[0059]终端机器人I包括以下模块的一种或几种:
[0060]用于识别语音环境信息的语音识别模块4;
[0061 ]用于识别三维环境信息的视觉识别模块5;
[0062]用于识别方向环境信息的导航模块6;
[0063]用于根据外界环境进行路径规划的路线规划模块7;
[0064]用于执行动作指令的动作控制模块8;
[0065]所述语音识别模块4、视觉识别模块5、导航模块6、路线规划模块7和动作控制模块8分别连接云端服务器2中不同的终端深度神经网络模块。
[0066]本发明拟用远程的高性能服务器来实现深度神经网络的参数优化,优化后的参数定期非实时的更新到终端机器人上,终端机器人用本地计算资源实现深度神经网络的正向计算,解除了对网络的依赖。
[0067]为了能够获得更好的参数优化效果,本发明在云端服务器2中还增加了:
[0068]用于根据优化后的参数集以及终端机器人I中各模块的硬件信息对经云端深度神经网络模块优化后的参数进行压缩的压缩模块9;
[0069]用于对优化后的参数进行存储的数据存储模块10。
[0070]压缩模块9进一步包括:
[0071]用于获取终端机器人I的硬件信息的硬件信息获取模块,所述硬件信息包括型号、计算能力以及内存信息;
[0072]用于设定是否进行参数压缩的条件压缩条件设定模块;当参数压缩条件介于压缩上限和压缩下限之间时进行参数压缩,所述压缩上限为终端机器人I的最大运算能力或内存的百分比,所述压缩下限为云端深度神经网络模块对参数压缩的最大容错率;
[0073]用于根据终端机器人I硬件信息对深度神经网络的参数位数、深度神经网络的层数、深度神经网络每层的节点或连接数量中的一种或几种参数进行压缩的参数压缩模块。
[0074]在对参数进行优化过程中,需要对参数的进度进行精简,对每层的节点数根据实际的参数情况进行删减,即为参数压缩,云端服务器获取终端机器人的硬件信息,包括型号、计算能力以及内存信息,再根据这些信息对深度神经网络的参数位数、深度神经网络的层数、深度神经网络每层的节点和连接数量进行优化,并将优化后的参数进行压缩,压缩条件的上限可以为终端机器人的最大运算能力或内存的百分比,压缩条件的下限则是参数优化的最大容错率,可以采用特定场景下的用户体验不受影响为限进行设定,云服务器在优化后的网络中对特定的数据集进行回测,并向终端服务器报告需要的运算能力和可能的错误率,如果错误率超出最大容错率,需要提出警告信息。
[0075]实施例2
[0076]本实施例提供了一种应用神经网络的智能机器人参数优化方法,同样以深度神经网络为例进行进一步说明,所述参数优化方法包括以下步骤:
[0077]步骤一、终端机器人I对环境信息和动作指令进行识别和采集;
[0078]步骤二、终端深度神经网络模块对不同种类的信息进行正向传输计算;
[0079]步骤三、云端深度神经网络模块根据样本库对不同种类的信息进行参数优化并存储;
[0080]步骤四、判断是否对优化后的参数进行压缩,是,则执行步骤五,否,则终止执行并发出系统提示;
[0081]步骤五、对优化后的参数进行压缩,并将压缩后的参数发送至终端机器人I。
[0082]环境信息包括语音环境信息、三维环境信息和方向环境信息。
[0083]步骤四中判断是否对优化后的参数进行压缩的过程为:
[0084]当参数压缩条件介于压缩上限和压缩下限之间时进行参数压缩,所述压缩上限为终端机器人I的最大运算能力或内存的百分比,所述压缩下限为云端深度神经网络模块对参数压缩的最大容错率。
[0085]步骤五中对优化后的参数进行压缩的过程为:
[0086]步骤五一、云端服务器2获取终端机器人I的硬件信息,所述硬件信息包括型号、计算能力以及内存信息;
[0087]步骤五二、根据终端机器人I的硬件信息对深度神经网络的参数位数、深度神经网络的层数、深度神经网络每层的节点或连接数量中的一种或几种参数进行压缩;
[0088]步骤五三、根据压缩后的参数和样本库信息获得预算错误率,并将该预算错误率发送至终端机器人I;
[0089]步骤五四、判断预算错误率是否大于参数压缩的最大容错率,是,则发出警告信息,否,则不作出任何操作。
[0090]实施例3
[0091 ]本实施例以将本发明应用于视觉识别信息的参数优化和压缩为例进行说明。
[0092](I)云端服务器上嵌入有实现视觉识别信息的神经网络模块;
[0093](2)云端服务器通过收集数据库,网络上或者来自系统中的终端机器人获取到的带标记图像数据,用于作为训练神经网路的节点参数的输入,通过特定的运算来实现参数的优化计算;
[0094](3)云端服务器实现参数的计算后,根据实际网络参数的结果和目标的终端机器人的计算能力,可以选择是否需要优化整个网络的正向计算,其中包括减少参数精度和网络的节点数和连接,同时也可以选择把参数更新到终端机器人中;
[0095](4)终端机器人使用优化后的参数实现神经网络的正向计算,同时,也可以选择将本地获取的带标记图像送回到云端服务器,作为云端服务器下一轮优化的图像输入;
[0096](5)云端服务器还可以增加某些功能,例如定时,或者根据数据集的更新情况来启动下一轮的参数优化。
[0097]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种应用神经网络的智能机器人参数优化系统,其特征在于,所述系统包括至少一个云端服务器(2)和至少一个终端机器人(I ),所述终端机器人(I)与云端服务器(2)通过网络连接。2.根据权利要求1所述的一种应用神经网络的智能机器人参数优化系统,其特征在于,所述终端机器人(I)包括用于正向传输计算的终端神经网络模块(11)。3.根据权利要求1所述的一种应用神经网络的智能机器人参数优化系统,其特征在于,终端机器人(I)还包括以下模块的一种或几种: 用于识别语音环境信息的语音识别模块(4); 用于识别三维环境信息的视觉识别模块(5); 用于识别方向环境信息的导航模块(6); 用于根据外界环境进行路径规划的路线规划模块(7); 用于执行动作指令的动作控制模块(8); 所述语音识别模块(4)、视觉识别模块(5)、导航模块(6)、路线规划模块(7)和动作控制模块(8)分别连接不同的终端神经网络模块(11)。4.根据权利要求1所述的一种应用神经网络的智能机器人参数优化系统,其特征在于,所述云端服务器(2)还包括: 用于根据样本库进行优化参数的云端神经网络模块(3); 用于根据优化后的参数集以及终端机器人(I)中各模块的硬件信息对经云端神经网络模块(3)优化后的参数进行压缩的压缩模块(9); 用于对优化后的参数进行存储的数据存储模块(10)。5.根据权利要求4所述的一种应用神经网络的智能机器人参数优化系统,其特征在于,所述压缩模块(9)进一步包括: 用于获取终端机器人(I)的硬件信息的硬件信息获取模块,所述硬件信息包括型号、计算能力以及内存信息; 用于设定是否进行参数压缩的条件压缩条件设定模块;当参数压缩条件介于压缩上限和压缩下限之间时进行参数压缩,所述压缩上限为终端机器人(I)的最大运算能力或内存的百分比,所述压缩下限为云端神经网络模块(3)对参数压缩的最大容错率; 用于根据终端机器人(I)硬件信息对神经网络的参数位数、神经网络的层数、神经网络每层的节点或连接数量中的一种或几种参数进行压缩的参数压缩模块。6.根据权利要求5所述的一种应用神经网络的智能机器人参数优化系统,其特征在于,所述压缩模块(9)还包括: 用于根据压缩后的参数和样本库信息获得预算错误率,并将该预算错误率发送至终端机器人(I)的错误率预算模块; 用于判断预算错误率是否大于参数压缩的最大容错率的错误率判断模块,是,则发出警告信息,否,则不作出任何操作。7.—种应用神经网络的智能机器人参数优化方法,其特征在于,所述参数优化方法包括以下步骤: 步骤一、对环境信息和动作指令进行识别和采集; 步骤二、对不同种类的信息进行正向传输计算; 步骤三、根据样本库对不同种类的信息进行参数优化并存储; 步骤四、判断是否对优化后的参数进行压缩,是,则执行步骤五,否,则终止执行并发出系统提不; 步骤五、对优化后的参数进行压缩。8.根据权利要求7所述的一种应用神经网络的智能机器人参数优化方法,其特征在于,步骤一中识别和采集的环境信息包括语音环境信息、三维环境信息和方向环境信息中的一种或几种。9.根据权利要求7所述的一种应用神经网络的智能机器人参数优化方法,其特征在于,步骤四中判断是否对优化后的参数进行压缩的过程为: 当参数压缩条件介于压缩上限和压缩下限之间时进行参数压缩,所述压缩上限为终端机器人(I)的最大运算能力或内存的百分比,所述压缩下限为云端神经网络模块(3)对参数压缩的最大容错率。10.根据权利要求7所述的一种应用神经网络的智能机器人参数优化方法,其特征在于,步骤五中对优化后的参数进行压缩的过程为: 步骤五一、云端服务器(2)获取终端机器人(I)的硬件信息,所述硬件信息包括型号、计算能力以及内存信息; 步骤五二、根据终端机器人(I)的硬件信息对神经网络的参数位数、神经网络的层数、神经网络每层的节点或连接数量中的一种或几种参数进行压缩; 步骤五三、根据压缩后的参数和样本库信息获得预算错误率,并将该预算错误率发送至终端机器人(I); 步骤五四、判断预算错误率是否大于参数压缩的最大容错率,是,则发出警告信息,否,则不作出任何操作。
【文档编号】H04L12/24GK106027300SQ201610343978
【公开日】2016年10月12日
【申请日】2016年5月23日
【发明人】简卫, 朱奇良
【申请人】深圳市飞仙智能科技有限公司