CN116894189A - 一种模型训练方法、装置、设备及可读存储介质 - Google Patents
一种模型训练方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN116894189A CN116894189A CN202311160790.5A CN202311160790A CN116894189A CN 116894189 A CN116894189 A CN 116894189A CN 202311160790 A CN202311160790 A CN 202311160790A CN 116894189 A CN116894189 A CN 116894189A
- Authority
- CN
- China
- Prior art keywords
- model
- pruning
- neural network
- weight value
- layer
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000013138 pruning Methods 0.000 claims abstract description 112
- 230000003287 optical effect Effects 0.000 claims abstract description 100
- 238000003062 neural network model Methods 0.000 claims abstract description 90
- 238000010586 diagram Methods 0.000 claims abstract description 52
- 238000013528 artificial neural network Methods 0.000 claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 238000013139 quantization Methods 0.000 claims description 57
- 230000008569 process Effects 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 230000008685 targeting Effects 0.000 claims description 3
- 230000001537 neural effect Effects 0.000 abstract description 12
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000012545 processing Methods 0.000 abstract description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
- G06N3/0675—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种模型训练方法、装置、设备及可读存储介质,涉及模型训练技术领域。该方法包括:将待训练的神经网络模型转化为光神经网络模型图;对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;对所述剪枝模型进行量化,得到目标模型。通过对卷积层和全连接层采用不同的方式进行剪枝,得到剪枝模型,能够在保证光神经网络模型图精度的同时,降低光神经网络模型图的网络大小;通过对剪枝模型进行量化,能够降低剪枝模型中各个光神经网络算子权重值的比特率,进而能够实现神经网络模型转化为光神经网络模型图通过光学神经芯片进行计算处理。
Description
技术领域
本发明涉及模型训练技术领域,特别是指一种模型训练方法、装置、设备及可读存储介质。
背景技术
随着深度学习理论和相关技术的飞速发展,基于卷积的网络模型取得巨大进展。光学神经芯片(optical neuro chip,ONC)通过光学设备完成神经网络的基本单元,例如卷积、全连接等。但是由于光学器件的超高精密性,硬件误差直接影响着光神经网络的误差,过多的基本单元的累加会使光神经网络 (optical neural network, ONN)误差增加,因此,光神经网络的复杂程度会为影响网络误差的原因之一;同时,光学神经芯片对于大型网络承载能力较差,无法适配复杂问题对应的神经网络。
发明内容
本发明的目的是提供一种模型训练方法、装置、设备及可读存储介质,用以解决现有技术中光学神经芯片对于大型网络承载能力较差,无法适配复杂问题对应的神经网络的问题。
为达到上述目的,本发明的实施例提供一种模型训练方法,包括:
将待训练的神经网络模型转化为光神经网络模型图;
对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
对所述剪枝模型进行量化,得到目标模型。
进一步地,所述将待训练的神经网络模型转化为光神经网络模型图,包括:
将所述待训练的神经网络模型的神经网络算子转化为光神经网络算子;
将所述神经网络算子的权重赋值到对应的所述光神经网络算子,得到所述光神经网络模型图;
其中,所述光神经网络算子包括卷积层、全连接层、批量归一化层以及激活函数层。
进一步地,所述对所述光神经网络模型图的卷积层进行剪枝,包括:
对所述光神经网络模型图的批量归一化层的第一训练参数进行范数惩罚,得到第一预设阈值;
根据所述第一预设阈值以及所述卷积层的权重值,对所述卷积层进行剪枝,得到剪枝后的卷积层。
进一步地,所述根据所述第一预设阈值以及所述卷积层的权重值,对所述卷积层进行剪枝,包括:
根据所述卷积层的特征图的相关性,对所述卷积层进行聚类,得到多个种类的卷积层组;
计算每一类卷积层组的权重值的均值;
对均值小于所述第一预设阈值的卷积层组进行剪枝。
进一步地,所述对所述光神经网络模型图的全连接层进行剪枝,包括:
对所述全连接层进行分块,得到多个块,每个所述块包括至少一个元素;
计算每个所述块中每个元素的权重值的和,得到每个所述块的权重值;
对权重值小于第二预设阈值的所述块进行剪枝,得到剪枝后的全连接层。
进一步地,所述对所述剪枝模型进行量化,得到目标模型,包括:
将所述剪枝模型中所述卷积层的第一权重值作为量化模型的输入进行量化,将所述量化模型的输出的第三权重值作为所述卷积层量化后的权重值;
将所述剪枝模型中所述全连接层的第二权重值作为量化模型的输入进行量化,将所述量化模型的输出的第四权重值作为所述全连接层量化后的权重值;
根据所述第三权重值和所述第四权重值,确定所述目标模型;
其中,所述第三权重值的比特率小于所述第一权重值的比特率;所述第四权重值的比特率小于所述第二权重值的比特率。
进一步地,所述根据所述第三权重值和所述第四权重值,确定所述目标模型,包括:
执行至少一次目标过程;
根据所述目标过程的输出结果,确定所述目标模型;
其中,所述目标过程包括:
将所述第三权重值作为反量化模型的输入进行反量化,将所述反量化模型的第一输出结果作为所述卷积层反量化后的权重值,将所述第四权重值作为反量化模型的输入进行反量化,将所述反量化模型的第二输出结果作为所述全连接层反量化后的权重值;
将所述第一输出结果和所述第二输出结果作为所述量化模型的输入,对所述第一输出结果和所述第二输出结果进行量化,得到第一目标权重值和第二目标权重值;
根据所述第一目标权重值和所述第二目标权重值,确定所述目标模型。
进一步地,所述对所述剪枝模型进行量化,得到目标模型,包括:
对所述剪枝模型所有的卷积层和全连接层的权重值进行排序;
筛选权重值较小的预设比例的卷积层和全连接层进行量化,得到所述目标模型。
为达到上述目的,本发明的实施例提供一种模型训练装置,包括:
转化模块,用于将待训练的神经网络模型转化为光神经网络模型图;
剪枝模块,用于对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
量化模块,用于对所述剪枝模型进行量化,得到目标模型。
为达到上述目的,本发明的实施例提供一种模型训练设备,包括:处理器;
所述处理器用于将待训练的神经网络模型转化为光神经网络模型图;
对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
对所述剪枝模型进行量化,得到目标模型。
为达到上述目的,本发明的实施例提供一种模型训练设备,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现如上所述的模型训练方法。
为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的模型训练方法中的步骤。
本发明的上述技术方案的有益效果如下:
本发明实施例的模型训练方法,将神经网络模型转化为光神经网络模型图,并通过对卷积层和全连接层采用不同的方式进行剪枝,得到剪枝模型,能够在保证光神经网络模型图精度的同时,降低光神经网络模型图的网络大小;通过对剪枝模型进行量化,能够降低剪枝模型中各个光神经网络算子权重值的比特率,进而能够实现神经网络模型转化为光神经网络模型图通过光学神经芯片进行计算处理。本发明的方案解决了光学神经芯片对于大型网络承载能力较差,无法适配复杂问题对应的神经网络的问题。
附图说明
图1为本发明实施例的模型训练方法的步骤示意图;
图2为本发明实施例的模型训练方法的流程示意图;
图3为本发明实施例的针对卷积层剪枝的流程示意图;
图4为本发明实施例的针对全连接层剪枝的流程示意图;
图5为本发明实施例的模型量化的流程示意图;
图6为本发明实施例的微调训练方法的流程示意图;
图7为本发明实施例的模型训练装置的模块示意图;
图8为本发明实施例的模型训练设备的结构示意图;
图9为本发明另一实施例的模型训练设备的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A 相应的B”表示B 与A 相关联,根据A可以确定B。但还应理解,根据A 确定B 并不意味着仅仅根据A 确定B,还可以根据A 和/或其它信息确定B。
如图1所示,本发明实施例的一种模型训练方法,包括如下步骤:
步骤101,将待训练的神经网络模型转化为光神经网络模型图;
步骤102,对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
步骤103,对所述剪枝模型进行量化,得到目标模型。
需要说明的是,在光神经网络中,卷积和全连接等层的计算方式不相同,而且采用不同的光学器件组成,所以针对卷积层和全连接层需要采用不同的剪枝方法。
如图2所示,本发明一实施例中,将所述待训练的神经网络模型进行光图转换,得到所述光神经网络模型图;然后对所述光神经网络模型图进行网络剪枝,得到所述剪枝模型;在对所述剪枝模型进行量化,对所述剪枝模型的权重值降低比特率,得到所述目标模型。
本发明实施例的模型训练方法,将神经网络模型转化为光神经网络模型图,并通过对卷积层和全连接层采用不同的方式进行剪枝,得到剪枝模型,能够在保证光神经网络模型图精度的同时,降低光神经网络模型图的网络大小;通过对剪枝模型进行量化,能够降低剪枝模型中各个光神经网络算子权重值的比特率,进而能够实现神经网络模型转化为光神经网络模型图通过光学神经芯片进行计算处理。本发明的方案解决了光学神经芯片对于大型网络承载能力较差,无法适配复杂问题对应的神经网络的问题。
可选地,所述将待训练的神经网络模型转化为光神经网络模型图,包括:
将所述待训练的神经网络模型的神经网络算子转化为光神经网络算子;
将所述神经网络算子的权重赋值到对应的所述光神经网络算子,得到所述光神经网络模型图;
其中,所述光神经网络算子包括卷积层、全连接层、批量归一化层以及激活函数层。
可选地,根据所述待训练的神经网络模型,确定所述神经网络模型对应的神经网络模型图;
根据所述神经网络模型图确定所述神经网络算子。
可选地,所述对所述光神经网络模型图的卷积层进行剪枝,包括:
对所述光神经网络模型图的批量归一化层的第一训练参数进行范数惩罚,得到第一预设阈值;
根据所述第一预设阈值以及所述卷积层的权重值,对所述卷积层进行剪枝,得到剪枝后的卷积层。
需要说明的是,卷积层、批量归一化(Batch Normalization,BN)层以及激活函数层被组合为一个整体作为卷积模块;
其中,所述卷积模块为:
;
其中,Xconv为卷积层后的结果,Xout为卷积模块后的结果,γ为BN层的第一训练参数、β为BN层的第二训练参数。即γ越大,输出和卷积结果关系越大,γ越小输出和卷积结果关系也越小,因此γ近似是卷积层后和卷积模块输出之间的权重,于是将γ作为卷积层裁剪的关键依据。
可选地,对所述第一训练参数进行范数惩罚,包括:
对所述第一训练参数进行L2范数惩罚。
本发明实施例的模型训练方法,通过对所述第一训练参数进行范数惩罚,能够使γ变得稀疏,并且针对重要性较低的卷积层,γ会慢慢趋近于0,达到对重要性较低的卷积层进行裁剪的效果,同时L2范数惩罚较为平滑,γ会缓慢下降为0,不会因为突然的下降使得网络精度发生极大波动。
本发明一实施例中,部分神经网络有特定的一些结构,例如Resnet网络具有resnet-block,对于一些重要性较低的层进行过度裁剪可能会导致某些特定的结构遭到破坏,因此为了避免这种情况,将裁剪的通道始终至少保留一定数量维持网络整体结构的稳定性,设定保留至少16个通道数。
本发明实施例的模型训练方法,通过对卷积层中冗余的网络层的进行剪枝,能够降低所述光神经网络模型图的网络复杂度,从而提高整体的光计算精度。
可选地,所述根据所述第一预设阈值以及所述卷积层的权重值,对所述卷积层进行剪枝,包括:
根据所述卷积层的特征图的相关性,对所述卷积层进行聚类,得到多个种类的卷积层组;
计算每一类卷积层组的权重值的均值;
对均值小于所述第一预设阈值的卷积层组进行剪枝。
可选地,对均值大于或者等于所述第一预设阈值的卷积层组,通过进行范数惩罚并进行迭代训练后确定是否需要进行裁剪。
本发明一实施例中,在不同通道下的特征图往往会有很多相似的特征图,这会造成网络卷积层的冗余,针对这个问题,根据不同通道特征图之间的相关性,将相关性较大的特征图所在的卷积层进行聚类,减少具有提取相同特征的卷积层重复出现,造成冗余。具体地,通过欧式距离计算不同卷积层之间的距离,并用K-MEANS聚类算法进行聚类。
如图3所示,具体的聚类方法如下:对于相同类别的卷积层,通过计算该类全部γ参数的均值以获得该类别的卷积层的权重值,将γ参数缩放到[0,1]区间,对设定第一预设阈值,对于γ参数小于阈值的情况,直接将该类卷积层全部进行剪枝,其余的卷积层进行L2范数惩罚并进行训练迭代决定后续是否继续进行裁剪。
如图4所示,所述对所述光神经网络模型图的全连接层进行剪枝,包括:
对所述全连接层进行分块,得到多个块,每个所述块包括至少一个元素;
计算每个所述块中每个元素的权重值的和,得到每个所述块的权重值;
对权重值小于第二预设阈值的所述块进行剪枝,得到剪枝后的全连接层。
本发明一实施例中,全连接层没有像卷积模块的BN层,因此无法使用γ参数作为裁剪的阈值,但全连接层每个连接的权重都可以作为该连接节点的权重。由于全连接层上往往是卷积模块,卷积模块相邻是有一定关联的,将全连接层相邻的几个权重相累加作为该部分的权重值进行裁剪。
本发明一实施例中,将全连接层相邻权重进行分块,比如输入128、输出10的全连接层所包含的权重数使128*10,可以构成128*10的矩阵,将该矩阵划分成若干个不相邻的2*2的小矩阵块,之后对该矩阵块的每个权重进行累加计算该矩阵块的权重,通过权重值的大小和设定的阈值,对于权重值小的部分矩阵块进行裁剪,保留权重值大的矩阵块。
本发明实施例的模型训练方法,通过对全连接层中冗余的网络层的进行剪枝,能够降低所述光神经网络模型图的网络复杂度,从而提高整体的光计算精度。同时,针对卷积层和全连接层采用不同的方法进行剪枝,能够在保证光神经网络模型图精度的同时,降低光神经网络模型图的网络大小。
如图5所示,所述对所述剪枝模型进行量化,得到目标模型,包括:
将所述剪枝模型中所述卷积层的第一权重值作为量化模型的输入进行量化,将所述量化模型的输出的第三权重值作为所述卷积层量化后的权重值;
将所述剪枝模型中所述全连接层的第二权重值作为量化模型的输入进行量化,将所述量化模型的输出的第四权重值作为所述全连接层量化后的权重值;
根据所述第三权重值和所述第四权重值,确定所述目标模型;
其中,所述第三权重值的比特率小于所述第一权重值的比特率;所述第四权重值的比特率小于所述第二权重值的比特率。
本发明一实施例中,所述剪枝模型的网络参数是float32,可以选择int16,int8两种比特率进行网络量化(将权重值从int16转换为int8),对网络进行逐层量化,
本发明一实施例中,所述量化模型为:
;
其中,Xq是量化后的权重值,Xr是原浮点数的参数(量化前的权重值),s是缩放系数,z是零点;
其中:;
;
且M是权重最大值,m是权重最小值,n是缩放倍数。
本发明实施例的模型训练方法,通过对所述剪枝模型进行量化,能够将所述剪枝模型中高比特率的权重值转化为低比特率的权重值,从而以保证不过多影响精度的前提下,提高了所述剪枝模型的运算速度。
可选地,所述根据所述第三权重值和所述第四权重值,确定所述目标模型,包括:
执行至少一次目标过程;
根据所述目标过程的输出结果,确定所述目标模型;
其中,所述目标过程包括:
将所述第三权重值作为反量化模型的输入进行反量化,将所述反量化模型的第一输出结果作为所述卷积层反量化后的权重值,将所述第四权重值作为反量化模型的输入进行反量化,将所述反量化模型的第二输出结果作为所述全连接层反量化后的权重值;
将所述第一输出结果和所述第二输出结果作为所述量化模型的输入,对所述第一输出结果和所述第二输出结果进行量化,得到第一目标权重值和第二目标权重值;
根据所述第一目标权重值和所述第二目标权重值,确定所述目标模型。
可选地,所述反量化模型为:
。
本发明实施例的模型训练方法,通过对所述卷积层和全连接层的权重进行多次迭代量化和反量化,实现了训练时量化,前向传播时量化权重值成为低比特参数进行训练,反向传播时反量化权重值成为高精度浮点数进行传播,以减少量化的误差。
可选地,所述对所述剪枝模型进行量化,得到目标模型,包括:
对所述剪枝模型所有的卷积层和全连接层的权重值进行排序;
筛选权重值较小的预设比例的卷积层和全连接层进行量化,得到所述目标模型。
需要说明的是,对与所述剪枝模型的量化处理,量化范围通常采用最大最小策略,会导致一些离群点过大的放大量化范围,导致量化结果不佳,因此,只对部分权重值进行量化。
本发明一实施例中,筛选权重值较小的99%的卷积层和全连接层进行量化,而不对权重值最大的1%的卷积层和全连接层进行量化。
本发明实施例的模型训练方法,通过对权重值进行筛选后进行量化,能够减少异常值对量化结果的影响,一定程度上提高量化精度。
如图6所示,本发明实施例的模型训练方法,还包括对所述目标模型进行微调训练:
对预设的数据集进行预处理,得到训练数据集;
根据所述训练数据集,计算所述目标模型的权重值与所述目标模型的卷积层的相关度;
根据所述相关度与所述剪枝模型,计算所述剪枝过程的第一损失;
根据所述第一损失,对所述目标模型的算子权重值进行调整,得到第一中间模型;
计算所述第一中间模型的权重值的比特率相对于所述量化模型的权重值的比特率的第二损失;
根据所述第二损失,对所述第一中间模型的算子进行调整。
如图7所示,本发明实施例的一种模型训练装置700,包括:
转化模块701,用于将待训练的神经网络模型转化为光神经网络模型图;
剪枝模块702,用于对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
量化模块703,用于对所述剪枝模型进行量化,得到目标模型。
本发明实施例的模型训练装置,将神经网络模型转化为光神经网络模型图,并通过对卷积层和全连接层采用不同的方式进行剪枝,得到剪枝模型,能够在保证光神经网络模型图精度的同时,降低光神经网络模型图的网络大小;通过对剪枝模型进行量化,能够降低剪枝模型中各个光神经网络算子权重值的比特率,进而能够实现神经网络模型转化为光神经网络模型图通过光学神经芯片进行计算处理。本发明的方案解决了光学神经芯片对于大型网络承载能力较差,无法适配复杂问题对应的神经网络的问题。
如图8所示,本发明实施例的一种模型训练设备800,包括处理器810,其中,
所述处理器用于将待训练的神经网络模型转化为光神经网络模型图;
对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
对所述剪枝模型进行量化,得到目标模型。
本发明实施例的模型训练设备,将神经网络模型转化为光神经网络模型图,并通过对卷积层和全连接层采用不同的方式进行剪枝,得到剪枝模型,能够在保证光神经网络模型图精度的同时,降低光神经网络模型图的网络大小;通过对剪枝模型进行量化,能够降低剪枝模型中各个光神经网络算子权重值的比特率,进而能够实现神经网络模型转化为光神经网络模型图通过光学神经芯片进行计算处理。本发明的方案解决了光学神经芯片对于大型网络承载能力较差,无法适配复杂问题对应的神经网络的问题。
本发明另一实施例的一种模型训练设备,如图9所示,包括收发器910、处理器900、存储器920及存储在所述存储器920上并可在所述处理器900上运行的程序或指令;所述处理器900执行所述程序或指令时实现上述应用于模型训练方法。
所述收发器910,用于在处理器900的控制下接收和发送数据。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器900代表的一个或多个处理器和存储器920代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器910可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口930还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
处理器900负责管理总线架构和通常的处理,存储器920可以存储处理器900在执行操作时所使用的数据。
本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的模型训练方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的终端包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种模型训练方法,其特征在于,包括:
将待训练的神经网络模型转化为光神经网络模型图;
对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
对所述剪枝模型进行量化,得到目标模型。
2.根据权利要求1所述的模型训练方法,其特征在于,所述将待训练的神经网络模型转化为光神经网络模型图,包括:
将所述待训练的神经网络模型的神经网络算子转化为光神经网络算子;
将所述神经网络算子的权重赋值到对应的所述光神经网络算子,得到所述光神经网络模型图;
其中,所述光神经网络算子包括卷积层、全连接层、批量归一化层以及激活函数层。
3.根据权利要求1所述的模型训练方法,其特征在于,所述对所述光神经网络模型图的卷积层进行剪枝,包括:
对所述光神经网络模型图的批量归一化层的第一训练参数进行范数惩罚,得到第一预设阈值;
根据所述第一预设阈值以及所述卷积层的权重值,对所述卷积层进行剪枝,得到剪枝后的卷积层。
4.根据权利要求3所述的模型训练方法,其特征在于,所述根据所述第一预设阈值以及所述卷积层的权重值,对所述卷积层进行剪枝,包括:
根据所述卷积层的特征图的相关性,对所述卷积层进行聚类,得到多个种类的卷积层组;
计算每一类卷积层组的权重值的均值;
对均值小于所述第一预设阈值的卷积层组进行剪枝。
5.根据权利要求1所述的模型训练方法,其特征在于,所述对所述光神经网络模型图的全连接层进行剪枝,包括:
对所述全连接层进行分块,得到多个块,每个所述块包括至少一个元素;
计算每个所述块中每个元素的权重值的和,得到每个所述块的权重值;
对权重值小于第二预设阈值的所述块进行剪枝,得到剪枝后的全连接层。
6.根据权利要求1所述的模型训练方法,其特征在于,所述对所述剪枝模型进行量化,得到目标模型,包括:
将所述剪枝模型中所述卷积层的第一权重值作为量化模型的输入进行量化,将所述量化模型的输出的第三权重值作为所述卷积层量化后的权重值;
将所述剪枝模型中所述全连接层的第二权重值作为量化模型的输入进行量化,将所述量化模型的输出的第四权重值作为所述全连接层量化后的权重值;
根据所述第三权重值和所述第四权重值,确定所述目标模型;
其中,所述第三权重值的比特率小于所述第一权重值的比特率;所述第四权重值的比特率小于所述第二权重值的比特率。
7.根据权利要求6所述的模型训练方法,其特征在于,所述根据所述第三权重值和所述第四权重值,确定所述目标模型,包括:
执行至少一次目标过程;
根据所述目标过程的输出结果,确定所述目标模型;
其中,所述目标过程包括:
将所述第三权重值作为反量化模型的输入进行反量化,将所述反量化模型的第一输出结果作为所述卷积层反量化后的权重值,将所述第四权重值作为反量化模型的输入进行反量化,将所述反量化模型的第二输出结果作为所述全连接层反量化后的权重值;
将所述第一输出结果和所述第二输出结果作为所述量化模型的输入,对所述第一输出结果和所述第二输出结果进行量化,得到第一目标权重值和第二目标权重值;
根据所述第一目标权重值和所述第二目标权重值,确定所述目标模型。
8.根据权利要求1或6或7所述的模型训练方法,其特征在于,所述对所述剪枝模型进行量化,得到目标模型,包括:
对所述剪枝模型所有的卷积层和全连接层的权重值进行排序;
筛选权重值较小的预设比例的卷积层和全连接层进行量化,得到所述目标模型。
9.一种模型训练装置,其特征在于,包括:
转化模块,用于将待训练的神经网络模型转化为光神经网络模型图;
剪枝模块,用于对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
量化模块,用于对所述剪枝模型进行量化,得到目标模型。
10.一种模型训练设备,其特征在于,包括:处理器;
所述处理器用于将待训练的神经网络模型转化为光神经网络模型图;
对所述光神经网络模型图的卷积层和全连接层进行剪枝,得到剪枝模型,所述卷积层和所述全连接层所采用的剪枝方式不同;
对所述剪枝模型进行量化,得到目标模型。
11.一种模型训练设备,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述处理器执行所述程序或指令时实现如权利要求1-8任一项所述的模型训练方法。
12.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1-8任一项所述的模型训练方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311160790.5A CN116894189B (zh) | 2023-09-11 | 2023-09-11 | 一种模型训练方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311160790.5A CN116894189B (zh) | 2023-09-11 | 2023-09-11 | 一种模型训练方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116894189A true CN116894189A (zh) | 2023-10-17 |
CN116894189B CN116894189B (zh) | 2024-01-05 |
Family
ID=88312441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311160790.5A Active CN116894189B (zh) | 2023-09-11 | 2023-09-11 | 一种模型训练方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116894189B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117649568A (zh) * | 2024-01-30 | 2024-03-05 | 之江实验室 | 一种用于图像分类卷积神经网络的网络压缩方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652366A (zh) * | 2020-05-09 | 2020-09-11 | 哈尔滨工业大学 | 一种基于通道剪枝和量化训练的联合神经网络模型压缩方法 |
CN114004353A (zh) * | 2021-09-30 | 2022-02-01 | 中国科学院计算技术研究所 | 减少光器件数量的光神经网络芯片构建方法及系统 |
CN114723016A (zh) * | 2022-04-26 | 2022-07-08 | 中南大学 | 片上光子卷积神经网络及其构建方法 |
CN115049058A (zh) * | 2022-08-17 | 2022-09-13 | 北京智芯微电子科技有限公司 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
CN115238883A (zh) * | 2021-04-23 | 2022-10-25 | Oppo广东移动通信有限公司 | 神经网络模型的训练方法、装置、设备及存储介质 |
CN116306888A (zh) * | 2023-05-16 | 2023-06-23 | 北京爱芯科技有限公司 | 神经网络剪枝方法、装置、设备及存储介质 |
-
2023
- 2023-09-11 CN CN202311160790.5A patent/CN116894189B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652366A (zh) * | 2020-05-09 | 2020-09-11 | 哈尔滨工业大学 | 一种基于通道剪枝和量化训练的联合神经网络模型压缩方法 |
CN115238883A (zh) * | 2021-04-23 | 2022-10-25 | Oppo广东移动通信有限公司 | 神经网络模型的训练方法、装置、设备及存储介质 |
CN114004353A (zh) * | 2021-09-30 | 2022-02-01 | 中国科学院计算技术研究所 | 减少光器件数量的光神经网络芯片构建方法及系统 |
CN114723016A (zh) * | 2022-04-26 | 2022-07-08 | 中南大学 | 片上光子卷积神经网络及其构建方法 |
CN115049058A (zh) * | 2022-08-17 | 2022-09-13 | 北京智芯微电子科技有限公司 | 拓扑识别模型的压缩方法、装置、电子设备及介质 |
CN116306888A (zh) * | 2023-05-16 | 2023-06-23 | 北京爱芯科技有限公司 | 神经网络剪枝方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
SUNIL VADERA 等: "Methods for Pruning Deep Neural Networks", 《ARXIV》, pages 1 - 31 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117649568A (zh) * | 2024-01-30 | 2024-03-05 | 之江实验室 | 一种用于图像分类卷积神经网络的网络压缩方法及装置 |
CN117649568B (zh) * | 2024-01-30 | 2024-05-03 | 之江实验室 | 一种用于图像分类卷积神经网络的网络压缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116894189B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116894189B (zh) | 一种模型训练方法、装置、设备及可读存储介质 | |
EP3686813A1 (en) | Deep neural network-based method and device for quantifying activation amount | |
US11853594B2 (en) | Neural network computing chip and computing method | |
US11928599B2 (en) | Method and device for model compression of neural network | |
CN113159276B (zh) | 模型优化部署方法、系统、设备及存储介质 | |
CN103701635A (zh) | 一种在线配置Hadoop参数的方法和装置 | |
CN111831355B (zh) | 权重精度配置方法、装置、设备及存储介质 | |
US11625583B2 (en) | Quality monitoring and hidden quantization in artificial neural network computations | |
CN110188877A (zh) | 一种神经网络压缩方法与装置 | |
CN113255910A (zh) | 卷积神经网络的剪枝方法、装置、电子设备和存储介质 | |
CN111831354B (zh) | 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 | |
CN111160524A (zh) | 一种两阶段的卷积神经网络模型压缩方法 | |
CN113238989A (zh) | 将数据进行量化的设备、方法及计算机可读存储介质 | |
CN109635937B (zh) | 一种面向低位宽卷积神经网络的低功耗系统 | |
CN111582229A (zh) | 一种网络自适应半精度量化的图像处理方法和系统 | |
CN113095482B (zh) | 基于bp神经网络的拉曼放大器增益值计算方法及系统 | |
CN112990454A (zh) | 基于集成dpu多核异构的神经网络计算加速方法及装置 | |
CN114595627A (zh) | 模型量化方法、装置、设备及存储介质 | |
CN113238976B (zh) | 缓存控制器、集成电路装置及板卡 | |
CN113554097B (zh) | 模型量化方法、装置、电子设备和存储介质 | |
CN116151409A (zh) | 基于神经网络的城市日需水量预测的方法 | |
CN116266274A (zh) | 一种神经网络的调整方法及相应装置 | |
CN112380159A (zh) | 一种ima核心处理系统结构配置方法 | |
CN113238975A (zh) | 优化深度神经网络的参数的内存、集成电路及板卡 | |
CN113238988A (zh) | 优化深度神经网络的参数的处理系统、集成电路及板卡 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |