CN111931937A - 图像处理模型的梯度更新方法、装置及系统 - Google Patents
图像处理模型的梯度更新方法、装置及系统 Download PDFInfo
- Publication number
- CN111931937A CN111931937A CN202011064730.XA CN202011064730A CN111931937A CN 111931937 A CN111931937 A CN 111931937A CN 202011064730 A CN202011064730 A CN 202011064730A CN 111931937 A CN111931937 A CN 111931937A
- Authority
- CN
- China
- Prior art keywords
- convolution
- data
- gradient
- convolved
- convolved data
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 72
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 238000004590 computer program Methods 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 abstract description 10
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 33
- 239000011159 matrix material Substances 0.000 description 23
- 230000008569 process Effects 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
-
- 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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请适用于人工智能技术领域,提供了一种图像处理模型的梯度更新方法及相关设备,其中该方法包括:调用DMA控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,并将各个卷积层对应的卷积核和被卷积数据分别存储至第一缓存空间和第二缓存空间,卷积核包括针对原始图像特征值梯度的卷积核和针对原始权重梯度的卷积核;基于第一缓存空间中的卷积核和第二缓存空间中的被卷积数据进行反向卷积计算,以更新各个卷积层的原始图像特征值梯度和原始权重梯度。由此,大幅提升梯度更新效率,节约图像处理模型的训练成本,使得图像处理模型及相应的业务产品能快速上线。
Description
技术领域
本申请属于人工智能技术领域,尤其涉及一种图像处理模型的梯度更新方法、装置及系统。
背景技术
人工智能两个基本要素分别为训练和推理。针对已经设计好的图像处理模型结构,必须经过大量数据进行训练,在达到一定的精度、准确度之后才能用于推理。训练的数据集越多,图像处理模型的性能越好,也就越智能。当前,主流的图像处理模型训练方法为梯度下降法,然而,该梯度下降法的梯度更新效率较低,训练时间较长且能耗较高。
发明内容
有鉴于此,本申请实施例提供了一种图像处理模型的梯度更新方法、装置及系统,以至少解决现有技术中图像处理模型的梯度更新效率较低,训练时间较长且能耗较高的问题。
本申请实施例的第一方面提供了一种图像处理模型的梯度更新方法,包括:调用DMA控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,并将所述各个卷积层对应的所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,其中所述卷积参数包括图像特征值、权重、原始图像特征值梯度和原始权重梯度,以及所述卷积核包括针对所述原始图像特征值梯度的卷积核和针对所述原始权重梯度的卷积核;基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的所述原始图像特征值梯度和所述原始权重梯度。
本申请实施例第二方面提供了一种图像处理模型的梯度更新装置,包括:DMA控制模块调用单元,被配置为调用DMA控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,并将所述各个卷积层对应的所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,其中所述卷积参数包括图像特征值、权重、原始图像特征值梯度和原始权重梯度,以及所述卷积核包括针对所述原始图像特征值梯度的卷积核和针对所述原始权重梯度的卷积核;反向卷积计算单元,被配置为基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的所述原始图像特征值梯度和所述原始权重梯度。
本申请实施例第三方面提供一种图像处理模型的梯度更新系统,包括第一DMA控制器、第二DMA控制器和处理器,其中,所述第一DMA控制器被配置为:根据图像处理模型中各个卷积层的卷积参数,确定与各个卷积层对应的卷积核,将所述各个卷积层对应的所述卷积核存储至第一缓存空间;其中,所述第二DMA控制器被配置为:根据图像处理模型中各个卷积层的卷积参数,确定与各个卷积层对应的被卷积数据,将所述各个卷积层对应的所述被卷积数据存储至第二缓存空间;其中,所述处理器被配置为:基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的所述原始图像特征值梯度和所述原始权重梯度。
本申请实施例第四方面提供一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本申请实施例第五方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
本申请实施例的第六方面提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端实现如上述方法的步骤。
本申请实施例提供的图像处理模型的梯度更新方法与现有技术相比存在的有益效果是:
移动终端中的处理器可以调用DMA控制模块从图像处理模型中卷积网络的卷积参数中预先确定卷积核和被卷积数据,并分别存储至不同的缓存空间,使得在进行反向卷积计算时,处理器可以从缓存空间中调用卷积核和相应的被卷积数据来直接进行反向卷积计算,而不需要处理器从存储器(例如,硬盘)存储空间中调用数据和确定卷积核,可以大幅提升梯度更新效率,节约图像处理模型的训练成本,缩短图像处理模型的训练时间,使得图像处理模型能够快速地被投放到实际的图像处理服务业务中。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了神经网络卷积层的前向传播的示意图;
图2示出了根据本申请实施例的图像处理模型的梯度更新方法的一示例的流程图;
图3示出了神经网络卷积层的反向传播过程中计算图1中L层的权重梯度的示意图;
图4示出了神经网络卷积层的反向传播过程中计算图1中L-1层的特征值梯度的示意图;
图5示出了根据本申请实施例的对所获取的卷积参数进行降维处理的一示例的示意图;
图6示出了根据本申请实施例的利用卷积参数进行反向卷积计算的一示例的流程图;
图7示出了适于应用如本申请实施例的图像处理模型的梯度更新方法的一示例的系统的架构原理示意图;
图8示出了根据本申请实施例的将用于计算L层的权重梯度卷积核搬运至第一缓存空间的示意图;
图9示出了将被卷积数据存储至第二缓存空间的一示例的流程图;
图10示出了根据本申请实施例的将用于计算L层的权重梯度的被卷积数据的数据结构的示意图;
图11示出了将图10中的数据存储至第二缓存空间的一示例的数据存储方式的示意图;
图12示出了根据本申请实施例的将图10所示的L-1层的特征值写入第二缓存空间的一示例的原理示意图;
图13示出了根据本申请实施例的关于L层的权重梯度的计算结果的一示例的示意图;
图14示出了根据本申请实施例的将用于更新L-1层的特征值梯度的卷积核存储至第一缓存空间的一示例的示意图;
图15示出了根据本申请实施例的将卷积核和卷积子数据存储至缓存空间的一示例的流程图;
图16示出了根据本申请实施例的对第一缓存空间中的卷积核进行划分的一示例的示意图;
图17示出了根据本申请实施例的对第二缓存空间中的被卷积数据进行划分的一示例的示意图;
图18示出了根据本申请实施例的图像处理模型的梯度更新装置的一示例的结构框图;
图19示出了根据本申请实施例的移动终端的一示例的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的移动终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,上述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的移动终端。然而,应当理解的是,移动终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
可以在移动终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1示出了神经网络卷积层的前向传播的示意图。
如图1所示,L-1层和L层分别表示全连接的两个卷积层,L-1层为L层的输入,L-1层包括ci0和ci1,L层卷积输出包括co1、co2和co3,也即输入包含2个特征向量,输出为3个特征向量,在全连接网络中存在6个权重w00、w01、w02、w10、w11和w12。
需说明的是,神经网络卷积层的反向传播为该前向传播的逆过程,例如,输入L层特征值梯度,需要计算L-1层特征值梯度以及L层权重的梯度。
图2示出了根据本申请实施例的图像处理模型的梯度更新方法的一示例的流程图。关于本申请实施例的图像处理模型的梯度更新方法的执行主体,其可以是各种移动终端或处理器,例如用于对图像处理模型进行训练的移动终端或处理器。
如图2所示,在步骤210中,调用DMA(Direct Memory Access,直接存储器访问)控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据。这里,卷积参数可以包括图像特征值、权重、原始图像特征值梯度和原始权重梯度。应理解的是,图像处理模型可以被应用于处理各类图像业务,例如图像识别处理、图像超分处理等,在此可不作限制。
示例性地,可以在图像处理模型完成前向传播之后,或者在进行反向传播(或梯度更新)之前,采集图像处理模型中各个卷积层的卷积参数。
此外,卷积核可以包括针对原始图像特征值梯度的卷积核和针对原始权重梯度的卷积核。相应地,可以从所获取的卷积参数中,依次筛选各个卷积层在反向卷积计算(或梯度更新)过程中所需要的卷积核和被卷积数据。
在步骤220中,调用DMA控制模块,将各个卷积层对应的卷积核和被卷积数据分别存储至第一缓存空间和第二缓存空间。
在步骤230中,基于第一缓存空间中的卷积核和第二缓存空间中的被卷积数据进行反向卷积计算,以更新各个卷积层的原始图像特征值梯度和原始权重梯度。示例性地,可以直接将第一缓存空间中的卷积核和对应的在第二缓存空间中的被卷积数据进行乘法计算,以更新相应的卷积层的梯度。
图3示出了神经网络卷积层的反向传播过程中计算图1中L层权重的梯度的示意图。
如图3所示,可以通过以下方式来计算L层权重的梯度。
其中,∇ W l L表示L层的权重的梯度,X l-1表示L-1层的特征值,δ l 表示L层的特征值梯度。由此,使用L层的特征值梯度作为卷积核,对L-1层特征值进行卷积,从而得到L层权重的梯度。
在本申请实施例的一些示例中,在对原始权重梯度进行更新时,DMA控制模块可以参照上述公式(1),预先准备反向卷积计算所需要的针对原始权重梯度的卷积核和被卷积数据,并将其存在缓存空间中。示例性地,可以将第一卷积层(例如L层)的原始图像特征值梯度,确定为针对第一卷积层的原始权重梯度的卷积核,并且可以将与第一卷积层的输入端连接的第二卷积层(L-1层)的图像特征值,确定为针对第一卷积层的原始权重梯度的被卷积数据。
因此,处理器无需从众多的卷积参数中筛选针对原始权重梯度的卷积核和相应的被卷积数据,并可以利用DMA控制模块预先准备好卷积核和相应的被卷积数据,使得处理器可以直接进行反向卷积计算,可以提高反向卷积效率,加速了权重梯度的更新过程。
图4示出了神经网络卷积层的反向传播过程中计算图1中L-1层特征值梯度的示意图。
如图4所示,可以通过以下方式来计算L-1层特征值梯度:
其中,δ l-1表示L-1层的特征值梯度,δ l 表示L层特征值梯度,W l 表示L层的权重,rot180(W l )表示对L层权重旋转180度。这样,使用反转(rotate)之后的数据作为卷积核,对L层的特征值梯度进行卷积,得到L-1层特征值梯度。
在本申请实施例的一些示例中,在对原始图像特征值梯度进行更新时,DMA控制模块可以参照上述公式(2),预先准备反向卷积计算所需要的针对原始图像特征值梯度的卷积核和被卷积数据,并将其存在缓存空间中。示例性地,可以基于DMA控制模块,对第三卷积层(例如,L层)的权重进行反转处理,并将经反转处理的第三卷积层的权重(例如,rot180(W l )),确定为针对与第三卷积层的输入端连接的第四卷积层(例如,L-1层)的原始图像特征值梯度的卷积核。另外,还可以将第三卷积层的原始图像特征值梯度,确定为针对第四卷积层的原始图像特征值梯度的被卷积数据。
因此,处理器无需从众多的卷积参数中筛选针对原始图像特征值梯度的卷积核和相应的被卷积数据,并可以利用DMA控制模块预先准备好卷积核和相应的被卷积数据,使得处理器可以直接进行反向卷积计算,处理器也无需执行针对权重的反转操作,可以提高反向卷积效率,加速了图像特征值梯度的更新过程。
在本申请实施例的一些示例中,DMA控制模块可以包括多个专用型的DMA控制器,通过调用第一DMA控制器来读取卷积参数,并将各个卷积层所对应的卷积核存储至第一缓存空间,通过调用第二DMA控制器来读取卷积参数,并将各个卷积层所对应的被卷积数据存储至第二缓存空间。由此,使用不同的DMA控制器来分别专门处理卷积核和被卷积数据,可以提高自卷积参数到缓存空间的数据转换及存储效率。
在本申请实施例中,利用DMA控制模块从图像处理模型的卷积网络的卷积参数中预先确定卷积核和被卷积数据,并分别存储至不同的缓存空间,使得在进行反向卷积计算时,处理器可以从不同的缓存空间中分别直接调用卷积核和相应的被卷积数据,并据此直接进行反向卷积计算,而不需要从硬盘存储空间中调用数据和确定卷积核,可以大幅提升梯度更新效率,节约图像处理模型的训练成本,缩短模型的训练时间,使得图像处理模型能够快速地投入生产,例如运营方能够更快速地使用图像识别模型,从而加快图像识别应用产品的整体上线时间。
需说明的是,图像处理模型的卷积层中的一些卷积参数可能是多维的,例如原始图像特征值梯度是二维的,导致较大的反向卷积计算量。
在本申请实施例的一些示例中,当所获取的卷积参数为多维数据时,可以将所获取的卷积参数进行降维处理,由此降低反向卷积计算量。图5示出了根据本申请实施例的对所获取的卷积参数进行降维处理的一示例的示意图。如图5所示,存在L层的3个二维的图像特征值梯度(0~9),可以进行平铺操作以转换成3个一维的向量。
图6示出了根据本申请实施例的利用卷积参数进行反向卷积计算的一示例的流程图。
如图6所示,在步骤610中,基于预设的针对卷积核的第一数据结构单元,从第一缓存空间中依次读取相应的卷积核单元。
在步骤620中,基于预设的针对被卷积数据的第二数据结构单元,从第二缓存空间依次读取被卷积数据单元。
在步骤630中,根据所依次读取的卷积核单元和被卷积数据单元,相应地依次进行乘法运算。
需说明的是,第一数据结构单元和第二数据结构单元可以是依据处理器的的卷积计算能力和需求而确定的。示例性地,数据结构单元可以是特定大小的矩阵,假设某个处理器的一个循环(cycle)可以计算的矩阵乘法为一个2×3的矩阵和一个3×3的矩阵相乘,则相应的第一数据结构单元可以是2×3的矩阵,第二数据结构单元可以是3×3的矩阵。
在本申请实施例的一些示例中,第一缓存空间中的存储数据是基于第一数据结构单元从各个卷积层对应的所述卷积核中读取而得到的,以及第二缓存空间中的存储数据是基于第二数据结构单元从所述各个卷积层对应的被卷积数据中读取而得到的。也就是说,针对第一缓存空间读数据和写数据的数据结构单元是一致的,能够避免读写数据不一致导致的数据冲突,保障了反向卷积计算能有效进行。
通过本申请实施例,将不同的缓存空间中的卷积核和被卷积数据划分为预定的数据结构单位,从而满足卷积计算的需求,保障了卷积计算操作可以有效地进行。
图7示出了适于应用如本申请实施例的图像处理模型的梯度更新方法的一示例的系统架构原理示意图。
如图7所示,存储器可以存储参与反向卷积计算的输入数据、输出数据,其中包括图像特征值、权重、原始图像特征值梯度、原始权重梯度。
在步骤710中,第一DMA控制器可以搬运参与卷积运算的卷积核,从存储器搬运至第一缓存空间。此外,当计算或更新卷积层的图像特征值梯度时,第一DMA控制器还可以对搬运的各个卷积层的权重进行反转操作(即反转180度),从而得到用于更新图像特征值梯度的卷积核,使得处理器在反向卷积计算的过程中可以省略反转操作,节约处理器的资源的同时,还能提高梯度更新效率。第二DMA控制器可以搬运参与卷积运算的被卷积数据,从存储器搬运至第二缓存空间。这里,在将被卷积数据写入至第二缓存空间的过程中,第二DMA控制器可以将被卷积数据的数据单元与第二缓存空间的数据读写单元进行比较,在被卷积数据单元大于针对第二缓存空间的数据读写单元时,第二DMA控制器可以将被卷积数据单元进行处理,以降低存储器与第二缓存空间之间的带宽传输压力,更多细节将结合下文中的图9展开。
在步骤720中,在卷积核和被卷积数据都存储到缓存中之后,可以启动处理器进行乘累加操作(或矩阵乘累加操作)。
在步骤730中,在完成计算之后,可以把计算完成后的结果存储至第三缓存空间。
在步骤740中,在数据被存储至第三缓存空间之后,可以通过第三DMA控制器把计算结果(或更新后的权重梯度或图像特征值梯度)存储回存储器中。
继续结合如图2和图3中的示例,以下将展开通过本申请实施例来更新卷积层(例如,L层)的权重梯度的细节。
图8示出了根据本申请实施例的将用于计算L层的权重梯度卷积核搬运至第一缓存空间的示意图。
如图8所示,在计算L层的权重梯度时,L层的3个二维的图像特征值梯度被用作相应的卷积核,其被平铺成3个一维的向量,然后通过第一DMA控制器把平铺为一维的向量按照图8所示的数据结构搬运至第一缓存空间中。这里,假设处理器一个循环(或cycle)可以计算的矩阵乘法为一个2×3的矩阵(即,卷积核的数据结构单元)和一个3×3的矩阵(即,被卷积数据的数据结构单元)相乘,例如图8中卷积核的数据结构单元中的矩阵行数alpha=2,矩阵列数beta=3。另外,delta可以表示在第一缓存空间的矩阵行方向上需要重复计算(即,矩阵乘法计算)的次数,epsilon可以表示在第一缓存空间列方向上需要重复计算的次数,并且delta和epsilon可以是由第一缓存空间的大小(简称为wbuf size)决定,并尽量保证delta*alpha*beta*epsilon < wbuf size。需说明的是,在本示例中暂时可以假设第一缓存空间可以存储所有需要参与梯度计算的数据,在下文中将扩展描述当需要参与反向卷积运算的数据超过wbuf size时应当如何进行梯度计算。
在一些情况下,被卷积数据(例如,矩阵)包括多个被卷积数据单元(例如,矩阵中的行数据),在读取被卷积数据并写入至第二缓存空间的过程中,可能会导致同一个被卷积数据单元重复出现在缓存空间中的不同的位置,导致增大了针对存储器与缓存空间之间的数据传输带宽的需求。
图9示出了将被卷积数据存储至第二缓存空间的一示例的流程图。
如图9所示,在步骤910中,对被卷积数据中的多个被卷积数据单元分别进行读取。
在步骤920中,针对各个被卷积数据单元,当被卷积数据单元大于针对第二缓存空间的数据读写单元时,将被卷积数据单元转换为相应的多个被卷积数据单元分段,并通过移位信息来连续存储多个被卷积数据单元分段。这里,被卷积信息分段的数据大小与数据读写单元相匹配。
需说明的是,数据读写单元可以表示在一次针对缓存空间的数据读写操作中所对应的数据大小,例如一次性可以读取5个数据点,被卷积数据单元可以表示可以用来表示完整的卷积信息片段,例如矩阵中完整的一行数据。示例性地,当被卷积数据单元超过了数据读写单元(例如,5个数据点)时,可以将被卷积数据单元转换为相应的被卷积数据单元分段,被卷积数据单元分段的数据大小与数据读写单元相匹配。此外,各个数据读写单元的数据大小的和值可能会超过被卷积数据单元的大小,此时可以在不同的被卷积数据段元分段之间复用信息。另外,通过移位信息来连续存储多个被卷积数据单元分段,可以保障所存储的被卷积数据的连续性和完整性。
在本申请实施例的一些示例中,还可以基于系统配置信息(或用户需求)来配置数据读写单元的数据大小,以满足各种应用场景的需求。
通过本申请实施例,针对超过读写单元的被卷积信息,利用移位信息来表示超出读写单元的信息部分,保障了被卷积信息在缓存空间中存储位置的连续性,可以大幅度地降低数据带宽的压力。
图10示出了根据本申请实施例的将用于计算L层的权重梯度的被卷积数据的数据结构的示意图。
如图10所示,用于计算L层的权重梯度的被卷积数据为L-1层的图像特征值,其具有2个3×6的二维矩阵,并且需要把图像特征值按照图11所示的方式存储在第二缓存空间中。
通过如图11的存储结构的示例中可以看出,二维矩阵中的不同行数据会重复出现在不同的位置,即使同一行的数据也会存储在第二缓存空间中不同的位置,导致增大了存储器到第二缓存空间的数据传输带宽的负担。
需说明的是,从图11可以看出,虽然相同数据出现的不同位置,但是其是具有一定规律的,第二缓存空间中同一行复用的数据为移位的数据(数据移位或者地址移位),存储仅需对数据移位或者地址添加一个移位或偏置即可。
图12示出了根据本申请实施例的将图10所示的L-1层的图像特征值写入第二缓存空间的一示例的原理示意图。
如图12所示,首先,第二DMA控制器读取一次第一行数据0~5,取连续的5个数据0~4,放置在第一列,然后偏移一个数据,取连续的5个数据1~5放置在第二列,该偏移可以是由第二DMA控制器内部的移位模块来实现的。
然后,第二DMA控制器读取一次第二行数据7~12,取连续的5个数7~11,放置在第一列,接在第一行的后面,然后偏移一个数据,取连续的5个数据8~12放置在第二列,接在第一行数据的后面。
由此,在往缓存空间读写数据时,可以基于移位模块的信息(即shift信息)得知该数据还需要连续放置在哪个位置(例如第三列和第四列),直至完全存储该行数据数据。需说明的是,每一行数据的存储使命也由第二DMA控制器的shift模块基于系统赋予的信息所决定的。
最后,可以读取第三行数14~19,取连续的5个数据14~18,放置在第三列,接在第二行的后面,然后偏移一个数据,取连续的5个数据15~19放置在第四列,接在第二行数据的后面。这样,每次连续取多少个数据也是基于系统给予的信息计算得到。通过本申请实施例,可以大幅度降低存储器的数据带宽的压力。
在一些实施方式中,待卷积核与被卷积数据均在第一缓存空间和第二缓存空间中准备完成之后,可以启动处理器来进行矩阵乘法。这里,在矩阵计算的过程中,可以每次读取alpha*beta个第一缓存空间中的数据(即,卷积核所对应的矩阵单元)、以及beta*gamma个第二缓存空间中的数据(即,被卷积数据所对应矩阵单元),进行一次矩阵乘法,累加完成epsilon次后存储至第三缓存空间中。
图13示出了根据本申请实施例的关于L层的权重梯度的计算结果的一示例的示意图。
如图13所示,待第一缓存空间和第二缓存空间中的数据参与完所有的计算之后,得到了3行、8列结果(即3×2×2×2个权重的梯度),其中第一个3代表L层的输出图像特征值个数,第二个2代表L-1层输出图像特征值的个数,后面2x2代表每个权重的尺寸。在图13中,每一行代表L层的图像特征值和L-1层图像特征值之间权重的梯度。
应理解的是,更新L-1层的特征值梯度的过程和上述类似,不同点可能就在于在第一DMA控制器中需要对读取的权重进行反转180度操作,也即按照图14的格式存储权重至第一缓存空间中,以进行后续的卷积计算操作。
在一些应用场景下,图像处理模型的卷积层的卷积核或被卷积数据的尺寸过大,导致神经网络的卷积核和卷积子数据无法被直接存储至对应的缓存空间。
图15示出了根据本申请实施例的将卷积核和卷积子数据存储至缓存空间的一示例的流程图。
如图15所示,在步骤1510中,当卷积核超过第一缓存空间的大小时,按照第一缓存空间的大小将卷积核分割成多个卷积核子数据。
在步骤1520中,当被卷积数据超过第二缓存空间的大小时,按照第二缓存空间的大小将被卷积数据进行分割成多个被卷积子数据。
在步骤1530中,将各个卷积核子数据和被卷积子数据分别依次存储至第一缓存空间和第二缓存空间。
在本申请实施例中,将卷积核和被卷积数据按照对应的缓存空间进行划分,使得反向卷积计算过程可以适用于各种尺寸的图像处理模型,具有较广泛的应用范围。
图16示出了根据本申请实施例的对第一缓存空间中的卷积核进行划分的一示例的示意图。图17示出了根据本申请实施例的对第二缓存空间中的被卷积数据进行划分的一示例的示意图。
如图16所示,如果卷积核超过了第一缓存空间的大小时,可以把卷积核按照第一缓存空间的大小进行拆分,使得经拆分后的各个卷积核子数据能够被第一缓存空间所容纳。如图17所示,如果被卷积数据超过了第二缓存空间的大小时,可以把被卷积数据按照第二缓存空间的大小进行拆分,使得经拆分后的各个被卷积子数据能够被第二缓存空间所容纳,然后调用处理器进行相应的矩阵计算操作。这里,zeta times可以表示在第二缓存空间的列方向需要重复计算的次数。
在本申请实施例的一些示例中,当检测到已经完成了delta次、epsilon次和zeta次不同数据方向上的重复计算操作时,可以完成超大矩阵和超大矩阵进行卷积运算,从而得到更新后的梯度。
图18示出了根据本申请实施例的图像处理模型的梯度更新装置的一示例的结构框图。如图18所示,图像处理模型的梯度更新装置1800包括DMA控制模块调用单元1810和反向卷积计算单元1820。
DMA控制模块调用单元1810被配置为调用DMA控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,并将所述各个卷积层对应的所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,其中所述卷积参数包括图像特征值、权重、原始图像特征值梯度和原始权重梯度,以及所述卷积核包括针对所述原始图像特征值梯度的卷积核和针对所述原始权重梯度的卷积核。
反向卷积计算单元1820被配置为基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的所述原始图像特征值梯度和所述原始权重梯度。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图19是本申请实施例的移动终端的一示例的示意图。如图19所示,该实施例的移动终端1900包括:处理器1910、存储器1920以及存储在所述存储器1920中并可在所述处理器1910上运行的计算机程序1930。所述处理器1910执行所述计算机程序1930时实现上述图像处理模型的梯度更新方法实施例中的步骤,例如图2所示的步骤210至230。或者,所述处理器1910执行所述计算机程序1930时实现上述各装置实施例中各模块/单元的功能,例如图18所示单元1810至1820的功能。
示例性的,所述计算机程序1930可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器1920中,并由所述处理器1910执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序1930在所述移动终端1900中的执行过程。例如,所述计算机程序1930可以被分割成DMA控制模块调用模块和反向卷积计算模块,各模块具体功能如下:
DMA控制模块调用模块被配置为调用DMA控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,并将所述各个卷积层对应的所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,其中所述卷积参数包括图像特征值、权重、原始图像特征值梯度和原始权重梯度,以及所述卷积核包括针对所述原始图像特征值梯度的卷积核和针对所述原始权重梯度的卷积核。
反向卷积计算单元模块被配置为基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的所述原始图像特征值梯度和所述原始权重梯度。
所述移动终端1900可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述移动终端可包括,但不仅限于,处理器1910、存储器1920。本领域技术人员可以理解,图19仅是移动终端1900的示例,并不构成对移动终端1900的限定,可以包括比图示更多或少的部件,或组合某些部件,或不同的部件,例如所述移动终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器1910可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器1920可以是所述移动终端1900的内部存储单元,例如移动终端1900的硬盘或内存。所述存储器1920也可以是所述移动终端1900的外部存储设备,例如所述移动终端1900上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(SecureDigital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器1920还可以既包括所述移动终端1900的内部存储单元也包括外部存储设备。所述存储器1920用于存储所述计算机程序以及所述移动终端所需的其他程序和数据。所述存储器1920还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/移动终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/移动终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述单元既可以采用硬件的形式实现,也可以采用软件的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (14)
1.一种图像处理模型的梯度更新方法,其特征在于,包括:
调用DMA控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,并将所述各个卷积层对应的所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,其中所述卷积参数包括图像特征值、权重、原始图像特征值梯度和原始权重梯度,以及所述卷积核包括针对所述原始图像特征值梯度的卷积核和针对所述原始权重梯度的卷积核;
基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的所述原始图像特征值梯度和所述原始权重梯度。
2.如权利要求1所述的图像处理模型的梯度更新方法,其特征在于,所述根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,包括:
将第一卷积层的原始图像特征值梯度,确定为针对所述第一卷积层的原始权重梯度的卷积核;以及
将与所述第一卷积层的输入端连接的第二卷积层的图像特征值,确定为针对所述第一卷积层的原始权重梯度的被卷积数据。
3.如权利要求1所述图像处理模型的梯度更新方法,其特征在于,所述根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,包括:
基于所述DMA控制模块,对第三卷积层的权重进行反转处理;
将经反转处理的第三卷积层的权重,确定为针对与所述第三卷积层的输入端连接的第四卷积层的原始图像特征值梯度的卷积核;以及
将所述第三卷积层的原始图像特征值梯度,确定为针对所述第四卷积层的原始图像特征值梯度的被卷积数据。
4.如权利要求1所述的图像处理模型的梯度更新方法,其特征在于,所述基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,包括:
基于预设的针对卷积核的第一数据结构单元,从所述第一缓存空间中依次读取相应的卷积核单元;以及
基于预设的针对被卷积数据的第二数据结构单元,从所述第二缓存空间依次读取被卷积数据单元;
根据所依次读取的所述卷积核单元和所述被卷积数据单元,相应地依次进行乘法运算。
5.如权利要求4所述的图像处理模型的梯度更新方法,其特征在于,所述第一缓存空间中的存储数据是基于所述第一数据结构单元从所述各个卷积层对应的所述卷积核中读取而得到的,以及所述第二缓存空间中的存储数据是基于所述第二数据结构单元从所述各个卷积层对应的所述被卷积数据中读取而得到的。
6.如权利要求1所述的图像处理模型的梯度更新方法,其特征在于,所述被卷积数据包括多个被卷积数据单元,其中所述将所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,包括:
对所述被卷积数据中的多个被卷积数据单元分别进行读取;
针对各个所述被卷积数据单元,当所述被卷积数据单元大于针对所述第二缓存空间的数据读写单元时,将所述被卷积数据单元转换为相应的多个被卷积数据单元分段,并通过移位信息来连续存储所述多个被卷积数据单元分段,其中所述被卷积信息分段的数据大小与所述数据读写单元相匹配。
7.如权利要求1所述的图像处理模型的梯度更新方法,其特征在于,所述将所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,包括:
当所述卷积核超过所述第一缓存空间的大小时,按照所述第一缓存空间的大小将所述卷积核分割成多个卷积核子数据;以及
当所述被卷积数据超过所述第二缓存空间的大小时,按照所述第二缓存空间的大小将所述被卷积数据进行分割成多个被卷积子数据;
将各个所述卷积核子数据和所述被卷积子数据分别依次存储至所述第一缓存空间和所述第二缓存空间。
8.如权利要求1所述的图像处理模型的梯度更新方法,其特征在于,所述DMA控制模块包括第一DMA控制器和第二DMA控制器,
其中,所述将所述各个卷积层对应的所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,包括:
调用所述第一DMA控制器,将所述各个卷积层所对应的所述卷积核存储至第一缓存空间;
调用所述第二DMA控制器,将所述各个卷积层所对应的所述被卷积数据存储至第二缓存空间。
9.如权利要求8所述的图像处理模型的梯度更新方法,其特征在于,所述调用DMA控制器模块,根据所获取的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,包括:
调用所述第一DMA控制器,将所获取的所述各个卷积层的权重进行反转,以得到针对所述原始图像特征值梯度的卷积核。
10.如权利要求8所述的图像处理模型的梯度更新方法,其特征在于,所述调用DMA控制器模块,根据所获取的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,包括:
调用所述第二DMA控制器,对所述被卷积数据中的多个被卷积数据单元分别进行读取;
调用所述第二DMA控制器,针对各个所述被卷积数据单元,当所述被卷积数据单元大于针对所述第二缓存空间的数据读写单元时,将所述被卷积数据单元转换为相应的多个被卷积数据单元分段,并通过移位信息来连续存储所述多个被卷积数据单元分段,其中所述被卷积信息分段的数据大小与所述数据读写单元相匹配。
11.一种图像处理模型的梯度更新装置,其特征在于,包括:
DMA控制模块调用单元,被配置为调用DMA控制模块,根据图像处理模型中各个卷积层的卷积参数确定与各个卷积层对应的卷积核和被卷积数据,并将所述各个卷积层对应的所述卷积核和所述被卷积数据分别存储至第一缓存空间和第二缓存空间,其中所述卷积参数包括图像特征值、权重、原始图像特征值梯度和原始权重梯度,以及所述卷积核包括针对所述原始图像特征值梯度的卷积核和针对所述原始权重梯度的卷积核;
反向卷积计算单元,被配置为基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的所述原始图像特征值梯度和所述原始权重梯度。
12.一种图像处理模型的梯度更新系统,其特征在于,包括第一DMA控制器、第二DMA控制器和处理器,
其中,所述第一DMA控制器被配置为:
根据图像处理模型中各个卷积层的卷积参数,确定与各个卷积层对应的卷积核,
将所述各个卷积层对应的所述卷积核存储至第一缓存空间;
其中,所述第二DMA控制器被配置为:
根据图像处理模型中各个卷积层的卷积参数,确定与各个卷积层对应的被卷积数据,
将所述各个卷积层对应的所述被卷积数据存储至第二缓存空间;
其中,所述处理器被配置为:
基于所述第一缓存空间中的卷积核和所述第二缓存空间中的被卷积数据进行反向卷积计算,以更新所述各个卷积层的原始图像特征值梯度和原始权重梯度。
13.一种移动终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至10任一项所述方法的步骤。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011064730.XA CN111931937B (zh) | 2020-09-30 | 2020-09-30 | 图像处理模型的梯度更新方法、装置及系统 |
US17/471,169 US11256940B1 (en) | 2020-09-30 | 2021-09-10 | Method, apparatus and system for gradient updating of image processing model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011064730.XA CN111931937B (zh) | 2020-09-30 | 2020-09-30 | 图像处理模型的梯度更新方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111931937A true CN111931937A (zh) | 2020-11-13 |
CN111931937B CN111931937B (zh) | 2021-01-01 |
Family
ID=73334931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011064730.XA Active CN111931937B (zh) | 2020-09-30 | 2020-09-30 | 图像处理模型的梯度更新方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11256940B1 (zh) |
CN (1) | CN111931937B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912593A (zh) * | 2022-05-06 | 2022-08-16 | 上海壁仞智能科技有限公司 | 用于神经网络中的计算核 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11972348B2 (en) | 2020-10-30 | 2024-04-30 | Apple Inc. | Texture unit circuit in neural network processor |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104992142A (zh) * | 2015-06-03 | 2015-10-21 | 江苏大学 | 一种基于深度学习和属性学习相结合的行人识别方法 |
WO2016157246A1 (en) * | 2015-03-30 | 2016-10-06 | Renesas Electronics Corporation | Data transfer apparatus and microcomputer |
WO2017079529A1 (en) * | 2015-11-04 | 2017-05-11 | Nec Laboratories America, Inc. | Universal correspondence network |
US20170262733A1 (en) * | 2016-03-10 | 2017-09-14 | Siemens Healthcare Gmbh | Method and System for Machine Learning Based Classification of Vascular Branches |
WO2017185257A1 (zh) * | 2016-04-27 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行Adam梯度下降训练算法的装置及方法 |
CN108090565A (zh) * | 2018-01-16 | 2018-05-29 | 电子科技大学 | 一种卷积神经网络并行化训练加速方法 |
CN109034382A (zh) * | 2017-10-30 | 2018-12-18 | 上海寒武纪信息科技有限公司 | 场景或物体的识别方法及相关产品 |
CN109118432A (zh) * | 2018-09-26 | 2019-01-01 | 福建帝视信息科技有限公司 | 一种基于快速循环卷积网络的图像超分辨率重建方法 |
CN110175673A (zh) * | 2017-05-23 | 2019-08-27 | 上海寒武纪信息科技有限公司 | 处理方法及加速装置 |
CN110751274A (zh) * | 2019-09-20 | 2020-02-04 | 北京航空航天大学 | 一种基于随机投影哈希的神经网络压缩方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540574B2 (en) * | 2017-12-07 | 2020-01-21 | Shanghai Cambricon Information Technology Co., Ltd | Image compression method and related device |
EP3783477B1 (en) * | 2017-12-27 | 2021-11-17 | Cambricon Technologies Corporation Limited | Integrated circuit chip device |
-
2020
- 2020-09-30 CN CN202011064730.XA patent/CN111931937B/zh active Active
-
2021
- 2021-09-10 US US17/471,169 patent/US11256940B1/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016157246A1 (en) * | 2015-03-30 | 2016-10-06 | Renesas Electronics Corporation | Data transfer apparatus and microcomputer |
CN104992142A (zh) * | 2015-06-03 | 2015-10-21 | 江苏大学 | 一种基于深度学习和属性学习相结合的行人识别方法 |
WO2017079529A1 (en) * | 2015-11-04 | 2017-05-11 | Nec Laboratories America, Inc. | Universal correspondence network |
US20170262733A1 (en) * | 2016-03-10 | 2017-09-14 | Siemens Healthcare Gmbh | Method and System for Machine Learning Based Classification of Vascular Branches |
WO2017185257A1 (zh) * | 2016-04-27 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行Adam梯度下降训练算法的装置及方法 |
CN110175673A (zh) * | 2017-05-23 | 2019-08-27 | 上海寒武纪信息科技有限公司 | 处理方法及加速装置 |
CN109034382A (zh) * | 2017-10-30 | 2018-12-18 | 上海寒武纪信息科技有限公司 | 场景或物体的识别方法及相关产品 |
CN108090565A (zh) * | 2018-01-16 | 2018-05-29 | 电子科技大学 | 一种卷积神经网络并行化训练加速方法 |
CN109118432A (zh) * | 2018-09-26 | 2019-01-01 | 福建帝视信息科技有限公司 | 一种基于快速循环卷积网络的图像超分辨率重建方法 |
CN110751274A (zh) * | 2019-09-20 | 2020-02-04 | 北京航空航天大学 | 一种基于随机投影哈希的神经网络压缩方法及系统 |
Non-Patent Citations (1)
Title |
---|
XUCHENG YE等: "Accelerating CNN Training by Pruning", 《ARXIV》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912593A (zh) * | 2022-05-06 | 2022-08-16 | 上海壁仞智能科技有限公司 | 用于神经网络中的计算核 |
Also Published As
Publication number | Publication date |
---|---|
CN111931937B (zh) | 2021-01-01 |
US11256940B1 (en) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449576B2 (en) | Convolution operation processing method and related product | |
CN112214726B (zh) | 运算加速器 | |
US11989640B2 (en) | Scalable neural network processing engine | |
US11328395B2 (en) | Image processing method, image processing device, electronic equipment and computer readable storage medium | |
CN111931937B (zh) | 图像处理模型的梯度更新方法、装置及系统 | |
EP3093757B1 (en) | Multi-dimensional sliding window operation for a vector processor | |
US11853897B2 (en) | Neural network training with decreased memory consumption and processor utilization | |
CN116601585A (zh) | 数据类型感知时钟门控 | |
KR20210033757A (ko) | 메모리 장치 및 그 동작 방법 | |
US8681173B2 (en) | Device, system, and method for improving processing efficiency by collectively applying operations | |
US20210264560A1 (en) | Loading apparatus and method for convolution with stride or dilation of 2 | |
CN118379200A (zh) | 图像滤波处理方法、装置、电子设备和存储介质 | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
CN111382831B (zh) | 加速卷积神经网络模型前向推理的方法及装置 | |
KR20220083820A (ko) | 뉴럴 네트워크 프로세서에서의 3차원 콘볼루션 | |
US20230161555A1 (en) | System and method performing floating-point operations | |
CN113642722A (zh) | 用于卷积计算的芯片及其控制方法、电子装置 | |
CN111382835A (zh) | 一种神经网络压缩方法、电子设备及计算机可读介质 | |
WO2021179175A1 (zh) | 数据处理的方法、装置及计算机存储介质 | |
CN118760415A (zh) | 数据处理方法及装置、处理器、电子设备、存储介质 | |
CN113867686A (zh) | 运算方法、装置及相关产品 | |
CN114677735A (zh) | 一种人脸关键点及三维角度检测方法、装置及终端设备 | |
CN115908852A (zh) | 图像处理的方法、装置、电子设备及存储介质 | |
CN115952387A (zh) | 一种Depthwise快速卷积方法及相关装置 | |
CN116301648A (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 |