CN115660046A - 二值神经网络的梯度重构方法、装置、设备及存储介质 - Google Patents
二值神经网络的梯度重构方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115660046A CN115660046A CN202211301162.XA CN202211301162A CN115660046A CN 115660046 A CN115660046 A CN 115660046A CN 202211301162 A CN202211301162 A CN 202211301162A CN 115660046 A CN115660046 A CN 115660046A
- Authority
- CN
- China
- Prior art keywords
- binary
- gradient
- weight
- neural network
- real
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000013139 quantization Methods 0.000 claims abstract description 88
- 230000004913 activation Effects 0.000 claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000001994 activation Methods 0.000 claims description 81
- 230000006870 function Effects 0.000 claims description 67
- 238000013507 mapping Methods 0.000 claims description 49
- 239000011159 matrix material Substances 0.000 claims description 36
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000003796 beauty Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
本发明提供一种二值神经网络的梯度重构方法、装置、设备及存储介质,所述方法包括:在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;根据所述二值权重的梯度,确定实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重。本发明通过同或运算和位运算来替代卷积运算中的加法和乘法运算,不但节省了运算时间,加快了推理速度,而且还提高了运算效率。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种二值神经网络的梯度重构方法、装置、电子设备及计算机可读存储介质。
背景技术
随着深度网络学习的发展,卷积神经网络(CNN,Convolutional NeuralNetworks)模型在图像分类,目标检测和目标识别上都带来了显著的性能提升。但是,大量的参数和计算量使得CNN难以部署在资源受限的低功耗设备上。而二值神经网络(BNN,Binary Neural Network)的实值权重和实值激活都是1比特,能耗很小,可以大幅减少CNN模型的参数量和计算成本。因此,BNN被认为是将CNN模型部署到边缘设备上最有前景的方法之一。虽然BNN具有这些特性,但是,在实际应用中,BNN中的量化函数不可微,与卷积神经网络之间精度有着较大的差距。
相关技术中,为了解决量化函数不可微的问题,通常会忽略掉量化函数对梯度的影响,这样梯度的误差就会被放大,从而导致优化过程梯度不稳定。
因此,在优化二值神经网络的过程中,基于量化函数不可微,如何确定二值神经网络实值权重的梯度,是目前有待解决的技术问题。
发明内容
本发明提供一种二值神经网络的梯度重构方法、装置、电子设备及计算机可读存储介质,以至少解决相关技术中由于量化函数不可微,导致优化过程二值神经网络过程中实值权重的梯度不稳定的技术问题。本发明的技术方案如下:
根据本发明实施例的第一方面,提供一种二值神经网络的梯度重构方法,所述方法应用于部署有二值神经网络的设备,所述方法包括:
在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;
按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;
根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;
在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;
根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
可选的,所述在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活,包括:
在前向传播过程中,通过符号函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活。
可选的,按照同或和位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果:
对所述二值权重的矩阵和二值激活的矩阵进行同或运算,并对得到的同或运算结果进行位运算,得到位运算结果,并将所述位运算结果作为将所述二值权重的矩阵和二值激活的矩阵基于加法和乘法操作的卷积运算结果。
可选的,所述根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用,包括:
基于二值量化前后权重梯度之间的映射关系,根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
可选的,基于二值量化前后权重梯度之间的映射关系,根据所述二值权重的梯度,确定所述实值权重的梯度,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用,包括:
基于二值量化前实值权重的梯度与二值量化后二值权重的梯度之间的映射关系,与所述二值量化后二值权重的梯度的乘积,得到二值量化前实值权重的梯度,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
可选的,按照下述方式更新所述映射关系:
对于所述映射关系中的第一映射参数,是对所述二值量化前的实值权重的梯度进行裁剪,并将所述实值权重位于[-1,1]范围外的实值权重的梯度设置为0,不更新所述实值权重;
对所述映射关系中的第二映射参数,所述参数的更新是基于反向传播算法,将所述参数的梯度计算通过链式法则进行分解,得到激活值的梯度和卷积运算结果,根据得到梯度,更新所述参数,进而更新所述映射关系。
根据本发明实施例的第二方面,提供一种二值神经网络的梯度重构装置,所述装置应用于部署有二值神经网络的设备,所述装置包括:
量化处理模块,用于在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;
卷积运算模块,用于按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;
第一确定模块,用于根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;
偏导模块,用于在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;
第二确定模块,用于根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
可选的,所述量化处理模块,具体用于在前向传播过程中,通过符号函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活。
可选的,所述卷积运算模块,具体用于对所述二值权重的矩阵和二值激活的矩阵进行同或运算,并对得到的同或运算结果进行位运算,得到位运算结果,并将所述位运算结果作为将所述二值权重的矩阵和二值激活的矩阵基于加法和乘法操作的卷积运算结果。
可选的,所述第二确定模块,用于基于二值量化前后权重梯度之间的映射关系,根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用,。
可选的,所述第二确定模块,具体用于基于二值量化前实值权重的梯度与二值量化后二值权重的梯度之间的映射关系,与所述二值量化后二值权重的梯度的乘积,得到二值量化前实值权重的梯度。
可选的,所述第二确定模块按照下述方式更新所述映射关系:
对于所述映射关系中的第一映射参数,是对所述二值量化前的实值权重的梯度进行裁剪,并将所述实值权重位于[-1,1]范围外的实值权重的梯度设置为0,不更新所述实值权重;
对所述映射关系中的第二映射参数,所述参数的更新是基于反向传播算法,将所述参数的梯度计算通过链式法则进行分解,得到激活值的梯度和卷积运算结果,根据计算得到梯度更新所述参数,进而更新所述映射关系。
根据本发明实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上所述的二值神经网络的梯度重构方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上所述的二值神经网络的梯度重构方法。
根据本发明实施例的第五方面,提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如上所述的二值神经网络的梯度重构方法。
本发明的实施例提供的技术方案至少带来以下有益效果:
本发明实施例中,在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。也就是说,本发明实施例中,通过同或运算和位运算来替代卷积运算中的加法和乘法运算,不但节省了运算时间,加快了推理速度,而且还提高了运算效率。进一步,还可以基于二值量化前后权重梯度之间的映射关系,根据二值权重的梯度,确定实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,减小了二值神经网络的梯度误差,提高了精度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种二值神经网络的梯度重构方法的流程图。
图2是本发明实施例提供的一种二值神经网络量化的过程示意图。
图3是本发明实施例提供的一种二值神经网络卷积运算的示意图。
图4是本发明实施例提供的一种二值神经网络的梯度重构装置的框图。
图5是本发明实施例提供的一种电子设备装置的框图。
图6是本发明实施例提供的一种用于二值神经网络的梯度重构装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本发明的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(SLAM)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
本发明实施例为了推动卷积神经网络(CNN,Convolutional Neural Networks)模型在资源受限设备上的部署,已经提出了很多网络压缩技术,而在这其中,二值神经网络(BNN,Binary Neural Network)是一种很有前景的解决方案,能够大大降低CNN模型的计算成本和内存占用,促进CNN模型在资源受限设备上的部署。在BNN中,实值权重和实值激活都用1比特表示,可以用同或(XNOR)和位运算(popcount)代替矩阵乘法和加法运算,因此,当BNN部署在中央处理器(CPU,Central Processing Unit/Processor)平台时,最多可节省32倍的参数量和带来58倍的推理加速。并且,BNN在嵌入式设备上的能耗很小,还可以直接部署在下一代基于忆阻器的硬件上。
对于BNN中的梯度误差,通常有两种方式:一种是STE,直接使用二值量化参数的梯度去更新实值参数,忽略量化函数对梯度的影响,会产生不小的梯度误差。另一种是通过构造量化函数的可微近似函数,但是近似函数会带来误差,而且是用一个可微函数去近似不可微函数。因此,本发明实施例提出了一种全新的减小BNN中梯度误差的方案,本发明实施例中,没有忽略量化函数对梯度的影响,也没有通过构造一个可微近似函数来模拟量化不可微函数的影响,也不以通过不可微函数作为优化过程中的边界限制,而是以神经网络的思想探来学习化前后梯度之间的映射关系,确定一组关系使得损失最小的参数的二值权重梯度,以便于更新所述二值神经网络的实值梯度。
下面结合具体的应用实例,对本发明进行详细的说明。
请参阅图1,是本发明实施例提供的一种二值神经网络的梯度重构方法的流程图,所述方法应用于部署有二值神经网络的设备,该设备可以为智能终端也可以是服务端,通过同或和位运算代替矩阵乘法和加法运算来计算所述二值神经网络中的实值权重和实值激活,基于所述实值权重和实值激活利用神经网络学习量化前后梯度之间的关系,确定一组关系使得损失最小的参数的二值权重梯度,以便于更新所述二值神经网络的实值梯度,如图1所示,该方法包括以下步骤:
步骤101:在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;
步骤102:按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;
步骤103:根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;
步骤104:在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;
步骤105:根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
本发明所述的二值神经网络的梯度重构方法可以应用于终端、服务器等,在此不作限制,其终端实施设备可以是智能手机,笔记本电脑、平板电脑、个人计算机等电子设备,特别是小型电子终端,在此不作限制。
此外,该更新后的二值神经网络可以应用于前文所述的众多个领域中,本实施例以图像分类为例进行说明。根据上述步骤101-步骤105的实施方式可以对二值神经网络进行训练,例如当手机中部署有该二值神经网络,则手机可以根据上述对二值神经网络进行训练,得到训练后的二值神经网络(即二值神经网络模型或者二值神经网络的训练模型)。手机可以先从图像采集装置,如摄像头或从本地文件,获取待分类图像或待分类视频。并利用训练后的二值神经网络对其中的待分类图像或待分类视频进行分类,并根据分类结果对待分类图像或视频进行划分,划分到不同的文件夹中进行存储,或直接在手机屏幕上展示出分类结果。
下面结合图1,对本发明实施例提供的一种二值神经网络的梯度重构方法的具体实施步骤进行详细说明。
在步骤101中,在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活。
该步骤中,在对二值神经网络进行梯度重构的过程,或者对二值神经网络涉进行训练过程中都会及到两个过程,即前向传播过程和反向传播过程。其中,该前向传播过程,就是数据由低层次向高层次传播的过程;该反向传播过程,就是当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传播过程。
该步骤中,在前向传播过程中,可以通过符号函数(Sign函数)对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活。
其中,Sign函数如下:
q=Sign(r)
其中,r∈{-1,+1},表示输入实值,该实值可以是权重或激活的值,对应的,q∈{-1,+1}表示输出的二值,具体的,可以是二值权重或二值激活的值。
需要说明的是,sign函数,其作用就是返回数字的符号,即进行正负值判断,若大于0,则返回1;若等于0,则返回0;若小于0,则返回-1。
通过量化函数,比如Sign函数,二值量化全精度的实值权重和实值激活。具体包括:该步骤在作卷积运算之前,将实值权重和实值激活值都通过Sign函数分别进行二值量化。具体如图2所示,图2为本发明实施例提供的一种BNN的量化过程示意图。如图2所示,本实施例以权值为例,对权值的矩阵a和权值的矩阵w中的每个值进行正负值判断,若大于0,返回结果1,若等于0,返回0,若小于0,返回-1.,而得到权值的矩阵ba和bw,之后,ba和bw,进行卷积运算,卷积运算结果再与K和a进行同或运算⊙,得到二值权重。同理通过上述方法,也可以得到二值激活等。
需要说明的是,本发明实施例中的实值权重和实值激活,可以是实值权重值和实值激活值,也可以是实值权重矩阵和实值激活矩阵等,本实施例不做限制。
在步骤102中,按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果。具体包括:对所述二值权重的矩阵和二值激活的矩阵进行同或运算,并对得到的同或运算结果进行位运算,得到位运算结果,并将所述位运算结果作为将所述二值权重的矩阵和二值激活的矩阵基于加法和乘法操作的卷积运算结果。
该步骤中,可以采用下述公式来计算,所述二值权重的矩阵和二值激活的矩阵基于加法和乘法操作的卷积运算结果,等价于,对所述二值权重的矩阵和二值激活的矩阵进行同或运算,得到同或运算结果。其公式为:
也就是说,该步骤中,先对二值权重和二值激活进行同或运算,在对同或运算后的结果进行位运算。
其中,同或(XNOR)运算表示:双输入若相同,则输出为1,双输入若不同,则输出为0。比如:1 xnor 1=1;1 xnor 0=0;0xnor 0=1等。
位运算popcount,又称为population count,也称为sideways sum,是计算一个整数的二进制表示有多少位是1。
也就是说,该步骤中,通过XNOR和popcount运算替代卷积运算的加法和乘法,大大降低了运算时间,以实现推理加速。如图3所示,图3为本发明实施例提供的一种BNN的卷积运算示意图。如图3所示,只有先对实值权重和实值激活同时被二值量化后,才可以利用同或和位运算来替代卷积运算中的加法和乘法,以达到加速效果。
如图3所示,等号左边为:1-bitweight(1比特权重)与1-bitactivation(1比特激活),等号右边为:先对二值权重和二值激活进行同或(xnor)运算,在对同或运算后的结果进行位运算(比如bitcount,popcount等)。
在步骤103中,根据所述卷积运算结果确定所述二值神经网络的损失函数的结果。
该步骤中,利用卷积运算结果可以计算二值神经网络的损失函数的结果,其具体的计算过程对于本领域技术人员来说,已是熟知技术,在此不在赘述。
在步骤104中,在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度。
该步骤中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度,其具体的计算过程对于本领域技术人员来说,已是熟知技术,在此不在赘述。
在步骤105中,根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
该步骤中,可以基于二值量化前后权重梯度之间的映射关系,根据所述二值权重的梯度,确定实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,具体包括:基于二值量化前实值权重的梯度与二值量化后二值权重的梯度之间的映射关系,与所述二值量化后二值权重的梯度的乘积,得到二值量化前实值权重的梯度,其中,对于所述映射关系中的第一映射参数(比如下述公式中的|r|),是对所述二值量化前的实值权重的梯度进行裁剪,并将所述实值权重位于[-1,1]范围外的实值权重的梯度设置为0,不更新所述实值权重;对所述映射关系中的第二映射参数(比如下述公式中的αi),所述参数的更新是基于反向传播算法,将所述参数的梯度计算通过链式法则进行分解,得到激活值的梯度和卷积运算结果,根据计算得到梯度更新所述参数,进而更新所述映射关系。
具体的,可以按照下述公式,基于二值量化前实值权重的梯度与二值量化后二值权重的梯度之间的映射关系,与所述二值量化后二值权重的梯度的乘积,得到二值量化前实值权重的梯度,包括:
其中,表示损失函数,1|r|≤1表示为通过Hardtanh对实值权重的梯度进行裁剪,将实值权重位于[-1,1]范围外时,将二值量化前将实值权重的梯度设置为0,表示实值权重的梯度,表示二值权重的梯度,αi1|r|≤1表示实值权重的梯度与二值权重的梯度之间的映射关系。
也就是说,该步骤中,可以以神经网络的思想学习量化前后梯度之间的映射关系。该实施例中,没有忽略量化函数对梯度的影响,也没有通过构造一个可微近似函数来模拟量化的影响,直接面对量化函数不可微的问题,并且也没有将不可微函数作为优化过程中的边界限制,而是借鉴了神经网络的思想,学习量化前后梯度之间的映射关系,找到一组映射关系的参数使得损失函数最小:
Hardtanh(x)=Clip(x,-1,1)=max(-1,min(1,x))
αi的更新遵循链式法则,按照下述公式计算每一层的αi的梯度:
本发明实施例中,在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;根据所述二值权重的梯度,确定实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。也就是说,本发明实施例中,通过同或运算和位运算来替代卷积运算中的加法和乘法运算,不但节省了运算时间,加快了推理速度,而且还提高了运算效率。进一步,还可以基于二值量化前后权重梯度之间的映射关系,根据二值权重的梯度,确定实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,减小了二值神经网络的梯度误差,提高了精度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本实施公开并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
还请参阅图4,是本发明实施例提供的一种二值神经网络的梯度重构装置框图,所述装置部署有二值神经网络的设备,该设备可以为智能终端也可以是服务端,通过同或和位运算代替矩阵乘法和加法运算来计算所述二值神经网络中的实值权重和实值激活,基于所述实值权重和实值激活利用神经网络学习量化前后梯度之间的关系,确定一组关系使得损失最小的参数的二值权重梯度,以便于更新所述二值神经网络的实值梯度,该装置包括:量化处理模块401,卷积运算模块402,第一确定模块403,偏导模块404和第二确定模块405,其中,
该量化处理模块401,用于在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;
该卷积运算模块402,用于按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;
该第一确定模块403,用于根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;
该偏导模块404,用于在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;
该第二确定模块405,用于根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述量化处理模块,具体用于在前向传播过程中,通过符号函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述卷积运算模块,具体用于按照同或和位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果,包括;
对所述二值权重的矩阵和二值激活的矩阵进行同或运算,并对得到的同或运算结果进行位运算,得到位运算结果,并将所述位运算结果作为将所述二值权重的矩阵和二值激活的矩阵基于加法和乘法操作的卷积运算结果。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第二确定模块,用于基于二值量化前后权重梯度之间的映射关系,根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第二确定模块,具体用于基于二值量化前实值权重的梯度与二值量化后二值权重的梯度之间的映射关系,与所述二值量化后二值权重的梯度的乘积,得到二值量化前实值权重的梯度,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第二确定模块按照下述方式更新所述映射关系:
对于所述映射关系中的第一映射参数,是对所述二值量化前的实值权重的梯度进行裁剪,并将所述实值权重位于[-1,1]范围外的实值权重的梯度设置为0,不更新所述实值权重;
对所述映射关系中的第二映射参数,所述参数的更新是基于反向传播算法,将所述参数的梯度计算通过链式法则进行分解,得到激活值的梯度和卷积运算结果,根据计算得到梯度更新所述参数,进而更新所述映射关系。
可选的,本发明实施例还提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上所述的二值神经网络的梯度重构方法。
可选的,本发明实施例还提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上所述的二值神经网络的梯度重构方法。
可选的,本发明实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如上所述的二值神经网络的梯度重构方法。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
在实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图5是本发明实施例提供的一种电子设备500的框图。例如,电子设备500可以为移动终端也可以为服务器,本发明实施例中以电子设备为移动终端为例进行说明。例如,电子设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电力组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述所示的二值神经网络的梯度重构方法。
在实施例中,还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备500的处理器520执行时,使得所述电子设备500能够执行上述所示的二值神经网络的梯度重构方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在实施例中,还提供了一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器520执行时实现上述所示的二值神经网络的梯度重构方法。
图6是本发明实施例提供的一种用于二值神经网络的梯度重构的装置600的框图。例如,装置600可以被提供为一服务器。参照图6,装置600包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622的执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述方法。
装置600还可以包括一个电源组件626被配置为执行装置600的电源管理,一个有线或无线网络接口650被配置为将装置600连接到网络,和一个输入输出(I/O)接口658。装置600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种二值神经网络的梯度重构方法,其特征在于,包括:所述方法应用于部署有二值神经网络的设备,所述方法包括:
在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;
按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;
根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;
在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;
根据所述二值权重的梯度,确定所述实值权重的梯度,以根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
2.根据权利要求1所述的二值神经网络的梯度重构方法,其特征在于,所述在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活,包括:
在前向传播过程中,通过符号函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活。
3.根据权利要求1所述的二值神经网络的梯度重构方法,其特征在于,按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果,包括:
对所述二值权重的矩阵和二值激活的矩阵进行同或运算,并对得到的同或运算结果进行位运算,得到位运算结果,并将所述位运算结果作为将所述二值权重的矩阵和二值激活的矩阵基于加法和乘法操作的卷积运算结果。
4.根据权利要求1至3任一项所述的二值神经网络的梯度重构方法,其特征在于,所述根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用,包括:
基于二值量化前后权重梯度之间的映射关系,根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
5.根据权利要求4所述的二值神经网络的梯度重构方法,其特征在于,基于二值量化前后权重梯度之间的映射关系,根据所述二值权重的梯度,确定实值权重的梯度,包括:
基于二值量化前实值权重的梯度与二值量化后二值权重的梯度之间的映射关系,与所述二值量化后二值权重的梯度的乘积,得到二值量化前实值权重的梯度。
6.根据权利要求5所述的二值神经网络的梯度重构方法,其特征在于,按照下述方式更新所述映射关系:
对于所述映射关系中的第一映射参数,是对所述二值量化前的实值权重的梯度进行裁剪,并将所述实值权重位于[-1,1]范围外的实值权重的梯度设置为0,不更新所述实值权重;
对所述映射关系中的第二映射参数,所述参数的更新是基于反向传播算法,将所述参数的梯度计算通过链式法则进行分解,得到激活值的梯度和卷积运算结果,根据计算得到梯度更新所述参数,进而更新所述映射关系。
7.一种二值神经网络的梯度重构装置,其特征在于,所述装置应用于部署有二值神经网络的设备,所述装置包括:
量化处理模块,用于在前向传播过程中,通过量化函数对实值权重和实值激活分别进行二值量化处理,得到二值神经网络的二值权重和二值激活;
卷积运算模块,用于按照同或及位运算对所述二值权重和二值激活进行卷积运算,得到卷积运算结果;
第一确定模块,用于根据所述卷积运算结果确定所述二值神经网络的损失函数的结果;
偏导模块,用于在反向传播过程中,对所述损失函数的结果和二值权重求偏导,得到二值权重的梯度;
第二确定模块,用于根据所述二值权重的梯度,确定所述实值权重的梯度,以便于根据所述实值权重的梯度来更新实值权重,得到更新后的二值神经网络,并通过部署有更新后的二值神经网络的设备进行二值神经网络的应用。
8.根据权利要求7所述的二值神经网络的梯度重构装置,其特征在于,所述卷积运算模块,具体用于对所述二值权重的矩阵和二值激活的矩阵进行同或运算,得到同或运算结果,并对得到的同或运算结果进行位运算,得到位运算结果,将所述位运算结果作为将所述二值权重的矩阵和二值激活的矩阵基于加法和乘法操作的卷积运算结果。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的二值神经网络的梯度重构方法。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至6中任一项所述的二值神经网络的梯度重构方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211301162.XA CN115660046B (zh) | 2022-10-24 | 2022-10-24 | 二值神经网络的梯度重构方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211301162.XA CN115660046B (zh) | 2022-10-24 | 2022-10-24 | 二值神经网络的梯度重构方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115660046A true CN115660046A (zh) | 2023-01-31 |
CN115660046B CN115660046B (zh) | 2024-07-19 |
Family
ID=84991118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211301162.XA Active CN115660046B (zh) | 2022-10-24 | 2022-10-24 | 二值神经网络的梯度重构方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115660046B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106611216A (zh) * | 2016-12-29 | 2017-05-03 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
US10311342B1 (en) * | 2016-04-14 | 2019-06-04 | XNOR.ai, Inc. | System and methods for efficiently implementing a convolutional neural network incorporating binarized filter and convolution operation for performing image classification |
CN110619392A (zh) * | 2019-09-19 | 2019-12-27 | 哈尔滨工业大学(威海) | 一种面向嵌入式移动设备的深度神经网络压缩方法 |
US20200097818A1 (en) * | 2018-09-26 | 2020-03-26 | Xinlin LI | Method and system for training binary quantized weight and activation function for deep neural networks |
CN110929852A (zh) * | 2019-11-29 | 2020-03-27 | 中国科学院自动化研究所 | 深度二值神经网络训练方法及系统 |
CN111950700A (zh) * | 2020-07-06 | 2020-11-17 | 华为技术有限公司 | 一种神经网络的优化方法及相关设备 |
CN112150497A (zh) * | 2020-10-14 | 2020-12-29 | 浙江大学 | 基于二值神经网络的局部激活方法与系统 |
CN112446487A (zh) * | 2019-08-29 | 2021-03-05 | 佳能株式会社 | 神经网络模型的训练和应用方法、装置、系统及存储介质 |
CN113159296A (zh) * | 2021-04-27 | 2021-07-23 | 广东工业大学 | 一种二值神经网络的构建方法 |
CN113159273A (zh) * | 2021-01-30 | 2021-07-23 | 华为技术有限公司 | 一种神经网络的训练方法及相关设备 |
CN113537462A (zh) * | 2021-06-30 | 2021-10-22 | 华为技术有限公司 | 数据处理方法、神经网络的量化方法及相关装置 |
CN114358206A (zh) * | 2022-01-12 | 2022-04-15 | 合肥工业大学 | 二值神经网络模型训练方法及系统、图像处理方法及系统 |
CN114761974A (zh) * | 2019-09-24 | 2022-07-15 | 华为技术有限公司 | 用于量化神经网络的权重和输入的训练方法 |
-
2022
- 2022-10-24 CN CN202211301162.XA patent/CN115660046B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10311342B1 (en) * | 2016-04-14 | 2019-06-04 | XNOR.ai, Inc. | System and methods for efficiently implementing a convolutional neural network incorporating binarized filter and convolution operation for performing image classification |
CN106611216A (zh) * | 2016-12-29 | 2017-05-03 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
US20200097818A1 (en) * | 2018-09-26 | 2020-03-26 | Xinlin LI | Method and system for training binary quantized weight and activation function for deep neural networks |
CN112446487A (zh) * | 2019-08-29 | 2021-03-05 | 佳能株式会社 | 神经网络模型的训练和应用方法、装置、系统及存储介质 |
CN110619392A (zh) * | 2019-09-19 | 2019-12-27 | 哈尔滨工业大学(威海) | 一种面向嵌入式移动设备的深度神经网络压缩方法 |
CN114761974A (zh) * | 2019-09-24 | 2022-07-15 | 华为技术有限公司 | 用于量化神经网络的权重和输入的训练方法 |
CN110929852A (zh) * | 2019-11-29 | 2020-03-27 | 中国科学院自动化研究所 | 深度二值神经网络训练方法及系统 |
CN111950700A (zh) * | 2020-07-06 | 2020-11-17 | 华为技术有限公司 | 一种神经网络的优化方法及相关设备 |
CN112150497A (zh) * | 2020-10-14 | 2020-12-29 | 浙江大学 | 基于二值神经网络的局部激活方法与系统 |
WO2022077903A1 (zh) * | 2020-10-14 | 2022-04-21 | 浙江大学 | 基于二值神经网络的局部激活方法与系统 |
CN113159273A (zh) * | 2021-01-30 | 2021-07-23 | 华为技术有限公司 | 一种神经网络的训练方法及相关设备 |
CN113159296A (zh) * | 2021-04-27 | 2021-07-23 | 广东工业大学 | 一种二值神经网络的构建方法 |
CN113537462A (zh) * | 2021-06-30 | 2021-10-22 | 华为技术有限公司 | 数据处理方法、神经网络的量化方法及相关装置 |
CN114358206A (zh) * | 2022-01-12 | 2022-04-15 | 合肥工业大学 | 二值神经网络模型训练方法及系统、图像处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115660046B (zh) | 2024-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829433B (zh) | 人脸图像识别方法、装置、电子设备及存储介质 | |
CN109543714B (zh) | 数据特征的获取方法、装置、电子设备及存储介质 | |
EP3901948A1 (en) | Method for training a voiceprint extraction model and method for voiceprint recognition, and device and medium thereof | |
CN110544272B (zh) | 脸部跟踪方法、装置、计算机设备及存储介质 | |
US20220392202A1 (en) | Imaging processing method and apparatus, electronic device, and storage medium | |
CN110533105B (zh) | 一种目标检测方法及装置、电子设备和存储介质 | |
JP2022522551A (ja) | 画像処理方法及び装置、電子機器並びに記憶媒体 | |
WO2022166069A1 (zh) | 深度学习网络确定方法、装置、电子设备及存储介质 | |
CN109858614B (zh) | 神经网络训练方法及装置、电子设备和存储介质 | |
EP4239585A1 (en) | Video loop recognition method and apparatus, computer device, and storage medium | |
CN111899760A (zh) | 音频事件的检测方法、装置、电子设备及存储介质 | |
CN110633470A (zh) | 命名实体识别方法、装置及存储介质 | |
CN110889489A (zh) | 神经网络的训练方法、图像识别方法及其装置 | |
CN115620054A (zh) | 一种缺陷分类方法、装置、电子设备及存储介质 | |
CN113515994A (zh) | 视频特征提取方法、装置、设备以及存储介质 | |
CN113781518B (zh) | 神经网络结构搜索方法及装置、电子设备和存储介质 | |
CN113628221B (zh) | 图像处理方法、图像分割模型训练方法及相关装置 | |
CN113823313A (zh) | 语音处理方法、装置、设备以及存储介质 | |
CN112036307A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN115660046B (zh) | 二值神经网络的梯度重构方法、装置、设备及存储介质 | |
CN111046780A (zh) | 神经网络训练及图像识别方法、装置、设备和存储介质 | |
CN113762585B (zh) | 数据的处理方法、账号类型的识别方法及装置 | |
CN114648116A (zh) | 模型量化方法、装置、车辆及存储介质 | |
CN114842404A (zh) | 时序动作提名的生成方法及装置、电子设备和存储介质 | |
CN114648649A (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 |