【技术实现步骤摘要】
【国外来华专利技术】神经网络切分方法、预测方法及相关装置
本申请涉及人工智能领域,尤其涉及神经网络切分方法、预测方法及相关装置。
技术介绍
人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。机器学习是目前实现人工智能最主要的方式。在机器学习和认知科学领域,神经网络(neuralnetwork,缩写NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算。目前,计算神经网络的方法主要有以下两个途径:1)图形处理器(GraphicsProcessingUnit,GPU);2)专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)。但是,不论GPU还是ASIC,利用神经网络执行处理任务的常规技术方案是以神经网络单节点(即神经元)为基本单元逐层计算,由于神经网络单节点计算结果数据往往较大,无法存放于片内存储,需要将计算结果导到片外 ...
【技术保护点】
一种神经网络切分方法,其特征在于,/n获得神经网络图,所述神经网络图用于表征一个神经网络,所述神经网络图中包括多个节点,每个节点表征所述神经网络中的一个计算单元;/n将所述神经网络图进行切分以得到深度子图;所述深度子图用于表征深度子网络,所述深度子网络包括的多个节点中各节点间通过读写片内缓冲器进行数据交互,所述深度子网络用于对由第一输入数据拆分得到的至少两组数据先后进行处理以得到第一输出数据,所述第一输入数据为所述深度子网络的输入数据,所述第一输入数据包括一个或多个计算机可处理的信号。/n
【技术特征摘要】
【国外来华专利技术】20190724 CN PCT/CN2019/097501一种神经网络切分方法,其特征在于,
获得神经网络图,所述神经网络图用于表征一个神经网络,所述神经网络图中包括多个节点,每个节点表征所述神经网络中的一个计算单元;
将所述神经网络图进行切分以得到深度子图;所述深度子图用于表征深度子网络,所述深度子网络包括的多个节点中各节点间通过读写片内缓冲器进行数据交互,所述深度子网络用于对由第一输入数据拆分得到的至少两组数据先后进行处理以得到第一输出数据,所述第一输入数据为所述深度子网络的输入数据,所述第一输入数据包括一个或多个计算机可处理的信号。
根据权利要求1所述的神经网络切分方法,其特征在于,所述方法还包括:
将所述神经网络图进行切分以得到直接子图;所述直接子图用于表征直接子网络,所述直接子网络包括的多个节点中各节点间通过读写所述片内缓冲器进行数据交互;所述直接子网络用于将第二输入数据作为一个整体进行处理以得到第二输出数据,所述第二输入数据为所述直接子网络的输入数据。
根据权利要求2所述的神经网络切分方法,其特征在于,所述第一输入数据所需占用的存储空间大于所述片内缓冲器可用的存储空间,所述至少两组数据中每组数据所需占用的存储空间均不大于所述片内缓冲器可用的存储空间,所述第二输入数据所需占用的存储空间不大于所述片内缓冲器可用的存储空间。
根据权利要求2或3所述的神经网络切分方法,其特征在于,所述深度子网络包括的多个节点中各节点在处理所述第一输入数据的过程中均至少执行两次处理操作,所述直接子网络中至少一个节点在处理所述第二输入数据的过程中执行一次处理操作。
根据权利要求2至4任一项所述的神经网络切分方法,其特征在于,所述将所述神经网络图进行切分以得到深度子图包括:
获得第一基准子图,所述第一基准子图包括第一节点和第二节点,所述第一节点为当前所述神经网络图中待分配的节点,所述第二节点为所述神经网络图中所述第一节点的下一节点;
将第三节点添加至所述第一基准子图以得到第二基准子图,所述第三节点为所述神经网络图中所述第二节点的下一节点,所述第二基准子图用于对第三输入数据进行处理;
判断在所述第二基准子图对所述第三输入数据进行处理的过程中是否成功为所述第二基准子图分配所述片内缓冲器的地址;
在成功为所述第二基准子图分配所述片内缓冲器的地址且所述第三节点属于终止节点的情况下,将所述第二基准子图作为所述深度子图。
根据权利要求5所述的神经网络切分方法,其特征在于,所述为所述第二基准子图分配所述片内缓冲器的地址之后,所述方法还包括:
在未成功为所述第二基准子图分配所述片内缓冲器的地址的情况下,将所述第一基准子图作为所述直接子图。
根据权利要求5或6所述的神经网络切分方法,其特征在于,所述第二基准子图分配所述片内缓冲器的地址包括:
在所述第二基准子图将所述第三输入数据作为一个整体进行处理的过程中,为所述第二基准子图分配所述片内缓冲器的地址;
在未成功为所述第二基准子图分配所述片内缓冲器的地址的情况下,在所述第二基准子图对由所述第三输入数据拆分得到的至少两组数据先后进行处理的过程中,为所述第二基准子图分配所述片内缓冲器的地址。
根据权利要求1至7任一项所述的神经网络切分方法,其特征在于,所述将所述神经网络图进行切分以得到深度子图之后,所述方法还包括:
在所述深度子图包括的节点的数量不小于第一阈值的情况下,将所述深度子图进行切分以得到第一二阶子图和第二二阶子图;所述第一二阶子图用于表征第一二阶子网络,所述第二二阶子图用于表征第二二阶子网络,所述第一二阶子网络和所述第二二阶子网络均包含于所述深度子网络,所述第一二阶子网络和所述第二二阶子网络包含的节点均不同。
根据权利要求8所述的神经网络切分方法,其特征在于,所述第一二阶子网络包括的多个节点中各节点间通过读写所述片内缓冲器进行数据交互,所述第二二阶子网络包括的多个节点中各节点间通过读写所述片内缓冲器进行数据交互。
根据权利要求8或9所述的神经网络切分方法,其特征在于,所述第一二阶子网络的输入数据为所述第一输入数据,所述第二二阶子网络的输出数据为所述第一输出数据,所述第一二阶子网络用于将对所述第一输入数据进行处理得到的第一中间数据存储至中间缓冲器,所述第二二阶子网络用于对从所述中间缓冲器获取的所述第一中间数据进行处理,所述中间缓冲器不为所述片内缓冲器。
根据权利要求10所述的神经网络切分方法,其特征在于,所述中间缓冲器为一个读写速度低于所述片内缓冲器的片外缓冲器。
根据权利要求8至11任一项所述的神经网络切分方法,其特征在于,所述将所述深度子图进行切分以得到第一二阶子图和第二二阶子图之后,所述方法还包括:
在所述第二二阶子网络用于将所述第一中间数据作为一个整体进行处理的情况下,合并所述第二二阶子图和第一直接子图以得到第二直接子图,所述第一直接子图用于表征第一直接子网络,所述第一直接子网络的输入数据为所述第二二阶子网络输出的所述第一输出数据,所述第一直接子网络用于将所述第一输出数据作为一个整体进行处理以得到第三输出数据,所述第二直接子图用于表征第二直接子网络,所述第二直接子网络用于将所述第一中间数据作为一个整体进行处理以得到所述第三输出数据。
根据权利要求1至12任一项所述的神经网络切分方法,其特征在于,所述将所述神经网络图进行切分以得到深度子图之后,所述方法还包括:
生成所述深度子图对应的目标指令,所述目标指令用于执行目标子任务,所述神经网络用于执行目标任务,所述目标子任务为所述目标任务的一部分。
一种基于神经网络的预测方法,其特征在于,包括:
获取原始输入数据,所述原始输入数据包括一个或多个计算机可处理的信号;
将所述原始输入数据输入至神经网络进行预测处理,得到预测结果;所述预测处理包括:将由第一输入数据拆分得到的至少两组数据先后输入至深度子网络进行处理,所述深度子网络包含于所述神经网络且包括所述神经网络中的部分节点,每个节点表征所述神经网络中的一个计算单元,所述深度子网络包括的多个节点中各节点间通过读写片内缓冲器进行数据交互;所述第一输入数据为在将所述原始输入数据输入至所述神经网络进行预测处理过程中得到的;
输出所述预测结果。
根据权利要求14所述的方法,其特征在于,所述预测处理还包括:直接子网络将第二输入数据作为一个整体进行处理,所述直接子网络包含于所述神经网络且包括所述神经网络中的部分节点,所述第二输入数据为在将所述原始输入数据输入至所述神经网络进行预测处理过程中得到的。
根据权利要求15所述的方法,其特征在于,所述第二输入数据所需占用的存储空间不大于所述片内缓冲器可用的存储空间。
根据权利要求15所述的方法,其特征在于,所述直接子网络中至少一个节点在处理所述第二输入数据的过程中执行一次处理操作。
根据权利要求14至17任一项所述的方法,其特征在于,所述第一输入数据所需占用的存储空间大于所述片内缓冲器可用的存储空间,所述至少两组数据中每组数据所需占用的存储空间均不大于所述片内缓冲器可用的存储空间。
根据权利要求18所述的方法,其特征在于,所述深度子网络包括的多个节点中各节点在处理所述第一输入数据的过程中均至少执行两次处理操作。
根据权利要求19所述的方法,其特征在于,所述深度子网络包括的多个节点的数量小于第一阈值。
根据权利要求18所述的方法,其特征在于,在将所述原始输入数据输入至所述神经网络进行预测处理,得到所述预测结果的过程中,不需要访问片外存储器。
根据权利要求14至20任一项所述的方法,其特征在于,所述预测处理还包括:第三二阶子网络对第四输入数据进行处理,得到第二中间数据;将所述第二中间数据存储至中间缓冲器,所述中间缓冲器不为所述片内缓冲器;第四二阶子网络对从所述中间缓冲器获取的所述第二中间数据进行处理,得到第四输出数据;所述第三二阶子网络和所述第四二阶子网络均包含于所述神经网络,所述第三二阶子网络包括的节点和所述第四二阶子网络包括的节点均不同,所述第四输入数据为在将所述原始输入数据输入至所述神经网络进行预测处理过程中得到的。
根据权利要求22所述的方法,其特征在于,所述第三二阶子网络包括的多个节点中各节点间通过读写所述片内缓冲器进行数据交互,所述第四二阶子网络包括的多个节点中各节点间通过读写所述片内缓冲器进行数据交互。
根据权利要求22或23所述的方法,其特征在于,所述第三二阶子网络包括的节点数量和所述第四二阶子网络包括的节点的数量均小于第一阈值。
根据权利要求24所述的方法,其特征在于,所述中间缓冲器为一个读写速度低于所述片内缓冲器的片外缓冲器。
根据权利要求14至25任一项所述的方法,其特征在于,所述多个计算机可处理的信号包括:语音信号、文本信号或图像信号中的至少一项。
一种...
【专利技术属性】
技术研发人员:储洁宇,叶德周,胡雨舟,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。