选择特殊符号
选择搜索类型
请输入搜索
《神经网络模型压缩方法以及装置》涉及计算机技术领域,尤其涉及一种神经网络模型压缩方法以及装置 。
2016年前,深度神经网络随着训练数据的增加,为了更好学习训练数据的特征以提升效果,相应用于表示模型的参数迅速增长,于是计算资源的消耗也迅速增长,而这样会制约了深度神经网络的应用场景,如手机等计算资源有限的设备。
相关技术中,通常是通过对神经网络模型进行量化压缩的方式,来减少模型的大小。2016年前,神经网络模型压缩方法通常有以下两种:1)基于半精度的压缩方法,其原理是将神经网络模型中利用32bit(位)表示的浮点数,压缩到用16bit表示;2)基于随机采样的量化方法,即通过在神经网络模型中采样寻找量化点,再通过寻找到的量化点进行量化压缩;3)基于线性的量化方法,即对神经网络模型的参数的值域进行平均分割,来寻找量化点,再通过量化点进行量化压缩。
2016年前存在的问题是:上述基于半精度的压缩方法仅是对浮点数压缩到16bit,使得压缩的大小有限;上述基于随机采样的量化方法,由于采样带有随机性,使得随机采样的采样点会落波峰附近,而重要的、数值大的元素采样可能不足;上述基于线性的量化方法中,线性量化将大权值和小权值平均对待,没有在数据分布密集的地方更多地采样,导致模型数据损失较大,压缩效果差 。
图1是根据《神经网络模型压缩方法以及装置》一个实施例的神经网络模型压缩方法的流程图;
图2是根据《神经网络模型压缩方法以及装置》一个实施例的神经网络模型压缩方法的流程图;
图3是根据《神经网络模型压缩方法以及装置》一个实施例的神经网络模型压缩装置的结构示意图;
图4是根据《神经网络模型压缩方法以及装置》一个具体实施例的神经网络模型压缩装置的结构示意图;
图5是根据《神经网络模型压缩方法以及装置》另一个具体实施例的神经网络模型压缩装置的结构示意图;
图6是根据《神经网络模型压缩方法以及装置》又一个具体实施例的神经网络模型压缩装置的结构示意图 。
|
|
|
|
一. 目标: 组成家庭局域网:对外,可以连接Internet,允许局域网内的各个计算机共享连接。对内,可以共享网络资源和设备。  ...
首先点击开始,然后选择“控制面板”。 控制面板里面选择“网络和Internet”。然后选择“网络和共享中心”。 弹出的对话框中找到“查看活动网络”这几个字下面是您刚刚连接的网络名称,紧接着下面就是“公...
1.电视是否可以直接使用网络电视功能?如果可以正常使用的,那就把宽带的网线接到电视机上,这样就可以正常使用网络电视功能(这与机顶盒子没有关系)。 2。您有了双向数字机顶盒,您...
2021年6月24日,《神经网络模型压缩方法以及装置》获得第二十二届中国专利优秀奖 。2100433B
图1是根据《神经网络模型压缩方法以及装置》一个实施例的神经网络模型压缩方法的流程图。《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩方法可应用于《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩装置中。
《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩方法是针对已经训练收敛的神经网络模型的参数进行压缩。如图1所示,该神经网络模型压缩方法可以包括:
S110,针对神经网络模型中的每一个神经元层,确定每个神经元层的模型参数集合,其中,模型参数集合包含多个模型参数。需要说明的是,由于对于神经网络的每个layer(神经元层)的压缩方法是一样的,所以《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩方法仅是示出了对神经网络模型中的一个layer(神经元层)进行了描述,可以理解,神经网络模型的其他神经元层也可通过该神经网络模型压缩方法来实现量化压缩的目的。其中,上述神经元层可以是神经网络中的输入层、输出层和隐含层中的任意一个,也可以是神经网络中隐含层的任一个神经元层,在此不做具体限定。具体地,对于神经网络模型中的每一个神经元层,可找出该神经元层中的所有模型参数,并将这些模型参数用集合方式进行表示,得到该神经元层的模型参数集合。
S120,对多个模型参数进行第一变换以生成多个中间参数。为了实现对神经网络模型中的参数进行量化压缩的目的,《神经网络模型压缩方法以及装置》可先对模型参数进行第一变换,以使模型参数变换成浮点数。可以理解,将模型参数变换成浮点数的方式有很多种,例如,该第一变换可以是LOG对数变换、正弦函数正切函数等。优选地,在《神经网络模型压缩方法以及装置》的实施例中,该第一变换为LOG对数变换。为了能够在后续实际应用中,能够对压缩的数据进行解压以实现正常使用的目的,在后续还需对压缩后的参数值进行第二变换,使其变换为原数据类型,即可以理解,即第一变换和第二变换可以是任一种函数,只需第二变换与第一变换互为正反函数。优选地,该第一变换为LOG变换,第二变换为指数变换。例如,以第一变换为LOG变换为例,假设模型参数集合为M,xi是M中的元素,即xi是模型参数集合中的第i个模型参数,可分别对模型参数集合M中的每个模型参数进行LOG变换,得到LOG参数集合L,该LOG参数集合L中的元素即为上述的中间参数。其中,可通过以下公式(1)实现对模型参数集合M中的元素xi进行LOG变换:yi=log(|xi|)(1)其中,yi为中间参数,yi∈L。
S130,根据预设的量化步长对多个中间参数进行量化,得到多个量化参数。具体地,可通过预设的量化公式,分别将每个中间参数量化到间隔为该预设的量化步长的数轴上并取整,得到该中间参数对应的量化参数的值。其中,上述预设的量化步长可以是根据实际需求决定的,也可以是根据实际试验而得到的经验值,例如,该预设的量化步长可为0.125。其中,在《神经网络模型压缩方法以及装置》的实施例中,上述预设的量化公式可为:
其中,qi为第i个量化参数的值,第i个量化参数是由第i个中间参数进行量化后得到的,yi为第i个中间参数,第i个中间参数是由第i个模型参数进行第一变换后得到的,l为预设的量化步长,round()为取整函数。
S140,根据预设的量化位数,从多个量化参数中选取多个采样量化点。具体地,可根据多个量化参数的值,对多个量化参数进行降序排列,并根据预设的量化位数确定目标个数,之后,从降序排列后的多个量化参数中,选取排列在前目标个数的量化参数,最后,将排列在前目标个数的量化参数作为多个采样量化点。作为一种示例,上述目标个数可为2b-1,其中,b为预设的量化位数。其中,上述预设的量化位数可以是根据实际需求决定的,也可以是根据实际试验而得到的经验值,例如,该预设的量化位数可为8。也就是说,可对多个量化参数的值进行从大到小排序,并从排序后的多个量化参数的值中,选取排列靠前目标个数(如Top2b-1)的值,将这些排列靠前Top2b-1的值所对应的量化参数作为采样量化点。
S150,根据多个量化参数的值和多个采样量化点,生成多个模型参数的量化值。具体而言,在《神经网络模型压缩方法以及装置》的一个实施例中,可针对第i个量化参数,分别计算第i个量化参数的值与每个采样量化点之间的差值的平方值,之后,从多个平方值中选取最小值,并确定多个平方值中最小值所对应的采样量化点的标识值,当第i模型参数的值为正数时,将标识值作为第i模型参数的量化值;当第i模型参数的值为负数时,计算标识值与目标个数之间的和值,并将和值作为第i模型参数的量化值。举例而言,遍历模型参数集合M的元素xi,通过上述得到的该元素xi所对应的量化。参数的值,查找多个采样量化点,使得满足以下公式(3):id=argjminj(qi-log_dict[j])2(3)其中,qi为元素xi所对应的量化参数的值,log_dict[j]为第j采样量化点的值,id为上述标识值。在获得该标识值之后,需判断该元素xi是正数还是负数,当该元素xi为正数时,该标识值即为第i模型参数的量化值;当该元素xi为负数时,可计算该标识值与目标个数之间的和值,如id=id=2b-1,并将该和值作为第i模型参数的量化值。可以看出,《神经网络模型压缩方法以及装置》通过将原神经网络模型的模型参数用量化点的值(实际上是量化点的id)来代替,最终,这里的id是一个0~2b-1的数,只需用b个bit(位)保存即可,达到了压缩的目的。
S160,根据量化值对多个模型参数进行压缩存储。也就是说,在得到每个模型参数的量化值之后,可根据每个模型参数的量化值,对每个模型参数进行压缩存储,以达到压缩的目的。
综上,《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩方法,关键在于量化点的选取,首先是通过第一变换(如LOG变换)将模型参数变换到LOG域,再对该LOG域上的数值选取采样量化点,然后,将原神经网络模型的模型参数用采样量化点的值(即采样量化点的id)来代替,最终得到模型参数的取值只在采样量化点集合之内的量化模型,最后,再经过压缩存储达到压缩的目的。
《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩方法,针对神经网络模型中的每一个神经元层,确定每个神经元层的模型参数集合,其中,模型参数集合包含多个模型参数,之后,对多个模型参数进行第一变换以生成多个中间参数,并根据预设的量化步长对多个中间参数进行量化,得到多个量化参数,然后,根据预设的量化位数,从多个量化参数中选取多个采样量化点,之后,根据多个量化参数的值和多个采样量化点,生成多个模型参数的量化值,最后,根据量化值对多个模型参数进行压缩存储。即根据需要压缩的数据调节量化步长,并根据预设的量化位数,从排列在多个量化参数的靠前位置开始采取采样量化点,可以更加充分的对压缩数据进行采样,更好地保留重要的权值信息,更好地保持模型效果,大大减少了神经网络模型的大小,减少了计算资源,特别是减少了内存资源的占用。
图2是根据《神经网络模型压缩方法以及装置》另一个实施例的神经网络模型压缩方法的流程图。为了提高《神经网络模型压缩方法以及装置》的可用性以及可行性,在《神经网络模型压缩方法以及装置》的实施例中,在对模型参数进行压缩的过程中,还可根据预设的变换模型对多个采样量化点的值进行第二变换,并将经过第二变换后的多个采样量化点的值进行组合以形成量化字典,使得在需要使用模型参数时,可通过查找该量化字典即可得出该模型参数的原始值。具体地,如图2所示,该神经网络模型压缩方法可以包括:
S210,针对神经网络模型中的每一个神经元层,确定每个神经元层的模型参数集合,其中,模型参数集合包含多个模型参数。
S220,对多个模型参数进行第一变换以生成多个中间参数。
S230,根据预设的量化步长对多个中间参数进行量化,得到多个量化参数。
S240,根据预设的量化位数,从多个量化参数中选取多个采样量化点。
具体地,可根据多个量化参数的值,对多个量化参数进行降序排列,并根据预设的量化位数确定目标个数,之后,从降序排列后的多个量化参数中,选取排列在前目标个数的量化参数,最后,将排列在前目标个数的量化参数作为多个采样量化点。作为一种示例,上述目标个数可为2b-1,其中,b为预设的量化位数。
S250,根据多个量化参数的值和多个采样量化点,生成多个模型参数的量化值。具体而言,在《神经网络模型压缩方法以及装置》的一个实施例中,可针对第i个量化参数,分别计算第i个量化参数的值与每个采样量化点之间的差值的平方值,之后,从多个平方值中选取最小值,并确定多个平方值中最小值所对应的采样量化点的标识值,当第i模型参数的值为正数时,将标识值作为第i模型参数的量化值;当第i模型参数的值为负数时,计算标识值与目标个数之间的和值,并将和值作为第i模型参数的量化值。
S260,根据量化值对多个模型参数进行压缩存储。
S270,对多个采样量化点的值进行第二变换以生成量化字典,并存储量化字典。作为一种示例,,该第二变换可为指数变换。具体而言,在《神经网络模型压缩方法以及装置》的一个实施例中,可根据预设的变换模型对多个采样量化点的值进行第二变换,并将经过第二变换后的多个采样量化点的值进行组合以形成量化字典。其中,在《神经网络模型压缩方法以及装置》的实施例中,该预设的变换模型可为:
其中,quant_dict[i]为量化字典中第i的元素,b为预设的量化位数,2b-1为目标个数,exp()为指数变换,log_dict[i]为多个采样量化点中第i元素的值。举例而言,以2b-1个采样量化点为例,可对每个采样量化点的值进行指数变换,并将指数变换结果加上正负号,得到2b个量化权值组成的量化字典quant_dict,使得量化字典中的每个元素满足以上式(4)。
可选地,上述步骤S270可以是在上述步骤S240之后被执行,也可以是在步骤S260被执行时,执行该步骤S270,即可在根据量化值对多个模型参数进行压缩存储时,可也对多个采样量化点的值进行第二变换以生成量化字典,并存储该量化字典,具体执行顺序不做具体限制,只要能够被《神经网络模型压缩方法以及装置》的实施例所属技术领域的技术人员所理解,实现神经网络模型压缩的目的即可。
S280,当检测需要使用多个模型参数时,根据多个模型参数的量化值和存储的量化字典获取多个模型参数的原始值。具体地,可根据量化值对多个模型参数进行压缩存储,并可将量化字典进行存储,这样,在监测到需要使用神经网络模型中的模型参数时,可根据该模型参数的量化值查找已存储的量化字典,即可得到该模型参数的原始值。可以理解,压缩存储的思想就是只存储有限(如2b)个采样量化点的量化权值组成的量化字典,然后,神经网络模型的模型参数使用采样量化点的id来表示,在检测到需要使用神经网络模型中的模型参数时,通过查找该量化字典即可得到该模型参数的原始值。其中,量化字典的大小可以忽略,例如,当量化字典大小为256时,量化后的神经网络模型保存模型参数的量化值id只需要用8bit表示即可,而原来的单精度浮点数却需要32bit,这样可以达到压缩的目的。《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩方法,在对模型参数进行压缩的过程中,还可根据预设的变换模型对多个采样量化点的值进行第二变换,并将经过第二变换后的多个采样量化点的值进行组合以形成量化字典,使得在需要使用模型参数时,可通过查找该量化字典即可得出该模型参数的原始值,提高了《神经网络模型压缩方法以及装置》的可用性以及可行性。与上述几种实施例提供的神经网络模型压缩方法相对应,《神经网络模型压缩方法以及装置》的一种实施例还提供一种神经网络模型压缩装置,由于《神经网络模型压缩方法以及装置》实施例提供的神经网络模型压缩装置与上述几种实施例提供的神经网络模型压缩方法相对应,因此在前述神经网络模型压缩方法的实施方式也适用于该实施例提供的神经网络模型压缩装置,在该实施例中不再详细描述。图3是根据《神经网络模型压缩方法以及装置》一个实施例的神经网络模型压缩装置的结构示意图。如图3所示,该神经网络模型压缩装置可以包括:确定模块310、第一变换模块320、量化模块330、采样模块340、生成模块350和压缩模块360。
具体地,确定模块310可用于针对神经网络模型中的每一个神经元层,确定每个神经元层的模型参数集合,其中,模型参数集合包含多个模型参数。第一变换模块320可用于对多个模型参数进行第一变换以生成多个中间参数。量化模块330可用于根据预设的量化步长对多个中间参数进行量化,得到多个量化参数。具体而言,在《神经网络模型压缩方法以及装置》的一个实施例中,该量化模块330根据预设的量化步长对多个中间参数进行量化,得到多个量化参数的具体实现过程可如下:针对每个中间参数,将每个中间参数量化至间隔为预设的量化步长的数轴上并取整,得到每个中间参数对应的量化参数。采样模块340可用于根据预设的量化位数,从多个量化参数中选取多个采样量化点。作为一种示例,如图4所示,该采样模块340可包括:排练单元341、确定单元342、选取单元343和获取单元344。其中,排练单元341用于根据多个量化参数的值,对多个量化参数进行降序排列。确定单元342用于根据预设的量化位数确定目标个数。选取单元343用于从降序排列后的多个量化参数中,选取排列在前目标个数的量化参数。获取单元344用于将排列在前目标个数的量化参数作为多个采样量化点。生成模块350可用于根据多个量化参数的值和多个采样量化点,生成多个模型参数的量化值。作为一种示例,如图5所示,该生成模块350可以包括:计算单元351、确定单元352和生成单元353。其中,计算单元351可用于针对第i个量化参数,分别计算第i个量化参数的值与每个采样量化点之间的差值的平方值。确定单元352可用于从多个平方值中选取最小值,并确定多个平方值中最小值所对应的采样量化点的标识值。生成单元353可用于在第i模型参数的值为正数时,将标识值作为第i模型参数的量化值,并在第i模型参数的值为负数时,计算标识值与目标个数之间的和值,并将和值作为第i模型参数的量化值。压缩模块360可用于根据量化值对多个模型参数进行压缩存储。
为了提高《神经网络模型压缩方法以及装置》的可用性以及可行性,进一步地,在《神经网络模型压缩方法以及装置》的一个实施例中,如图6所示,该神经网络模型压缩装置还可包括:第二变换模块370、存储模块380和解压模块390。其中,第二变换模块370可用于对多个采样量化点的值进行第二变换以生成量化字典。存储模块380可用于存储量化字典。解压模块390可用于在检测需要使用多个模型参数时,根据多个模型参数的量化值和存储的量化字典获取多个模型参数的原始值。其中,在《神经网络模型压缩方法以及装置》的实施例中,第一变换为对数LOG变换,第二变换为指数变换 。
作为一种示例,第二变换模块370对多个采样量化点的值进行第二变换以生成量化字典的具体实现过程可如下:根据预设的变换模型对多个采样量化点的值进行第二变换,并将经过第二变换后的多个采样量化点的值进行组合以形成量化字典。其中,在《神经网络模型压缩方法以及装置》的实施例中,预设的变换模型为:[0088]quant_dict[i]=-1*quant_dict[i 2b-1][0089]quant_dict[i]=exp(log_dict[i])[0090]其中,quant_dict[i]为量化字典中第i的元素,b为预设的量化位数,2b-1为目标个数,exp()为指数变换,log_dict[i]为多个采样量化点中第i元素的值。
《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩装置,可通过确定模块针对神经网络模型中的每一个神经元层,确定每个神经元层的模型参数集合,其中,模型参数集合包含多个模型参数,第一变换模块对多个模型参数进行第一变换以生成多个中间参数,量化模块根据预设的量化步长对多个中间参数进行量化,得到多个量化参数,采样模块根据预设的量化位数,从多个量化参数中选取多个采样量化点,生成模块根据多个量化参数的值和多个采样量化点,生成多个模型参数的量化值,压缩模块根据量化值对多个模型参数进行压缩存储。即根据需要压缩的数据调节量化步长,并根据预设的量化位数,从排列在多个量化参数的靠前位置开始采取采样量化点,可以更加充分的对压缩数据进行采样,更好地保留重要的权值信息,更好地保持模型效果,大大减少了神经网络模型的大小,减少了计算资源,特别是减少了内存资源的占用。
在《神经网络模型压缩方法以及装置》的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在《神经网络模型压缩方法以及装置》的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在该说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于《神经网络模型压缩方法以及装置》的至少一个实施例或示例中。在该说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,该领域的技术人员可以将该说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且《神经网络模型压缩方法以及装置》的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被《神经网络模型压缩方法以及装置》的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就该说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
《神经网络模型压缩方法以及装置》的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用该领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等 。
该技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在《神经网络模型压缩方法以及装置》各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述实施例是示例性的,不能理解为对《神经网络模型压缩方法以及装置》的限制,该领域的普通技术人员在《神经网络模型压缩方法以及装置》的范围内可以对上述实施例进行变化、修改、替换和变型 。
《神经网络模型压缩方法以及装置》的第一个目的在于提出一种神经网络模型压缩方法。该方法可以更好地保持模型效果,大大减少了神经网络模型的大小,减少了计算资源,特别是减少了内存资源的占用。
《神经网络模型压缩方法以及装置》的第二个目的在于提出一种神经网络模型压缩装置。
《神经网络模型压缩方法以及装置》的第三个目的在于提出一种非临时性计算机可读存储介质。
《神经网络模型压缩方法以及装置》的第四个目的在于提出一种计算机程序产品 。
《神经网络模型压缩方法以及装置》第一方面实施例提出的神经网络模型压缩方法,包括:针对神经网络模型中的每一个神经元层,确定所述每个神经元层的模型参数集合,其中,所述模型参数集合包含多个模型参数;对所述多个模型参数进行第一变换以生成多个中间参数;根据预设的量化步长对所述多个中间参数进行量化,得到多个量化参数;根据预设的量化位数,从所述多个量化参数中选取多个采样量化点;根据所述多个量化参数的值和所述多个采样量化点,生成所述多个模型参数的量化值;根据所述量化值对所述多个模型参数进行压缩存储。
《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩方法,针对神经网络模型中的每一个神经元层,确定每个神经元层的模型参数集合,其中,模型参数集合包含多个模型参数,之后,对多个模型参数进行第一变换以生成多个中间参数,并根据预设的量化步长对多个中间参数进行量化,得到多个量化参数,然后,根据预设的量化位数,从多个量化参数中选取多个采样量化点,之后,根据多个量化参数的值和多个采样量化点,生成多个模型参数的量化值,最后,根据量化值对多个模型参数进行压缩存储。即根据需要压缩的数据调节量化步长,并根据预设的量化位数,从排列在多个量化参数的靠前位置开始采取采样量化点,可以更加充分的对压缩数据进行采样,更好地保留重要的权值信息,更好地保持模型效果,大大减少了神经网络模型的大小,减少了计算资源,特别是减少了内存资源的占用。
《神经网络模型压缩方法以及装置》第二方面实施例提出的神经网络模型压缩装置,包括:确定模块,用于针对神经网络模型中的每一个神经元层,确定所述每个神经元层的模型参数集合,其中,所述模型参数集合包含多个模型参数;第一变换模块,用于对所述多个模型参数进行第一变换以生成多个中间参数;量化模块,用于根据预设的量化步长对所述多个中间参数进行量化,得到多个量化参数;采样模块,用于根据预设的量化位数,从所述多个量化参数中选取多个采样量化点;生成模块,用于根据所述多个量化参数的值和所述多个采样量化点,生成所述多个模型参数的量化值;压缩模块,用于根据所述量化值对所述多个模型参数进行压缩存储。
《神经网络模型压缩方法以及装置》实施例的神经网络模型压缩装置,可通过确定模块针对神经网络模型中的每一个神经元层,确定每个神经元层的模型参数集合,其中,模型参数集合包含多个模型参数,第一变换模块对多个模型参数进行第一变换以生成多个中间参数,量化模块根据预设的量化步长对多个中间参数进行量化,得到多个量化参数,采样模块根据预设的量化位数,从多个量化参数中选取多个采样量化点,生成模块根据多个量化参数的值和多个采样量化点,生成多个模型参数的量化值,压缩模块根据量化值对多个模型参数进行压缩存储。即根据需要压缩的数据调节量化步长,并根据预设的量化位数,从排列在多个量化参数的靠前位置开始采取采样量化点,可以更加充分的对压缩数据进行采样,更好地保留重要的权值信息,更好地保持模型效果,大大减少了神经网络模型的大小,减少了计算资源,特别是减少了内存资源的占用。
《神经网络模型压缩方法以及装置》第三方面实施例提出的非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器被执行时,使得电子设备能够执行一种神经网络模型压缩方法,所述方法包括:针对神经网络模型中的每一个神经元层,确定所述每个神经元层的模型参数集合,其中,所述模型参数集合包含多个模型参数;对所述多个模型参数进行第一变换以生成多个中间参数;根据预设的量化步长对所述多个中间参数进行量化,得到多个量化参数;根据预设的量化位数,从所述多个量化参数中选取多个采样量化点;根据所述多个量化参数的值和所述多个采样量化点,生成所述多个模型参数的量化值;根据所述量化值对所述多个模型参数进行压缩存储。
《神经网络模型压缩方法以及装置》第四方面实施例提出的计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种神经网络模型压缩方法,所述方法包括:针对神经网络模型中的每一个神经元层,确定所述每个神经元层的模型参数集合,其中,所述模型参数集合包含多个模型参数;对所述多个模型参数进行第一变换以生成多个中间参数;根据预设的量化步长对所述多个中间参数进行量化,得到多个量化参数;根据预设的量化位数,从所述多个量化参数中选取多个采样量化点;根据所述多个量化参数的值和所述多个采样量化点,生成所述多个模型参数的量化值;根据所述量化值对所述多个模型参数进行压缩存储。
《神经网络模型压缩方法以及装置》附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过《神经网络模型压缩方法以及装置》的实践了解到 。
1.一种神经网络模型压缩方法,其特征在于,包括以下步骤:针对神经网络模型中的每一个神经元层,确定所述每个神经元层的模型参数集合,其中,所述模型参数集合包含多个模型参数;对所述多个模型参数进行第一变换以生成多个中间参数;根据预设的量化步长对所述多个中间参数进行量化,得到多个量化参数;根据预设的量化位数,从所述多个量化参数中选取多个采样量化点;根据所述多个量化参数的值和所述多个采样量化点,生成所述多个模型参数的量化值;根据所述量化值对所述多个模型参数进行压缩存储。
2.如权利要求1所述的方法,其特征在于,所述根据预设的量化位数,从所述多个量化参数中选取多个采样量化点,包括:根据所述多个量化参数的值,对所述多个量化参数进行降序排列;根据所述预设的量化位数确定目标个数;从所述降序排列后的多个量化参数中,选取排列在前所述目标个数的量化参数;将所述排列在前所述目标个数的量化参数作为所述多个采样量化点。
3.如权利要求1所述的方法,其特征在于,所述根据预设的量化步长对所述多个中间参数进行量化,得到多个量化参数,包括:针对每个中间参数,将所述每个中间参数量化至间隔为所述预设的量化步长的数轴上并取整,得到所述每个中间参数对应的量化参数。
4.如权利要求2所述的方法,其特征在于,所述根据所述多个量化参数的值和所述多个采样量化点,生成所述多个模型参数的量化值,包括:针对第i个量化参数,分别计算所述第i个量化参数的值与每个采样量化点之间的差值的平方值;从多个所述平方值中选取最小值,并确定所述多个所述平方值中最小值所对应的采样量化点的标识值;当所述第i模型参数的值为正数时,将所述标识值作为所述第i模型参数的量化值;当所述第i模型参数的值为负数时,计算所述标识值与所述目标个数之间的和值,并将所述和值作为所述第i模型参数的量化值。
5.如权利要求1所述的方法,其特征在于,还包括:对所述多个采样量化点的值进行第二变换以生成量化字典,并存储所述量化字典;当检测需要使用所述多个模型参数时,根据所述多个模型参数的量化值和所述存储的量化字典获取所述多个模型参数的原始值。
6.如权利要求5所述的方法,其特征在于,其中,所述第一变换为对数LOG变换;所述第二变换为指数变换。
7.如权利要求6所述的方法,其特征在于,所述对所述多个采样量化点的值进行第二变换以生成量化字典,包括:根据预设的变换模型对所述多个采样量化点的值进行第二变换,并将经过所述第二变换后的多个采样量化点的值进行组合以形成所述量化字典。
8.一种神经网络模型压缩装置,其特征在于,包括:确定模块,用于针对神经网络模型中的每一个神经元层,确定所述每个神经元层的模型参数集合,其中,所述模型参数集合包含多个模型参数;第一变换模块,用于对所述多个模型参数进行第一变换以生成多个中间参数;量化模块,用于根据预设的量化步长对所述多个中间参数进行量化,得到多个量化参数;采样模块,用于根据预设的量化位数,从所述多个量化参数中选取多个采样量化点;生成模块,用于根据所述多个量化参数的值和所述多个采样量化点,生成所述多个模型参数的量化值;压缩模块,用于根据所述量化值对所述多个模型参数进行压缩存储。
9.如权利要求8所述的装置,其特征在于,所述采样模块包括:排练单元,用于根据所述多个量化参数的值,对所述多个量化参数进行降序排列;确定单元,用于根据所述预设的量化位数确定目标个数;选取单元,用于从所述降序排列后的多个量化参数中,选取排列在前所述目标个数的量化参数;获取单元,用于将所述排列在前所述目标个数的量化参数作为所述多个采样量化点。
10.如权利要求8所述的装置,其特征在于,所述量化模块具体用于:针对每个中间参数,将所述每个中间参数量化至间隔为所述预设的量化步长的数轴上并取整,得到所述每个中间参数对应的量化参数。
11.如权利要求9所述的装置,其特征在于,所述生成模块包括:计算单元,用于针对第i个量化参数,分别计算所述第i个量化参数的值与每个采样量化点之间的差值的平方值;确定单元,用于从多个所述平方值中选取最小值,并确定所述多个所述平方值中最小值所对应的采样量化点的标识值;生成单元,用于在所述第i模型参数的值为正数时,将所述标识值作为所述第i模型参数的量化值,并在所述第i模型参数的值为负数时,计算所述标识值与所述目标个数之间的和值,并将所述和值作为所述第i模型参数的量化值。
12.如权利要求8所述的装置,其特征在于,还包括:第二变换模块,用于对所述多个采样量化点的值进行第二变换以生成量化字典;存储模块,用于存储所述量化字典;解压模块,用于在检测需要使用所述多个模型参数时,根据所述多个模型参数的量化值和所述存储的量化字典获取所述多个模型参数的原始值。
13.如权利要求12所述的装置,其特征在于,其中,所述第一变换为对数LOG变换;所述第二变换为指数变换。
14.如权利要求13所述的装置,其特征在于,所述第二变换模块具体用于:根据预设的变换模型对所述多个采样量化点的值进行第二变换,并将经过所述第二变换后的多个采样量化点的值进行组合以形成所述量化字典 。
造价估测方法的研究和BP神经网络模型的应用
比较分析了现行的造价估测模型的特点及其存在的问题,突出BP神经网络模型进行造价估测的理论优势,引入工程分类思想,以学校类建筑为例,建立了BP神经网络估测模型并进行了造价估测。
造价估测方法的研究和BP神经网络模型的应用
造价估测方法的研究和BP神经网络模型的应用——比较分析了现行的造价估测模型的特点及其存在的问题,突出BP神经网络模型进行造价估测的理论优势,引入工程分类思想,以学校类建筑为例,建立了BP神经网络估测模型并进行了造价估测。
知识可增殖人工神经网络并行模型是在不破坏已存在人工神经网络功能的基础上,通过嵌入其他功能人工神经网络,在神经场学习算法的控制下,借助通信机制协调这些人工神经网络的合作,形成一个并行整体,实现知识可不断扩充,功能可不断增强的人工神经网络。该模型知识的分布方式及不断增加知识的知识获取方式更近于人脑模型。 2100433B
三维模型的压缩表达与快速恢复方法是高效存储与使用模型的关键,在数字娱乐、动画制作以及虚拟现实等领域有着深入广泛的应用背景。本项目以几何信号处理理论为基础,探索三维模型的稀疏化表达、压缩感知以及快速恢复方法,并将研究成果应用于大型三维模型库的快速检索上。针对目前三维模型数据量大的特点,结合压缩感知理论、凸优化方法以及高性能计算理论开展三维模型压缩与快速恢复算法的创新性研究。主要研究内容包括:三维模型的稀疏化表达、稀疏约束下的优化算法、鲁棒的二阶精度优化算法、三维模型快速检索框架的建立等。本研究将为三维模型的远距离传输、本地大量存储、以及海量三维模型库的快速检索奠定理论和方法的基础。
氢气压缩机有膜式、往复活塞式、回转式、螺杆式、涡轮式等各种类型。应用时根据流量、吸气及排气压力选取合适的类型。活塞式压缩机流量大,单级压缩比一般为3:1 ~4:1;膜式压缩机散热快,压缩过程接近于等温过程,可以有更高的压缩比,最高达20:1,但是由于流量小,主要用于需求氢气压力较高但流量不大的场合。
一般来说压力在30MP以下的压缩机,通常用活塞式,经验证明其运转可靠程度较高,并可单独组成一台由多级构成的压缩机。压力在30MP 以上、容积流量较小时,可选择用膜式压缩机。膜式的优点是在高压时密封可靠:因为其气腔的密封结构是缸头和缸体间夹持的膜片,通过主螺栓紧固成为静密封形式,可以保证气体不会逸漏,而且膜腔是封闭的,不与任何油滴、油雾以及其他杂质接触,能保证进入的气体在压缩气体时不受外界的污染。这对要求高纯净介质的场合,更显示出特殊的优越性。 氢
气压缩机的结构包括基础部件(如曲轴箱、曲轴、连杆等)、缸体部件、柱塞部件、冷却器部件、安全保护控制系统以及其他附属部件。