神经网络的规模拓展方法、装置、电子设备及存储介质



1.本技术涉及神经网络技术领域,特别涉及一种神经网络的规模拓展方法、装置、电子设备及存储介质。


背景技术:



2.信息时代的基础设施是集成电路电子芯片,过去几十年,集成电路工艺技术的进步是提高计算芯片性能和能效的主要措施之一。然而,随着摩尔定律和登纳德缩放比例定律放缓甚至走向终结,这一方法正在逐渐失效,计算芯片的性能和能效面临瓶颈。光具有物理空间最快的传播速度以及多维多尺度的优势,采用光子替代传统电子进行信息处理的光计算有望构建新一代高性能计算芯片,成为新一代信息产业的重要支撑。尤其随着人工智能算法的深度发展,光在介质中受限传播的物理过程在数学上的表达与深度神经网络算法具有高度的相似性,采用光电神经网络实现算术逻辑运算有望突破传统电子芯片的能效瓶颈,是实现光电计算机的重要基础。
3.相关技术通过训练可以利用神经网络实现相应的算术逻辑运算,神经网络训练的本质是网络权重参数的调优。训练过程由信号的正向传播与误差的反向传播两个过程组成。通常,在训练开始时采用对整体网络参数进行全0或随机的方式实现初始化,用于第一次信号正向传播的计算,这种方法对于面向图像识别等智能推理任务具有普适性。然而,当神经网络的训练的目标是实现算术逻辑运算时,尤其是当输入层神经元规模大,即算术逻辑运算的位宽较宽时,这种整体网络参数初始化的方法,尚未充分挖掘算术逻辑运算任务本身的可复用性,训练复杂度高,训练时间长,效率低。


技术实现要素:



4.本技术提供一种神经网络的规模拓展方法、装置、电子设备及存储介质,以解决相关技术利用整体网络参数初始化的方法,无法充分挖掘算术逻辑运算任务本身的可复用性,训练复杂度高,训练时间长,效率低等问题。
5.本技术第一方面实施例提供一种神经网络的规模拓展方法,包括以下步骤:确定目标神经网络的实际运算位宽;利用预设算术逻辑运算训练策略训练所述目标神经网络运算位宽中小于所述实际运算位宽的第一规模子网络,得到所述第一规模子网络的权重参数;将所述第一规模子网络的权重参数作为运算位宽大于所述第一规模子网络的第二规模子网络的初始权重参数,并基于所述第二规模子网络的初始权重参数训练所述第二规模子网络,并按照运算位宽由低位至高位的顺序逐级拓展网络规模,直到拓展的网络规模的运算位宽达到所述实际运算位宽,得到所述目标神经网络的初始权重参数,并利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练。
6.可选地,在本技术的一个实施例中,所述将所述第一规模子网络的权重参数作为运算位宽大于所述第一规模子网络的第二规模子网络的初始权重参数,并基于所述第二规模子网络的初始权重参数训练所述第二规模子网络,包括:将第一规模子网络的权重参数
作为所述第二规模子网络中低位运算部分对应神经网络的权重参数,并训练所述第二规模子网络中增加位宽部分对应神经网络的权重参数,得到所述第二规模子网络的权重参数。
7.可选地,在本技术的一个实施例中,在利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练之后,包括:利用训练完成的目标神经网络实现预设算术逻辑运算,其中,所述预设算术逻辑运算包括与、或、非以及组合逻辑运算、加法、减法、乘法中的一种或多种。
8.可选地,在本技术的一个实施例中,所述目标神经网络包括光学神经网络、电学神经网络和光电混合神经网络中的一种或多种。
9.本技术第二方面实施例提供一种神经网络的规模拓展装置,包括:确定模块,用于确定目标神经网络的实际运算位宽;训练模块,用于利用预设算术逻辑运算训练策略训练所述目标神经网络运算位宽中小于所述实际运算位宽的第一规模子网络,得到所述第一规模子网络的权重参数;拓展模块,用于将所述第一规模子网络的权重参数作为运算位宽大于所述第一规模子网络的第二规模子网络的初始权重参数,并基于所述第二规模子网络的初始权重参数训练所述第二规模子网络,并按照运算位宽由低位至高位的顺序逐级拓展网络规模,直到拓展的网络规模的运算位宽达到所述实际运算位宽,得到所述目标神经网络的初始权重参数,并利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练。
10.可选地,在本技术的一个实施例中,所述拓展模块,进一步用于将第一规模子网络的权重参数作为所述第二规模子网络中低位运算部分对应神经网络的权重参数,并训练所述第二规模子网络中增加位宽部分对应神经网络的权重参数,得到所述第二规模子网络的权重参数。
11.可选地,在本技术的一个实施例中,还包括:处理模块,用于在利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练之后,利用训练完成的目标神经网络实现预设算术逻辑运算,其中,所述预设算术逻辑运算包括与、或、非以及组合逻辑运算、加法、减法、乘法中的一种或多种。
12.可选地,在本技术的一个实施例中,所述目标神经网络包括光学神经网络、电学神经网络和光电混合神经网络中的一种或多种。
13.本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的神经网络的规模拓展方法。
14.本技术第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的神经网络的规模拓展方法。
15.由此,本技术至少具有如下有益效果:
16.通过确定目标神经网络的实际运算位宽,从低位宽输入的小规模神经网络开始作为大规模神经网络训练的初始值,并在训练过程中固定不变,只需要训练增加的位宽部分神经网络的权重值,直到拓展的网络规模的运算位宽达到实际运算位宽,得到目标神经网络的初始权重参数,并利用目标神经网络的初始权重参数实现目标神经网络的训练。由此,解决了相关技术利用整体网络参数初始化的方法,无法充分挖掘算术逻辑运算任务本身的可复用性,训练复杂度高,训练时间长,效率低等问题。
17.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
18.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
19.图1为根据本技术实施例提供的一种神经网络的规模拓展方法的流程图;
20.图2为根据本技术实施例提供的神经网络从低比特向高比特扩展训练示意图;
21.图3为根据本技术实施例的一种神经网络的规模拓展装置的方框示意图;
22.图4为根据本技术实施例的电子设备的结构示意图。
23.附图标记说明:确定模块-100、训练模块-200、拓展模块-300、存储器-401、处理器-402、通信接口-403。
具体实施方式
24.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
25.下面参考附图描述本技术实施例的神经网络的规模拓展方法、装置、电子设备及存储介质。针对上述背景技术中提到的问题,本技术提供了一种神经网络的规模拓展方法,在该方法中,通过确定目标神经网络的实际运算位宽,从低位宽输入的小规模神经网络开始作为大规模神经网络训练的初始值,并在训练过程中固定不变,只需要训练增加的位宽部分神经网络的权重值,直到拓展的网络规模的运算位宽达到实际运算位宽,得到目标神经网络的初始权重参数,并利用目标神经网络的初始权重参数实现目标神经网络的训练。由此,解决了相关技术利用整体网络参数初始化的方法,无法充分挖掘算术逻辑运算任务本身的可复用性,训练复杂度高,训练时间长,效率低等问题。
26.具体而言,图1为本技术实施例所提供的一种神经网络的规模拓展方法的流程示意图。
27.如图1所示,该神经网络的规模拓展方法包括以下步骤:
28.在步骤s101中,确定目标神经网络的实际运算位宽。
29.本技术实施例的高位宽算术逻辑运算的部分网络权重参数可以复用低位宽算术逻辑运算的网络权重参数作为网络训练的初始值,从而达到降低训练复杂度,减少训练时间,因此。在进行算术逻辑运算训练之前,本技术实施例首先可以确定目标神经网络的实际运算位宽。其中,目标神经网络包括但不限于光学神经网络、电学神经网络和光电混合神经网络中的一种或多种。
30.在步骤s102中,利用预设算术逻辑运算训练策略训练目标神经网络运算位宽中小于实际运算位宽的第一规模子网络,得到第一规模子网络的权重参数。
31.可以理解的是,神经网络的训练的目标是实现算术逻辑运算时,尤其是当输入层神经元规模大,即算术逻辑运算的位宽较宽时,本技术实施例可以通过将网络进行拆分成训练迭代速度较快的子网络,对目标神经网络运算位宽中小于实际运算位宽的第一规模子
网络进行训练,得到相应的权重参数。通过训练子网络,并以子网络训练得到的权重参数作为网络的初始值,并逐级增加输入层神经元个数,大幅度提升训练速度。
32.在步骤s103中,将第一规模子网络的权重参数作为运算位宽大于第一规模子网络的第二规模子网络的初始权重参数,并基于第二规模子网络的初始权重参数训练第二规模子网络,并按照运算位宽由低位至高位的顺序逐级拓展网络规模,直到拓展的网络规模的运算位宽达到实际运算位宽,得到目标神经网络的初始权重参数,并利用目标神经网络的初始权重参数实现目标神经网络的训练。
33.可以理解的是,通过训练可以利用神经网络实现相应的算术逻辑运算,神经网络训练的本质是网络权重参数的调优,本技术实施例的算术逻辑运算的神经网络不同于传统基于智能推理任务的神经网络,其高位的输入不会影响低位的输出。因此,大规模神经网络的训练初始参数可以从低位宽输入的小规模神经网络开始作为大规模神经网络训练的初始值,并在训练过程中固定不变,只需要训练增加的位宽部分神经网络的权重值,直到得到目标神经网络的初始权重参数,从而实现目标神经网络的训练,在大幅度降低训练复杂度,减少训练时间的同时,提高网络训练的效率,进而实现高能效的算术逻辑运算。
34.在本技术的一个实施例中,将第一规模子网络的权重参数作为运算位宽大于第一规模子网络的第二规模子网络的初始权重参数,并基于第二规模子网络的初始权重参数训练第二规模子网络,包括:将第一规模子网络的权重参数作为第二规模子网络中低位运算部分对应神经网络的权重参数,并训练第二规模子网络中增加位宽部分对应神经网络的权重参数,得到第二规模子网络的权重参数。
35.如图2所示,一个2比特全加器的训练,全加器的输入是b2b1和a2a1,以及进位输入c
in
,输出是s2s1和进位输出c
out
。这个网络的训练机制可以采用先训练小规模的1比特全加器,因为网络规模小可以快速得到隐藏层中实线部分神经元的权重参数。在得到1比特全加器的得到隐藏层中实线部分神经元的权重参数后,可以将此参数作为2比特全加器的神经网络下半部分隐藏层的权重参数并固定该数值,只需要训练隐藏层中虚线部分神经元的权重参数,这样相比于全部采用随机初始值的神经网络训练,可以大大减少需要优化的权重参数的数量,进而提高训练的效率。同样,可以快速训练得到3比特以及更高位宽的神经网络权重参数,相比于从随机权重初始值直接训练整个神经网络具有更高的效率。
36.在本技术的一个实施例中,在利用目标神经网络的初始权重参数实现目标神经网络的训练之后,包括:利用训练完成的目标神经网络实现预设算术逻辑运算,其中,预设算术逻辑运算包括与、或、非以及组合逻辑运算、加法、减法、乘法中的一种或多种。
37.可以理解的是,当输入层神经元规模大,即算术逻辑运算的位宽较宽时,本技术实施例可以利用训练完成的神经网络实现算术逻辑运算,从而充分挖掘算术逻辑运算任务本身的可复用性。其中,算术逻辑运算包括但不限于加法、减法、乘法、与、或、非以及基本操作的组合。
38.根据本技术实施例提出的神经网络的规模拓展方法,通过确定目标神经网络的实际运算位宽,从低位宽输入的小规模神经网络开始作为大规模神经网络训练的初始值,并在训练过程中固定不变,只需要训练增加的位宽部分神经网络的权重值,直到拓展的网络规模的运算位宽达到实际运算位宽,得到目标神经网络的初始权重参数,并利用目标神经网络的初始权重参数实现目标神经网络的训练。由此,解决了相关技术利用整体网络参数
初始化的方法,无法充分挖掘算术逻辑运算任务本身的可复用性,训练复杂度高,训练时间长,效率低等问题。
39.其次参照附图描述根据本技术实施例提出的一种神经网络的规模拓展装置。
40.图3是本技术实施例的一种神经网络的规模拓展装置的方框示意图。
41.如图3所示,该神经网络的规模拓展装置10包括:确定模块100、训练模块200和拓展模块300。
42.其中,确定模块100,用于确定目标神经网络的实际运算位宽;训练模块200,用于利用预设算术逻辑运算训练策略训练目标神经网络运算位宽中小于实际运算位宽的第一规模子网络,得到第一规模子网络的权重参数;拓展模块300,用于将第一规模子网络的权重参数作为运算位宽大于第一规模子网络的第二规模子网络的初始权重参数,并基于第二规模子网络的初始权重参数训练第二规模子网络,并按照运算位宽由低位至高位的顺序逐级拓展网络规模,直到拓展的网络规模的运算位宽达到实际运算位宽,得到目标神经网络的初始权重参数,并利用目标神经网络的初始权重参数实现目标神经网络的训练。
43.在本技术的一个实施例中,拓展模块300,进一步用于将第一规模子网络的权重参数作为第二规模子网络中低位运算部分对应神经网络的权重参数,并训练第二规模子网络中增加位宽部分对应神经网络的权重参数,得到第二规模子网络的权重参数。
44.在本技术的一个实施例中,本技术实施例的装置10,还包括:处理模块,用于在利用目标神经网络的初始权重参数实现目标神经网络的训练之后,利用训练完成的目标神经网络实现预设算术逻辑运算,其中,预设算术逻辑运算包括与、或、非以及组合逻辑运算、加法、减法、乘法中的一种或多种。
45.在本技术的一个实施例中,目标神经网络包括光学神经网络、电学神经网络和光电混合神经网络中的一种或多种。
46.需要说明的是,前述对神经网络的规模拓展方法实施例的解释说明也适用于该实施例的神经网络的规模拓展装置,此处不再赘述。
47.根据本技术实施例提出的神经网络的规模拓展装置,通过确定目标神经网络的实际运算位宽,从低位宽输入的小规模神经网络开始作为大规模神经网络训练的初始值,并在训练过程中固定不变,只需要训练增加的位宽部分神经网络的权重值,直到拓展的网络规模的运算位宽达到实际运算位宽,得到目标神经网络的初始权重参数,并利用目标神经网络的初始权重参数实现目标神经网络的训练。由此,解决了相关技术利用整体网络参数初始化的方法,无法充分挖掘算术逻辑运算任务本身的可复用性,训练复杂度高,训练时间长,效率低等问题。
48.图4为本技术实施例提供的电子设备的结构示意图。该电子设备可以包括:
49.存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序。
50.处理器402执行程序时实现上述实施例中提供的神经网络的规模拓展方法。
51.进一步地,电子设备还包括:
52.通信接口403,用于存储器401和处理器402之间的通信。
53.存储器401,用于存放可在处理器402上运行的计算机程序。
54.存储器401可能包含高速ram(random access memory,随机存取存储器)存储器,
也可能还包括非易失性存储器,例如至少一个磁盘存储器。
55.如果存储器401、处理器402和通信接口403独立实现,则通信接口403、存储器401和处理器402可以通过总线相互连接并完成相互间的通信。总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component,外部设备互连)总线或eisa(extended industry standard architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
56.可选的,在具体实现上,如果存储器401、处理器402及通信接口403,集成在一块芯片上实现,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
57.处理器402可能是一个cpu(central processing unit,中央处理器),或者是asic(application specific integrated circuit,特定集成电路),或者是被配置成实施本技术实施例的一个或多个集成电路。
58.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的神经网络的规模拓展方法。
59.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
60.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
61.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制算术逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
62.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
63.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
64.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:


1.一种神经网络的规模拓展方法,其特征在于,包括以下步骤:确定目标神经网络的实际运算位宽;利用预设算术逻辑运算训练策略训练所述目标神经网络运算位宽中小于所述实际运算位宽的第一规模子网络,得到所述第一规模子网络的权重参数;将所述第一规模子网络的权重参数作为运算位宽大于所述第一规模子网络的第二规模子网络的初始权重参数,并基于所述第二规模子网络的初始权重参数训练所述第二规模子网络,并按照运算位宽由低位至高位的顺序逐级拓展网络规模,直到拓展的网络规模的运算位宽达到所述实际运算位宽,得到所述目标神经网络的初始权重参数,并利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练。2.根据权利要求1所述的方法,其特征在于,所述将所述第一规模子网络的权重参数作为运算位宽大于所述第一规模子网络的第二规模子网络的初始权重参数,并基于所述第二规模子网络的初始权重参数训练所述第二规模子网络,包括:将第一规模子网络的权重参数作为所述第二规模子网络中低位运算部分对应神经网络的权重参数,并训练所述第二规模子网络中增加位宽部分对应神经网络的权重参数,得到所述第二规模子网络的权重参数。3.根据权利要求1所述的方法,其特征在于,在利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练之后,包括:利用训练完成的目标神经网络实现预设算术逻辑运算,其中,所述预设算术逻辑运算包括与、或、非以及组合逻辑运算、加法、减法、乘法中的一种或多种。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述目标神经网络包括光学神经网络、电学神经网络和光电混合神经网络中的一种或多种。5.一种神经网络的规模拓展装置,其特征在于,包括:确定模块,用于确定目标神经网络的实际运算位宽;训练模块,用于利用预设算术逻辑运算训练策略训练所述目标神经网络运算位宽中小于所述实际运算位宽的第一规模子网络,得到所述第一规模子网络的权重参数;拓展模块,用于将所述第一规模子网络的权重参数作为运算位宽大于所述第一规模子网络的第二规模子网络的初始权重参数,并基于所述第二规模子网络的初始权重参数训练所述第二规模子网络,并按照运算位宽由低位至高位的顺序逐级拓展网络规模,直到拓展的网络规模的运算位宽达到所述实际运算位宽,得到所述目标神经网络的初始权重参数,并利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练。6.根据权利要求5所述的装置,其特征在于,所述拓展模块,进一步用于:将第一规模子网络的权重参数作为所述第二规模子网络中低位运算部分对应神经网络的权重参数,并训练所述第二规模子网络中增加位宽部分对应神经网络的权重参数,得到所述第二规模子网络的权重参数。7.根据权利要求5所述的装置,其特征在于,还包括:处理模块,用于在利用所述目标神经网络的初始权重参数实现所述目标神经网络的训练之后,利用训练完成的目标神经网络实现预设算术逻辑运算,其中,所述预设算术逻辑运算包括与、或、非以及组合逻辑运算、加法、减法、乘法中的一种或多种。8.根据权利要求5-7任意一项所述的装置,其特征在于,所述目标神经网络包括光学神
经网络、电学神经网络和光电混合神经网络中的一种或多种。9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-4任一项所述的神经网络的规模拓展方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-4任一项所述的神经网络的规模拓展方法。

技术总结


本申请涉及神经网络技术领域,特别涉及一种神经网络的规模拓展方法、装置、电子设备及存储介质,其中,方法包括:确定目标神经网络的实际运算位宽;利用算术逻辑运算训练策略训练目标神经网络运算位宽中小于实际运算位宽的第一规模子网络,得到的权重参数作为运算位宽大于第一规模子网络的第二规模子网络的初始权重参数,训练第二规模子网络,并按照运算位宽由低位至高位的顺序逐级拓展网络规模,直到网络规模的运算位宽达到实际运算位宽,得到目标神经网络的初始权重参数,实现对目标神经网络的训练。由此,解决了相关技术利用整体网络参数初始化的方法,无法充分挖掘算术逻辑运算任务本身的可复用性,训练复杂度高,训练时间长,效率低等问题。效率低等问题。效率低等问题。


技术研发人员:

邓辰辰 郑纪元 王钰言 林珠 吴嘉敏 范静涛 方璐 戴琼海

受保护的技术使用者:

清华大学

技术研发日:

2022.09.05

技术公布日:

2022/11/18

本文发布于:2024-09-20 15:34:57,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/3213.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:神经网络   权重   所述   规模
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议