低算力要求的神经网络分块优化方法及分块优化器与流程

文档序号:15853439发布日期:2018-11-07 10:32阅读:226来源:国知局
低算力要求的神经网络分块优化方法及分块优化器与流程

本发明涉及机器学习领域,尤其涉及低算力要求的神经网络分块优化方法及分块优化器。

背景技术

神经网络的调节主要依靠调节隐层中的参数从而改变输入与输出间的非线性关系。传统的优化器着眼于寻找全局最优,在网络层数比较浅时通过不大的数据量就可以完整网络参数的调优。

但是当网络层数逐渐增加,由隐层参数组成的超平面逐渐变大,想要达到相同的调优效果也就需要更大量的样本数据和算力支持。在某些应用场景下不适合使用传统的优化算法,如系统算力不高的情况下,应使得运算量减少、样本数据相对较少,要求样本可以多次利用。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供低算力要求的神经网络分块优化方法及分块优化器,旨在解决传统的优化器应用于低算力要求的场景时神经网络优化的运算量较高、样本数据较大、样本不可多次利用的问题。

本发明的目的采用以下技术方案实现:

一种低算力要求的神经网络分块优化方法,包括:

步骤s1,分解隐层拓扑,完成隐层参数向量化;

步骤s2,根据隐层链接结构,将隐层参数形成的向量排列组成超平面;

步骤s3,在超平面的每个位置添加数据,作为超平面的初始态;

步骤s4,将超平面平分为两块区域,分别使用相同的数据集进行训练,并分别分析训练前后两块区域的数据变化程度;

步骤s5,留下变化程度较高的区域并判断该区域是否满足系统算力要求,若满足系统算力要求则进入步骤s6;否则继续重复步骤s4直至留下的变化程度较高的区域满足系统算力要求为止;

步骤s6,使用训练数据集对筛选出的区域进行训练,完成训练后若lossfunction满足系统要求,结束训练;反之进入步骤s7;

步骤s7,将步骤s6中满足系统算力要求的区域继续均分为两块区域,按步骤s4的方法挑选出变化较高的区域,然后从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间,继续按步骤s6的方法进行训练。

在上述实施例的基础上,优选的,所述超平面为二维超平面。

在上述任意实施例的基础上,优选的,所述步骤s3,具体为:

在超平面的每个位置添加随机生成的数据,作为超平面的初始态。

在上述任意实施例的基础上,优选的,所述步骤s7中,所述从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间的步骤,具体为:

逆向回溯至最近的区域组成一个新的满足系统算力要求的待训练空间。

或者,优选的,所述步骤s7中,所述从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间的步骤,具体为:

从第一次分块的另一半区域进行搜索,选取相同大小的区域组成一个新的满足系统算力要求的待训练空间。

一种低算力要求的神经网络分块优化器,包括:

第一模块,用于执行:

步骤s1,分解隐层拓扑,完成隐层参数向量化;

第二模块,用于执行:

步骤s2,根据隐层链接结构,将隐层参数形成的向量排列组成超平面;

第三模块,用于执行:

步骤s3,在超平面的每个位置添加数据,作为超平面的初始态;

第四模块,用于执行:

步骤s4,将超平面平分为两块区域,分别使用相同的数据集进行训练,并分别分析训练前后两块区域的数据变化程度;

第五模块,用于执行:

步骤s5,留下变化程度较高的区域并判断该区域是否满足系统算力要求,若满足系统算力要求则进入步骤s6;否则继续重复步骤s4直至留下的变化程度较高的区域满足系统算力要求为止;

第六模块,用于执行:

步骤s6,使用训练数据集对筛选出的区域进行训练,完成训练后若lossfunction满足系统要求,结束训练;反之进入步骤s7;

第七模块,用于执行:

步骤s7,将步骤s6中满足系统算力要求的区域继续均分为两块区域,按步骤s4的方法挑选出变化较高的区域,然后从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间,继续按步骤s6的方法进行训练。

在上述实施例的基础上,优选的,所述超平面为二维超平面。

在上述任意实施例的基础上,优选的,所述第三模块,用于执行步骤s3:

在超平面的每个位置添加随机生成的数据,作为超平面的初始态。

在上述任意实施例的基础上,优选的,所述第七模块逆向回溯至最近的区域组成一个新的满足系统算力要求的待训练空间。

或者,优选的,所述第七模块从第一次分块的另一半区域进行搜索,选取相同大小的区域组成一个新的满足系统算力要求的待训练空间。

相比现有技术,本发明的有益效果在于:

本发明公开了低算力要求的神经网络分块优化方法及分块优化器,该方法包括:分解隐层拓扑,完成隐层参数向量化;将隐层参数形成的向量排列组成超平面;在超平面的每个位置添加数据;将超平面平分为二,分别使用相同的数据集进行训练,分析两块区域的数据变化程度,选择变化程度较高的区域判断其系统算力要求,多次重复对超平面进行分块直到某次分块后变化程度较高的一块区域满足系统算力要求;使用训练数据集对筛选出的区域进行训练,完成训练后若lossfunction满足系统要求,结束训练;反之则将满足系统算力要求的区域继续均分为两块区域,按前述超平面分块的方法挑选出变化较高的区域,然后从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间,继续训练。本发明实施例在算力不足的应用场景下,基于相对少量的样本数据,通过搜寻隐层参数超平面上对lossfunction影响较大的区域并对其进行针对性的调优,用较小的运算量来快速完成一套满足基本要求的神经网络,且样本数据可以多次利用。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1示出了本发明实施例提供的一种低算力要求的神经网络分块优化方法的流程示意图;

图2示出了本发明实施例提供的一种低算力要求的神经网络分块优化器的结构示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

具体实施例一

如图1所示,本发明实施例提供了一种低算力要求的神经网络分块优化方法,包括:

步骤s1,分解隐层拓扑,完成隐层参数向量化;

步骤s2,根据隐层链接结构,将隐层参数形成的向量排列组成超平面;

步骤s3,在超平面的每个位置添加数据,作为超平面的初始态;

步骤s4,将超平面平分为两块区域,分别使用相同的数据集进行训练,并分别分析训练前后两块区域的数据变化程度;

步骤s5,留下变化程度较高的区域并判断该区域是否满足系统算力要求,若满足系统算力要求则进入步骤s6;否则继续重复步骤s4直至留下的变化程度较高的区域满足系统算力要求为止;

步骤s6,使用训练数据集对筛选出的区域进行训练,完成训练后若lossfunction满足系统要求,结束训练;反之进入步骤s7;

步骤s7,将步骤s6中满足系统算力要求的区域继续均分为两块区域,按步骤s4的方法挑选出变化较高的区域,然后从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间,继续按步骤s6的方法进行训练。

本发明实施例在算力不足的应用场景下,基于相对少量的样本数据,通过搜寻隐层参数超平面上对lossfunction影响较大的区域并对其进行针对性的调优,用较小的运算量来快速完成一套满足基本要求的神经网络,且样本数据可以多次利用。

本发明实施例对超平面的维数不做限定,优选的,所述超平面可以为二维超平面。这样做的好处是,不限定超平面的维数,使超平面的维数可以不受限制,能够应用于各种维数的场景。

本发明实施例对步骤s3中所添加的数据的来源不做限定,其可以为根据经验人工添加,优选的,所述步骤s3,也可以具体为:在超平面的每个位置添加随机生成的数据,作为超平面的初始态。

本发明实施例对步骤s4中的分块方法不做限定,对数据变化程度度量的计算方法也不做限定。本发明实施例不关注具体的分块方式和具体的对于数据变化程度的度量方式,均可以应用现有技术。

本发明实施例对步骤s7中的选取方法不做限定,其可以为逆向回溯至最近的区域,也可随机挑出,也可重启搜索从第一次分块的另一半平面进行搜索。即,优选的,所述步骤s7中,所述从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间的步骤,可以具体为:逆向回溯至最近的区域组成一个新的满足系统算力要求的待训练空间;或者,也可以具体为:从第一次分块的另一半区域进行搜索,选取相同大小的区域组成一个新的满足系统算力要求的待训练空间。这样做的好处是,在尽量不增加过多运算量的前提下,达到训练效果。

在上述的具体实施例一中,提供了低算力要求的神经网络分块优化方法,与之相对应的,本申请还提供低算力要求的神经网络分块优化器。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

具体实施例二

如图2所示,本发明实施例提供了一种低算力要求的神经网络分块优化器,包括:

第一模块,用于执行:

步骤s1,分解隐层拓扑,完成隐层参数向量化;

第二模块,用于执行:

步骤s2,根据隐层链接结构,将隐层参数形成的向量排列组成超平面;

第三模块,用于执行:

步骤s3,在超平面的每个位置添加数据,作为超平面的初始态;

第四模块,用于执行:

步骤s4,将超平面平分为两块区域,分别使用相同的数据集进行训练,并分别分析训练前后两块区域的数据变化程度;

第五模块,用于执行:

步骤s5,留下变化程度较高的区域并判断该区域是否满足系统算力要求,若满足系统算力要求则进入步骤s6;否则继续重复步骤s4直至留下的变化程度较高的区域满足系统算力要求为止;

第六模块,用于执行:

步骤s6,使用训练数据集对筛选出的区域进行训练,完成训练后若lossfunction满足系统要求,结束训练;反之进入步骤s7;

第七模块,用于执行:

步骤s7,将步骤s6中满足系统算力要求的区域继续均分为两块区域,按步骤s4的方法挑选出变化较高的区域,然后从其他区域再选取相同大小的区域组成一个新的满足系统算力要求的待训练空间,继续按步骤s6的方法进行训练。

本发明实施例在算力不足的应用场景下,基于相对少量的样本数据,通过搜寻隐层参数超平面上对lossfunction影响较大的区域并对其进行针对性的调优,用较小的运算量来快速完成一套满足基本要求的神经网络,且样本数据可以多次利用。

优选的,所述超平面可以为二维超平面。

优选的,所述第三模块,可以用于执行步骤s3:

在超平面的每个位置添加随机生成的数据,作为超平面的初始态。

优选的,所述第七模块可以逆向回溯至最近的区域组成一个新的满足系统算力要求的待训练空间。

或者,优选的,所述第七模块可以从第一次分块的另一半区域进行搜索,选取相同大小的区域组成一个新的满足系统算力要求的待训练空间。

本发明从使用目的上,效能上,进步及新颖性等观点进行阐述,其具有的实用进步性,己符合专利法所强调的功能增进及使用要件,本发明以上的说明及附图,仅为本发明的较佳实施例而己,并非以此局限本发明,因此,凡一切与本发明构造,装置,待征等近似、雷同的,即凡依本发明专利申请范围所作的等同替换或修饰等,皆应属本发明的专利申请保护的范围之内。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。尽管本发明已进行了一定程度的描述,明显地,在不脱离本发明的精神和范围的条件下,可进行各个条件的适当变化。可以理解,本发明不限于所述实施方案,而归于权利要求的范围,其包括所述每个因素的等同替换。对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1