专利名称:基于嵌入式平台的神经网络模型在线训练方法
技术领域:
本发明涉及一种神经网络模型在线训练方法,特别地,涉及一种基于嵌入式平台
的神经网络模型在线训练方法。
背景技术:
随着科技与应用的发展,控制系统越来越复杂。针对多输入多输出、时变、非线性、 大时滞等难以控制的过程问题,必须使用神经网络等智能算法与软测量技术才能达到理想 的效果。但这些复杂的算法大都基于DCS, FCS等大型系统,系统成本较高。算法的运行环 境也大都基于工业计算机等平台,难以满足嵌入式与便携式要求。 嵌入式平台及设备越来越普及,并且具有低功耗、体积小、集成度高、低成本、高性 能、应用广泛等特点。如果神经网络等智能算法能移植到一个嵌入式设备上,同时配备良好 的运行性能,就可以解决一部分复杂工程问题,并具有小型化与便携式特点。同时对于单一 变量的测量或处理也有了低成本的解决方案。但是神经网络等智能算法复杂、运算量大,同 时嵌入式平台的计算与存储能力要明显弱于PC机。所以,在PC机运用的神经网络等智能 算法不能直接移植到嵌入式平台中,需要进行相关处理与简化。 虽然已有机器人、手机手写体识别等神经网络智能算法的嵌入式应用,但这些应 用大多采用离线训练,只是把训练好的结果移植到嵌入式平台,而没有将训练或优化的过 程移植到嵌入式平台中。 本发明通过适当简化与优化神经网络算法,提供了一种基于嵌入式平台的神经网 络模型在线训练方法,为石油化工等复杂过程的模式识别或软测量提供了一种低成本、便 携式、高实时性的解决方案。
发明内容
本发明的目的在于针对现有技术的不足,提出一种基于嵌入式平台的神经网络
(Neural Network)模型在线训练方法。 本发明的目的是通过以下技术方案来实现的 —种基于嵌入式平台的神经网络模型在线训练系统的训练方法,基于嵌入式平台 的神经网络模型在线训练方法运行的系统主要由微控制器、存储器、人机交互接口 、通信接 口和信号输入输出接口等组成;其中,所述微控制器分别与存储器、人机交互接口、通信接 口和信号输入输出接口相连接;该方法包括以下步骤
(1)获取相关训练与测试数据; (2)若数据格式不规范,则进行数据规范化处理,若数据格式规范则省略此步; (3)若要求手动设置相关参数则跳到第(6)步,否则自动设置参数; (4)根据神经网络在线训练规则自动调整相关参数,直到完成训练; (5)若训练结果的精度与实时性达到要求,则直接跳到第(8)步,否则继续; (6)手动设置相关参数,直至完成训练;
4
(7)若训练结果的精度与实时性达到要求,则直接跳到第(8)步,否则回到第(6) 步重新设置参数; (8)把训练结果应用于模式识别、参数估计或软测量,完成根据数据输入,给出模 型预测输出; 进一步地,所述步骤(2)数据规范化包括以下要点 ①包含样本属性维数(几项输入)、训练样本数、测试样本数等信息; ②格式上每行一组训练或测试数据; ③预测真值(神经网络模型输出真值)在前,范围0. 1 0. 9 ;
④样本的属性(神经网络模型输入)在后,范围-l +l; ⑤按照一定规律排列,S卩"预测输出真值,1 :输入样本属性1的值,2 :输入样本属 性2的值,3 :输入样本属性3的值,……,N :输入样本属性N的值"。 所述步骤(3) (4) (6)提到的相关参数包含神经网络的隐层节点数、学习率、惯性 冲量系数、训练中止误差等。 所述步骤(4)提到的神经网络在线训练规则及自动调整的相关参数,包括以下几 要点 ①采用3层BP神经网络(Back-Propagation Neural Network)。且输入层节点数 等于样本属性维度,输出层节点数一般为1 ; ②惯性冲量系数(momentum parameter) a固定取值0. 5 ; ③隐层节点数设置规则; 学习率(learning rate) n调整规则; ⑤训练中止规则。 进一步地,所述步骤(4)第③要点提到的隐层节点数设置规则,包括以下几要点
1)由输人样本数与样本维数决定理想的隐层节点数目0=瑜入样本数/样本的维 数; 2)选取D/4 (但最小不低于3个)训练神经网络模型; 3)若上述消耗时间远低于实时性预期时间(如只有1/4 1/3),直接选取D个隐 层节点训练;否则采用D/2个隐层节点训练; 所述步骤(4)第④要点提到的学习率调整规则,包括以下几要点
1)首先选取较大学习率为初始值; 2)若训练误差非单向特性(忽大忽小),学习率采取如下策略调整
ni+1 = 1*0. 5,直到训练误差单向减小为止; 3)若训练处于前期(如小于5次迭代),且误差单向减小较慢(如小于5% ), 学习率采取如下策略调整n i+1 = n2 ; 4)再次回到2)与3)判断,直到满足终止条件; 所述步骤(4)第⑤要点提到的训练中止规则,包括以下几要点 系统自动识别测试误差变化规律,且满足如下规则中任一条,即表示训练完成。
规则1 :"测试误差变化稳定(无明显振荡特征),且当前测试误差大于1. 2*最小
领lj试误差"; 或规则2 :"迭代次数大于阈值(如100次)且连续3次测试误差变化率小于5% "。本发明提供了一种基于嵌入式平台的神经网络模型在线训 练方法,能根据数据特征自动设置相关参数,同时支持手动设置参数,最大化的满足了实时 性与智能性的要求。同时让运行的系统满足便携、智能分析等多项功能,克服了以往系统难 以实现微小化、难以决定相关训练参数、操作复杂等缺点,尤其是神经网络算法在线训练的 成功移植,对石油化工等复杂过程的模式识别或软测量提供了一种低成本、便携式、高实时 性的解决方案。
图1是本发明的系统组成框图; 图2是本发明的在线训练方法流程图; 图3是本发明的神经网络模型自动在线训练原理图。
具体实施例方式
下面结合附图和实施例对本发明进一步说明,本发明的目的和效果将变得更加明 显。 如图1所示,本发明基于嵌入式平台的神经网络模型在线训练方法运行的系统由 微控制器、存储器、人机交互接口 、通信接口和信号输入输出接口等组成。其中,所述微控制 器分别与存储器、人机交互接口、通信接口和信号输入输出接口相连接。 人机交互接口包括按键与彩屏液晶显示,按键与彩屏液晶显示均与微控制器相 连。所述通信接口包括RS232接口 、以太网接口和USB接口 ,所述RS232接口 、以太网接口 和USB接口分别与微控制器相连。所述存储器包括SDRAM与NANDFlash,所述SDRAM与NAND Flash分别与微控制器相连。所述信号输入输出接口包括AD输入、DA输出与数字量输入输 出,所述AD输入、DA输出与数字量输入输出分别与微控制器相连。 微控制器是整个系统的核心,从信号输入输出接口或通信接口接收相关数据的定 量检测,经处理与分析后,结果在液晶屏上动态显示,同时RS232、USB、以太网等接口支持与 PC机等外部设备通信,可将实时检测数据传输到外部进行数据存储及分析操作。系统功能 强大、操作简单、携带方便,是一体化的便携式系统。同时与离线训练系统不同的是,移植到 该系统的在线训练方法支持神经网络模型的在线训练。 该微控制器可以采用TI公司的0MAP-L137,它有两个内核, 一个300MHz的 ARM(ARM926EJ-S核)与一个300MHz的浮点DSP(C674+核),可外扩Flash存储器与SRAM 存储器,同时有以太网、USB、通用串行接口等众多外围功能接口 ,能满足工业应用要求。
该方法中的神经网络模型选用3层BP神经网络,模型的在线训练在嵌入式平台的 微控制器内部进行,以基于神经网络模型实现由样本输入属性得出模式识别的分类输入或 软测量模型的预测输出。 如图2所示,本发明基于嵌入式平台的神经网络模型在线训练方法,包括以下步 骤 (1)获取相关训练与测试数据; (2)若数据格式不规范,则进行数据规范化处理,若数据格式规范则省略此步;
(3)若要求手动设置相关参数则跳到第(6)步,否则自动设置参数;
6
(4)根据神经网络在线训练规则自动调整相关参数,直到完成训练; (5)若训练结果的精度与实时性达到要求,则直接跳到第(8)步,否则继续; (6)手动设置相关参数,直至完成训练; (7)若训练结果的精度与实时性达到要求,则直接跳到第(8)步,否则回到第(6) 步重新设置参数; (8)把训练结果应用于模式识别、参数估计或软测量,完成根据数据输入,给出模 型预测输出; 进一步地,所述步骤(2)数据规范化包括以下要点 ①包含样本属性维数(几项输入)、训练样本数、测试样本数等信息。 ②格式上每行一组训练或测试数据。 ③预测真值(神经网络模型输出真值)在前,范围0. 1 0. 9。
④样本的属性(神经网络模型输入)在后,范围-l +l。 ⑤按照一定规律排列,S卩"预测输出真值,1 :输入样本属性1的值,2 :输入样本属 性2的值,3 :输入样本属性3的值,……,N :输入样本属性N的值"。 所述步骤(3) (4) (6)提到的相关参数包含神经网络的隐层节点数、学习率、惯性 冲量系数、训练中止误差等。 如图3,所述步骤(4)提到的神经网络在线训练规则及自动调整的相关参数,包括 以下几要点 ①采用3层BP神经网络(Back-Propagation Neural Network)。且输入层节点数 等于样本属性维度,输出层节点数一般为1。 ②惯性冲量系数(momentum parameter) a固定取值0.5。 ③隐层节点数设置规则。
学习率(learning rate) n调整规则。 ⑤训练中止规则。 进一步地,所述步骤(4)第③要点提到的隐层节点数设置规则,包括以下几要点
1)由输人样本数与样本维数决定理想的隐层节点数目0=瑜入样本数/样本的维 数; 2)选取D/4 (但最小不低于3个)训练神经网络模型; 3)若上述消耗时间远低于实时性预期时间(如只有1/4 1/3),直接选取D个隐 层节点训练;否则采用D/2个隐层节点训练。 所述步骤(4)第④要点提到的学习率调整规则,包括以下几要点
1)首先选取较大学习率为初始值; 2)若训练误差非单向特性(忽大忽小),学习率采取如下策略调整
ni+1 = 1*0. 5,直到训练误差单向减小为止; 3)若训练处于前期(如小于5次迭代),且误差单向减小较慢(如小于5% ), 学习率采取如下策略调整n i+1 = n2 ; 4)再次回到2)与3)判断,直到满足终止条件; 所述步骤(4)第⑤要点提到的训练中止规则,包括以下几要点 系统自动识别测试误差变化规律,且满足如下规则中任一条,即表示训练完成。
规则1 :"测试误差变化稳定(无明显振荡特征),且当前测试误差大于1. 2*最小 领lj试误差"; 或规则2 :"迭代次数大于阈值(如100次)且连续3次测试误差变化率小于5% "。
下面用一组具体数据说明上述在线训练方法用于软测量模型在线训练的执行过 程。 软测量的基本思想是应用计算机技术与相关先进控制理论,结合生产过程知识, 针对不能测量或难于测量的重要变量(称之为主导变量),选择另外一些相对容易测量的 变量(称之为辅助变量),通过构成某种数学关系来进行推断与估计,用软件来代替硬件传 感器以实现测量功能。软测量能够快速且连续地给出主导变量信息,同时具有成本低、维护 简单等优点。基于人工神经网络ANN (artificial neural network)的软测量建模方法是近年
来发展较快、研究较多、并且应用范围较广泛的软测量建模方法之一。鉴于人工神经网络具
有自学习、联想记忆、自适应和非线性逼近等功能,基于人工神经网络的软测量模型可以在
不具备对象的先验知识的条件下,将辅助变量作为人工神经网络的输入,而主导变量作为
神经网络的输出,根据对象的输入与输出数据,通过训练神经网络来解决不可测变量的软
测量问题,且模型的在线校正能力强,同时能适用于不确定性或高度非线性系统。针对复杂
系统的过程参数,基于人工神经网络的软测量提供了一种简便且有效的方法。 假设需要测量某铜液成份含量,但测量需等待铜液冷却才能测定,难以在炼铜过
程即给出成份结果来保证产品质量。这时,需要选择一些与铜液成份相关,且可以在炼铜过
程中测量的变量(辅助变量)来推算铜液成份(主导变量)。假设铜液成份含量与某2组
温度,某3组压力,某2组可测的气体含量有关。那么其样本维数(辅助变量)7维,预测输
出(主导变量)l项。现有铜液成份,及与其相对应的辅助变量历史数据170组。以100个
样本作为训练集,70个样本作为测试集。并将辅助变量调整至-1 +1范围,主导变量调
整至0. 1 0. 9范围,每行一组训练或测试数据,并按规范格式排布"铜成份含量,1 :温度
1,2 :温度2,3 :压力1,4 :压力2,5 :压力3, 6 :气体1含量,7 :气体2含量"。 微控制器分别读入训练集与测试集,由规范格式很容易得出样本维数=7、训练样
本数=100、测试样本数=70。 可以使用自动参数设置,且适当放弃精度来保证高实时性。那么系统会自动设置 惯性冲量系数a = 0. 5、隐层节点数目D =输入样本数/样本的维数/4 = 100/7/4 = 4、 输入层节点数=样本维数=7、输出层节点数=1、学习率n = 20,训练中止误差e =—个 随机且很大的值,最大迭代次数=50(实时性不同会有不同的值)。 开始用100个样本训练模型,之后用70个样本进行测试。每次完成后得到一个测 试误差e。系统会自动跟踪e的变化,根据规则调整学习率,同时判断是否到达训练中止条 件。 若没有达到训练中止条件,继续用IOO个样本训练模型,之后用70个样本进行测 试,不断调整神经网络的权值,直至达到中止条件。否则保存所有的神经网络的权值及相关 设置的参数。 假设结果达到的精度为1E-3精度,消耗的时间一般。若需要1E-4精度,则选择隐 层节点数目D = 4*2 = 8重新训练。若重新完成上述过程,仍到不到要求,则需要手动设置
8相关参数来保证,如把最大迭代次数放大到100次,a调整到更大值,如0. 8。 n调整到一 个更小值,如O. 1。上述参数调整并不一定能到达要求的精度,这与训练数据有很强的关系, 需要很强的经验与多次尝试。当然若知道最优的设置参数,可以完全不使用自动设置,直接 开始使用手动设置。 若最后完成了训练,且精度到达预期,如1E-3误差精度。可以把状态设置从训练 调到正常使用的状态。这时,根据实时输入的7个温度、压力、气体成分等辅助变量,可以立 即得到需要的铜成份。 若经过一段时间,由于新工艺或模型漂移等原因造成实际模型发生改变,导致达 不到预期精度。需要重新训练,即重复上述所有过程。 上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和 权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
权利要求
一种基于嵌入式平台的神经网络模型在线训练方法,基于嵌入式平台的神经网络模型在线训练方法运行的系统主要由微控制器、存储器、人机交互接口、通信接口和信号输入输出接口等组成。其中,所述微控制器分别与存储器、人机交互接口、通信接口和信号输入输出接口相连接。其特征在于,该方法包括以下步骤(1)获取相关训练与测试数据。(2)若数据格式不规范,则进行数据规范化处理,若数据格式规范则省略此步。(3)若要求手动设置相关参数则跳到第(6)步,否则自动设置参数。(4)根据神经网络在线训练规则自动调整相关参数,直到完成训练。(5)若训练结果的精度与实时性达到要求,则直接跳到第(8)步,否则继续。(6)手动设置相关参数,直至完成训练。(7)若训练结果的精度与实时性达到要求,则直接跳到第(8)步,否则回到第(6)步重新设置参数。(8)把训练结果应用于模式识别、参数估计或软测量,完成根据数据输入,给出模型预测输出。
2. 根据权利要求1所述基于嵌入式平台的神经网络模型在线训练方法,其特征在于,所述步骤(2)数据规范化包括以下要点① 包含样本属性维数(几项输入)、训练样本数、测试样本数等信息。② 格式上每行一组训练或测试数据。③ 预测真值(神经网络模型输出真值)在前,范围0. 1 0. 9。④ 样本的属性(神经网络模型输入)在后,范围-l +l。⑤ 按照一定规律排列,即"预测输出真值,l :输入样本属性1的值,2 :输入样本属性2的值,3 :输入样本属性3的值,……,N :输入样本属性N的值"。
3. 根据权利要求1所述基于嵌入式平台的神经网络模型在线训练方法,其特征在于,所述步骤(3) (4) (6)提到的相关参数包含神经网络的隐层节点数、学习率、惯性冲量系数、训练中止误差等。
4. 根据权利要求1所述基于嵌入式平台的神经网络模型在线训练方法,其特征在于,所述步骤(4)提到的神经网络在线训练规则及自动调整的相关参数,包括以下几要点① 采用3层BP神经网络(Back-Propagation Neural Network)。且输入层节点数等于样本属性维度,输出层节点数一般为1。② 惯性冲量系数(momentum parameter) a固定取值0.5。③ 隐层节点数设置规则。④ 学习率(learning rate) n调整规贝U。⑤ 训练中止规则。
5. 根据权利要求1所述基于嵌入式平台的神经网络模型在线训练方法,其特征在于,所述权利要求4第③要点提到的隐层节点数设置规则,包括以下几要点1) 由输入样本数与样本维数决定理想的隐层节点数目D =输入样本数/样本的维数。2) 选取D/4(但最小不低于3个)训练神经网络模型。3) 若上述消耗时间远低于实时性预期时间(如只有1/4 1/3),直接选取D个隐层节点训练;否则采用D/2个隐层节点训练。
6. 根据权利要求1所述基于嵌入式平台的神经网络模型在线训练方法,其特征在于,所述权利要求4第④要点提到的学习率调整规则,包括以下几要点1) 首先选取较大学习率为初始值。2) 若训练误差非单向特性(忽大忽小),学习率采取如下策略调整。ni+1 = n一o.5,直到训练误差单向减小为止。3) 若训练处于前期(如小于5次迭代),且误差单向减小较慢(如小于5% ),学习率采取如下策略调整ni+1 = n一i. 2。4) 再次回到2)与3)判断,直到满足终止条件。
7. 根据权利要求1所述基于嵌入式平台的神经网络模型在线训练方法,其特征在于,所述权利要求4第⑤要点提到的训练中止规则,包括以下几要点系统自动识别测试误差变化规律,且满足如下规则中任一条,即表示训练完成规则1 :"测试误差变化稳定(无明显振荡特征),且当前测试误差大于1. 2*最小测试误差"。或规则2 :"迭代次数大于阈值(如100次)且连续3次测试误差变化率小于5% "。
全文摘要
本发明公开了一种基于嵌入式平台的神经网络模型在线训练方法,该方法能根据数据特征自动设置相关参数,同时支持手动设置参数,最大化的满足了实时性与智能性的要求;让运行的系统满足便携、智能分析等多项功能,克服了以往系统难以实现微小化、难以决定相关训练参数、操作复杂等缺点;对石油化工等复杂过程的模式识别或软测量提供了一种低成本、便携式、高实时性的解决方案。
文档编号G06N3/02GK101706882SQ20091015462
公开日2010年5月12日 申请日期2009年11月23日 优先权日2009年11月23日
发明者宋执环, 朱懿峰, 段俊, 王健伟 申请人:浙江大学