CN112508190A - 结构化稀疏参数的处理方法、装置、设备及存储介质 - Google Patents
结构化稀疏参数的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112508190A CN112508190A CN202011455260.XA CN202011455260A CN112508190A CN 112508190 A CN112508190 A CN 112508190A CN 202011455260 A CN202011455260 A CN 202011455260A CN 112508190 A CN112508190 A CN 112508190A
- Authority
- CN
- China
- Prior art keywords
- parameters
- dense
- sparse
- training
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本发明公开了一种结构化稀疏参数的处理方法、装置、设备及存储介质,该方法包括:获取稠密参数;在神经网络模型的任意一个训练周期中:根据稠密参数确定掩码;根据掩码和稠密参数,计算稀疏参数;根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;以此类推,持续更新稠密参数,直至神经网络模型训练结束。能够随着神经网络模型的训练过程中稠密参数的更新,基于更新的稠密参数确定合适的掩码,进而确定更加合适的稀疏参数参与本周期的训练,提高神经网络模型的训练精度,优化神经网络模型训练效果。
Description
技术领域
本发明实施例涉及深度学习的神经网络模型训练技术,尤其涉及一种结构化稀疏参数的处理方法、装置、设备及存储介质。
背景技术
随着深度学习技术的不断发展,深度学习使用的神经网络模型的训练量越来越大。
为了降低深度学习训练过程的计算量,提出了采用结构化稀疏方案进行神经网络模型训练。结构化稀疏方案通常通过记录张量矩阵中非零值的位置信息,按照固定的编码格式存储稀疏张量,进而可以降低神经网络模型的计算量。
然而,采用的结构化稀疏方式进行训练后,训练得到的神经网络模型的精度下降明显,训练效果不佳。
发明内容
本发明提供一种结构化稀疏参数的处理方法、装置、设备及存储介质,以实现提高采用结构化稀疏方式进行训练的神经网络模型的精度,优化神经网络模型训练效果。
第一方面,本发明实施例提供了一种结构化稀疏参数的处理方法,包括:
获取稠密参数;
在神经网络模型的任意一个训练周期中:
根据稠密参数确定掩码;
根据掩码和稠密参数,计算稀疏参数;
根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;
根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;
以此类推,持续更新稠密参数,直至神经网络模型训练结束。
第二方面,本发明实施例还提供了一种结构化稀疏参数的处理装置,包括:
稠密参数获取模块,用于获取稠密参数;
循环控制模块,用于在神经网络模型的任意一个训练周期中调度下述模块进行训练;
掩码确定模块,用于根据稠密参数确定掩码;
稀疏参数确定模块,用于根据掩码和稠密参数,计算稀疏参数;
前向计算及反向梯度处理模块,用于根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;
稠密参数更新模块,用于根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;
循环控制模块还用于,以此类推,持续更新稠密参数,直至神经网络模型训练结束。
第三方面,本发明实施例还提供了一种结构化稀疏参数的处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,还包括:摄像头,用于采集图像;温度传感器,用于采集环境温度;其中,处理器执行程序时实现如本发明实施例所示的结构化稀疏参数的处理方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例所示的结构化稀疏参数的处理方法。
本发明实施例提供的结构化稀疏参数的处理方法,首先获取稠密参数;然后,在神经网络模型的任意一个训练周期中:根据稠密参数确定掩码;根据掩码和稠密参数,计算稀疏参数;根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;以此类推,持续更新稠密参数,直至神经网络模型训练结束。相对于目前采用结构化稀疏方式进行神经网络模型训练时,训练精度差的问题,本发明实施例提供的结构化稀疏参数的处理方法,能够在神经网络模型的每个训练周期中,重新确定掩码,不同训练周期中掩码对应的稠密参数中的坐标将会发生变化。相对于目前使用固定的掩码,采集稠密参数中固定位置的内容确定结构化稀疏张量,本发明实施例提供的结构化稀疏参数的处理方法,能够随着神经网络模型的训练过程中稠密参数的更新,基于更新的稠密参数确定合适的掩码,进而确定更加合适的稀疏参数(即结构化稀疏张量)参与本周期的训练,提高神经网络模型的训练精度,优化神经网络模型训练效果。
附图说明
图1是本发明实施例一中的结构化稀疏参数的处理方法的流程图;
图2是本发明实施例一中的稠密参数与稀疏参数的示意图;
图3是本发明实施例二中的结构化稀疏参数的处理方法的流程图;
图4是本发明实施例三中的一个结构化稀疏参数的处理装置的结构示意图;
图5是本发明实施例三中的另一个结构化稀疏参数的处理装置的结构示意图;
图6是本发明实施例四中的结构化稀疏参数的处理设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的结构化稀疏参数的处理方法的流程图,本实施例可适用于深度学习使用的神经网络模型训练的情况,该方法可以由进行神经网络模型训练的设备来执行,该设备可以为计算机设备,该方法具体包括如下步骤:
步骤110、获取稠密参数。
稠密参数为神经网络模型训练过程中使用的参数,参数可以以张量形式存储。在对神经网络模型进行训练之前需要确定稠密参数。如图2所示,稠密参数为8*8的矩阵,包括64个参数,每个参数可以用一个张量表示。
在一种实现方式中,根据预设初始化方式初始化稠密参数。
预设初始化方式为,通过执行预设初始化函数初始化稠密参数。预设初始化函数可以为:均匀分布预设初始化函数、高斯分布预设初始化函数、截断高斯分布预设初始化函数或常量预设初始化函数等。
预设初始化函数能够快速的对稠密参数进行初始化,提高初始化速度。
在另一种实现方式中,使用标准训练参数对神经网络模型进行标准训练,得到稠密参数。
使用预设初始化函数初始化稠密参数时,具有较高的初始化速度,但可能会牺牲稠密参数内容的有效性。因此,可以使用标准训练参数对神经网络模型进行标准训练,得到稠密参数。标准训练参数为通用参数,用于对神经网络模型进行训练。由于训练过程包含了前向计算和反向梯度计算,以及基于反向梯度计算结果更新稠密参数,因此,使用标准训练参数对神经网络模型进行标准训练,能够得到有效性更高的稠密参数。
神经网络模型训练中使用的参数除了稠密参数还包括数据集以及数据集的标签数据。在确定稠密参数后,可以将稠密参数、数据集以及数据集的标签数据作为神经网络模型的输入参数,对神经网络模型进行训练。
进一步的,在获取稠密参数之后,还包括:
将数据集和标签数据输入至已训练的教师模型,教师模型为知识蒸馏算法中用于优化神经网络模型的模型,教师模型输出为强化标签数据;将强化标签数据、数据集和稠密参数作为训练周期的输入数据。
在对神经网络模型进行训练时,可以使用已训练的教师模型对神经网络的输入数据进行优化。具体为,将数据集和标签数据输入至已训练的教师模型,教师模型能够输出强化标签数据。可以基于知识蒸馏算法对教师模型进行设计。在得到强化标签数据后,将强化标签数据、数据集和稠密参数作为神经网络训练时的输入数据。知识蒸馏算法能够进一步提高输入数据中标签数据的数据质量,提高神经网络模型的精确度。
步骤120、在神经网络模型的任意一个训练周期中:根据稠密参数确定掩码。
在神经网络模型的每个训练周期中,聚会根据稠密参数确定掩码。在每个训练周期中,进行反向梯度计算后,根据反向梯度会对稠密参数进行更新,因此个训练周期中稠密参数的内容会随训练周期的增加而变化。在任意一个训练周期中,可以根据需求确定稠密参数使用的掩码,进而基于掩码确定稀疏参数。
在一种实现方式中,根据稠密参数确定掩码可通过下述方式实施:根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息;根据位置信息确定掩码。
稀疏参数相对于稠密参数的配比可以由用户确定。配比为第一参数与第二参数的比例,表示从第二参数的张量中,选择出第一参数的张量。示例性的,配比可以2:8,1:4,4:8等配比。其中,2:8表示,从稠密参数中每8个张量选择出2个张量作为稀疏参数。
为了保持稀疏压缩编码对于寻址和直接存储器访问(Direct Memory Access,DMA)搬运数据的便利性,数据编码的单位需要进行对齐配置。可选的,假设配比为M:N(其中,M<=N),表示的是在连续地址存放的N个张量(elements)中,有M个非零元素需要进行编码。其中N需要按照2的整数次幂进行配置。N可以为4、8、16等,M可以为N/2,或者N/4等。
本发明实施例中按照张量的数值大小选取稀疏参数。例如,根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息。在上例中,每次获取8个张量的数值,从中找出数值较大的2个张量,获取该数值较大的2个张量的位置信息。根据该位置信息确定掩码。图2示例中,每行由8个张量组成,因此每次读取一行张量,获取其中数值较大的两个。假设第一行第三例和和第六列的张量数值较大(第三列和第六列的数值大于第一行其他列中的张量的数值),则第一行的掩码为“00100100”,第二行第一列和七列的张量数值较大,则第二行的掩码为“10000010”,第三行第二列和八列的张量数值较大,则第三行的掩码为“01000001”,第四行第一列和四列的张量数值较大,则第四行的掩码为“10010000”。以此类推,得到稠密参数的掩码,稠密参数的掩码由各行掩码组成。
进一步的,在根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息之前,还包括:根据目标层在神经网络模型中的层位置,确定稀疏参数相对于稠密参数的配比。
神经网络模型每层的处理深度不同,因此其所的数据精度也不同。可以根据目标层在神经网络模型中所在的层位置,确定配比。目标层为当前设置配比的层,层位置可以为目标层的层数。
步骤130、根据掩码和稠密参数,计算稀疏参数。
稀疏参数由数据和位置信息组成。可以根据掩码可从稠密参数中提取出稀疏参数的数据,同时掩码可以用于标识稀疏参数在稠密参数中的位置信息。
示例性的,根据掩码从稠密参数的第一数据中提取第二数据以及第二数据的地址信息;第一数据和第二数据符合掩码表示的配比;根据第二数据以及第二数据的地址信息确定稀疏参数。
可以按照配比中的第一参数获取第一数据,并根据配比的比例(第二参数:第一参数)从第一数据中确定第二数据。在图2示例中,首次获取8个张量作为第一数据,按照配比2:8,从8个张量中获取两个张量作为第二数据。根据第二数据的位置确定位置信息。按照2:8的配比,可以达到75%的稀疏度以及四倍的算力。如果匹配为4:8,则可以达到50%的稀疏度以及两倍的算力。
步骤140、根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度。
在得到稀疏参数后,使用稀疏参数参与神经网络模型的前向计算和反向梯度计算中。稀疏参数可以用于前向计算的过程中进行激活,尤其是对模型参数张量(即稠密参数)进行激活。前行计算中的张量卷积和矩阵乘操作,均为针对稠密参数的左操作数(输入激活值)以及稀疏参数的右操作数(模型参数)进行计算。
步骤150、根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码。
在前向计算过程中,对于神经网络模型的任意一层,接收上层的输出数据。使用稠密参数与稀疏参数进行卷积操作。将该卷积操作结果与上层的输出数据进行卷积操作,得到卷积输出。该卷积输出作为本层的输出数据输入至下一层。
在方向梯度计算过程中,接收下层输出的梯度信息,根据该梯度信息进行卷积反向梯度计算。在得到反向梯度后,使用反向梯度对稠密参数进行更新。
步骤160、以此类推,持续更新稠密参数,直至神经网络模型训练结束。
按照步骤120中步骤150的方式进行神经网络模型的训练。当达到神经网络模型训练结束触发条件时,确定神经网络模型训练结束。神经网络模型训练结束触发条件可以为训练次数达到一定次数。
在一种实施场景中,首先,使用标准训练参数对神经网络模型进行标准训练,得到稠密参数,以实现对稠密参数的预训练。然后,对神经网络模型进行重训练。重训练包括:在神经网络模型的任意一个训练周期中:根据稠密参数确定掩码。根据掩码和稠密参数,计算稀疏参数。根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度。根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码。以此类推,持续更新稠密参数,直至神经网络模型训练结束。
在另一个实时场景中,首先根据预设初始化方式初始化稠密参数,已完成对稠密参数的初始化。然后,对神经网络模型进行重训练。重训练包括:在神经网络模型的任意一个训练周期中:根据稠密参数确定掩码。根据掩码和稠密参数,计算稀疏参数。根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度。根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码。以此类推,持续更新稠密参数,直至神经网络模型训练结束。
上述实施方式中,掩码在每个训练周期中均会进行调整,因此又称为动态掩码。动态掩码在每个训练迭代的步骤中动态的进行调整,可以使稠密参数中之前被剪枝掉的权重(又称张量)连接。会在特定条件下复活,例如按照计算出的梯度大小可以复活,连接恢复并参与下次训练迭代,同时在邻近的周围N-1个元素中未剪枝的权重中挑选一个权重进行剪枝,这样始终保持固定的结构化稀疏比例。训练过程中不断迭代,在模型训练到满足需求的精度时,结束迭代过程。
本发明实施例提供的结构化稀疏参数的处理方法,首先获取稠密参数;然后,在神经网络模型的任意一个训练周期中:根据稠密参数确定掩码;根据掩码和稠密参数,计算稀疏参数;根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;以此类推,持续更新稠密参数,直至神经网络模型训练结束。相对于目前采用结构化稀疏方式进行神经网络模型训练时,训练精度差的问题,本发明实施例提供的结构化稀疏参数的处理方法,能够在神经网络模型的每个训练周期中,重新确定掩码,不同训练周期中掩码对应的稠密参数中的坐标将会发生变化。相对于目前使用固定的掩码,采集稠密参数中固定位置的内容确定结构化稀疏张量,本发明实施例提供的结构化稀疏参数的处理方法,能够随着神经网络模型的训练过程中稠密参数的更新,基于更新的稠密参数确定合适的掩码,进而确定更加合适的稀疏参数(即结构化稀疏张量)参与本周期的训练,提高神经网络模型的训练精度,优化神经网络模型训练效果。
实施例二
图3为本发明实施例二提供的结构化稀疏参数的处理方法的流程图,上述实施例中,在另一种实现方式中,使用标准训练参数对神经网络模型进行标准训练,得到稠密参数,可以实施为:根据多个预设初始化函数和多个随机种子确定多个初始化稠密参数;分别根据多个初始化稠密参数进行训练,每个初始化稠密参数经过训练更新为模型稠密参数,训练使用的损失函数中包括分组回归正则项,分组回归正则项用于使训练得到的初始化稠密参数呈现稀疏特性;根据训练后的多个模型稠密参数确定稠密参数。此时,上述方法可通过下述方式实施:
步骤310、根据多个预设初始化函数和多个随机种子确定多个初始化稠密参数。
预设初始化函数可以为:均匀分布预设初始化函数、高斯分布预设初始化函数、截断高斯分布预设初始化函数或常量预设初始化函数等。随机种子由随机数组成,用于构建稠密参数。使用预设初始化函数分别对随机种子进行计算,得到初始化稠密参数。假设存在I个预设初始化函数,J个随机种子,则可得到I*J个初始化稠密参数。
步骤320、分别根据多个初始化稠密参数进行训练,每个初始化稠密参数经过训练更新为模型稠密参数,训练使用的损失函数中包括分组回归正则项,分组回归正则项用于使训练得到的初始化稠密参数呈现稀疏特性。
分别使用I*J个初始化稠密参数中的每个初始化稠密参数进行神经网络模型的训练。对神经网络模型使用的损失函数进行配置。具体可以为,在损失函数中增加分组回归正则项。损失函数影响反向梯度,反向梯度用于更新初始化稠密参数。训练包括根据损失函数进行反向梯度计算,根据计算结果更新初始化稠密参数。随着训练的进行,初始化稠密参数随着每次梯度调整更新为模型稠密参数。
步骤330、根据训练后的多个模型稠密参数确定稠密参数。
进一步的,根据预设正则表达式和训练后的多个模型稠密参数进行筛选,得到稠密参数。
其中,预设正则表达式包括根据L1范数和L2范数确定的混合范数。根据每个训练后的模型稠密参数计算L1范数和L2范数.将L1范数除以L2范数得到,得到混合范数。比较各训练后的模型稠密参数对应的混合范数。混合范数越小,表示稀疏程度越高。可以将混合范数数值最小的模型稠密参数作为稠密参数。
步骤340、在神经网络模型的任意一个训练周期中:根据稠密参数确定掩码。
步骤350、根据掩码和稠密参数,计算稀疏参数。
步骤360、根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;
步骤370、根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;
步骤380、以此类推,持续更新稠密参数,直至神经网络模型训练结束。
本发明实施例提供的结构化稀疏参数的处理方法,能够通过多个预设初始化函数和多个随机种子确定多个初始化稠密参数;然后,根据初始化稠密参数进行训练。分别根据训练后的初始化稠密参数计算混合范数,通过混合范数选择出稀疏程度较高的稠密参数。该稠密参数作为重训练的输入数据,能够使得重训练使用的稠密参数具有更好的稀疏程度,提高训练效率。
实施例三
图4为本发明实施例三提供的结构化稀疏参数的处理装置的结构示意图,本实施例可适用于深度学习使用的神经网络模型训练的情况,该装置具体包括:稠密参数获取模块410、循环控制模块420、掩码确定模块430、稀疏参数确定模块440、前向计算及反向梯度处理模块450以及稠密参数更新模块460。
稠密参数获取模块410,用于获取稠密参数;
循环控制模块420,用于在神经网络模型的任意一个训练周期中调度下述模块进行训练;
掩码确定模块430,用于根据稠密参数确定掩码;
稀疏参数确定模块440,用于根据掩码和稠密参数,计算稀疏参数;
前向计算及反向梯度处理模块450,用于根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;
稠密参数更新模块460,用于根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;
循环控制模块420还用于,以此类推,持续更新稠密参数,直至神经网络模型训练结束。
在上述实施例的基础上,稠密参数获取模块410用于:
使用标准训练参数对神经网络模型进行标准训练,得到稠密参数;
或者,根据预设初始化方式初始化稠密参数。
在上述实施例的基础上,掩码确定模块430用于:
根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息;
根据位置信息确定掩码。
在上述实施例的基础上,如图5所示,该装置还包括配比确定模块470。配比确定模块470用于:
根据目标层在神经网络模型中的层位置,确定稀疏参数相对于稠密参数的配比。
在上述实施例的基础上,稀疏参数确定模块440用于:
根据掩码从稠密参数的第一数据中提取第二数据以及第二数据的地址信息;第一数据和第二数据符合掩码表示的配比;
根据第二数据以及第二数据的地址信息确定稀疏参数。
在上述实施例的基础上,稠密参数获取模块410用于:
根据多个预设初始化函数和多个随机种子确定多个初始化稠密参数;
分别根据多个初始化稠密参数进行训练,每个初始化稠密参数经过训练更新为模型稠密参数,训练使用的损失函数中包括分组回归正则项,分组回归正则项用于使训练得到的初始化稠密参数呈现稀疏特性;
根据训练后的多个模型稠密参数确定稠密参数。
在上述实施例的基础上,稠密参数获取模块410用于:
根据预设正则表达式和训练后的多个模型稠密参数进行筛选,得到稠密参数,预设正则表达式包括根据L1范数和L2范数确定的混合范数。
在上述实施例的基础上,该装置还包括知识蒸馏模块480。知识蒸馏模块480用于:
将数据集和标签数据输入至已训练的教师模型,教师模型为知识蒸馏算法中用于优化神经网络模型的模型,教师模型输出为强化标签数据;
将强化标签数据、数据集和稠密参数作为训练周期的输入数据。
本发明实施例提供的结构化稀疏参数的处理装置,稠密参数获取模块410获取稠密参数;循环控制模块420在神经网络模型的任意一个训练周期中调度下述模块进行训练;掩码确定模块430根据稠密参数确定掩码;稀疏参数确定模块440根据掩码和稠密参数,计算稀疏参数;前向计算及反向梯度处理模块450根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;稠密参数更新模块460根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;循环控制模块420还用于,以此类推,持续更新稠密参数,直至神经网络模型训练结束。相对于目前采用结构化稀疏方式进行神经网络模型训练时,训练精度差的问题,本发明实施例提供的结构化稀疏参数的处理方法,能够在神经网络模型的每个训练周期中,重新确定掩码,不同训练周期中掩码对应的稠密参数中的坐标将会发生变化。相对于目前使用固定的掩码,采集稠密参数中固定位置的内容确定结构化稀疏张量,本发明实施例提供的结构化稀疏参数的处理方法,能够随着神经网络模型的训练过程中稠密参数的更新,基于更新的稠密参数确定合适的掩码,进而确定更加合适的稀疏参数(即结构化稀疏张量)参与本周期的训练,提高神经网络模型的训练精度,优化神经网络模型训练效果。
本发明实施例所提供的结构化稀疏参数的处理装置可执行本发明任意实施例所提供的结构化稀疏参数的处理方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6为本发明实施例四提供的一种结构化稀疏参数的处理设备的结构示意图,如图6所示,该结构化稀疏参数的处理设备包括处理器50、存储器51、输入装置52和输出装置53;结构化稀疏参数的处理设备中处理器50的数量可以是一个或多个,图6中以一个处理器50为例;结构化稀疏参数的处理设备中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的结构化稀疏参数的处理设备方法对应的程序指令/模块(例如,结构化稀疏参数的处理设备装置中的稠密参数获取模块410、循环控制模块420、掩码确定模块430、稀疏参数确定模块440、前向计算及反向梯度处理模块450以及稠密参数更新模块460)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行结构化稀疏参数的处理设备的各种功能应用以及数据处理,即实现上述的结构化稀疏参数的处理设备方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至结构化稀疏参数的处理设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或字符信息,以及产生与结构化稀疏参数的处理设备的用户设置以及功能控制有关的键信号输入。输出装置53可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种结构化稀疏参数的处理方法,该方法包括:
获取稠密参数;
在神经网络模型的任意一个训练周期中:
根据稠密参数确定掩码;
根据掩码和稠密参数,计算稀疏参数;
根据稀疏参数进行神经网络模型的前向计算以及反向梯度计算,反向梯度计算得到反向梯度;
根据反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;
以此类推,持续更新稠密参数,直至神经网络模型训练结束。
在上述实施例的基础上,获取稠密参数,包括:
使用标准训练参数对神经网络模型进行标准训练,得到稠密参数;
或者,根据预设初始化方式初始化稠密参数。
在上述实施例的基础上,根据稠密参数确定掩码,还包括:
根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息;
根据位置信息确定掩码。
在上述实施例的基础上,在根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息之前,还包括:
根据目标层在神经网络模型中的层位置,确定稀疏参数相对于稠密参数的配比。
在上述实施例的基础上,根据掩码和稠密参数,计算稀疏参数,包括:
根据掩码从稠密参数的第一数据中提取第二数据以及第二数据的地址信息;第一数据和第二数据符合掩码表示的配比;
根据第二数据以及第二数据的地址信息确定稀疏参数。
在上述实施例的基础上,使用标准训练参数对神经网络模型进行标准训练,得到稠密参数,包括:
根据多个预设初始化函数和多个随机种子确定多个初始化稠密参数;
分别根据多个初始化稠密参数进行训练,每个初始化稠密参数经过训练更新为模型稠密参数,训练使用的损失函数中包括分组回归正则项,分组回归正则项用于使训练得到的初始化稠密参数呈现稀疏特性;
根据训练后的多个模型稠密参数确定稠密参数。
在上述实施例的基础上,根据训练后的多个模型稠密参数确定稠密参数,包括:
根据预设正则表达式和训练后的多个模型稠密参数进行筛选,得到稠密参数,预设正则表达式包括根据L1范数和L2范数确定的混合范数。
在上述实施例的基础上,在获取稠密参数之后,还包括:
将数据集和标签数据输入至已训练的教师模型,教师模型为知识蒸馏算法中用于优化神经网络模型的模型,教师模型输出为强化标签数据;
将强化标签数据、数据集和稠密参数作为训练周期的输入数据。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本发明任意实施例所提供的结构化稀疏参数的处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述结构化稀疏参数的处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种结构化稀疏参数的处理方法,其特征在于,包括:
获取稠密参数;
在神经网络模型的任意一个训练周期中:
根据所述稠密参数确定掩码;
根据所述掩码和所述稠密参数,计算稀疏参数;
根据所述稀疏参数进行神经网络模型的前向计算以及反向梯度计算,所述反向梯度计算得到反向梯度;
根据所述反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;
以此类推,持续更新稠密参数,直至神经网络模型训练结束。
2.根据权利要求1所述的方法,其特征在于,所述获取稠密参数,包括:
使用标准训练参数对神经网络模型进行标准训练,得到稠密参数;
或者,根据预设初始化方式初始化稠密参数。
3.根据权利要求1所述的方法,其特征在于,根据稠密参数确定掩码,还包括:
根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息;
根据位置信息确定掩码。
4.根据权利要求3所述的方法,其特征在于,在根据稀疏参数相对于稠密参数的配比,确定稠密参数中该配比对应的数值较高的稀疏参数的位置信息之前,还包括:
根据目标层在所述神经网络模型中的层位置,确定稀疏参数相对于稠密参数的配比。
5.根据权利要求4所述的方法,其特征在于,所述根据所述掩码和所述稠密参数,计算稀疏参数,包括:
根据所述掩码从所述稠密参数的第一数据中提取第二数据以及第二数据的地址信息;所述第一数据和所述第二数据符合掩码表示的配比;
根据所述第二数据以及所述第二数据的地址信息确定稀疏参数。
6.根据权利要求2所述的方法,其特征在于,使用标准训练参数对神经网络模型进行标准训练,得到稠密参数,包括:
根据多个预设初始化函数和多个随机种子确定多个初始化稠密参数;
分别根据所述多个初始化稠密参数进行训练,每个所述初始化稠密参数经过训练更新为模型稠密参数,所述训练使用的损失函数中包括分组回归正则项,所述分组回归正则项用于使训练得到的初始化稠密参数呈现稀疏特性;
根据训练后的多个模型稠密参数确定稠密参数。
7.根据权利要求6所述的方法,其特征在于,所述根据训练后的多个模型稠密参数确定稠密参数,包括:
根据预设正则表达式和训练后的多个模型稠密参数进行筛选,得到稠密参数,所述预设正则表达式包括根据L1范数和L2范数确定的混合范数。
8.根据权利要求1所述的方法,其特征在于,在获取稠密参数之后,还包括:
将数据集和标签数据输入至已训练的教师模型,所述教师模型为知识蒸馏算法中用于优化神经网络模型的模型,所述教师模型输出为强化标签数据;
将所述强化标签数据、所述数据集和稠密参数作为所述训练周期的输入数据。
9.一种结构化稀疏参数的处理装置,其特征在于,包括:
稠密参数获取模块,用于获取稠密参数;
循环控制模块,用于在神经网络模型的任意一个训练周期中调度下述模块进行训练;
掩码确定模块,用于根据所述稠密参数确定掩码;
稀疏参数确定模块,用于根据所述掩码和所述稠密参数,计算稀疏参数;
前向计算及反向梯度处理模块,用于根据所述稀疏参数进行神经网络模型的前向计算以及反向梯度计算,所述反向梯度计算得到反向梯度;
稠密参数更新模块,用于根据所述反向梯度更新稠密参数,以便在下一个训练周期中,根据更新的稠密参数确定掩码;
循环控制模块还用于,以此类推,持续更新稠密参数,直至神经网络模型训练结束。
10.一种结构化稀疏参数的处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,还包括:摄像头,用于采集图像;温度传感器,用于采集环境温度;其中,所述处理器执行所述程序时实现如权利要求1-8中任一所述的结构化稀疏参数的处理方法。
11.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8中任一所述的结构化稀疏参数的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011455260.XA CN112508190A (zh) | 2020-12-10 | 2020-12-10 | 结构化稀疏参数的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011455260.XA CN112508190A (zh) | 2020-12-10 | 2020-12-10 | 结构化稀疏参数的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112508190A true CN112508190A (zh) | 2021-03-16 |
Family
ID=74973434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011455260.XA Pending CN112508190A (zh) | 2020-12-10 | 2020-12-10 | 结构化稀疏参数的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112508190A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113935407A (zh) * | 2021-09-29 | 2022-01-14 | 光大科技有限公司 | 一种异常行为识别模型确定方法及装置 |
CN115170917A (zh) * | 2022-06-20 | 2022-10-11 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
CN116157808A (zh) * | 2021-08-16 | 2023-05-23 | 墨芯国际有限公司 | 用于神经网络的组平衡式稀疏激活和联合激活权重稀疏训练的系统和方法 |
WO2023222113A1 (zh) * | 2022-05-19 | 2023-11-23 | 华为技术有限公司 | 稀疏参数的更新方法、训练节点、设备和存储介质 |
CN117273115A (zh) * | 2023-11-24 | 2023-12-22 | 上海燧原科技有限公司 | 一种反向计算图的静态生成方法、装置、设备及介质 |
-
2020
- 2020-12-10 CN CN202011455260.XA patent/CN112508190A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116157808A (zh) * | 2021-08-16 | 2023-05-23 | 墨芯国际有限公司 | 用于神经网络的组平衡式稀疏激活和联合激活权重稀疏训练的系统和方法 |
CN116157808B (zh) * | 2021-08-16 | 2024-02-02 | 墨芯国际有限公司 | 用于神经网络的组平衡式稀疏激活和联合激活权重稀疏训练的系统和方法 |
CN113935407A (zh) * | 2021-09-29 | 2022-01-14 | 光大科技有限公司 | 一种异常行为识别模型确定方法及装置 |
WO2023222113A1 (zh) * | 2022-05-19 | 2023-11-23 | 华为技术有限公司 | 稀疏参数的更新方法、训练节点、设备和存储介质 |
CN115170917A (zh) * | 2022-06-20 | 2022-10-11 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
CN115170917B (zh) * | 2022-06-20 | 2023-11-07 | 美的集团(上海)有限公司 | 图像处理方法、电子设备及存储介质 |
CN117273115A (zh) * | 2023-11-24 | 2023-12-22 | 上海燧原科技有限公司 | 一种反向计算图的静态生成方法、装置、设备及介质 |
CN117273115B (zh) * | 2023-11-24 | 2024-03-29 | 上海燧原科技股份有限公司 | 一种反向计算图的静态生成方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112508190A (zh) | 结构化稀疏参数的处理方法、装置、设备及存储介质 | |
US11593586B2 (en) | Object recognition with reduced neural network weight precision | |
CN107392973B (zh) | 像素级手写体汉字自动生成方法、存储设备、处理装置 | |
CN107767408B (zh) | 图像处理方法、处理装置和处理设备 | |
KR102142889B1 (ko) | 스파스 연결용 인공 신경망 계산 장치와 방법 | |
WO2019091020A1 (zh) | 权重数据存储方法和基于该方法的神经网络处理器 | |
CN109816009A (zh) | 基于图卷积的多标签图像分类方法、装置及设备 | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
CN111310050A (zh) | 一种基于多层注意力的推荐方法 | |
Muhammad et al. | Tree-based deep networks for edge devices | |
CN106204597B (zh) | 一种基于自步式弱监督学习的视频物体分割方法 | |
US11775832B2 (en) | Device and method for artificial neural network operation | |
CN110647974A (zh) | 深度神经网络中的网络层运算方法及装置 | |
CN106796533A (zh) | 自适应地选择执行模式的系统和方法 | |
CN111105017A (zh) | 神经网络量化方法、装置及电子设备 | |
CN113128478A (zh) | 模型训练方法、行人分析方法、装置、设备及存储介质 | |
CN111738276A (zh) | 基于多核卷积神经网络的图像处理方法、装置及设备 | |
CN114925320B (zh) | 一种数据处理方法及相关装置 | |
JPWO2021038793A1 (ja) | 学習システム、学習方法、及びプログラム | |
CN110222817A (zh) | 基于学习自动机的卷积神经网络压缩方法、系统及介质 | |
CN111260056B (zh) | 一种网络模型蒸馏方法及装置 | |
CN117474070B (zh) | 模型剪枝方法、人脸识别模型训练方法及人脸识别方法 | |
CN112750074B (zh) | 小样本图像特征增强方法及系统、图像分类方法及系统 | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
EP4318315A1 (en) | A computer implemented method for transforming a pre-trained neural network and a device therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210316 |
|
RJ01 | Rejection of invention patent application after publication |