CN114580605A - 卷积神经网络、运算优化方法、装置、电子设备及介质 - Google Patents
卷积神经网络、运算优化方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN114580605A CN114580605A CN202011381083.5A CN202011381083A CN114580605A CN 114580605 A CN114580605 A CN 114580605A CN 202011381083 A CN202011381083 A CN 202011381083A CN 114580605 A CN114580605 A CN 114580605A
- Authority
- CN
- China
- Prior art keywords
- value
- preset
- output
- layer
- input
- 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
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000005457 optimization Methods 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 190
- 230000004913 activation Effects 0.000 claims abstract description 121
- 238000004364 calculation method Methods 0.000 claims abstract description 53
- 238000013507 mapping Methods 0.000 claims abstract description 51
- 238000012216 screening Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 16
- 238000011176 pooling Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 70
- 238000012549 training Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 238000010606 normalization Methods 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000002087 whitening effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7747—Organisation of the process, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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
- 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/048—Activation functions
-
- 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/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- 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/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Neurology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种卷积神经网络、运算优化方法、装置、电子设备及存储介质,包括获取输入图像的输入矩阵,在卷积计算层中,基于预设卷积核在所述输入矩阵上移动,进行点积运算,输出第一输出矩阵,在激活层中,基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵。在卷积计算层中不进行偏置运算,将卷积计算层进行点积运算的结果直接输出给激活层,在激活层进行偏置运算,可以保证相同运算精度下,减少运算量。
Description
技术领域
本发明涉及一种神经网络模型技术领域,尤其涉及一种卷积神经网络、运算优化方法、装置、电子设备及介质。
背景技术
卷积神经网络是目前深度学习技术领域中具有代表性的神经网络之一,可以应用于语音识别、图像处理和图像识别等领域,在学术界常用的标准图像标注集上,基于卷积神经网络取得了很多成就,包括图像特征提取分类、目标检测、场景识别等。
在要应用卷积神经网络之前,首先需要训练出卷积神经网络模型。卷积神经网络的层级结构包括数据输入层、卷积计算层、激活层、池化层及全连接层,下面简述卷积神经网络模型训练实现方式:
首先,初始化卷积神经网络模型的模型参数,模型参数可以包括各个卷积计算层的初始卷积核、各个卷积计算层的初始偏置矩阵以及全连接层的初始权重矩阵和全连接层的初始偏置向量。在数据输入层,从训练集中选取每个训练图像,从每个训练图像中获取待处理区域,将每个训练图像对应的待处理区域输入待训练的卷积神经网络模型。在卷积计算层,使用各个卷积层的初始卷积核和初始偏置矩阵对每个待处理区域进行卷积操作。在激活层使用激活函数对卷积操作结果进行非线性映射,得到特征图像。接着,使用全连接层的初始权重矩阵和初始偏置向量对每个特征图像进行处理,得到每个待处理区域的类别概率。然后,根据每个训练图像的初始类别及类别概率计算类别误差。根据所有训练图像的类别误差计算类别误差平均值。接下来,使用该类别误差平均值调整待训练卷积神经网络的模型参数。然后,使用调整后的模型参数及各个训练图像,迭代上述各个步骤到指定次数;最后,将迭代次数达到指定次数时所得到的模型参数作为训练好的卷积神经网络模型的模型参数。
综上所述,在卷积神经网络训练完成得到的模型中,存在几百甚至上千万的参数,这些参数可以包括卷积神经网络模型中每一层卷积层的权重参数、偏置参数等,还可以包括每一层卷积层的特征图参数等。由于参数较多并且数据量较大,无论是在训练过程还是在使用训练好的卷积神经网络对图像进行计算过程都需要消耗大量的存储和计算资源。
目前,对于在不降低卷积神经网络精度的前提下降低卷积神经网络的复杂度,减少计算量的解决方案主要是利用对卷积神经网络的参数进行量化(quantize)的方法实现。量化是将一组原始值域范围内的数,通过一个数学变换将原始值域映射到另一个目标值域范围的过程。可采用的方法如查表、移位、截位等。其中往往采用线性变换,通常使用乘法完成这个变换。
发明内容
有鉴于此,有必要提供一种卷积神经网络、运算优化方法、装置、电子设备及介质,可以保证相同精度下,减少运算量。
本申请一实施方式提供一种卷积神经网络运算优化方法,包括:
获取输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据;
在卷积计算层中,根据预设卷积核在所述输入矩阵上移动,并进行点积运算,以输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据;
在激活层中,根据预设激活函数对所述第一输出矩阵进行非线性映射,以输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据。
根据本申请的一些实施方式,所述卷积神经网络运算优化方法还包括:
针对每一卷积核,获取其对应的预设偏置值;
根据所述预设偏置值构建其对应的预设激活函数。
根据本申请的一些实施方式,所述根据所述预设偏置值构建其对应的预设激活函数包括:
获取原始激活函数及该函数对应的临界值,其中,所述临界值用于筛选被激活的特征值;
根据所述预设偏置值及所述临界值构建新临界值;
根据所述预设偏置值及所述原始激活函数的映射值构建新的映射值;
根据所述新临界值和所述新映射值构建所述预设激活函数。
根据本申请的一些实施方式,所述在激活层中,根据预设激活函数对所述第一输出矩阵进行非线性映射,以输出第二输出矩阵包括:
针对所述第一输出矩阵上的任一数值,判断该数值是否大于新临界值;
在该数值大于所述新临界值时,将该数值映射为该数值与所述预设偏置值的和;
在该数值小于或等于所述新临界值时,将该数值映射为预设小值,其中所述预设小值包括0。
根据本申请的一些实施方式,所述原始激活函数包括Relu激活函数,所述Relu激活函数包括:f(x)=max(0,x),其中,临界值为0,x为特征值,f(x)为映射值。
根据本申请的一些实施方式,所述输入矩阵包括所述卷积神经网络上一层网络输出的输入矩阵,其中所述上一层网络包括输入层、卷积计算层、激活层或池化层。
本申请一实施方式提供一种卷积神经网络,包括:
输入层,用于输出输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据;
卷积计算层,用于获取所述输入图像的输入矩阵,基于预设卷积核在所述输入矩阵上移动,进行点积运算,输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据;
激活层,用于基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据;
输出层04,用于输出卷积神经网络最后运算的结果。
本申请一实施方式提供一种卷积神经网络运算优化装置,包括:
获取模块,用于获取输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据;
运算模块,用于基于预设卷积核在所述输入矩阵上移动,进行点积运算,输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据;
激活模块,用于基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据。
本申请一实施方式提供一种电子设备,所述电子设备包括:一个或多个处理器;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的卷积神经网络运算优化方法。
本申请一实施方式提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的卷积神经网络运算优化方法。
本申请提供一种卷积神经网络运算优化方法、装置、电子设备及存储介质,包括获取输入图像的输入矩阵,在卷积计算层中,基于预设卷积核在所述输入矩阵上移动,进行点积运算,输出第一输出矩阵,在激活层中,基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵。在卷积计算层中不进行偏置运算,将卷积计算层进行点积运算的结果直接输出给激活层,在激活层进行偏置运算,可以保证相同运算精度下,减少图像处理的运算量。
附图说明
图1是卷积神经网络结构示意图;
图2为卷积计算层工作示意图;
图3为一偏置运算示意图;
图4为一激活操作示意图;
图5为根据本申请一实施方式的电子设备示意图;
图6为根据本申请一实施方式卷积神经网络运算优化方法的流程图;
图7为根据本申请一实施方式的构建激活函数方法流程示意图;
图8为Relu函数示意图;
图9为根据本申请一实施方式预设激活函数示意图;
图10为根据本申请一实施方式的点积运算示意图;
图11为根据本申请一实施方式非线性映射方法流程示意图;
图12为根据本申请一实施方式的卷积神经网络结构图;
图13为根据本申请一实施方式的卷积神经网络运算优化装置结构示意图。
如下具体实施方式将结合上述附图进一步说明本申请。
主要元件符号说明
电子设备 100
卷积神经网络运算优化装置 10
输入装置 11
处理器 12
输入层 01
卷积计算层 02
激活层 03
输出层 04
获取模块 41
运算模块 42
激活模块 43
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。
基于本申请中的实施方式,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施方式,都是属于本申请保护的范围。
为了便于本领域技术人员深入理解本申请实施例,以下将首先介绍本申请实施例中所涉及的专业术语的定义。
神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐藏层或输出层)。
参见图1,卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,可以应用于语音识别、图像处理和图像识别等领域,一般可以分为输入层、隐藏层和输出层,隐藏层可以分为卷积层、池化层和全连接层,其中卷积层包括卷积计算层及激活层。
输入层要做的处理主要是对输入的图像数据或语音数据进行预处理,包括去均值、归一化及PCA/白化。例如对输入的图像数据进行预处理,在神经网络中,输入图像数据的特征值比较大,则卷积计算的结果值也会大,进行激活函数输出时,会导致对应位置数值变化量太小,易于拟合,为此,需要对输入图像数据去均值,各维度都减对应维度的均值,使得输入图像数据各个维度都中心化为0。归一化包括最值归一化和均值方差归一化,进行归一化可以把各输入图像数据的特征值的尺度控制在相同的范围内,便于找到最优解。PCA是指通过抛弃携带信息量较少的维度,保留主要的特征信息来对数据进行降维处理,可用于特征提取、数据压缩、去噪声、降维等操作。白化去掉数据之间的相关联度和令方差均一化,由于图像中相邻像素之间具有很强的相关性,用于训练时很多输入数据是冗余的,通过白化去除。
在本申请实施例中,输入层接收用户输入的输入图像,对输入图像进行转化,输出一输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据。具体的,在输入层对图像数据进行灰度处理,使用一组数字数组表示一张图片。每张图片里的每一个像素点的数值都表示该张图片里的某个像素点的强度值。例如输入7*7*3的图片,7*7为图像的像素点,3为图像的通道,对应RGB三个通道,该7*7*3的图片对应3个7*7的矩阵。
卷积计算层是用来进行特征提取,对输入层输出的输入矩阵进行特征提取。在进行卷积运算时,给定一个大小为F*F的方阵,称为卷积核,该矩阵的大小称为感受野。卷积核的深度d和输入图像的深度d一致,输入图像的深度d即为图像的通道。因此可以得到大小为F*F*d的卷积核,即为d个F*F的矩阵。不同的模型会确定不同数量的卷积核,卷积核个数记为k,每个卷积核标记为Wi,Wi包含d个F*F的矩阵。
输入矩阵的边缘会比矩阵内部的元素计算次数少,且输出矩阵的大小会在卷积运算中相比较于输入变小。因此,可在输入矩阵的四周补零,进行一个填充,其大小为P,当P=1时,表示在该输入矩阵的四周补充了一圈零。卷积核在输入矩阵上移动,进行卷积运算。移动的步长记为S。当S=2时,表示卷积核在输入矩阵上每次移动2个单元。
下面简述卷积计算层工作过程:
参见图2,以输入矩阵为7*7*3,填充P为1,卷积核有k=1个,每个过滤器的大小为3*3*3,即F=3,同时设定计算步长S=2,偏置值b=1。
在图2中,输入图像中与卷积核相应大小的图像块中的数值与卷积核矩阵中的相应位置的数值相乘后,将各个乘积相加,将相加得到的值再与该卷积核对应的偏置值相加,得到该图像块所对应的特征图谱中的数据,该数据在特征图谱即输出矩阵中的位置与所述图像块在输入图像中的位置相对应。
具体的,首先从输入矩阵的最左边开始取得3*3的感受野,每一个深度的输入矩阵对应每一个深度的卷积核,进行点积运算,然后加上偏置值,得到矩阵中的第一个元素。输入矩阵1对应第一深度的输入矩阵,例如对应输入图像的Green通道,输入矩阵2对应第二深度的输入矩阵,例如对应输入图像的Red通道,输入矩阵3对应第三深度的输入矩阵,例如对应输入图像的Blue通道,详细过程为:
输入矩阵1:r1=0*0+0*1+0*1+0*(-1)+1*0+0*0+0*1+0*0+1*0=0。
输入矩阵2:r2=0*0+0*0+0*0+0*1+0*0+0*1+0*0+2*0+0*0=0。
输入矩阵3:r3=0*(-1)+0*(-1)+0*0+0*0+0*0+2*(-1)+0*(-1)+0*0+2*0=-2。
输出矩阵第一个元素out11=r1+r2+r3+b=0+0+(-2)+(1)=-1。
可以理解的是,将感受野在输入矩阵中依次移动,当完成第一个输出矩阵的计算后,在该卷积计算层有多个卷积核时,继续使用第二卷积核重复,输出另一矩阵。
在传统做法中,在卷积计算层中会进行偏置运算,在卷积核进行点积运算后得到的图像特征数据都会与卷积核对应的偏置值相加,基于卷积神经网络中可以包括多层卷积计算层,每层卷积计算层又可以包括多个卷积核,单对一层的卷积计算层来说,进行偏置运算的计算量为F*F*k,F是输出矩阵的尺寸,k为该卷积计算层中卷积核的个数,在卷积核数量多且输出的特征图的尺寸大的时候,单对一层的卷积计算层来说偏置运算量就很大,对于整个卷积神经网络来说偏置运算量就更大。
参见图3,传统的卷积运算过程中,示例性地,输入图像是一个42*42*3输入矩阵,第i层卷积计算层有四个卷积核w1、w2、w3及w4,b1、b2、b3及b4分别为w1、w2、w3及w4对应的预设偏置值,填补padding=“same”,即输出矩阵尺寸等于输入矩阵尺寸,输出矩阵尺寸也为42*42。卷积核移动的步长为1,在卷积核对输入矩阵进行点积运算后,分别加上各自的预设偏置值b1、b2、b3及b4,输出代表输入图像数据的特征图,有关偏置运算的次数为42*42*4,对偏置运算后得到的结果值再通过激活层中的激活函数进行计算。
激活层是把上一层卷积计算层输出的特征数据通过激活函数进行非线性映射。参见图4,卷积层包括相邻的卷积计算层和激活层,x1、x2、x3、xn代表输入矩阵的图像数据,w1、w2……wn代表卷积核的权重值,将该卷积计算层中的所有卷积核对输入图像的特征数据进行点乘,再加上预设偏置值b1、b2、b3及b4,输出的数值由激活函数f(z)对其进行非线性映射,获得经过筛选的特征数据h。
池化层夹在连续的卷积层中间,用于压缩数据和参数的量,减小过拟合。对于输入的数据是图像数据,则池化层作用是压缩图像。池化层可以包括最大池化和均值池化。
全连接层用于连接所有的特征,将最终的图像数据送给分类器,全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。
输出层用于输出卷积神经网络的最终结果,在应用于图像分类时,输出层可以连接分类器。
参见图5,卷积神经网络运算优化装置10运行于电子设备100中。所述电子设备100包括,但不仅限于,输入装置11以及至少一个处理器12,上述元件之间可以通过总线连接。
需要说明的是,图5仅为举例说明电子设备100。在其他实施方式中,电子设备100也可以包括更多或者更少的元件,或者具有不同的元件配置。所述电子设备100可以包括各种物联网终端或设备,包括平板电脑、膝上型便携计算机、车载电脑、台式计算机等等。
在一个实施方式中,输入装置11为该电子设备100的输入接口,用于接收输入数据。所述卷积神经网络运算优化装置10与所述输入装置11逻辑相连,从而通过所述卷积神经网络运算优化装置10对输入装置11的数据进行处理。所述处理器12与所述输入装置11相连,对输入的数据使用卷积神经网络进行处理。
在本申请实施例中,在传统卷积神经网络的运算方式中,卷积层对输入图像进行卷积运算的同时进行偏置运算,卷积运算得到的输出矩阵上的输入图像的每个特征值都会根据其所属的卷积核所对应的预设偏置值做偏置运算。而本申请提供一种卷积神经网络优化运算方法,在卷积计算层对输入图像进行卷积计算后,不进行偏置运算,卷积核进行点积运算得到的输出矩阵直接输出给激活层,即在对输入图像进行特征提取时不使用预设偏置值对特征数据进行调整,直接将提取出的图像数据输出给激活层,针对每个输出矩阵的特征数据,我们只需要在激活层中做一次偏置运算,且其运算结果精度与传统做法相同,且能减少运算量。而相对于现有的通过增加量化步骤来减少运算量,本申请的运算步骤不增加,且能减少偏置运算量。
参见图6,本申请一实施方式提供一种卷积神经网络运算优化方法,应用于卷积神经网络运算优化装置10,所述卷积神经网络运算优化方法包括以下步骤:
步骤S10:针对每一卷积核,获取其对应的预设偏置值。
在本申请实施例中,偏置值是卷积神经网络中的重要参数,每一卷积核都有其对应的预先设置的偏置值,各个偏置值可相同可不同,根据实际情况设置。所述预设偏置值是用于对所述输入图像的图像数据进行偏置操作。如图3,W1、W2、W3、W4为卷积核,b 1、b2、b3、b4分别为W1、W2、W3、W4的预设偏置值。
步骤S20:针对每一卷积计算层,根据所述预设偏置值构建其对应的预设激活函数。
在本申请实施例中,对输入图像进行特征提取后,获得所述输入图像的特征数据,所述预设激活函数用于对所述特征数据进行激活,即对所述特征数据进行筛选。
根据本申请的一些实施方式,参见图7,步骤S20根据所述预设偏置值构建其对应的预设激活函数包括:
步骤S201:获取原始激活函数及该函数对应的临界值,其中,所述临界值用于筛选被激活的特征值。
步骤S202:根据所述预设偏置值及所述临界值构建新临界值。
步骤S203:根据所述预设偏置值及所述原始激活函数的映射值构建新映射值;
步骤S204:根据所述新临界值和所述新映射值构建所述预设激活函数。
根据本申请的一些实施方式,所述原始激活函数包括Relu激活函数。请参阅图8,Relu激活函数表示为:f(x)=max(0,x),其中,临界值为0,x为卷积计算层输出的第一输出矩阵中的特征数据的特征值,在特征值x大于临界值0时,激活函数f(x)=x,在特征值x小于或等于临界值0时,激活函数f(x)=0。即大于临界值0的特征值才被Relu激活函数激活,保留其数值,否则不保留其数值。
在本申请实施例中,以选用的原始激活函数为Relu激活函数为例进行说明。根据所述预设偏置值及所述临界值构建新临界值的逻辑为,预设偏置值bias加上特征值x等于原始激活函数的临界值0,则该新临界值为原始激活函数的临界值0减去所述预设偏置值的值,即-bias,以使得在激活层构建的新临界值与原始激活函数的临界值0在卷积计算层的筛选条件一致。根据所述预设偏置值及所述原始激活函数的映射值构建新的映射值为,在特征值x大于新临界值(-bias)时,激活函数的新映射值f(x)=x+预设偏置值,在特征值x小于或等于新临界值(-bias)时,激活函数的新映射值f(x)=0。综上可以得到预设激活函数为:如果特征值x小于或等于新临界值(-bias),则新映射值f(x)=0,如果特征值x大于新临界值(-bias),则新映射值f(x)=x+bias,其中bias为各个卷积核对应的预设偏置值。
参见图9,本申请预设激活函数为虚线1和点划线3,其是由原始激活函数进行构建后得到的预设激活函数,而实线2是原始激活函数。
在本申请实施例中,根据原始激活函数不同,构建的预设激活函数不同,所述原始激活函数可以包括其他符合上述构建条件的激活函数,本申请对此不作具体限定。在本申请实施例中,根据每个卷积核对应的预设偏置值不同,则构建的预设激活函数不同,本申请对此不作具体限定。
步骤S30:获取输入图像的输入矩阵及所述预设激活函数。
根据本申请的一些实施方式,所述输入矩阵包括所述卷积神经网络上一层网络输出的输入矩阵,其中所述上一层网络包括输入层、卷积计算层、激活层或池化层。
在本申请实施例中,所述输入矩阵中的每个数据为所述输入图像的图像数据。在上一层网络为输入层时,则所述输入矩阵中的每个数据为所述输入图像的原始图像数据。在所述上一层网络为卷积计算层,则输入矩阵中的每个数据为输入图像经过特征提取后得到的包含输入图像特征的图像数据。在所述上一层网络为激活层时,则所述输入矩阵的每个数据为所述特征数据经过筛选激活后得到的图像数据。在所述上一层网络为池化层时,则所述输入矩阵的每个数据为对经过筛选后的特征数据进行压缩后的图像数据。
在本申请实施例中,卷积神经网络可以包括多层卷积计算层、多层激活层等,对于第i层卷积计算层,该输入图像的输入特征为第i-1层卷积计算层和/或第i-1层激活层输出的结果。
步骤S40:在卷积计算层中,根据预设卷积核在所述输入矩阵上移动,并进行点积运算,以输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据。
在本申请实施例中,参见图10,在卷积核进行点积运算后,输出包括输入图像特征数据的第一输出矩阵,对输入图像特征数据不进行偏置运算,将偏置运算操作放入激活层进行。点积运算是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。例如对于两个向量a=[a1,a2,…,an]和b=[b1,b2,…,bn]的点积定义为:
a·b=a1b1+a2b2+……+anbn。
步骤S50:在激活层中,根据预设激活函数对所述第一输出矩阵进行非线性映射,以输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据。
在本申请实施例中,每一卷积计算层将其内各个卷积核计算的结果相加后,会由相邻激活层的预设激活函数对其进行非线性映射。在卷积计算层对输入图像进行特征输出第一输出矩阵后,由预设激活函数对所述第一输出矩阵的图像数据进行筛选,输出第二输出矩阵。
根据本申请的一些实施方式,参见图11,步骤S50所述在激活层中,基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵包括:
步骤S501:针对所述第一输出矩阵上的任一数值,判断该数值是否大于新临界值。
在本申请实施例中,判断所述第一输出矩阵中的图像数据与所述新临界值的大小,以此对所述第一输出矩阵中的图像数据进行激活。
步骤S502:在该数值大于所述新临界值时,将该数值映射为该数值与所述预设偏置值的和。
在本申请实施例中,在所述第一输出矩阵中的图像数据大于所述新临界值时,将该图像数据映射为该图像数据的原数值与所述预设偏置值的和,以此激活所述图像数据。
步骤S503:在该数值小于或等于所述新临界值时,将该数值映射为预设小值,以此不激活所述图像数据,其中所述预设小值包括0。
在本申请实施例中,在所述第一输出矩阵中的图像数据小于或等于所述新临界值时,将该图像数据映射为预设小值,以此不激活所述图像数据。
在本申请实施例中,在卷积计算层不进行偏置运算,在激活层使用预设激活函数f(x)=max(0,x+bias)进行偏置运算得到的结果与传统做法得到的激活值相似,其中x为特征值,bias为预设偏置值,临界值为0,在特征值不满足筛选条件就将该特征值映射为预设小值0,在特征值满足筛选条件就将该特征值映射为该特征值与预设偏置值的和。以图3中的输入矩阵为例,假设其x>新临界值(-bias)的概率为p,x<=新临界值(-bias)的概率为1-p,0<=p<=1,如果特征值x大于新临界值(-bias),则f(x)=x+bias,如果特征值x小于或等于新临界值(-bias),则f(x)=0。需要进行偏置运算次数:4+p%*42*42*4,所以节省(1-p)*42*42*4–4次的偏置运算,其中,4为卷积核的数量。最后激活层的输出不变,保证相同运算精度,同时减少偏置运算次数,减少卷积神经网络的运算量,进而减少图像数据处理的运算量,提高卷积神经网络对图像数据处理的效率。
需要说明的是,本申请的卷积神经网络运算优化方法可以运用到神经网络的训练过程,或是应用到已经训练好的卷积神经网络的运算过程。
参见图12,本申请一实施方式提供一种卷积神经网络,包括:
输入层01,用于输出输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据。
卷积计算层02,用于获取所述输入图像的输入矩阵,基于预设卷积核在所述输入矩阵上移动,进行点积运算,输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据。
激活层03,用于基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据。
输出层04,用于输出卷积神经网络最后运算的结果。
参见图13,本申请一实施方式提供一种卷积神经网络运算优化装置,包括:
获取模块41,用于获取输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据;
运算模块42,用于基于预设卷积核在所述输入矩阵上移动,进行点积运算,输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据;
激活模块43,用于基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据。
本申请提供一种卷积神经网络运算优化方法、装置、电子设备及存储介质,包括获取输入图像的输入矩阵,在卷积计算层中,基于预设卷积核在所述输入矩阵上移动,进行点积运算,输出第一输出矩阵,在激活层中,基于预设激活函数对所述第一输出矩阵进行非线性映射,输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵。在卷积计算层中不进行偏置运算,将卷积计算层进行点积运算的结果直接输出给激活层,由激活层进行偏置运算,在保证相同运算精度下,减少运算量。
在一实施方式中,所述处理器12可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器12也可以是其它任何常规的处理器等。
所述卷积神经网络运算优化装置10中的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
可以理解的是,以上所描述的模块划分,为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能模块可以集成在相同处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
在另一实施方式中,所述电子设备100还可包括存储器(图未示),所述一个或多个模块还可存储在存储器中,并由所述处理器12执行。所述存储器可以是电子设备100的内部存储器,即内置于所述电子设备100的存储器。在其他实施例中,所述存储器也可以是电子设备100的外部存储器,即外接于所述电子设备100的存储器。
在一些实施例中,所述存储器用于存储程序代码和各种数据,例如,存储安装在所述电子设备100中的卷积神经网络运算优化装置10的程序代码,并在电子设备100的运行过程中实现高速、自动地完成程序或数据的存取。
所述存储器可以包括随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将本申请上述的实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。
Claims (10)
1.一种卷积神经网络运算优化方法,其特征在于,包括:
获取输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据;
在卷积计算层中,根据预设卷积核在所述输入矩阵上移动,并进行点积运算,以输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据;
在激活层中,根据预设激活函数对所述第一输出矩阵进行非线性映射,以输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据。
2.如权利要求1所述的卷积神经网络运算优化方法,其特征在于,还包括:
针对每一卷积核,获取其对应的预设偏置值;
根据所述预设偏置值构建其对应的预设激活函数。
3.如权利要求2所述的卷积神经网络运算优化方法,其特征在于,所述根据所述预设偏置值构建其对应的预设激活函数包括:
获取原始激活函数及该函数对应的临界值,其中,所述临界值用于筛选被激活的特征值;
根据所述预设偏置值及所述临界值构建新临界值;
根据所述预设偏置值及所述原始激活函数的映射值构建新映射值;
根据所述新临界值和所述新映射值构建所述预设激活函数。
4.如权利要求3所述的卷积神经网络运算优化方法,其特征在于,在激活层中,根据预设激活函数对所述第一输出矩阵进行非线性映射,以输出第二输出矩阵包括:
针对所述第一输出矩阵上的任一数值,判断该数值是否大于所述新临界值;
在该数值大于所述新临界值时,将该数值映射为该数值与所述预设偏置值的和;
在该数值小于或等于所述新临界值时,将该数值映射为预设小值,其中所述预设小值包括0。
5.如权利要求3所述的卷积神经网络运算优化方法,其特征在于,所述原始激活函数包括Relu激活函数,其中所述Relu激活函数包括:f(x)=max(0,x),其中,临界值为0,x为特征值,f(x)为映射值。
6.如权利要求1至5任一项所述的卷积神经网络运算优化方法,其特征在于,所述输入矩阵包括所述卷积神经网络上一层网络输出的输入矩阵,其中所述上一层网络包括输入层、卷积计算层、激活层或池化层。
7.一种卷积神经网络,其特征在于,包括:
输入层,用于输出输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据;
卷积计算层,用于获取所述输入图像的输入矩阵,根据预设卷积核在所述输入矩阵上移动,并进行点积运算,以输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据;
激活层,根据预设激活函数对所述第一输出矩阵进行非线性映射,以输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据;
输出层,用于输出卷积神经网络最后运算的结果。
8.一种卷积神经网络运算优化装置,其特征在于,包括:
获取模块,用于获取输入图像的输入矩阵,其中,所述输入矩阵中的每个数据为所述输入图像的图像数据;
运算模块,用于根据预设卷积核在所述输入矩阵上移动,并进行点积运算,以输出第一输出矩阵,其中,所述第一输出矩阵包括所述输入图像特征的特征数据;
激活模块,用于根据预设激活函数对所述第一输出矩阵进行非线性映射,以输出第二输出矩阵,其中,所述预设激活函数用于根据所述卷积神经网络的预设偏置值对所述第一输出矩阵的特征值进行筛选,将满足预设条件的特征值根据所述预设偏置值映射至所述第二输出矩阵,其中,所述第二输出矩阵包括所述特征数据经过筛选所获得的数据。
9.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6中任一所述的卷积神经网络运算优化方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的卷积神经网络运算优化方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011381083.5A CN114580605A (zh) | 2020-11-30 | 2020-11-30 | 卷积神经网络、运算优化方法、装置、电子设备及介质 |
US17/533,349 US20220172051A1 (en) | 2020-11-30 | 2021-11-23 | Convolution neural network, method and device for optimizing operation of convolution nerual network, electronic device using method, and non-transitory storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011381083.5A CN114580605A (zh) | 2020-11-30 | 2020-11-30 | 卷积神经网络、运算优化方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114580605A true CN114580605A (zh) | 2022-06-03 |
Family
ID=81751381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011381083.5A Pending CN114580605A (zh) | 2020-11-30 | 2020-11-30 | 卷积神经网络、运算优化方法、装置、电子设备及介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220172051A1 (zh) |
CN (1) | CN114580605A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6787444B1 (ja) * | 2019-05-23 | 2020-11-18 | 沖電気工業株式会社 | ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム |
-
2020
- 2020-11-30 CN CN202011381083.5A patent/CN114580605A/zh active Pending
-
2021
- 2021-11-23 US US17/533,349 patent/US20220172051A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220172051A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232661B (zh) | 基于Retinex和卷积神经网络的低光照彩色图像增强方法 | |
US10096134B2 (en) | Data compaction and memory bandwidth reduction for sparse neural networks | |
CN110610237A (zh) | 模型的量化训练方法、装置及存储介质 | |
WO2019238029A1 (zh) | 卷积神经网络系统和卷积神经网络量化的方法 | |
CN113326930B (zh) | 数据处理方法、神经网络的训练方法及相关装置、设备 | |
US20240062530A1 (en) | Deep perceptual image enhancement | |
JP5591178B2 (ja) | テスト画像内のオブジェクトを分類するための方法 | |
EP0449516A2 (en) | Image processing using neural network | |
CN110781912A (zh) | 一种基于通道扩张倒置卷积神经网络的图像分类方法 | |
EP4283876A1 (en) | Data coding method and related device | |
CN114580605A (zh) | 卷积神经网络、运算优化方法、装置、电子设备及介质 | |
US20220301106A1 (en) | Training method and apparatus for image processing model, and image processing method and apparatus | |
CN111814804B (zh) | 基于ga-bp-mc神经网络的人体三维尺寸信息预测方法及装置 | |
US20230205956A1 (en) | Neural network with on-the-fly generation of the network parameters | |
CN111274145A (zh) | 关系结构图生成方法、装置、计算机设备及存储介质 | |
Rekeczky | CNN architectures for constrained diffusion based locally adaptive image processing | |
Seiffert | ANNIE—Artificial Neural Network-based Image Encoder | |
TWI762055B (zh) | 卷積神經網路、運算優化方法、裝置、電子設備及介質 | |
US20220405576A1 (en) | Multi-layer neural network system and method | |
CN115063374A (zh) | 模型训练、人脸图像质量评分方法、电子设备及存储介质 | |
WO2022027442A1 (zh) | 图像处理网络的输入预处理方法和输出后处理方法及装置 | |
CN114926876A (zh) | 图像关键点检测方法、装置、计算机设备和存储介质 | |
CN110647898B (zh) | 图像处理方法、装置、电子设备及计算机存储介质 | |
CN112036461A (zh) | 手写数字图像识别方法、装置、设备及计算机存储介质 | |
CN114077885A (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 |