Convert the application of neural network neural network hardware into hardware neural network hardware meet the constraint method, calculation device, compilation method, neural network software and hardware collaborative system, the method comprises: a neural network neural network is applied to connect the corresponding map; neural network connection graph as the basic unit of the basic unit of neural network; each neural network with the function of equivalent conversion from the basic module of virtual body neural network hardware connected to the network; the basic unit of the network in accordance with the resolution of the hardware are sequentially connected, the parameter file to generate hardware neural network. The invention provides a software and hardware system of a new class of brain neural network and computing, between the application of neural network and neural network chip with a middle layer to solve the compiler, the application of neural network and the application of neural network chip adaptation problem, development and application of the chip and the coupling solution.
【技术实现步骤摘要】
硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
本专利技术总体地涉及神经网络
,更具体地涉及由神经网络芯片来实现软件神经网络的技术。
技术介绍
最近几年,深度学习技术取得了突破性进展,在图像识别、语言识别、自然语言处理等诸多领域均取得了很高的准确率,但深度学习需要海量计算资源,传统的通用处理器已经很难满足深度学习的计算需求,将深度学习硬件化,为其设计专用芯片已经成为了一个重要的发展方向。与此同时,随着脑科学的发展,由于大脑相比传统的冯诺依曼计算机,具有超低功耗,高容错性等特点,且在处理非结构化信息和智能任务方面具有显著优势,借鉴大脑的计算模式构建新型的类脑计算系统和类脑计算芯片已经成为一个新兴的发展方向。无论是深度学习还是类脑计算,其底层的计算模型均是神经网络(NeuralNetwork,NN),主要区别在于,深度学习使用的主要是人工神经网络(ArtificialNeuralNetwork,ANN),而类脑计算主要使用的是脉冲神经网络(SpikingNeuralNetwork,SNN),两者基本组成单元均为神经元,由大量神经元相互连接成网络。神经元之间的连接可以看作带权重的有向边,神经元的输出会被神经元之间的连接所加权,然后传递给所连到的神经元,而每个神经元接收到的所有输入会被累加起来进行进一步处理,产生神经元的输出。ANN和SNN的主要区别在于,ANN的神经元输出的是数值,与边权相乘进行加权;而SNN的神经元输出的是一个个电脉冲信号,电脉冲信号经过加权成为不同强度的电流信号;ANN的神经元对于其他神经元的输入,会经过一个激活函数直 ...
【技术保护点】
一种将神经网络应用转换为满足硬件约束条件的硬件神经网络的硬件神经网络转换方法,包括:神经网络连接图获得步骤,获得神经网络应用对应的神经网络连接图,神经网络连接图是一个有向图,图中的每个节点表示一层神经元,每条边表示层间的连接关系;神经网络连接图拆分步骤,将神经网络连接图拆分为神经网络基本单元,每个神经网络基本单元中,只有入节点和出节点,不存在中间层节点,入节点和出节点之间全相联,,而且入节点中的神经元的所有出度在该基本单元内,出节点中的每个神经元的所有入度在该基本单元内;神经网络基本单元转换步骤,将每个神经网络基本单元转换为与之功能等效的由神经网络硬件的基本模块虚拟体连接成的网络,称之为基本单元硬件网络,一个神经网络基本单元对应于一个或多个神经网络硬件的基本模块虚拟体,每个神经网络硬件的基本模块虚拟体均满足神经网络硬件的基本模块的连接度约束条件,且能够直接映射到神经网络硬件的基本模块;基本单元硬件网络连接步骤,将得到的基本单元硬件网络按照拆分的顺序连接起来,生成硬件神经网络的参数文件。
【技术特征摘要】
1.一种将神经网络应用转换为满足硬件约束条件的硬件神经网络的硬件神经网络转换方法,包括:神经网络连接图获得步骤,获得神经网络应用对应的神经网络连接图,神经网络连接图是一个有向图,图中的每个节点表示一层神经元,每条边表示层间的连接关系;神经网络连接图拆分步骤,将神经网络连接图拆分为神经网络基本单元,每个神经网络基本单元中,只有入节点和出节点,不存在中间层节点,入节点和出节点之间全相联,,而且入节点中的神经元的所有出度在该基本单元内,出节点中的每个神经元的所有入度在该基本单元内;神经网络基本单元转换步骤,将每个神经网络基本单元转换为与之功能等效的由神经网络硬件的基本模块虚拟体连接成的网络,称之为基本单元硬件网络,一个神经网络基本单元对应于一个或多个神经网络硬件的基本模块虚拟体,每个神经网络硬件的基本模块虚拟体均满足神经网络硬件的基本模块的连接度约束条件,且能够直接映射到神经网络硬件的基本模块;基本单元硬件网络连接步骤,将得到的基本单元硬件网络按照拆分的顺序连接起来,生成硬件神经网络的参数文件。2.根据权利要求1的硬件神经网络转换方法,还包括,在神经网络应用具有卷积层的情况下,在神经网络连接图拆分步骤之前,对于神经网络应用的卷积层进行网络压缩,包括:获得每一卷积层的多个特征图;利用DPP提取多样性子集的方法,将这些特征图在所有样本上产生的输出之间的相似性作为%11算法相关联的矩阵元,利用DPP得到多样性最高的子集,保留该子集,丢弃掉其他特征图节点,将丢弃的特征图所对应的向量投影到保留的特征图所张成的线性空间中,用丢弃的特征图的投影长度与其原向量长度的比值作为加权系数,将丢弃的特征图与下一层神经元的连接权重加权累加到保留的特征图与下一层神经元的连接权重上。3.根据权利要求1的硬件神经网络转换方法,所述神经网络基本单元转换步骤包括:对每个神经网络基本单元重建网络拓扑;以及针对重建的网络拓扑,进行权重参数确定。4.根据权利要求3的硬件神经网络转换方法,重建网络拓扑包括完全展开操作,经过完全展开,神经网络基本单元被分解为了基本模块虚拟体之间的相互连接,所述完全展开操作包括:在神经网络基本单元相关联的第一规模的矩阵乘法和/或卷积的大矩阵操作超过了神经网络硬件的基本模块支持的第二规模的小矩阵操作的情况下,执行下述操作:将第一规模的大矩阵操作拆分为第三数目个第二规模的小矩阵操作,每个小矩阵操作由一个基本模块虚拟体完成;将针对第一规模的大矩阵操作的输入数据分解为第三数目份,并传送给该第三数目个第二规模的小矩阵操作,此为多播操作;将来自第三数目个第二规模的小矩阵操作的运算结果汇总为等价于第一规模的大矩阵操作的运算结果,此为归约操作,在神经网络硬件芯片具有支持多播操作的第一额外模块的情况下,将多播操作分配为由所述第一额外模块虚拟体来执行,否则由多播操作由第一组基本模块虚拟体来完成;在神经网络硬件芯片具有支持归约操作的第二额外模块的情况下,将归约操作分配为由所述第二额外模块虚拟体来执行,否则由多播操作由第二组基本模块虚拟体来完成。5.根据权利要求4的硬件神经网络转换方法,在...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。