CN115879513B - 一种数据的层次化标准化方法、装置和电子设备 - Google Patents
一种数据的层次化标准化方法、装置和电子设备 Download PDFInfo
- Publication number
- CN115879513B CN115879513B CN202310196060.4A CN202310196060A CN115879513B CN 115879513 B CN115879513 B CN 115879513B CN 202310196060 A CN202310196060 A CN 202310196060A CN 115879513 B CN115879513 B CN 115879513B
- Authority
- CN
- China
- Prior art keywords
- training sample
- dimension
- batch
- batches
- 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.)
- Active
Links
- 238000011425 standardization method Methods 0.000 title abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 338
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000003062 neural network model Methods 0.000 claims abstract description 10
- 238000010606 normalization Methods 0.000 claims description 69
- 238000000034 method Methods 0.000 claims description 42
- 230000006870 function Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 21
- 238000011176 pooling Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000006835 compression Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 14
- 238000011478 gradient descent method Methods 0.000 claims description 7
- 238000011282 treatment Methods 0.000 abstract description 5
- 239000011159 matrix material Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 210000002569 neuron Anatomy 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000009795 derivation Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种数据的层次化标准化方法、装置和电子设备,用于提高数据标准化的精准度。本申请层次化标准化方法包括:获取初始卷积神经网络模型和B个批次的训练样本集合;根据B个批次的训练样本集合的各个维度的关联度在初始卷积神经网络模型的每一个卷积层前设置层次化标准化层;将B个批次的训练样本集合输入初始卷积神经网络模型中;通过HW标准化层对B个批次的训练样本集合在HW维度进行独立标准化处理;通过批次标准化层对B个批次的训练样本集合在批次B维度进行独立标准化处理;将经过两次独立标准化处理的B个批次的训练样本集合输入初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。
Description
技术领域
本申请实施例涉及图像处理领域,尤其涉及一种数据的层次化标准化方法、装置和电子设备。
背景技术
深度学习作为新兴技术在图像领域蓬勃发展,因其自主学习图像数据特征避免了人工设计算法的繁琐,精准的检测性能、高效的检测效率以及对各种不同类型的图像任务都有比较好的泛化性能,使得深度学习技术在图像领域得到广泛应用,包括图像检测、图像分类、图像重构等。卷积神经网络模型中,中间某一层的输入是其之前的神经层的输出。因此,该层之前的神经层的参数变化会导致其输入的分布发生较大的差异。利用随机梯度下降更新参数时,每次参数更新都会导致网络中间每一层的输入的分布发生改变。越深的层,其输入分布会改变的越明显。内部协变量偏移(Internal Covariate Shift):每一层的参数在更新过程中,会改变下一层输入的分布,神经网络层数越多,表现得越明显,为了解决内部协变量偏移问题,就要使得每一个神经层的输入的分布在训练过程要保持一致,即需要对输入数据进行标准化处理。
数据标准化,目的是将原来分布范围不同的数据缩放在一个范围之内,一般来说是标准化到均值为0,标准差为1的标准正态分布,均值为0是为了让数据中心化,让各个维度的特征都平衡,标准差为1是为了让数据在各个维度上的长度都呈现一个单位向量(矩阵),即把原来大小范围分布不通的数据缩放成统一量纲,如此一来,卷积神经网络模型的对数据的训练就不会过大的影响每一层的分布。在以深度学习为主的人工智能项目的实现过程中,对数据的数量和质量的要求都极高,一般来说,原始数据可以通过各种不同的渠道去收集,最终能够得到大量的数据,为了加快训练,消除对训练不利的因素,往往会使用数据标准化的方法来处理数据,因此一种有效的标准化方法能够极大提高数据的质量,提升神经网络的性能。
当前主流卷积神经网络模型对数据标准化方法有:批次标准化(BatchNorm)、层标准化(LayerNorm)、实例标准化(InstanceNorm)。batchNorm是在batch上,对NHW做归一化,layerNorm在通道方向上,对CHW归一化,instanceNorm在图像像素上,对HW做归一化。现有的数据标准化方法主要是对多维度进行标准化处理。而这种标准化方法没有考虑到各个维度之间的关系,进行标准化操作时将不同维度的数据混合处理,使得某一维度的数据进行标准化时会受到另一维度的数据的干扰,造成标准化结果不准确的情况发生。
发明内容
本申请公开了一种数据的层次化标准化方法、装置和电子设备,用于提高数据标准化的精准度。
本申请第一方面提供了一种数据的层次化标准化方法,包括:
获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
根据B个批次的训练样本集合的各个维度的关联度在所述初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,所述层次化标准化层至少包括HW标准化层和批次标准化层;
将所述B个批次的训练样本集合输入所述初始卷积神经网络模型中,B为大于1的整数;
通过所述HW标准化层对所述B个批次的训练样本集合在HW维度进行独立标准化处理;
通过所述批次标准化层对所述B个批次的训练样本集合在批次B维度进行独立标准化处理;
将经过两次独立标准化处理的所述B个批次的训练样本集合输入所述初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。
可选的,所述通过所述HW标准化层对所述B个批次的训练样本集合在HW维度进行独立标准化处理,包括:
获取所述B个批次的训练样本集合中每一个训练样本的HW维度均值和HW维度方差;
根据每一个训练样本的所述像素数据、所述HW维度均值和所述HW维度方差计算初始HW标准化像素数据;
获取每一个训练样本在HW维度的第一缩放因子和第一偏移量;
通过所述初始HW标准化像素数据、HW维度的所述第一缩放因子和所述第一偏移量生成HW标准化的B个批次的训练样本集合。
可选的,所述获取所述B个批次的训练样本集合中每一个训练样本的HW维度均值和HW维度方差,包括:
获取所述B个批次的训练样本集合中每一个训练样本的分辨率H*W和像素数据;
根据每一个训练样本的所述分辨率H*W和像素数据计算每一个训练样本的HW维度均值;
根据每一个训练样本的所述分辨率H*W、所述像素数据和所述HW维度均值计算每一个训练样本的HW维度方差。
可选的,所述通过所述批次标准化层对所述B个批次的训练样本集合在批次B维度进行独立标准化处理,包括:
计算每一个批次的训练样本集合的批次B维度均值和批次B维度方差;
根据HW标准化的B个批次的训练样本集合、批次B维度均值和批次B维度方差计算初始批次B标准化像素数据;
获取每一个批次的训练样本集合在批次B维度的第二缩放因子和第二偏移量;
通过所述初始批次B标准化像素数据、批次B维度的所述第二缩放因子和所述第二偏移量生成批次B标准化的B个批次的训练样本集合。
可选的,所述计算每一个批次的训练样本集合的批次B维度均值和批次B维度方差,包括:
根据每一个批次的训练样本集合中每一个训练样本的HW维度均值计算该批次的训练样本集合的批次B维度均值;
根据每一个批次的训练样本集合的像素数据和所述批次B维度均值计算对应的批次B维度方差。
可选的,所述初始卷积神经网络模型还包括注意力生成模块,所述注意力生成模块位于层次化标准化层之前,所述注意力生成模块包括Conv-ReLU层、全局平均池化层和Conv-SigMoid函数层
在所述通过所述HW标准化层对所述B个批次的训练样本集合在HW维度进行独立标准化处理之前,所述将所述B个批次的训练样本集合输入所述初始卷积神经网络模型中之后,所述方法还包括:
所述通过所述Conv-ReLU层对所述B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征;
通过所述全局平均池化层对所述压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据;
通过所述Conv-SigMoid函数层根据所述池化数据计算每一个训练样本对应的注意力向量;
根据每一个训练样本对应的注意力向量生成HW维度的第一缩放因子和第一偏移量;
根据每一个训练样本对应的注意力向量生成批次B维度的第二缩放因子和第二偏移量。
可选的,所述将经过两次独立标准化处理的所述B个批次的训练样本集合输入所述初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型,包括:
通过卷积层提取所述B个批次的训练样本集合的特征集合;
根据所述特征集合与所述初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据;
根据所述损失值变化数据判断所述初始卷积神经网络模型是否收敛;
若是,则确定所述初始卷积神经网络模型为目标卷积神经网络模型;
若否,则根据所述损失值更新权值和所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量。
可选的,所述根据所述损失值更新权值和所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量,包括:
根据小批量梯度下降法并结合所述损失值更新权值;
根据所述损失值和每一个训练样本对应的注意力向量更新所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量。
本申请第二方面提供了一种数据的层次化标准化装置,包括:
第一获取单元,用于初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
设置单元,用于根据B个批次的训练样本集合的各个维度的关联度在所述初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,所述层次化标准化层至少包括HW标准化层和批次标准化层;
第二获取单元,用于将所述B个批次的训练样本集合输入所述初始卷积神经网络模型中,B为大于1的整数;
第一标准化单元,用于通过所述HW标准化层对所述B个批次的训练样本集合在HW维度进行独立标准化处理;
第二标准化单元,用于通过所述批次标准化层对所述B个批次的训练样本集合在批次B维度进行独立标准化处理;
训练单元,用于将经过两次独立标准化处理的所述B个批次的训练样本集合输入所述初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。
可选的,所述第一标准化单元,包括:
第一获取模块,用于获取所述B个批次的训练样本集合中每一个训练样本的HW维度均值和HW维度方差;
第一计算模块,用于根据每一个训练样本的所述像素数据、所述HW维度均值和所述HW维度方差计算初始HW标准化像素数据;
第二获取模块,用于获取每一个训练样本在HW维度的第一缩放因子和第一偏移量;
第一生成模块,用于通过所述初始HW标准化像素数据、HW维度的所述第一缩放因子和所述第一偏移量生成HW标准化的B个批次的训练样本集合。
可选的,所述第一获取模块,具体为:
获取所述B个批次的训练样本集合中每一个训练样本的分辨率H*W和像素数据;
根据每一个训练样本的所述分辨率H*W和像素数据计算每一个训练样本的HW维度均值;
根据每一个训练样本的所述分辨率H*W、所述像素数据和所述HW维度均值计算每一个训练样本的HW维度方差。
可选的,所述第二标准化单元,包括:
第二计算模块,用于计算每一个批次的训练样本集合的批次B维度均值和批次B维度方差;
第三计算模块,用于根据HW标准化的B个批次的训练样本集合、批次B维度均值和批次B维度方差计算初始批次B标准化像素数据;
第三获取模块,用于获取每一个批次的训练样本集合在批次B维度的第二缩放因子和第二偏移量;
第二生成模块,用于通过所述初始批次B标准化像素数据、批次B维度的所述第二缩放因子和所述第二偏移量生成批次B标准化的B个批次的训练样本集合。
可选的,所述第二计算模块,具体为:
根据每一个批次的训练样本集合中每一个训练样本的HW维度均值计算该批次的训练样本集合的批次B维度均值;
根据每一个批次的训练样本集合的像素数据和所述批次B维度均值计算对应的批次B维度方差。
可选的,所述初始卷积神经网络模型还包括注意力生成模块,所述注意力生成模块位于层次化标准化层之前,所述注意力生成模块包括Conv-ReLU层、全局平均池化层和Conv-SigMoid函数层;
所述装置还包括:
压缩单元,用于所述通过所述Conv-ReLU层对所述B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征;
第三生成单元,用于通过所述全局平均池化层对所述压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据;
第四计算单元,用于通过所述Conv-SigMoid函数层根据所述池化数据计算每一个训练样本对应的注意力向量;
第四生成单元,用于根据每一个训练样本对应的注意力向量生成HW维度的第一缩放因子和第一偏移量;
第五生成单元,用于根据每一个训练样本对应的注意力向量生成批次B维度的第二缩放因子和第二偏移量。
可选的,所述训练单元,包括:
提取模块,用于通过卷积层提取所述B个批次的训练样本集合的特征集合;
第六生成模块,用于根据所述特征集合与所述初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据;
判断模块,用于根据所述损失值变化数据判断所述初始卷积神经网络模型是否收敛;
确定模块,用于当判断模块确定所述初始卷积神经网络模型收敛时,则确定所述初始卷积神经网络模型为目标卷积神经网络模型;
更新模块,用于当判断模块确定所述初始卷积神经网络模型不收敛时,则根据所述损失值更新权值和所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量。
可选的,所述更新模块,具体为:
根据小批量梯度下降法并结合所述损失值更新权值;
根据所述损失值和每一个训练样本对应的注意力向量更新所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量。
本申请第三方面提供了一种电子设备,包括:
处理器、存储器、输入输出单元以及总线;
处理器与存储器、输入输出单元以及总线相连;
存储器保存有程序,处理器调用程序以执行如第一方面以及第一方面的任意可选的层次化标准化方法。
本申请第四方面提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行如第一方面以及第一方面的任意可选的层次化标准化方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本发明中,首先获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数,卷积神经网络模型中有至少一个卷积层,根据B个批次的训练样本集合的各个维度的关联度在所述初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,所述层次化标准化层至少包括HW标准化层和批次标准化层,HW标准化层和批次标准化层分别通过两个维度独立对训练样本进行层次化标准化处理。将B个批次的训练样本集合输入初始卷积神经网络模型中。首先通过HW标准化层对B个批次的训练样本集合在HW维度进行独立标准化处理,HW标准化层用于先对关联度大的维度进行标准化处理,将批次B和通道C的维度处理后置,处理完HW维度的标准化之后,然后再通过批次标准化层对B个批次的训练样本集合在批次B维度进行独立标准化处理。最后将经过两次独立标准化处理的B个批次的训练样本集合输入初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。通过将原有的混合不同维度的数据进行标准化,分解成先对关联度较大的维度进行标准化,在对关联度较弱的维度进行标准化,使得某一维度的数据进行标准化时不会受到另一维度的数据的干扰,如果层次化标准化,提高对数据标准化操作的精准度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请数据的层次化标准化方法的一个实施例示意图;
图2-a为本申请层次化标准化方法的另一个实施例第一阶段示意图;
图2-b为本申请层次化标准化方法的另一个实施例第二阶段示意图;
图2-c为本申请层次化标准化方法的另一个实施例第三阶段示意图;
图3为本申请实施例中网络模型网络层的一个实施例流程示意图;
图4为本申请实施例中网络模型网络层的另一个实施例结构示意图;
图5为本申请实施例中网络模型网络层的另一个实施例结构示意图;
图6为本申请实施例中数据的层次化标准化装置的一个实施例示意图;
图7为本申请实施例中数据的层次化标准化装置的另一个实施例示意图;
图8为本申请实施例中一种电子设备的一个实施例示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在现有技术中,数据标准化,目的是将原来分布范围不同的数据缩放在一个范围之内,一般来说是标准化到均值为0,标准差为1的标准正态分布,均值为0是为了让数据中心化,让各个维度的特征都平衡,标准差为1是为了让数据在各个维度上的长度都呈现一个单位向量(矩阵),即把原来大小范围分布不通的数据缩放成统一量纲,如此一来,卷积神经网络模型的对数据的训练就不会过大的影响每一层的分布。在以深度学习为主的人工智能项目的实现过程中,对数据的数量和质量的要求都极高,一般来说,原始数据可以通过各种不同的渠道去收集,最终能够得到大量的数据,为了加快训练,消除对训练不利的因素,往往会使用数据标准化的方法来处理数据,因此一种有效的标准化方法能够极大提高数据的质量,提升神经网络的性能。
当前主流卷积神经网络模型对数据标准化方法有:批次标准化(BatchNorm)、层标准化(LayerNorm)、实例标准化(InstanceNorm)。batchNorm是在batch上,对NHW做归一化,layerNorm在通道方向上,对CHW归一化,instanceNorm在图像像素上,对HW做归一化。现有的数据标准化方法主要是对多维度进行标准化处理。而这种标准化方法没有考虑到各个维度之间的关系,进行标准化操作时将不同维度的数据混合处理,使得某一维度的数据进行标准化时会受到另一维度的数据的干扰,造成标准化结果不准确的情况发生。
基于此,本申请公开了一种数据的层次化标准化方法、装置和电子设备,用于提高数据标准化的精准度。
下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的方法可以应用于服务器、设备、终端或者其它具备逻辑处理能力的设备,对此,本申请不作限定。为方便描述,下面以执行主体为终端为例进行描述。
请参阅图1,本申请提供了一种数据的层次化标准化方法的一个实施例,包括:
101、获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
终端获取初始卷积神经网络模型,初始卷积神经网络模型为拥有至少一个卷积层的卷积神经网络模型,并且确定好每一个卷积层的位置。
接下来终端再获取B个批次的训练样本集合,其中B为大于1的整数,每一个批次的训练样本集合中都包括至少两张的训练样本数据。
102、根据B个批次的训练样本集合的各个维度的关联度在初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,层次化标准化层至少包括HW标准化层和批次标准化层;
终端根据B个批次的训练样本集合的各个维度的关联度在初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,由于不同的训练样本的维度关联度不同,故需要实现对B个批次的训练样本集合进行维度的关联度确认,将各个维度按照关联度进行排序,在卷积层中设置对应的层次化标准层。确定维度关联度的方式可以是通过人为确定,也可以是分析训练样本的像素在各个维度的重要性,此处不做赘述。
具体的,可以是根据训练样本在通道C维度上的像素点数据进行关联度的计算,在根据训练样本在HW维度上对应像素点数据进行关联度计算,最后根据训练样本在批次B维度上对应像素点数据进行关联度计算,得到对应的关联度排序,然后将对应的层次化标准化层进行设置。
103、将B个批次的训练样本集合输入初始卷积神经网络模型中;
终端将B个批次的训练样本集合输入初始卷积神经网络模型中。
104、通过HW标准化层对B个批次的训练样本集合在HW维度进行独立标准化处理;
终端通过HW标准化层对B个批次的训练样本集合在HW维度进行独立标准化处理,即首先通过维度HW对所有的训练样本进行标准化处理。
105、通过批次标准化层对B个批次的训练样本集合在批次B维度进行独立标准化处理;
终端通过批次标准化层对B个批次的训练样本集合在批次B维度进行独立标准化处理,即将通过维度HW进行标准化处理的训练样本在批次B维度对训练样本再次进行标准化处理。需要说明的是,当存在多个维度的标准化处理时,需要根据关联度的排序决定先后,本实施例中是HW维度的标准化处理在先,批次B维度的标准化处理在后,实际需要根据关联度的排序决定先后,不仅包括HW维度的标准化处理和批次B维度的标准化处理,还包括通道C维度的标准化处理和其他维度的标准化处理。
106、将经过两次独立标准化处理的B个批次的训练样本集合输入初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。
终端将经过两次独立标准化处理的B个批次的训练样本集合输入初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。
本实施例中,首先终端获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数,卷积神经网络模型中有至少一个卷积层,终端根据B个批次的训练样本集合的各个维度的关联度在所述初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,所述层次化标准化层至少包括HW标准化层和批次标准化层,HW标准化层和批次标准化层分别通过两个维度独立对训练样本进行层次化标准化处理。终端将B个批次的训练样本集合输入初始卷积神经网络模型中。终端首先通过HW标准化层对B个批次的训练样本集合在HW维度进行独立标准化处理,HW标准化层用于先对关联度大的维度进行标准化处理,将批次B和通道C的维度处理后置,处理完HW维度的标准化之后,然后终端再通过批次标准化层对B个批次的训练样本集合在批次B维度进行独立标准化处理。最后将经过两次独立标准化处理的B个批次的训练样本集合输入初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。通过将原有的混合不同维度的数据进行标准化,分解成先对关联度较大的维度进行标准化,在对关联度较弱的维度进行标准化,使得某一维度的数据进行标准化时不会受到另一维度的数据的干扰,如果层次化标准化,提高对数据标准化操作的精准度。
卷积神经网络模型的输入数据一般维度为B*C*H*W,有的会更多,本实施例中以这四个参数的维度为例子,其中B是批次(Batch),每次输入一批而不是单个数据,每个数据以张量(C*H*W)的形式存在,C是通道数(Channel),H和W是数据高度和宽度(Height,Weight),比如一张240*240的3通道彩色图片的张量表示为3*240*240,每次向卷积神经网络模型输入10张图片为一批,则输入数据维度为10*3*240*240。每个输入数据的同一通道内像素之间的关系最为紧密,不同批次输入数据同一通道内的像素属于同一关系层,且神经网络中的卷积核,对于同一个输入数据的同一通道像素以及不同输入数据之间的相同通道像素,使用同一个卷积层进行卷积操作,而输入数据的不同通道的像素则使用不同的卷积层进行卷积操作。
基于以上原理,本实施例根据维度的关联度首先对各个输入数据的HW维度进行独立标准化,然后在批次B维度再进行一次标准化,分层次地对B、H、W做标准化处理,产生两组可学习的偏移参数,对各个输入数据不同通道C的数据不做处理,减少计算量、保持数据分布以及降低过拟合风险。分层次标准化,每次可以精准地处理单个维度数据,避免多个维度上不同分布数据的干扰,第二次标准化在第一次标准化基础上进行,排除了前一次维度数据的干扰,每个维度的标准化都有对应的可学习偏移量,提高了标准化的准确性。
请参阅图2-a、图2-b和图2-c,本申请提供了一种数据的层次化标准化方法的一个实施例,包括:
201、获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
202、根据B个批次的训练样本集合的各个维度的关联度在初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,层次化标准化层至少包括HW标准化层和批次标准化层;
203、将B个批次的训练样本集合输入初始卷积神经网络模型中;
本实施例中,步骤201至步骤203与前述步骤101至步骤103类似,此处不做赘述。
204、通过Conv-ReLU层对B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征;
205、通过全局平均池化层对压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据;
206、通过Conv-SigMoid函数层根据池化数据计算每一个训练样本对应的注意力向量;
终端通过Conv-ReLU层对B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征。终端再通过全局平均池化层对压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据。接着终端通过Conv-SigMoid函数层根据池化数据计算每一个训练样本对应的注意力向量。
具体的,训练样本的特征通道的注意力值可以使用深度学习的方式由卷积神经网络模型自主学习得到,将训练样本的特征通道(B*C*H*W)经过一个3×3Conv+ReLU进行特征通道压缩,生成(B*C’*H*W),其中,C’<C,再进行全局平均池化操作,生成(B*C’*1*1),然后经过一个1×1卷积+SigMoid得到对应输出特征通道的注意力向量(B*C*1*1),其中B为该批次数据量,C/C’为输出特征通道个数,H为每个特征通道的高度,W为每个特征通道的宽度。
207、根据每一个训练样本对应的注意力向量生成HW维度的第一缩放因子和第一偏移量;
208、根据每一个训练样本对应的注意力向量生成批次B维度的第二缩放因子和第二偏移量;
当终端计算出每一个训练样本上像素点对应的注意力向量之后,即可确定这些像素上重要性大于预设阈值的像素点,根据这些像素值的位置和像素值,计算HW维度的第一缩放因子和第一偏移量以及批次B维度的第二缩放因子和第二偏移量。这里的HW维度的第一缩放因子和第一偏移量以及批次B维度的第二缩放因子和第二偏移量是初始的缩放因子和偏移值。由于注意力值表征训练样本上像素点的重要程度,当某一个批次的训练样本中的所有像素点,大于预设阈值的像素点的数量或是像素均值大于我们预先设置的条件时,则通过计算或者是查表得到对应维度的缩放因子和偏移量。本实施例中所使用的表格中的这些缩放因子和偏移量是事先通过注意力值、像素值与缩放因子和偏移量进行关联试验得到的。
209、获取B个批次的训练样本集合中每一个训练样本的分辨率H*W和像素数据;
210、根据每一个训练样本的分辨率H*W和像素数据计算每一个训练样本的HW维度均值;
211、根据每一个训练样本的分辨率H*W、像素数据和HW维度均值计算每一个训练样本的HW维度方差;
212、根据每一个训练样本的像素数据、HW维度均值和HW维度方差计算初始HW标准化像素数据;
213、获取每一个训练样本在HW维度的第一缩放因子和第一偏移量;
214、通过初始HW标准化像素数据、HW维度的第一缩放因子和第一偏移量生成HW标准化的B个批次的训练样本集合;
终端首先获取B个批次的训练样本集合中每一个训练样本的分辨率H*W和像素数据,接下来终端根据每一个训练样本的分辨率H*W和像素数据计算每一个训练样本的HW维度均值,根据每一个训练样本的分辨率H*W、像素数据和HW维度均值计算每一个训练样本的HW维度方差,终端根据每一个训练样本的像素数据、HW维度均值和HW维度方差计算初始HW标准化像素数据,获取每一个训练样本在HW维度的第一缩放因子和第一偏移量,通过初始HW标准化像素数据、HW维度的第一缩放因子和第一偏移量生成HW标准化的B个批次的训练样本集合。
具体的,本实施例中输入数据张量为B*C*H*W,对于不同的批次(Batch)和不同通道(Channel)的数据,在HW维度各自进行标准化,首先计算HW维度的均值μHW和方差σ2 HW,然后将HW维度上的每个数据值减去均值并除以方差的平方根,其中ε为一很小的数值,最后增加一个缩放因子γHW和偏移量βHW。
其中,均值μHW和方差σ2 HW,xij为训练样本上对应位置(i,j)的像素数据,H为每个特征通道的高度,W为每个特征通道的宽度。
为初始HW标准化像素数据,第一缩放因子γHW和第一偏移量βHW。/>为经过HW维度标准化后的训练样本。
215、根据每一个批次的训练样本集合中每一个训练样本的HW维度均值计算该批次的训练样本集合的批次B维度均值;
216、根据每一个批次的训练样本集合的像素数据和批次B维度均值计算对应的批次B维度方差;
217、根据HW标准化的B个批次的训练样本集合、批次B维度均值和批次B维度方差计算初始批次B标准化像素数据;
218、获取每一个批次的训练样本集合在批次B维度的第二缩放因子和第二偏移量;
219、通过初始批次B标准化像素数据、批次B维度的第二缩放因子和第二偏移量生成批次B标准化的B个批次的训练样本集合;
终端根据每一个批次的训练样本集合中每一个训练样本的HW维度均值计算该批次的训练样本集合的批次B维度均值。根据每一个批次的训练样本集合的像素数据和批次B维度均值计算对应的批次B维度方差。根据每一个批次的训练样本集合的像素数据、批次B维度均值和批次B维度方差计算初始批次B标准化像素数据。获取每一个批次的训练样本集合在批次B维度的第二缩放因子和第二偏移量。通过初始批次B标准化像素数据、批次B维度的第二缩放因子和第二偏移量生成批次B标准化的B个批次的训练样本集合。
具体的,对于经过了HW维度标准化的数据,在不同批次之间相同通道之间再进行一次标准化。首先计算B维度的均值μB和方差σ2 B,然后将B维度上的每个数据值减去均值并除以方差的平方根,其中ε为一很小的数值,最后增加一个缩放因子γB和偏移量βB。
/>
均值μB和方差σ2 B,为第t个批次的训练样本的HW维度方差,/>为第t个批次的经过HW维度标准化的训练样本集合。
缩放因子γB和偏移量βB。为第t个批次的初始批次B标准化像素数据,/>为第t个批次的经过批次B标准化的训练样本集合。
其中,两组可学习参数独立控制HW维度和B维度标准化后的数据分布,可以在两个层次上相互协作,更好的调节标准化的效果。
220、通过卷积层提取B个批次的训练样本集合的特征集合;
221、根据特征集合与初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据;
终端在通过卷积层提取B个批次的训练样本集合的特征集合之后,根据特征集合与初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据,以生成损失值变化数据,损失值变化数据为每一次训练生成的损失值的统计数据。
分类器由全局平均池化层和计算模块构成,该分类为多分类问题,故在初始判别网络模型训练过程中采用的损失函数为交叉熵损失函数,其表达式为:
其中Loss为损失值,C的参数含义是总样本的数量,yi为第i个训练样本的真实表情的目标预测值,Pi即为初始残差模型输出的概率值集合softmax(yi)。下面对该交叉熵损失函数的使用方式进行举例说明:
在数字识别任务中,如果数字样本是数字“5”,那么真实分布应该为:[0,0,0,0,0,1,0,0,0,0],如果网络输出的分布为:[0.1,0.1,0,0,0,0.7,0,0.1,0,0],则应为10,那么计算损失函数得:
如果网络输出的分布为:[0.2,0.3,0.1,0,0,0.3,0.1,0,0,0],那么计算损失函数得:
上述两种情况对比,第一个分布的损失通过交叉熵函数计算出的损失值明显低于第二个分布通过交叉熵函数计算出的损失值的损失,说明第一个分布更接近于真实分布。
222、根据损失值变化数据判断初始卷积神经网络模型是否收敛;
223、若是,则确定初始卷积神经网络模型为目标卷积神经网络模型;
224、若否,则根据小批量梯度下降法并结合损失值更新权值;
终端根据损失值变化数据判断初始卷积神经网络模型是否收敛,若收敛,执行步骤223,若不收敛,执行步骤224。
对初始卷积神经网络模型的权重更新可以是多种方式,本实施例中,以小批量随机梯度下降法更新初始卷积神经网络模型为例,其中批训练的梯度更新方式的公式为:
n是批量大小(batchsize),是学习率(learning rate),/>是当前权值,/>为更新权值,/>为权值更新子函数,x为预设值。
使用反向梯度求导,请参考图3,图3为一个卷积神经网络模型网络层示意图。
左侧为第一层,也是输入层,输入层包含两个神经元a和b。中间为第二层,也是隐含层,隐含层包含两个神经元c和d。右侧为第三层,也是输出层,输出层包含e和f,每条线上标的是层与层之间连接的权重。
代表第l层第j个神经元,与上一层(l-1)第k个神经元输出相对应的权重。
代表第l层第j个神经元输出。
代表第l层第j个神经元输入。
代表第l层第j个神经元偏置。
W代表权重矩阵,Z代表输入矩阵,A代表输出矩阵,Y代表标准答案。
L代表卷积神经网络模型的层数。
向前传播的方法,即将输入层的信号传输至隐藏层,以隐藏层节点c为例,站在节点c上往后看(输入层的方向),可以看到有两个箭头指向节点c,因此a,b节点的信息将传递给c,同时每个箭头有一定的权重,因此对于c节点来说,输入信号为:
同理,节点d的输入信号为:
由于终端善于做带有循环的任务,因此可以用矩阵相乘来表示:
所以,隐藏层节点经过非线性变换后的输出表示如下:
同理,输出层的输入信号表示为权重矩阵乘以上一层的输出:
同样,输出层节点经过非线性映射后的最终输出表示为:
输入信号在权重矩阵们的帮助下,得到每一层的输出,最终到达输出层。可见,权重矩阵在前向传播信号的过程中扮演着运输兵的作用,起到承上启下的功能。
请参考图3,图3为一个卷积神经网络模型网络层示意图。向后传播的方法,既然梯度下降需要每一层都有明确的误差才能更新参数,所以接下来的重点是如何将输出层的误差反向传播给隐藏层。
其中输出层、隐藏层节点的误差如图所示,输出层误差已知,接下来对隐藏层第一个节点c作误差分析。还是站在节点c上,不同的是这次是往前看(输出层的方向),可以看到指向c节点的两个蓝色粗箭头是从节点e和节点f开始的,因此对于节点c的误差肯定是和输出层的节点e和f有关。输出层的节点e有箭头分别指向了隐藏层的节点c和d,因此对于隐藏节点e的误差不能被隐藏节点c霸为己有,而是要服从按劳分配的原则(按权重分配),同理节点f的误差也需服从这样的原则,因此对于隐藏层节点c的误差为:
其中,和/>为输出层反向传播系数,同理,对于隐藏层节点d的误差为:
其中,和/>为隐藏层反向传播系数,为了减少工作量,可写成矩阵相乘的形式:
该矩阵比较繁琐,可简化到前向传播的形式,不破坏它们的比例,因此我们可以忽略掉分母部分,所以重新成矩阵形式为:
该权重矩阵,其实是前向传播时权重矩阵w的转置,因此简写形式如下:
输出层误差在转置权重矩阵的帮助下,传递到了隐藏层,这样我们就可以利用间接误差来更新与隐藏层相连的权重矩阵。可见,权重矩阵在反向传播的过程中同样扮演着运输兵的作用,只不过这次是搬运的输出误差,而不是输入信号。
请参考图4,图4为一个卷积神经网络模型网络层示意图。接下来需要进行链式求导,上面介绍了输入信息的前向传播与输出误差的后向传播,接下来就根据求得的误差来更新参数。
首先对隐藏层的w11进行参数更新,更新之前让我们从后往前推导,直到预见w11为止,计算方式如下:
因此误差对w11求偏导如下:
求导得如下公式(所有值已知):
同理,误差对于w12的偏导如下:
同样,求导得w12的求值公式:
同理,误差对于偏置求偏导如下:
同理,误差对于偏置求偏导如下:
接着对输入层的w11进行参数更新,更新之前我们依然从后往前推导,直到预见第一层的w11为止:
因此误差对输入层的w11求偏导如下:
求导得如下公式:
同理,输入层的其他三个参数按照同样的方法即可求出各自的偏导,此处不做赘述。在每个参数偏导数明确的情况下,带入梯度下降公式即可:
至此,利用链式法则来对每层参数进行更新的任务已经完成。
在更新了初始卷积神经网络模型的权重之后,保留一份当前初始卷积神经网络模型,以使得在后续训练过程中出现泛化、过拟合等问题时,还可以使用原先保存下来的卷积神经网络模型。
当初始卷积神经网络模型更新完成后,可以选择原始样本重新输入卷积神经网络模型训练,也可以是从重新合成新的原始样本输入初始卷积神经网络模型训练。
225、根据损失值和每一个训练样本对应的注意力向量更新第一缩放因子、第一偏移量、第二缩放因子和第二偏移量。
终端根据损失值和每一个训练样本对应的注意力向量更新第一缩放因子、第一偏移量、第二缩放因子和第二偏移量,即根据每一个训练样本上像素的注意力值(注意力向量)选取出对应的像素值,并且根据这些像素值以及损失值确定第一缩放因子、第一偏移量、第二缩放因子和第二偏移量更新方向,接着按照预设的增加量和减少量进行加或者减,使得第一缩放因子、第一偏移量、第二缩放因子和第二偏移量对应发生变化。
本实施例中,首先终端获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数,卷积神经网络模型中有至少一个卷积层,终端根据B个批次的训练样本集合的各个维度的关联度在所述初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,所述层次化标准化层至少包括HW标准化层和批次标准化层,HW标准化层和批次标准化层分别通过两个维度独立对训练样本进行层次化标准化处理。终端将B个批次的训练样本集合输入初始卷积神经网络模型中。
通过Conv-ReLU层对B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征。通过全局平均池化层对压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据。通过Conv-SigMoid函数层根据池化数据计算每一个训练样本对应的注意力向量。根据每一个训练样本对应的注意力向量生成HW维度的第一缩放因子和第一偏移量。根据每一个训练样本对应的注意力向量生成批次B维度的第二缩放因子和第二偏移量。
终端获取B个批次的训练样本集合中每一个训练样本的分辨率H*W和像素数据。根据每一个训练样本的分辨率H*W和像素数据计算每一个训练样本的HW维度均值。根据每一个训练样本的分辨率H*W、像素数据和HW维度均值计算每一个训练样本的HW维度方差。根据每一个训练样本的像素数据、HW维度均值和HW维度方差计算初始HW标准化像素数据。获取每一个训练样本在HW维度的第一缩放因子和第一偏移量。通过初始HW标准化像素数据、HW维度的第一缩放因子和第一偏移量生成HW标准化的B个批次的训练样本集合。
终端根据每一个批次的训练样本集合中每一个训练样本的HW维度均值计算该批次的训练样本集合的批次B维度均值。根据每一个批次的训练样本集合的像素数据和批次B维度均值计算对应的批次B维度方差。根据HW标准化的B个批次的训练样本集合、批次B维度均值和批次B维度方差计算初始批次B标准化像素数据。获取每一个批次的训练样本集合在批次B维度的第二缩放因子和第二偏移量。通过初始批次B标准化像素数据、批次B维度的第二缩放因子和第二偏移量生成批次B标准化的B个批次的训练样本集合。
终端通过卷积层提取B个批次的训练样本集合的特征集合。根据特征集合与初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据。根据损失值变化数据判断初始卷积神经网络模型是否收敛。若是,则确定初始卷积神经网络模型为目标卷积神经网络模型。若否,则根据小批量梯度下降法并结合损失值更新权值。
终端根据损失值和每一个训练样本对应的注意力向量更新第一缩放因子、第一偏移量、第二缩放因子和第二偏移量。
通过将原有的混合不同维度的数据进行标准化,分解成先对关联度较大的维度进行标准化,在对关联度较弱的维度进行标准化,使得某一维度的数据进行标准化时不会受到另一维度的数据的干扰,如果层次化标准化,提高对数据标准化操作的精准度。
卷积神经网络模型的输入数据一般维度为B*C*H*W,有的会更多,本实施例中以这四个参数的维度为例子,其中B是批次(Batch),每次输入一批而不是单个数据,每个数据以张量(C*H*W)的形式存在,C是通道数(Channel),H和W是数据高度和宽度(Height,Weight),比如一张240*240的3通道彩色图片的张量表示为3*240*240,每次向卷积神经网络模型输入10张图片为一批,则输入数据维度为10*3*240*240。每个输入数据的同一通道内像素之间的关系最为紧密,不同批次输入数据同一通道内的像素属于同一关系层,且神经网络中的卷积核,对于同一个输入数据的同一通道像素以及不同输入数据之间的相同通道像素,使用同一个卷积层进行卷积操作,而输入数据的不同通道的像素则使用不同的卷积层进行卷积操作。
基于以上原理,本实施例根据维度的关联度首先对各个输入数据的HW维度进行独立标准化,然后在批次B维度再进行一次标准化,分层次地对B、H、W做标准化处理,产生两组可学习的偏移参数,对各个输入数据不同通道C的数据不做处理,减少计算量、保持数据分布以及降低过拟合风险。分层次标准化,每次可以精准地处理单个维度数据,避免多个维度上不同分布数据的干扰,第二次标准化在第一次标准化基础上进行,排除了前一次维度数据的干扰,每个维度的标准化都有对应的可学习偏移量,提高了标准化的准确性。
其次,通过注意力向量确定HW维度和批次B维度的缩放因子和偏移量,缩放因子和偏移量主要对注意力向量大的像素值进行细致的标准化,提高了效率。
请参阅图6,本申请提供了一种数据的层次化标准化装置的一个实施例,包括:
第一获取单元601,用于获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
设置单元602,用于根据B个批次的训练样本集合的各个维度的关联度在初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,层次化标准化层至少包括HW标准化层和批次标准化层;
第二获取单元603,用于将B个批次的训练样本集合输入初始卷积神经网络模型中;
第一标准化单元604,用于通过HW标准化层对B个批次的训练样本集合在HW维度进行独立标准化处理;
第二标准化单元605,用于通过批次标准化层对B个批次的训练样本集合在批次B维度进行独立标准化处理;
训练单元606,用于将经过两次独立标准化处理的B个批次的训练样本集合输入初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。
请参阅图7,本申请提供了一种数据的层次化标准化装置的一个实施例,包括:
第一获取单元701,用于获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
设置单元702,用于根据B个批次的训练样本集合的各个维度的关联度在初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,层次化标准化层至少包括HW标准化层和批次标准化层;
第二获取单元703,用于将B个批次的训练样本集合输入初始卷积神经网络模型中;
压缩单元704,用于通过Conv-ReLU层对B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征;
第一生成单元705,用于通过全局平均池化层对压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据;
计算单元706,用于通过Conv-SigMoid函数层根据池化数据计算每一个训练样本对应的注意力向量;
第二生成单元707,用于根据每一个训练样本对应的注意力向量生成HW维度的第一缩放因子和第一偏移量;
第三生成单元708,用于根据每一个训练样本对应的注意力向量生成批次B维度的第二缩放因子和第二偏移量;
第一标准化单元709,用于通过HW标准化层对B个批次的训练样本集合在HW维度进行独立标准化处理;
可选的,第一标准化单元709,包括:
第一获取模块,用于获取B个批次的训练样本集合中每一个训练样本的HW维度均值和HW维度方差;
可选的,第一获取模块,具体为:
获取B个批次的训练样本集合中每一个训练样本的分辨率H*W和像素数据;
根据每一个训练样本的分辨率H*W和像素数据计算每一个训练样本的HW维度均值;
根据每一个训练样本的分辨率H*W、像素数据和HW维度均值计算每一个训练样本的HW维度方差。
第一计算模块,用于根据每一个训练样本的像素数据、HW维度均值和HW维度方差计算初始HW标准化像素数据;
第二获取模块,用于获取每一个训练样本在HW维度的第一缩放因子和第一偏移量;
第一生成模块,用于通过初始HW标准化像素数据、HW维度的第一缩放因子和第一偏移量生成HW标准化的B个批次的训练样本集合。
第二标准化单元710,用于通过批次标准化层对B个批次的训练样本集合在批次B维度进行独立标准化处理;
可选的,第二标准化单元710,包括:
第二计算模块,用于计算每一个批次的训练样本集合的批次B维度均值和批次B维度方差;
可选的,第二计算模块,具体为:
根据每一个批次的训练样本集合中每一个训练样本的HW维度均值计算该批次的训练样本集合的批次B维度均值;
根据每一个批次的训练样本集合的像素数据和批次B维度均值计算对应的批次B维度方差。
第三计算模块,用于根据HW标准化的B个批次的训练样本集合、批次B维度均值和批次B维度方差计算初始批次B标准化像素数据;
第三获取模块,用于获取每一个批次的训练样本集合在批次B维度的第二缩放因子和第二偏移量;
第二生成模块,用于通过初始批次B标准化像素数据、批次B维度的第二缩放因子和第二偏移量生成批次B标准化的B个批次的训练样本集合。
训练单元711,用于将经过两次独立标准化处理的B个批次的训练样本集合输入初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型。
可选的,训练单元711,包括:
提取模块,用于通过卷积层提取B个批次的训练样本集合的特征集合;
第三生成模块,用于根据特征集合与初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据;
判断模块,用于根据损失值变化数据判断初始卷积神经网络模型是否收敛;
确定模块,用于当判断模块确定初始卷积神经网络模型收敛时,则确定初始卷积神经网络模型为目标卷积神经网络模型;
更新模块,用于当判断模块确定初始卷积神经网络模型不收敛时,则根据损失值更新权值和第一缩放因子、第一偏移量、第二缩放因子和第二偏移量。
可选的,更新模块,具体为:
根据小批量梯度下降法并结合损失值更新权值;
根据损失值和每一个训练样本对应的注意力向量更新第一缩放因子、第一偏移量、第二缩放因子和第二偏移量。
请参阅图8,本申请提供了一种电子设备,包括:
处理器801、存储器803、输入输出单元802以及总线804。
处理器801与存储器803、输入输出单元802以及总线804相连。
存储器803保存有程序,处理器801调用程序以执行如图1、图2-a、图2-b和图2-c中的层次化标准化方法。
本申请提供了一种计算机可读存储介质,计算机可读存储介质上保存有程序,程序在计算机上执行时执行如图1、图2-a、图2-b和图2-c中的层次化标准化方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (7)
1.一种数据的层次化标准化方法,其特征在于,包括:
通过Conv-ReLU层对B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征;
通过全局平均池化层对所述压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据;
通过Conv-SigMoid函数层根据所述池化数据计算每一个训练样本对应的注意力向量;
根据每一个训练样本对应的注意力向量生成HW维度的第一缩放因子和第一偏移量;
根据每一个训练样本对应的注意力向量生成批次B维度的第二缩放因子和第二偏移量;
获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
根据B个批次的训练样本集合的各个维度的关联度在所述初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,所述层次化标准化层至少包括HW标准化层和批次标准化层;
将所述B个批次的训练样本集合输入所述初始卷积神经网络模型中;
获取所述B个批次的训练样本集合中每一个训练样本的HW维度均值和HW维度方差;
根据每一个训练样本的像素数据、所述HW维度均值和所述HW维度方差计算初始HW标准化像素数据;
获取每一个训练样本在HW维度的第一缩放因子和第一偏移量;
通过所述初始HW标准化像素数据、HW维度的所述第一缩放因子和所述第一偏移量生成HW标准化的B个批次的训练样本集合;
通过所述批次标准化层对所述B个批次的训练样本集合在批次B维度进行独立标准化处理;
通过卷积层提取所述B个批次的训练样本集合的特征集合;
根据所述特征集合与所述初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据;
根据所述损失值变化数据判断所述初始卷积神经网络模型是否收敛;
若是,则确定所述初始卷积神经网络模型为目标卷积神经网络模型;
若否,则根据所述损失值更新权值和所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量。
2.根据权利要求1所述的层次化标准化方法,其特征在于,所述获取所述B个批次的训练样本集合中每一个训练样本的HW维度均值和HW维度方差,包括:
获取所述B个批次的训练样本集合中每一个训练样本的分辨率H*W和像素数据;
根据每一个训练样本的所述分辨率H*W和像素数据计算每一个训练样本的HW维度均值;
根据每一个训练样本的所述分辨率H*W、所述像素数据和所述HW维度均值计算每一个训练样本的HW维度方差。
3.根据权利要求2所述的层次化标准化方法,其特征在于,所述通过所述批次标准化层对所述B个批次的训练样本集合在批次B维度进行独立标准化处理,包括:
计算每一个批次的训练样本集合的批次B维度均值和批次B维度方差;
根据HW标准化的B个批次的训练样本集合、批次B维度均值和批次B维度方差计算初始批次B标准化像素数据;
获取每一个批次的训练样本集合在批次B维度的第二缩放因子和第二偏移量;
通过所述初始批次B标准化像素数据、批次B维度的所述第二缩放因子和所述第二偏移量生成批次B标准化的B个批次的训练样本集合。
4.根据权利要求3所述的层次化标准化方法,其特征在于,所述计算每一个批次的训练样本集合的批次B维度均值和批次B维度方差,包括:
根据每一个批次的训练样本集合中每一个训练样本的HW维度均值计算该批次的训练样本集合的批次B维度均值;
根据每一个批次的训练样本集合的像素数据和所述批次B维度均值计算对应的批次B维度方差。
5.根据权利要求1所述的层次化标准化方法,其特征在于,所述根据所述损失值更新权值和所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量,包括:
根据小批量梯度下降法并结合所述损失值更新权值;
根据所述损失值和每一个训练样本对应的注意力向量更新所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量。
6.一种数据的层次化标准化装置,其特征在于,包括:
压缩单元,用于通过Conv-ReLU层对B个批次的训练样本集合每一个训练样本的特征通道进行特征通道压缩,生成对应的压缩特征;
第三生成单元,用于通过全局平均池化层对所述压缩特征进行全局平均池化操作,生成每一个训练样本对应的池化数据;
第四计算单元,用于通过Conv-SigMoid函数层根据所述池化数据计算每一个训练样本对应的注意力向量;
第四生成单元,用于根据每一个训练样本对应的注意力向量生成HW维度的第一缩放因子和第一偏移量;
第五生成单元,用于根据每一个训练样本对应的注意力向量生成批次B维度的第二缩放因子和第二偏移量;
第一获取单元,用于获取初始卷积神经网络模型和B个批次的训练样本集合,B为大于1的整数;
设置单元,用于根据B个批次的训练样本集合的各个维度的关联度在所述初始卷积神经网络模型的每一个卷积层前设置层次化标准化层,所述层次化标准化层至少包括HW标准化层和批次标准化层;
第二获取单元,用于将所述B个批次的训练样本集合输入所述初始卷积神经网络模型中;
第一标准化单元,用于通过所述HW标准化层对所述B个批次的训练样本集合在HW维度进行独立标准化处理;
所述第一标准化单元,包括:
第一获取模块,用于获取所述B个批次的训练样本集合中每一个训练样本的HW维度均值和HW维度方差;
第一计算模块,用于根据每一个训练样本的像素数据、所述HW维度均值和所述HW维度方差计算初始HW标准化像素数据;
第二获取模块,用于获取每一个训练样本在HW维度的第一缩放因子和第一偏移量;
第一生成模块,用于通过所述初始HW标准化像素数据、HW维度的所述第一缩放因子和所述第一偏移量生成HW标准化的B个批次的训练样本集合;
第二标准化单元,用于通过所述批次标准化层对所述B个批次的训练样本集合在批次B维度进行独立标准化处理;
训练单元,用于将经过两次独立标准化处理的所述B个批次的训练样本集合输入所述初始卷积神经网络模型进行训练,直到训练完成得到目标卷积神经网络模型;
所述训练单元,包括:
提取模块,用于通过卷积层提取所述B个批次的训练样本集合的特征集合;
第六生成模块,用于根据所述特征集合与所述初始卷积神经网络模型的损失函数计算损失值,生成损失值变化数据;
判断模块,用于根据所述损失值变化数据判断所述初始卷积神经网络模型是否收敛;
确定模块,用于当判断模块确定所述初始卷积神经网络模型收敛时,则确定所述初始卷积神经网络模型为目标卷积神经网络模型;
更新模块,用于当判断模块确定所述初始卷积神经网络模型不收敛时,则根据所述损失值更新权值和所述第一缩放因子、所述第一偏移量、所述第二缩放因子和所述第二偏移量。
7.一种电子设备,其特征在于,包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至5任意一项所述数据的层次化标准化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310196060.4A CN115879513B (zh) | 2023-03-03 | 2023-03-03 | 一种数据的层次化标准化方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310196060.4A CN115879513B (zh) | 2023-03-03 | 2023-03-03 | 一种数据的层次化标准化方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115879513A CN115879513A (zh) | 2023-03-31 |
CN115879513B true CN115879513B (zh) | 2023-11-14 |
Family
ID=85761889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310196060.4A Active CN115879513B (zh) | 2023-03-03 | 2023-03-03 | 一种数据的层次化标准化方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115879513B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018073975A1 (en) * | 2016-10-21 | 2018-04-26 | Nec Corporation | Improved sparse convolution neural network |
CN110390394A (zh) * | 2019-07-19 | 2019-10-29 | 深圳市商汤科技有限公司 | 批归一化数据的处理方法及装置、电子设备和存储介质 |
CN111144496A (zh) * | 2019-12-27 | 2020-05-12 | 齐齐哈尔大学 | 一种基于混合卷积神经网络的垃圾分类方法 |
CN114065900A (zh) * | 2020-07-30 | 2022-02-18 | 华为技术有限公司 | 数据处理方法和数据处理装置 |
-
2023
- 2023-03-03 CN CN202310196060.4A patent/CN115879513B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018073975A1 (en) * | 2016-10-21 | 2018-04-26 | Nec Corporation | Improved sparse convolution neural network |
CN110390394A (zh) * | 2019-07-19 | 2019-10-29 | 深圳市商汤科技有限公司 | 批归一化数据的处理方法及装置、电子设备和存储介质 |
CN111144496A (zh) * | 2019-12-27 | 2020-05-12 | 齐齐哈尔大学 | 一种基于混合卷积神经网络的垃圾分类方法 |
CN114065900A (zh) * | 2020-07-30 | 2022-02-18 | 华为技术有限公司 | 数据处理方法和数据处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115879513A (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754017B (zh) | 基于可分离的三维残差网络和迁移学习高光谱图像分类方法 | |
CN109711426B (zh) | 一种基于gan和迁移学习的病理图片分类装置及方法 | |
CN110084221B (zh) | 一种基于深度学习的带中继监督的序列化人脸关键点检测方法 | |
CN111160229B (zh) | 基于ssd网络的视频目标检测方法及装置 | |
CN111489364A (zh) | 基于轻量级全卷积神经网络的医学图像分割方法 | |
CN110060225B (zh) | 一种基于快速有限剪切波变换与稀疏表示的医学图像融合法 | |
CN112163637B (zh) | 基于非平衡数据的图像分类模型训练方法、装置 | |
CN111414928A (zh) | 一种人脸图像数据生成方法、装置及设备 | |
CN110660045B (zh) | 基于卷积神经网络的淋巴结识别的半监督方法 | |
CN115496144A (zh) | 配电网运行场景确定方法、装置、计算机设备和存储介质 | |
CN111814804B (zh) | 基于ga-bp-mc神经网络的人体三维尺寸信息预测方法及装置 | |
CN114140641A (zh) | 面向图像分类的多参数自适应异构并行计算方法 | |
CN115879513B (zh) | 一种数据的层次化标准化方法、装置和电子设备 | |
CN112232129A (zh) | 基于生成对抗网络的电磁信息泄漏信号仿真系统及方法 | |
Ao et al. | Entropy estimation via normalizing flow | |
CN112001865A (zh) | 一种人脸识别方法、装置和设备 | |
CN110288002B (zh) | 一种基于稀疏正交神经网络的图像分类方法 | |
CN117058079A (zh) | 基于改进ResNet模型的甲状腺显像图像自动诊断方法 | |
CN116543259A (zh) | 一种深度分类网络噪声标签建模与纠正方法、系统及存储介质 | |
CN116486150A (zh) | 一种基于不确定性感知的图像分类模型回归误差消减方法 | |
CN113838104B (zh) | 基于多光谱与多模态图像一致性增强网络的配准方法 | |
CN115565115A (zh) | 一种舾装件智能识别方法、计算机设备 | |
CN115063374A (zh) | 模型训练、人脸图像质量评分方法、电子设备及存储介质 | |
CN115987730A (zh) | 基于树状感知融合卷积网络的信号调制识别方法 | |
CN115482434A (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 |