一种卷积神经网络系统的控制方法及装置与流程

文档序号:16934868发布日期:2019-02-22 20:36阅读:173来源:国知局
一种卷积神经网络系统的控制方法及装置与流程

本发明涉及一种神经网络的控制方法及装置,更具体涉及一种卷积神经网络系统的控制方法及装置。



背景技术:

cnn(convolutionalneuralnetwork,卷积神经网络),是一种前馈神经网络。目前,cnn已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。由于cnn的特征检测层通过训练数据进行学习,所以在使用cnn时,避免了显式的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。

卷积神经网络的本质特点是用线性模型去逼近各种自然界的非线性,甚至奇异函数模型。代价是计算器偏大,好处是同一模型、同一结构只需要通过改变权重系数、局部参数,就可以应用于各种不同的场景。这些权重系数、网络结构是通过深度学习建立模型,训练得到的。cnn最基本的运算单元包括:矩阵卷积,矩阵池化,矩阵全连接等。

但是,现有的卷积神经网络模型都是针对特定的应用场景开发的,因此,卷积神经网络芯片中包含的运算单元仅可以应用于特定的应用场景的,进而导致卷积神经网络芯片的适应性不佳。



技术实现要素:

本发明所要解决的技术问题在于提供了一种卷积神经网络系统的控制方法及装置,以解决现有技术中存在的卷积神经网络芯片的适应性不佳的技术问题。

本发明是通过以下技术方案解决上述技术问题的:

本发明实施例提供了一种卷积神经网络系统的控制方法,所述方法包括:

1)、针对目标应用场景的卷积神经网络系统的每一层的网络,获取所述网络的参数,其中,所述网络的参数包括:所述网络涉及到的操作的尺寸、变量;

2)、解析所述网络的参数,并根据所述网络的参数从预设的运算单元的集合中获取与所述网络的参数对应的运算单元,其中,所述运算单元的集合包括:若干个不同应用场景下的卷积神经网络系统所使用的运算单元;

3)、将所述运算单元作为所述网络的运算单元,并使用所述运算单元进行所述网络的运算。

可选的,所述步骤1),包括:

按照卷积神经网络系统的每一层的网络的先后顺序对所述网络进行排序,从顺序次序最前的网络开始,将所述网络作为当前网络,获取所述网络的参数;

所述步骤3),包括:

将所述运算单元作为所述当前网络的运算单元,并使用所述运算单元进行所述网络的运算;将所述当前网络的下一网络作为当前网络,并返回执行所述获取所述网络的参数的步骤,直至所述卷积神经网络系统的每一层网络均具有了运算单元。

可选的,所述根据所述网络的参数从预设的运算单元的集合中获取与所述网络的参数对应的运算单元,包括:

根据网络的参数,获取所述网络所需的运算单元的大小、运算变量;

根据运算单元的大小、运算变量获取匹配的运算单元。

本发明实施例还提供了一种卷积神经网络系统的控制装置,所述装置包括:

获取模块,用于针对目标应用场景的卷积神经网络系统的每一层的网络,获取所述网络的参数,其中,所述网络的参数包括:所述网络涉及到的操作的尺寸、变量;

解析模块,用于解析所述网络的参数,并根据所述网络的参数从预设的运算单元的集合中获取与所述网络的参数对应的运算单元,其中,所述运算单元的集合包括:若干个不同应用场景下的卷积神经网络系统所使用的运算单元;

运算模块,用于将所述运算单元作为所述网络的运算单元,并使用所述运算单元进行所述网络的运算。

可选的,所述获取模块,用于:

按照卷积神经网络系统的每一层的网络的先后顺序对所述网络进行排序,从顺序次序最前的网络开始,将所述网络作为当前网络,获取所述网络的参数;

所述运算单元,用于:

将所述运算单元作为所述当前网络的运算单元,并使用所述运算单元进行所述网络的运算;将所述当前网络的下一网络作为当前网络,并返回执行所述获取所述网络的参数的步骤,直至所述卷积神经网络系统的每一层网络均具有了运算单元。

可选的,所述解析模块,用于:

根据网络的参数,获取所述网络所需的运算单元的大小、运算变量;

根据运算单元的大小、运算变量获取匹配的运算单元。

本发明相比现有技术具有以下优点:

应用本发明实施例,将多种应用场景使用的多种运算单元都集成在同一个运算单元的集合中,在使用卷积神经网络进行运算时,根据卷积神经网络的各层网络的参数选择对应的计算单元,进而进行卷积神经网络的运算,相对于现有技术中卷积神经网络芯片的运算单元是应用于特定应用场景的,基于本发明实施例的卷积神经网络芯片可以应用于多种应用场景,提高了卷积神经网络芯片的适应性。

附图说明

图1为本发明实施例提供的一种卷积神经网络系统的控制方法的流程示意图;

图2为本发明实施例提供的一种卷积神经网络系统的控制方法的原理示意图;

图3为本发明实施例提供的一种卷积神经网络系统的控制装置的结构示意图。

具体实施方式

下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

本发明实施例提供了一种卷积神经网络系统的控制方法及装置,下面首先就本发明实施例提供的一种卷积神经网络系统的控制方法进行介绍。

图1为本发明实施例提供的一种卷积神经网络系统的控制方法的流程示意图;图2为本发明实施例提供的一种卷积神经网络系统的控制方法的原理示意图,如图1和图2所示,所述方法包括:

s101:针对目标应用场景的卷积神经网络系统的每一层的网络,获取所述网络的参数,其中,所述网络的参数包括:所述网络涉及到的操作的尺寸、变量。

具体的,卷积神经网络系统的应用场景可以有很多种,如,图像识别、人脸识别、指纹识别等。每一种应用场景下对应的卷积神经网络中的各层网络所使用的运算单元可以相同可以不同,例如,在图像识别中,卷积神经网络中使用的运算单元可以为运算单元a、运算单元b以及运算单元c;而在人脸识别中,卷积神经网络中使用的运算单元可以为运算单元b以及运算单元c、运算单元d;在指纹识别中,卷积神经网络中使用的运算单元可以为运算单元e、运算单元f以及运算单元g。

卷积神经网络中各层网络的参数可以相同也可以不同,网络的参数决定了该网络使用哪一种运算单元,因此,可以根据网络的参数寻找与该参数对应的运算单元,例如,可以根据网络所需要的运算单元的大小寻找合适的运算单元,然后再在合适的运算单元中寻找具有网络所需的变量的运算单元,然后再根据其他的参数进行进一步的寻找,或者结束寻找。

在实际应用中,运算单元包括但不仅限于:矩阵卷积,矩阵池化,矩阵全连接。

s102:解析所述网络的参数,并根据所述网络的参数从预设的运算单元的集合中获取与所述网络的参数对应的运算单元,其中,所述运算单元的集合包括:若干个不同应用场景下的卷积神经网络系统所使用的运算单元。

具体的,基于本发明图1所示实施例的卷积神经网络芯片中的运算单元的集合中包括图像识别、人脸识别、指纹识别等若干个应用场景的卷积神经网络所用到的运算单元。然后根据所需要的卷积神经网络系统从预设的运算单元的集合中选择所需的运算单元。

s103:将所述运算单元作为所述网络的运算单元,并使用所述运算单元进行所述网络的运算。

根据选择的运算单元,对每一层网络进行运算。

在实际应用中,用户可以通过软件进行配置,然后在硬件层面实现本发明图1所示实施例,可以理解的是,s101步骤,对应图2硬件中的内存与读取参数部分,即从内存中读取针对卷积神经网络的参数。s102步骤对应图2硬件中的参数解析以及网络控制,其中,网络控制是指在根据对应的参数从预设的运算单元的集合中获取与所述网络的参数对应的运算单元。s103步骤对应图2硬件中运算模块、地址控制,其中,运算模块,是指根据s102步骤中获取的运算单元,获取运算单元的地址。地址控制是指,在运算过程中根据改地址实现对运算单元的调度。

应用本发明图1所示实施例,将多种应用场景使用的多种运算单元都集成在同一个运算单元的集合中,在使用卷积神经网络进行运算时,根据卷积神经网络的各层网络的参数选择对应的计算单元,进而进行卷积神经网络的运算,相对于现有技术中卷积神经网络芯片的运算单元是应用于特定应用场景的,基于本发明实施例的卷积神经网络芯片可以应用于多种应用场景,提高了卷积神经网络芯片的适应性。

另外,基于本发明图1所示实施例的卷积神经网络芯片,由于具备了若干个卷积神经网络用到的运算单元,可以根据配置在多个卷积神经网络之间进行切换,在扩展卷积神经网络芯片适应性的同时,还可以提高卷积神经网络芯片应用的灵活性。

再者,现有技术需要实现多种应用场景时,需要配置多个卷积神经网络芯片,应用本发明图1所示实施例,将多个卷积神经网络集合在同一个芯片中,可以减少芯片数量,降低能耗,还可以降低在芯片生产过程中的流片成本。

在本发明实施例的一种具体实施方式中,所述步骤1),包括:

按照目标应用场景的卷积神经网络系统的每一层的网络的先后顺序对所述网络进行排序,从顺序次序最前的网络开始,将所述网络作为当前网络,获取所述网络的参数;

所述步骤3),包括:

将所述运算单元作为所述当前网络的运算单元,并使用所述运算单元进行所述网络的运算;将所述当前网络的下一网络作为当前网络,并返回执行所述获取所述网络的参数的步骤,直至所述卷积神经网络系统的每一层网络均具有了运算单元。

应用本发明上述实施例,可以按照顺序对卷积神经网络中的各层网络的先后顺序获取对应的运算单元。

在本发明实施例的一种具体实施方式中,所述根据所述网络的参数从预设的运算单元的集合中获取与所述网络的参数对应的运算单元,包括:

根据网络的参数,获取所述网络所需的运算单元的大小、运算变量;

根据运算单元的大小、运算变量获取匹配的运算单元。

应用本发明上述实施例,可以获取对应的运算单元。

与本发明图1所示实施例相对应,本发明实施例还提供了一种卷积神经网络系统的控制装置。

图3为本发明实施例提供的一种卷积神经网络系统的控制装置的结构示意图,如图3所示,所述装置包括:

获取模块301,用于针对目标应用场景的卷积神经网络系统的每一层的网络,获取所述网络的参数,其中,所述网络的参数包括:所述网络涉及到的操作的尺寸、变量;

解析模块302,用于解析所述网络的参数,并根据所述网络的参数从预设的运算单元的集合中获取与所述网络的参数对应的运算单元,其中,所述运算单元的集合包括:若干个不同应用场景下的卷积神经网络系统所使用的运算单元;

运算模块303,用于将所述运算单元作为所述网络的运算单元,并使用所述运算单元进行所述网络的运算。

应用本发明图3所示实施例,将多种应用场景使用的多种运算单元都集成在同一个运算单元的集合中,在使用卷积神经网络进行运算时,根据卷积神经网络的各层网络的参数选择对应的计算单元,进而进行卷积神经网络的运算,相对于现有技术中卷积神经网络芯片的运算单元是应用于特定应用场景的,基于本发明实施例的卷积神经网络芯片可以应用于多种应用场景,提高了卷积神经网络芯片的适应性。

在本发明实施例的一种具体实施方式中,所述获取模块301,用于:

按照目标应用场景的卷积神经网络系统的每一层的网络的先后顺序对所述网络进行排序,从顺序次序最前的网络开始,将所述网络作为当前网络,获取所述网络的参数;

所述运算模块303,用于:

将所述运算单元作为所述当前网络的运算单元,并使用所述运算单元进行所述网络的运算;将所述当前网络的下一网络作为当前网络,并返回执行所述获取所述网络的参数的步骤,直至所述卷积神经网络系统的每一层网络均具有了运算单元。

应用本发明上述实施例,可以按照顺序对卷积神经网络中的各层网络的先后顺序获取对应的运算单元。

在本发明实施例的一种具体实施方式中,所述解析模块302,用于:

根据网络的参数,获取所述网络所需的运算单元的大小、运算变量;

根据运算单元的大小、运算变量获取匹配的运算单元。

应用本发明上述实施例,可以获取对应的运算单元。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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