CN110942142B - 神经网络的训练及人脸检测方法、装置、设备和存储介质 - Google Patents

神经网络的训练及人脸检测方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110942142B
CN110942142B CN201911205613.8A CN201911205613A CN110942142B CN 110942142 B CN110942142 B CN 110942142B CN 201911205613 A CN201911205613 A CN 201911205613A CN 110942142 B CN110942142 B CN 110942142B
Authority
CN
China
Prior art keywords
learning rate
neural network
determining
target value
optimization
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
Application number
CN201911205613.8A
Other languages
English (en)
Other versions
CN110942142A (zh
Inventor
项伟
裴超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN201911205613.8A priority Critical patent/CN110942142B/zh
Publication of CN110942142A publication Critical patent/CN110942142A/zh
Priority to PCT/CN2020/110160 priority patent/WO2021103675A1/zh
Priority to EP20892477.9A priority patent/EP4068160A4/en
Priority to US17/780,840 priority patent/US20230023271A1/en
Application granted granted Critical
Publication of CN110942142B publication Critical patent/CN110942142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Image Analysis (AREA)

Abstract

本发明实施例公开了一种神经网络的训练及人脸检测方法、装置、设备和存储介质,该训练方法包括:确定神经网络;根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;确定所述第二学习率满足预设的更新条件;根据第二优化方式、以所述第二学习率继续训练所述神经网络。本实施例通过学习率在同一向量空间中的映射,使得在不同的阶段可切换适合的优化方式训练神经网络,可以在不同阶段发挥适合的优化方式的优势,减低或避免其他优化方式产生的问题,同时满足两个或两个方面对于训练神经网络的需求。

Description

神经网络的训练及人脸检测方法、装置、设备和存储介质
技术领域
本发明实施例涉及深度学习的技术,尤其涉及一种神经网络的训练及人脸检测方法、装置、设备和存储介质。
背景技术
目前基于神经网络的深度学习方法在计算机视觉、自然语言处理、文本理解等众多领域都具有广泛的应用,而这些领域基本涵盖了目前互联网应用所需要的图像视频处理、语音处理、文本处理等众多技术。
深度学习使用神经网络作为数据的特征提取工具,通过大量样本来训练神经网络中的参数,拟合样本的标注,如类型,从而具备在类似于样本分布场景下的预测能力。
一般情况下,用户设定学习目标,如用于分类的标签、用做目标物体检测的标注框位置和大小等,在训练过程中,通过定义一个目标函数来计算当前神经网络的预测值与标注的实际值之间的误差,该误差又称损失值,然后利用优化方式来更新神经网络的参数。
优化方式的目标是更新神经网络的参数,以减少损失值,即尽可能地最小化目标函数的损失值。
因此,对神经网络的训练是朝着其梯度减小的方向,根据特定的学习率(也称为步长)更新参数。
现有的神经网络的优化方式大多是利用学习率和目标函数的结果来更新参数,优化方式的学习率决定了参数更新的幅度,学习率对训练神经网络的影响较大,现有的神经网络通常使用单一的优化方式进行训练,在满足某方面的需求的同时,容易忽略其他方面的需求。
例如,学习率对训练神经网络的速度和泛化能力存在影响:如果学习率太小,则训练神经网络速度较慢,导致训练的周期过长,影响神经网络的训练效率;如果学习率过大,则很可能略过最优的参数,神经网络的泛化能力较差。
发明内容
本发明实施例提供一种神经网络的训练及人脸检测方法、装置、设备和存储介质,以解决如何兼顾神经网络的训练周期与泛化能力。
第一方面,本发明实施例提供了一种神经网络的训练方法,包括:
确定神经网络;
根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
确定所述第二学习率满足预设的更新条件;
根据第二优化方式、以所述第二学习率继续训练所述神经网络。
第二方面,本发明实施例还提供了一种人脸检测方法,包括:
接收图像数据;
将所述图像数据输入至预设的神经网络中进行处理,以识别人脸数据在所述图像数据中所处的区域,其中,所述神经网络通过第一方面所述的神经网络的训练方法训练。
第三方面,本发明实施例还提供了一种神经网络的训练装置,包括:
神经网络确定模块,用于确定神经网络;
第一训练模块,用于根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
学习率映射模块,用于在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
切换确定模块,用于确定所述第二学习率满足预设的更新条件;
第二训练模块,用于根据第二优化方式、以所述第二学习率继续训练所述神经网络。
第四方面,本发明实施例还提供了一种人脸检测装置,包括:
图像数据接收模块,用于接收图像数据;
人脸区域识别模块,用于将所述图像数据输入至预设的神经网络中进行处理,以识别人脸数据在所述图像数据中所处的区域,其中,所述神经网络通过第三方面所述的神经网络的训练装置训练。
第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的神经网络的训练方法或如第二方面所述的人脸检测方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的神经网络的训练方法或如第二方面所述的人脸检测方法。
在本实施例中,根据第一优化方式、以第一学习率训练神经网络,第一学习率在每次训练神经网络时更新,在同一向量空间中,将第一优化方式的第一学习率映射为第二优化方式的第二学习率,确定第二学习率收敛,根据第二优化方式、以第二学习率继续训练神经网络,通过学习率在同一向量空间中的映射,使得在不同的阶段可切换适合的优化方式训练神经网络,可以在不同阶段发挥适合的优化方式的优势,减低或避免其他优化方式产生的问题,同时满足两个或两个方面对于训练神经网络的需求。
附图说明
图1为本发明实施例提供的一种神经网络的训练示意图;
图2为本发明实施例提供的一种鞍点的示例图;
图3为本发明实施例一提供的一种神经网络的训练方法的流程图;
图4是本发明实施例二提供的一种神经网络的训练方法的流程图;
图5是本发明实施例三提供的一种人脸检测方法的流程图;
图6是本发明实施例三提供的一种人脸检测的示例图;
图7为本发明实施例四提供的一种神经网络的训练装置的结构示意图;
图8为本发明实施例五提供的一种人脸检测装置的结构示意图;
图9为本发明实施例六提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
深度学习中的神经网络通常由不同功能的层构成,以计算机视觉中使用的CNN(Convolutional Neural Network,卷积神经网络)为例,CNN通常包含数目众多的卷积层、激活层、池化层等等。
其中,每一层都将输入的数据经过层内存储的参数所表达的函数式进行计算,得到输出的数据,该输出的数据作为下一层输入的数据。
因此,如图1所示,神经网络可以看作是一种函数映射,而神经网络的训练过程是一个函数优化求解的过程。优化求解的目标就是不断更新该神经网络所包含的参数,将已标注的样本作为输入的数据,经过神经网络的计算,输出的预测值和标注之间的损失值最小。
神经网络训练的过程就是参数更新的过程:计算目标函数在当前参数的梯度方向,然后根据损失值和学习速率,计算参数的更新幅度,在梯度相反方向更新参数。
假设神经网络的参数表示为w,目标函数为f,则目标函数在第t个时刻时的参数梯度gt可以表示为:
Figure BDA0002296863040000041
其中,
Figure BDA0002296863040000042
指神经网络中的某一层(参数为w)在优化第t-1个时刻时的梯度,也可以通指整个神经网络在第t-1个时刻时所有层的梯度。
因此,学习率为a时,第t个时刻参数的更新幅度可以表示为:
Δwt=-at·gt
第t+1个时刻时的更新可以表示为:
wt+1=wt+Δwt
从上述参数的更新方法中可以看出,神经网络的求解过程主要依赖于当前时刻的参数、目标函数的定义、学习率三个方面。
由于神经网络的参数一般是随机初始化,然后根据样本进行学习,因此,当前时刻的参数,取决于样本的分布,以及先前时刻参数的更新情况;目标函数定义则根据不同的任务来决定,比如对于分类任务,可使用Softmax函数,对于位置回归任务,可使用Smooth L1函数等等。
学习率决定了参数更新的速度,由于并不知道当前时刻参数更新的方向是否是朝着最优解的方向,因此,希望在朝着最优解的方向尽可能快的更新参数,在其他方向尽可能不作更新。但是,学习率的设定又是较为困难的,如果学习率过小,神经网络迟迟无法得到收敛,大大影响了训练的效率;如果学习率过大,则会导致神经网络的参数徘徊在一个震荡区间内,影响神经网络的泛化能力,这也是训练过程中应该尽量避免的问题。
另一方面,随着神经网络的参数更新,学习率还需要进行适当的变化。因此,合理的设置学习策略和学习速率对于神经网络的效率和泛化能力是十分重要的。
根据学习率的设定情况,目前神经网络的优化方式主要分为两大类:一类是以随机梯度下降(stochastic gradient descent,SGD)算法为代表的手动设定学习率的优化方式;另一类是以自适应矩估计(Adaptive Moment Estimation,Adam)为代表的自适应设定学习率的优化方式。
SGD方法和上述参数的更新方法基本一致。不过,在实际的使用中,出于训练效率和硬件限制的考虑,一般选择在一次迭代过程中,对数据进行分批量训练,该批量称为mini-batch。一般情况下,选择在一个batch内计算梯度和更新参数,因此,该迭代过程也称批量梯度下降法(mini-batch gradient descent,MBGD)。无论是SGD还是MBGD,均手动设定某个时刻的学习速率。
SGD作为代表性的优化方式,存在明显的不足:
1、手动设定的学习率如果太小,收敛速度会很慢,如果太大,目标函数就会在极小值处不停地震荡甚至偏离。
2、对所有参数更新时应用同样的学习率,灵活性较差,如果数据是稀疏的,是更希望对出现频率低的特征进行大一点的更新。
3、如果目标函数是非凸函数,还要避免陷于局部极小值处,或者鞍点处,因为鞍点周围的所有维度的梯度都接近于0,SGD作为代表性的优化方式很容易被困在这里。
所谓鞍点,就是一个光滑函数的局部最低点。曲面、或超曲面,都位于这点的切线的不同边。
如图2所示,对于一个三维模型z=x2-y2,其形状类似于马鞍,在横轴方向往上曲,在竖轴方向往下曲,鞍点是(0,0)。
为了抑制SGD的震荡,出现了基于动量的随机梯度下降(SGD with Momentum,SGDM)方法。SGDM认为梯度下降过程可以加入惯性,也就是动量,具体来说,就是在计算更新幅度时,不仅仅考虑当前时刻的情况,还需要考虑上一次更新时的梯度情况。SGDM在SGD的基础上引入一阶动量,一阶动量是各个时刻梯度移动方向的加权值,第t个时刻参数的一阶动量可以表示为:
Figure BDA0002296863040000051
具体计算方法为:
mt=β1·mt-1+(1-β1)·gt
其中,mt表示第t时刻的一阶动量(下降方向),mt-1表示第t-1时刻的一阶动量,
Figure BDA0002296863040000052
为利用此前的梯度求解当前参数更新方向的方法,gt表示第t时刻的参数梯度(包含方向与移动的量),β1为一阶动量的超参数(一般设置为经验值,如0.9)。
从上述公式可以看出,一阶动量约等于最近1/(1-β1)个时刻,梯度向量和的平均值。另外,mt不仅由当前点的梯度方向决定,还由此前累积的下降方向决定。β1一般设置为0.9,这就意味着下降方向主要是由记录的历史下降方向决定,并略微偏向当前时刻的下降方向。如此一来,能够大大减少震荡的可能性,在一定程度上加速模型的收敛。根据动量和学习率可以计算当前参数的更新情况:
Δwt=-at·mt
在SGDM引入了一阶动量,后续的一些优化方式在其基础上又引入了二阶动量,如Adam。二阶动量是各个时刻梯度值的平方和,可以表示为:
Figure BDA0002296863040000061
具体计算方法为:
Figure BDA0002296863040000062
考虑到动量的惯性定义,则计算方式可以调整为:
Figure BDA0002296863040000063
其中,β2是二阶动量的超参数(一般设置为经验值,如0.999),结合一阶动量mt
mt=β1·mt-1+(1-β1)·gt
引入二阶动量的参数更新可以表示为:
Figure BDA0002296863040000064
其中,ε是为了避免分母为0加上的一个极小值,初始化时,m0和V0都是0,由于β1和β2都比较大,因此,初期的mt和Vt都会接近于0。为了修正这个自适应算法的误差,常常根据下面的式子对mt和Vt进行误差修正:
Figure BDA0002296863040000065
Figure BDA0002296863040000066
其中,
Figure BDA0002296863040000067
为修正后的mt
Figure BDA0002296863040000068
为修正后的Vt
Figure BDA0002296863040000069
是超参数,用于控制时刻t所得的一阶动量有多少程度是上一时刻决定的,
Figure BDA00022968630400000610
是超参数,用于控制时刻t所得的二阶动量有多少程度是上一时刻决定的。
Figure BDA00022968630400000611
Figure BDA00022968630400000612
接近1时,mt与Vt近似mt-1与Vt-1,即完全由上一时刻的一阶动量、二阶动量决定;当
Figure BDA00022968630400000613
Figure BDA00022968630400000614
为0时,则跟上一时刻的一阶动量、二阶动量没有任何关系,即完全分别由当前时刻的gt
Figure BDA00022968630400000615
决定。
由二阶动量的参数更新公式可以看出,此时学习率实质上变为了
Figure BDA00022968630400000616
而且参数更新的越频繁(Vt越大),学习率就越小。于是,设置初始的学习率a0(也可以认为a0=a1=…=at)。Adam不需要手动变化学习率,设定一个初始学习率即可,并且每个参数都可以计算一个自适应的学习率,因此,对于稀疏的特征参数表现较好。但是,Adam同时也存在一些问题:
1、因为二阶动量Vt是在一个固定窗口期内累计的,由于随着时间的变化,神经网络的训练数据可能会发生巨大的变化,导致Vt时大时小,在训练的后期影响学习率的震荡,导致收敛效果较差,泛化能力受到影响。
2、当用Adam训练的神经网络接近收敛的时候,学习率基本由很小或者很大的学习率组成,这种极端的学习率对神经网络的性能存在潜在的不良影响。
实施例一
图3为本发明实施例一提供的一种神经网络的训练方法的流程图,本实施例可适用于使用两个或两个以上优化方式训练神经网络的情况,该方法可以由神经网络的训练装置来执行,该神经网络的训练装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等,该方法具体包括如下步骤:
S301、确定神经网络。
神经网络,又称人工神经网络(Artificial Neural Networks,ANN),是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。
按性能,神经网络可划分为连续型网络和离散型网络,或确定型网络和随机型网络。
按拓扑结构,神经网络可划分为前向网络和反馈网络。
按学习方法,神经网络可划分有监督的学习网络和无监督的学习网络。
按连接突触性质,神经网络可划分一阶线性关联网络和高阶非线性关联网络。
在本实施例中,该神经网络可以包括但不限于如下至少一种:
1、DNN(Deep Neural Networks,深度神经网络)
神经网络是基于感知机的扩展,而DNN可以理解为有很多隐藏层的神经网络。多层神经网络和深度神经网络DNN实质相同,DNN有时也叫做多层感知机(Multi-Layerperceptron,MLP)
DNN存在的如下局限:
1.1、参数数量膨胀。由于DNN采用的是全连接的形式,结构中的连接带来了数量级的权值参数,这不仅容易导致过拟合,也容易造成陷入局部最优。
1.2、局部最优。随着神经网络的加深,优化函数更容易陷入局部最优,且偏离真正的全局最优,对于有限的训练数据,性能甚至不如浅层网络。
1.3、梯度消失。使用sigmoid激活函数(传递函数),在BP反向传播梯度时,梯度会衰减,随着神经网络层数的增加,衰减累积下,到底层时梯度基本为0。
1.4、无法对时间序列上的变化进行建模。对于样本的时间顺序对于自然语言处理、语音识别、手写体识别等应用非常重要。
2、CNN
主要针对DNN存在的参数数量膨胀问题,对于CNN,并不是所有的上下层神经元都能直接相连,而是通过卷积核作为中介。同一个卷积核在多有图像内是共享的,图像通过卷积操作仍能保留原先的位置关系。
因为CNN限制参数个数并挖掘局部结构的这个特点,使得CNN适合图像识别。
3、RNN(Recurrent Neural Network,循环神经网络)
针对CNN中无法对时间序列上的变化进行建模的局限,为了适应对时序数据的处理,出现了RNN。
在普通的全连接网络或者CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立(这种就是前馈神经网络)。而在RNN中,神经元的输出可以在下一个时间戳直接作用到自身。
(t+1)时刻网络的最终结果O(t+1)是该时刻输入和所有历史共同作用的结果,这就达到了对时间序列建模的目的。
但是,RNN可以看成一个在时间上传递的神经网络,它的深度是时间的长度,而梯度消失的现象出现时间轴上。
在本实施例中,本领域技术人员可以根据实际的需求情况,例如,在图像领域中的目标(如人脸、垃圾、字符、车牌、红绿灯等)检测,在医疗领域中的疾病识别,在金融领域中的预测分析(如销售、产品之间的财务分配,产能利用率),等等,选择适合的神经网络作为模型,等待训练。
例如,若需求识别手写体数字字符,则可以选择CNN中的LeNet-5。
又例如,若需求人脸检测和对齐,则可以选择CNN中的MTCNN(Multi-taskconvolutional neural networks,多任务卷积神经网络)。
又例如,若需求自然语言处理,如机器翻译、语音识别、情感分析等,则可以选择RNN中的LSTM(Long Short-Term Memory,长短期记忆网络)。
需要说明的是,除了现有的网络结构之外,本领域技术人员还可以根据实际情况对神经网络的网络结构进行调整,本实施例对此不加以限制。
S302、根据第一优化方式、以第一学习率训练所述神经网络。
在本实施例中,在相邻的两个阶段中,对于选定的神经网络,在前一个阶段,可使用第一优化方式、以第一学习率训练该神经网络,在该后一阶段,可从第一优化方式、第一学习率切换至使用第二优化方式、以第二学习率继续训练该神经网络。
其中,第一优化方式、第二优化方式均属于优化方式,又称优化算法、优化求解方法等等,是针对训练神经网络的不同阶段的不同优化方式而言的。
此外,第一学习率、第二学习率均属于学习率,是针对训练神经网络的不同阶段的不同学习率而言的。
需要说明的是,第一优化方式与第二优化方式对于训练神经网络、在两个或两个以上维度上存在差异。
在一个示例中,该维度包括训练神经网络的速度、神经网络的泛化能力。
进一步而言,使用第一优化方式训练神经网络的速度大于使用第二优化方式训练神经网络的速度,使用第一优化方式训练的神经网络的泛化能力低于使用第二优化方式训练的神经网络的泛化能力。
其中,泛化能力(generalization ability),是指神经网络对新鲜样本的适应能力,学习的目的是学到隐含在样本背后的规律,对具有同一规律的样本以外的数据,经过训练的网络也能给出合适的输出。
在本示例中,第一优化方式包括自适应矩估计Adam等自适应设定学习率的优化方式,第二优化方式包括随机梯度下降SGD等手动设定学习率的优化方式。
因此,在前一阶段使用自适应矩估计Adam训练神经网络,可保证训练神经网络的速度,实现快速下降收敛,在后一阶段使用随机梯度下降SGD训练的神经网络,可保证神经网络的泛化能力,既解决了自适应矩估计Adam训练神经网络泛化能力不足的问题,也解决了随机梯度下降SGD训练神经网络速度缓慢的问题。
当然,上述第一优化方式、第二优化方式只是作为示例,在实施本实施例时,可以根据实际维度的情况设置其他第一优化方式、第二优化方式,例如,使用第一优化方式训练神经网络占用的资源小于使用第二优化方式训练神经网络占用的资源,使用第一优化方式训练的神经网络的泛化能力低于使用第二优化方式训练的神经网络的泛化能力,或者,使用第一优化方式训练神经网络占用的资源小于使用第二优化方式训练神经网络占用的资源,使用第一优化方式训练神经网络的速度大于使用第二优化方式训练神经网络的速度,等等,本实施例对此不加以限制。另外,除了上述第一优化方式、第二优化方式外,本领域技术人员还可以根据实际需要采用其它第一优化方式、第二优化方式,本实施例对此也不加以限制。
S303、在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率。
在本实施例中,使用第一优化方式训练神经网络与使用第二优化方式训练神经网络处于同一向量空间中,使得可以将第一优化方式的第一学习率映射为第二优化方式的第二学习率。
需要说明的是,使用第一优化方式训练神经网络是迭代的,第一优化方式的第一学习率在每次训练神经网络时更新数值,在每次更新第一优化方式的第一学习率时,均将第一优化方式的第一学习率映射为第二优化方式的第二学习率。
S304、确定所述第二学习率满足预设的更新条件。
在本实施例中,可以预先设置更新条件,如在预设的数值范围内、数值收敛、更新的次数超过预设的阈值,等等,如果该第二学习率满足该更新条件,则可以切换第二优化方式。
S305、根据第二优化方式、以所述第二学习率继续训练所述神经网络。
如果第二学习率收敛,此时,可从第一优化方式、第一学习率切换至使用第二优化方式、以第二学习率继续训练神经网络。
在收敛时,第二优化方式的第二学习率一般会比较小。因此,使用第一优化方式后,可保持该第二学习率的数值不变,直接以该第二学习率训练神经网络。
当然,在使用第二优化方式训练神经网络时,由于该训练该神经网络是迭代的,本实施例也可以在每次训练该神经网络时更新第二学习率的数值,本实施例对此不加以限制。
在一种情况中,训练神经网络包括两个阶段,在第一个阶段中,使用第一优化方式、以第一学习率训练神经网络,与此同时,将第一优化方式的第一学习率映射为第二优化方式的第二学习率,在该第二学习率收敛时,从第一阶段切换至第二阶段,在第二阶段中,使用第二优化方式、以第二学习率继续训练神经网络,直至该神经网络训练完成。
当然,在另一些情况中,训练神经网络包括两个以上的阶段,在其中的两个阶段中,在前一阶段中,使用第一优化方式、以第一学习率训练神经网络,与此同时,将第一优化方式的第一学习率映射为第二优化方式的第二学习率,在该第二学习率收敛时,从前一阶段切换至后一阶段,在后一阶段中,使用第二优化方式、以第二学习率继续训练神经网络,在该两个阶段之前,可以使用其他优化方式、以其他学习率训练神经网络,即从其他优化方式、其他学习率切换至使用第一优化方式、以第一学习率继续训练神经网络,在该两个阶段之后,也可以使用其他优化方式、以其他学习率训练神经网络,即从第二优化方式、第二学习率切换至使用其他优化方式、以其他学习率训练神经网络,等等,本实施例对此不加以限制。
在本实施例中,根据第一优化方式、以第一学习率训练神经网络,第一学习率在每次训练神经网络时更新,在同一向量空间中,将第一优化方式的第一学习率映射为第二优化方式的第二学习率,确定第二学习率收敛,根据第二优化方式、以第二学习率继续训练神经网络,通过学习率在同一向量空间中的映射,使得在不同的阶段可切换适合的优化方式训练神经网络,可以在不同阶段发挥适合的优化方式的优势,减低或避免其他优化方式产生的问题,同时满足两个或两个方面对于训练神经网络的需求。
实施例二
图4为本发明实施例二提供的一种神经网络的训练方法的流程图,本实施例以前述实施例为基础,进一步细化第一学习率与第二学习率之间的映射、第二学习率的收敛等操作,该方法具体包括如下步骤:
S401、确定神经网络。
S402、根据第一优化方式、以第一学习率训练所述神经网络。
其中,第一学习率在每次训练神经网络时更新。
S403、确定更新幅度。
其中,更新幅度表示根据第一优化方式、以第一学习率训练神经网络时、更新第一网络参数的幅度,而第一网络参数表示根据该第一优化方式、以该第一学习率训练神经网络时、神经网络的参数。
进一步而言,可确定一阶动量、二阶动量。
一方面,计算第一优化方式的第一学习率与一阶动量之间的乘积,作为第一目标值为。
另一方面,计算述第二动量与预设的第一数值之和的根,作为第二目标值。
确定第一目标值与第二目标值之间的比值,作为第三目标值,从而确定第三目标值的相反数,作为更新幅度。
S404、确定第二网络参数的参数梯度。
其中,第二网络参数表示根据第二优化方式、以第二学习率训练神经网络时、所述神经网络的参数。
S405、在同一向量空间中,确定所述更新幅度在所述第二网络参数上的投影,作为所述第二优化方式的第二学习率。
为使本领域技术人员更好地理解本发明,在本实施例中,将自适应矩估计Adam作为第一优化方式、随机梯度下降SGD作为第二优化方式的一种示例进行说明。
第一优化方式(如Adam)在神经网络的优化求解过程中、参数更新可以表示为:
Figure BDA0002296863040000121
Figure BDA0002296863040000122
其中,wt+1为神经网络在第t+1时刻的参数(即第一网络参数),wt为神经网络在第t时刻的参数(即第一网络参数),
Figure BDA0002296863040000123
为神经网络在第t时刻使用第一优化方式(如Adam)训练时的更新幅度,
Figure BDA0002296863040000124
为第t时刻第一优化方式(如Adam)的第一学习率,mt为第t时刻的一阶动量,Vt为第t时刻的二阶动量,ε为第一数值,一般为值很小的常数,防止分母为0。
第二优化方式(如SGD)在神经网络的优化求解过程中、参数更新可以表示为:
Figure BDA0002296863040000125
Figure BDA0002296863040000126
其中,wt+1为神经网络在第t+1时刻的参数(即第二网络参数),wt为神经网络在第t时刻的参数(即第二网络参数),
Figure BDA0002296863040000127
为神经网络在第t时刻使用第二优化方式(如SGD)训练时的更新幅度,
Figure BDA0002296863040000128
为第t时刻第二优化方式(如SGD)的第二学习率,gt为第t时刻第二网络参数的参数梯度。
需要说明的是,对于神经网络中的同一参数wt,使用第一优化方式(如Adam)训练时与使用第二优化方式(如SGD)训练时,其数值有所不同,因此,区分第一网络参数、第二网络参数表示。
在同一个向量空间中,
Figure BDA0002296863040000129
可以分解为
Figure BDA00022968630400001210
及其正交方向上的另一个向量
Figure BDA00022968630400001211
的加权和,表示为:
Figure BDA00022968630400001212
其中,σ1
Figure BDA00022968630400001213
的权重,σ2
Figure BDA00022968630400001214
的权重。
因为
Figure BDA00022968630400001215
和gt的方向是一致的,因此,求取向量
Figure BDA00022968630400001216
在向量gt方向的投影,该投影的长度即为
Figure BDA00022968630400001217
进一步而言,基于正交投影,可对更新幅度进行转置,获得目标向量。
确定第四目标值、第五目标值,其中,第四目标值为目标向量与更新幅度之间的乘积,第五目标值为目标向量与所述参数梯度之间的乘积。
计算第四目标值与第五目标值之间的比值,作为第二优化方式的第二学习率。
因此,该第二优化方式的第二学习率可表示为:
Figure BDA0002296863040000131
其中,
Figure BDA0002296863040000132
Figure BDA0002296863040000133
转置矩阵,即目标向量。
在本实施例中,因为每次训练过程中样本的分布不一定是相同的,因此,第二学习率的计算难免会有抖动噪声,可以对第二学习率进行平滑处理,从而减少抖动噪音。
在具体实现中,可确定第一权重,以及,确定第二权重,其中,第一权重与第二权重相加为1。
确定上一次训练神经网络时、平滑处理之后的第二学习率。
确定本次训练神经网络时、平滑处理之后的第二学习率为第六目标值与第七目标值之和,其中,第六目标值为第一权重与上一次训练神经网络时、平滑处理之后的第二学习率之间的乘积,第七目标值为第二权重与所述第二学习率之间的乘积。
因此,该第二学习率的平滑处理可表示为:
Figure BDA0002296863040000134
其中,β3为第一权重,(1-β3)为第二权重,λt为第t时刻(即第t次训练神经网络)平滑处理之后的第二学习率,λt-1为第t-1时刻(即第t-1次训练神经网络)平滑处理之后的第二学习率。
进一步而言,第一权重为参数,为了不引入更多的参数,可确定一阶动量、二阶动量。
确定第八目标值与第九目标值,其中,第八目标值为预设的第二数值与一阶动量的超参数之间的差值,第九目标值为预设的第三数值与二阶动量的超参数之间的差值。
确定第八目标值的根与第九目标值的根之间的比值,作为第一权重。
因此,该第一权重可以表示为:
Figure BDA0002296863040000135
其中,β1为一阶动量的超参数、β2为二阶动量的超参数。
S406、确定学习率误差。
在本实施例中,对第二学习率设置的更新条件为数值收敛。
由于第二优化方式的第二学习率每次训练神经网络时也会更新数值,在本实施例中,可对该第二学习率的一系列数值进行比较,从而确定该第二学习率是否收敛。
如果该第二学习率稳定,则可以确定该第二学习率收敛。
进一步而言,可在每次训练神经网络时,根据对第二学习率引入误差,作为学习率误差。
在具体实现中,确定平滑处理之后的第二学习率,确定目标超参数,其中,该目标超参数用于控制本次训练神经网络的第二学习率。
确定目标学习率与第十目标值之间的比值,作为学习率误差,其中,第十目标值为预设的第四数值与目标超参数之间的差值。
因此,该学习率误差可以表示为:
Figure BDA0002296863040000141
其中,
Figure BDA0002296863040000142
为第t时刻的学习率误差,λt为第t时刻平滑处理之后的第二学习率,第四数值的示例值为1,
Figure BDA0002296863040000143
为目标超参数,用于控制第t时刻所得的第二学习率有多少程度是第t-1时刻决定的。
S407、确定所述第二学习率偏离所述学习率误差的偏差,作为学习率偏差。
S408、若所述学习率偏差小于预设的阈值,则确定所述第二学习率满足预设的更新条件。
在本实施例中,可计算第二学习率与学习率误差之间的偏差,作为学习率偏差,如果该学习率偏差小于预设的阈值,则可认为第二学习率的数值收敛,符合更新条件,可切换至使用第二优化方式、以该第二学习率继续训练神经网络,如果该学习率偏差大于或等于预设的阈值,则确认第二学习率的数值未收敛,不符合更新条件,继续使用第一优化方式、以该第一学习率进行下一次训练。
在具体实现中,可确定学习率误差与第二学习率之间的差值,作为第十一目标值,确定该第十一目标值的绝对值,作为学习率偏差。
因此,收敛的条件可以表示为:
Figure BDA0002296863040000144
其中,
Figure BDA0002296863040000145
可以是平滑处理前的第二学习率,也可以是平滑处理后的爹学习率,ε为阈值。
S409、根据第二优化方式、以所述第二学习率继续训练所述神经网络。
实施例三
图5为本发明实施例三提供的一种人脸检测方法的流程图,本实施例可适用于使用两个或两个以上优化方式训练的神经网络进行人脸检测的情况,该神经网络的训练装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,个人电脑、移动终端(如手机、平板电脑等)、可穿戴设备(如智能手表、智能眼镜等),等等,该方法具体包括如下步骤:
S501、接收图像数据。
在具体实现中,计算机设备的操作系统可以包括Android(安卓)、IOS、Windows等等。
在这些操作系统中支持运行可进行图像处理的应用,如短视频应用、直播应用、图像编辑应用、相机应用、即时通讯工具、图库应用,等等。
诸如图像编辑应用、即时通讯工具、图库应用等应用,其UI(User Interface,用户界面)可提供导入的控件,用户可通过触控或鼠标等外设操作该导入的控件,选择本地存储的图像数据(以缩略图或路径表示),也可以选择网络存储的图像数据(以URL(UniformResource Locators,统一资源定位器)表示),使得应用获取该图像数据。
诸如短视频应用、直播应用、图像编辑应用、相机应用、即时通讯工具等应用,其UI可提供拍照、录像的控件,用户可通过触控或鼠标等外设操作该拍照、录像的控件,通知应用调用摄像头采集图像数据。
S502、将所述图像数据输入至预设的神经网络中进行处理,以识别人脸数据在所述图像数据中所处的区域。
在计算机设备中,可预先配置神经网络,该神经网络可用于检测人脸数据的位置。
将接收到的图像数据输入至该神经网络中,该神经网络按照自身的逻辑进行处理,输入人脸数据在图像数据中所处的区域。
例如,图6中所示,用户启动短视频应用,在运动会拍摄短视频,将短视频中的图像数据601输入至神经网络中,神经网络可输出该图像数据601中运动员的人脸所在的区域602。
对于人脸数据在图像数据中所处的区域,应用可进一步进行美颜等其他处理,例如,在该区域中检测人脸关键点,从而使用该人脸关键点进行拉伸、缩放等处理,或者,在该人脸关键点上添加装饰物。
在本实施例中,提供标注人脸数据所在区域的图像数据作为样本,通过一实施例一、二中提供的神经网络的训练方法训练该神经网络。
在具体实现中,该神经网络的训练方法包括:
确定神经网络;
根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
确定所述第二学习率满足预设的更新条件;
根据第二优化方式、以所述第二学习率继续训练所述神经网络。
进一步地,所述在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率,包括:
确定更新幅度,所述更新幅度表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、更新第一网络参数的幅度,所述第一网络参数表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、所述神经网络的参数;
确定第二网络参数的参数梯度,所述第二网络参数表示根据第二优化方式、以第二学习率训练所述神经网络时、所述神经网络的参数;
在同一向量空间中,确定所述更新幅度在所述参数梯度上的投影,作为所述第二优化方式的第二学习率。
进一步地,所述基于所述第一优化方式的第一学习率确定更新幅度,包括:
确定一阶动量、二阶动量;
确定第一目标值与第二目标值之间的比值,作为第三目标值,所述第一目标值为所述第一优化方式的第一学习率与所述一阶动量之间的乘积,所述第二目标值为所述第二动量与预设的第一数值之和的根;
确定所述第三目标值的相反数,作为更新幅度。
进一步地,所述在同一向量空间中,确定所述更新幅度在所述参数梯度上的投影,作为所述第二优化方式的第二学习率,包括:
对所述更新幅度进行转置,获得目标向量;
确定第四目标值、第五目标值,所述第四目标值为所述目标向量与所述更新幅度之间的乘积,所述第五目标值为所述目标向量与所述参数梯度之间的乘积;
计算所述第四目标值与所述第五目标值之间的比值,作为所述第二优化方式的第二学习率。
进一步地,所述基于所述第一优化方式的第一学习率确定更新幅度,还包括:
对所述第二学习率进行平滑处理。
进一步地,所述对所述第二学习率进行平滑处理,包括:
确定第一权重;
确定第二权重;
确定上一次训练所述神经网络时、平滑处理之后的第二学习率;
确定本次训练所述神经网络时、平滑处理之后的第二学习率为第六目标值与第七目标值之和,所述第六目标值为所述第一权重与上一次训练所述神经网络时、平滑处理之后的第二学习率之间的乘积,所述第七目标值为所述第二权重与所述第二学习率之间的乘积。
进一步地,所述确定第一权重,包括:
确定一阶动量、二阶动量;
确定第八目标值与第九目标值,所述第八目标值为预设的第二数值与所述一阶动量的超参数之间的差值,所述第九目标值为预设的第三数值与所述二阶动量的超参数之间的差值;
确定所述第八目标值的根与所述第九目标值的根之间的比值,作为第一权重。
进一步地,所述确定所述第二学习率满足预设的更新条件,包括:
确定学习率误差;
确定所述第二学习率偏离所述学习率误差的偏差,作为学习率偏差;
若所述学习率偏差小于预设的阈值,则确定所述第二学习率满足预设的更新条件。
进一步地,所述确定学习率误差,包括:
确定平滑处理之后的第二学习率;
确定目标超参数,所述目标超参数用于控制本次训练所述神经网络的第二学习率;
确定所述目标学习率与第十目标值之间的比值,作为学习率误差,所述第十目标值为预设的第四数值与所述目标超参数之间的差值。
进一步地,所述确定所述第二学习率偏离所述学习率误差的偏差,作为学习率偏差,包括:
确定所述学习率误差与所述第二学习率之间的差值,作为第十一目标值;
确定所述第十一目标值的绝对值,作为学习率偏差。
示例性地,所述神经网络包括卷积神经网络CNN,所述第一优化方式包括自适应矩估计Adam,所述第二优化方式包括随机梯度下降SGD。
在本实施例中,由于神经网络的训练方式与实施例一、二的应用基本相似,所以描述的比较简单,相关之处参见实施例一、二的部分说明即可,本实施例在此不加以详述。
需要说明的是,由于神经网络的训练较为复杂,因此,该神经网络可以离线在其他计算机设备训练,在神经网络训练完成之后,将该神经网络分发至当前计算机设备。
当然,若当前计算机设备的性能较高,或者,如服务器等为其他计算机设备提供人脸检测服务,则可以直接在当前计算机设备训练该神经网络,本实施例对此不加以限制。
在本实施例中,接收图像数据,将图像数据输入至预设的神经网络中进行处理,以识别人脸数据在图像数据中所处的区域,由于通过学习率在同一向量空间中的映射,使得在不同的阶段可切换适合的优化方式训练神经网络,可以在不同阶段发挥适合的优化方式的优势,减低或避免其他优化方式产生的问题,同时满足两个或两个方面对于训练神经网络的需求,从而提高了该神经网络的性能,保证人脸检测的效果。
例如,训练网络时,在前一阶段使用自适应矩估计Adam训练神经网络,可保证训练神经网络的速度,实现快速下降收敛,在后一阶段使用随机梯度下降SGD训练的神经网络,可保证神经网络的泛化能力,神经网络的训练速度提高,可进而提高神经网络的更新速度,神经网络适应不同样本,可提高神经网络进行人脸检测的精确度,并且,保证神经网络的泛化能力,可保证在相同样本情况下,神经网络进行人脸检测的精确度。
实施例四
图7为本发明实施例四提供的一种神经网络的训练装置的结构示意图,该装置具体可以包括如下模块:
神经网络确定模块701,用于确定神经网络;
第一训练模块702,用于根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
学习率映射模块703,用于在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
切换确定模块704,用于确定所述第二学习率满足预设的更新条件;
第二训练模块705,用于根据第二优化方式、以所述第二学习率继续训练所述神经网络。
在本发明的一个实施例中,所述学习率映射模块703包括:
更新幅度确定子模块,用于确定更新幅度,所述更新幅度表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、更新第一网络参数的幅度,所述第一网络参数表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、所述神经网络的参数;
参数梯度确定子模块,用于确定第二网络参数的参数梯度,所述第二网络参数表示根据第二优化方式、以第二学习率训练所述神经网络时、所述神经网络的参数;
投影确定子模块,用于在同一向量空间中,确定所述更新幅度在所述参数梯度上的投影,作为所述第二优化方式的第二学习率。
在本发明的一个实施例中,所述更新幅度确定子模块包括:
动量确定单元,用于确定一阶动量、二阶动量;
比值确定单元,用于确定第一目标值与第二目标值之间的比值,作为第三目标值,所述第一目标值为所述第一优化方式的第一学习率与所述一阶动量之间的乘积,所述第二目标值为所述第二动量与预设的第一数值之和的根;
相反数确定单元,用于确定所述第三目标值的相反数,作为更新幅度。
在本发明的一个实施例中,所述投影确定子模块包括:
转置单元,用于对所述更新幅度进行转置,获得目标向量;
目标值确定单元,用于确定第四目标值、第五目标值,所述第四目标值为所述目标向量与所述更新幅度之间的乘积,所述第五目标值为所述目标向量与所述参数梯度之间的乘积;
比值计算单元,用于计算所述第四目标值与所述第五目标值之间的比值,作为所述第二优化方式的第二学习率。
在本发明的一个实施例中,所述学习率映射模块703还包括:
学习率平滑子模块,用于对所述第二学习率进行平滑处理。
在本发明的一个实施例中,所述学习率平滑子模块包括:
第一权重确定单元,用于确定第一权重;
第二权重确定单元,用于确定第二权重;
学习率确定单元,用于确定上一次训练所述神经网络时、平滑处理之后的第二学习率;
和值确定单元,用于确定本次训练所述神经网络时、平滑处理之后的第二学习率为第六目标值与第七目标值之和,所述第六目标值为所述第一权重与上一次训练所述神经网络时、平滑处理之后的第二学习率之间的乘积,所述第七目标值为所述第二权重与所述第二学习率之间的乘积。
在本发明的一个实施例中,所述第一权重确定单元包括:
动量获取子单元,用于确定一阶动量、二阶动量;
目标值获取子单元,用于确定第八目标值与第九目标值,所述第八目标值为预设的第二数值与所述一阶动量的超参数之间的差值,所述第九目标值为预设的第三数值与所述二阶动量的超参数之间的差值;
比值获取子单元,用于确定所述第八目标值的根与所述第九目标值的根之间的比值,作为第一权重。
在本发明的一个实施例中,所述切换确定模块704包括:
学习率误差确定子模块,用于确定学习率误差;
学习率偏差确定子模块,用于确定所述第二学习率偏离所述学习率误差的偏差,作为学习率偏差;
更新条件确定子模块,用于若所述学习率偏差小于预设的阈值,则确定所述第二学习率满足预设的更新条件。
在本发明的一个实施例中,所述学习率误差确定子模块包括:
平滑学习率确定单元,用于确定平滑处理之后的第二学习率;
目标超参数确定单元,用于确定目标超参数,所述目标超参数用于控制本次训练所述神经网络的第二学习率;
学习率误差计算单元,用于确定所述目标学习率与第十目标值之间的比值,作为学习率误差,所述第十目标值为预设的第四数值与所述目标超参数之间的差值。
在本发明的一个实施例中,所述学习率偏差确定子模块包括:
差值计算单元,用于确定所述学习率误差与所述第二学习率之间的差值,作为第十一目标值;
绝对值计算单元,用于确定所述第十一目标值的绝对值,作为学习率偏差。
在本发明实施例的一个示例中,所述神经网络包括卷积神经网络CNN,所述第一优化方式包括自适应矩估计Adam,所述第二优化方式包括随机梯度下降SGD。
本发明实施例所提供的神经网络的训练装置可执行本发明任意实施例所提供的神经网络的训练方法,具备执行方法相应的功能模块和有益效果。
实施例五
图8为本发明实施例三提供的一种人脸检测装置的结构示意图,该装置具体可以包括如下模块:
图像数据接收模块801,用于接收图像数据;
人脸区域识别模块802,用于将所述图像数据输入至预设的神经网络中进行处理,以识别人脸数据在所述图像数据中所处的区域,其中,所述神经网络通过实施例四提供的神经网络的训练装置训练。
进一步地,该神经网络的训练装置包括:
神经网络确定模块,用于确定神经网络;
第一训练模块,用于根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
学习率映射模块,用于在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
切换确定模块,用于确定所述第二学习率满足预设的更新条件;
第二训练模块,用于根据第二优化方式、以所述第二学习率继续训练所述神经网络。
在本发明的一个实施例中,所述学习率映射模块包括:
更新幅度确定子模块,用于确定更新幅度,所述更新幅度表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、更新第一网络参数的幅度,所述第一网络参数表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、所述神经网络的参数;
参数梯度确定子模块,用于确定第二网络参数的参数梯度,所述第二网络参数表示根据第二优化方式、以第二学习率训练所述神经网络时、所述神经网络的参数;
投影确定子模块,用于在同一向量空间中,确定所述更新幅度在所述参数梯度上的投影,作为所述第二优化方式的第二学习率。
在本发明的一个实施例中,所述更新幅度确定子模块包括:
动量确定单元,用于确定一阶动量、二阶动量;
比值确定单元,用于确定第一目标值与第二目标值之间的比值,作为第三目标值,所述第一目标值为所述第一优化方式的第一学习率与所述一阶动量之间的乘积,所述第二目标值为所述第二动量与预设的第一数值之和的根;
相反数确定单元,用于确定所述第三目标值的相反数,作为更新幅度。
在本发明的一个实施例中,所述投影确定子模块包括:
转置单元,用于对所述更新幅度进行转置,获得目标向量;
目标值确定单元,用于确定第四目标值、第五目标值,所述第四目标值为所述目标向量与所述更新幅度之间的乘积,所述第五目标值为所述目标向量与所述参数梯度之间的乘积;
比值计算单元,用于计算所述第四目标值与所述第五目标值之间的比值,作为所述第二优化方式的第二学习率。
在本发明的一个实施例中,所述学习率映射模块还包括:
学习率平滑子模块,用于对所述第二学习率进行平滑处理。
在本发明的一个实施例中,所述学习率平滑子模块包括:
第一权重确定单元,用于确定第一权重;
第二权重确定单元,用于确定第二权重;
学习率确定单元,用于确定上一次训练所述神经网络时、平滑处理之后的第二学习率;
和值确定单元,用于确定本次训练所述神经网络时、平滑处理之后的第二学习率为第六目标值与第七目标值之和,所述第六目标值为所述第一权重与上一次训练所述神经网络时、平滑处理之后的第二学习率之间的乘积,所述第七目标值为所述第二权重与所述第二学习率之间的乘积。
在本发明的一个实施例中,所述第一权重确定单元包括:
动量获取子单元,用于确定一阶动量、二阶动量;
目标值获取子单元,用于确定第八目标值与第九目标值,所述第八目标值为预设的第二数值与所述一阶动量的超参数之间的差值,所述第九目标值为预设的第三数值与所述二阶动量的超参数之间的差值;
比值获取子单元,用于确定所述第八目标值的根与所述第九目标值的根之间的比值,作为第一权重。
在本发明的一个实施例中,所述切换确定模块包括:
学习率误差确定子模块,用于确定学习率误差;
学习率偏差确定子模块,用于确定所述第二学习率偏离所述学习率误差的偏差,作为学习率偏差;
更新条件确定子模块,用于若所述学习率偏差小于预设的阈值,则确定所述第二学习率满足预设的更新条件。
在本发明的一个实施例中,所述学习率误差确定子模块包括:
平滑学习率确定单元,用于确定平滑处理之后的第二学习率;
目标超参数确定单元,用于确定目标超参数,所述目标超参数用于控制本次训练所述神经网络的第二学习率;
学习率误差计算单元,用于确定所述目标学习率与第十目标值之间的比值,作为学习率误差,所述第十目标值为预设的第四数值与所述目标超参数之间的差值。
在本发明的一个实施例中,所述学习率偏差确定子模块包括:
差值计算单元,用于确定所述学习率误差与所述第二学习率之间的差值,作为第十一目标值;
绝对值计算单元,用于确定所述第十一目标值的绝对值,作为学习率偏差。
在本发明实施例的一个示例中,所述神经网络包括卷积神经网络CNN,所述第一优化方式包括自适应矩估计Adam,所述第二优化方式包括随机梯度下降SGD。
本发明实施例所提供的人脸检测装置可执行本发明任意实施例所提供的人脸检测方法,具备执行方法相应的功能模块和有益效果。
实施例六
图9为本发明实施例六提供的一种计算机设备的结构示意图。如图9所示,该计算机设备包括处理器900、存储器901、通信模块902、输入装置903和输出装置904;计算机设备中处理器900的数量可以是一个或多个,图9中以一个处理器900为例;计算机设备中的处理器900、存储器901、通信模块902、输入装置903和输出装置904可以通过总线或其他方式连接,图9中以通过总线连接为例。
存储器901作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的神经网络的训练方法对应的模块(例如,如图7所示的神经网络的训练装置中的神经网络确定模块701、第一训练模块702、学习率映射模块703、切换确定模块704和第二训练模块705),或者,如本实施例中的人脸检测方法对应的模块(例如,如图8所示的人脸检测装置中的图像数据接收模块801和人脸区域识别模块802)。处理器900通过运行存储在存储器901中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的神经网络的训练方法或人脸检测方法。
存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器901可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器901可进一步包括相对于处理器900远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块902,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置903可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的计算机设备,可执行本发明任一实施例提供的神经网络的训练方法或人脸检测方法,具体相应的功能和有益效果。
实施例七
本发明实施例七还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种神经网络的训练方法,该方法包括:
确定神经网络;
根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
确定所述第二学习率满足预设的更新条件;
根据第二优化方式、以所述第二学习率继续训练所述神经网络。
或者,
该计算机程序被处理器执行时实现一种人脸检测方法,该方法包括:
接收图像数据;
将所述图像数据输入至预设的神经网络中进行处理,以识别人脸数据在所述图像数据中所处的区域,其中,所述神经网络通过如下神经网络的训练方法训练:
确定神经网络;
根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
确定所述第二学习率满足预设的更新条件;
根据第二优化方式、以所述第二学习率继续训练所述神经网络。
当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的神经网络的训练方法或人脸检测方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述神经网络的训练装置或人脸检测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种人脸检测方法,其特征在于,包括:
接收图像数据;
将所述图像数据输入至预设的神经网络中进行处理,以识别人脸数据在所述图像数据中所处的区域,其中,所述神经网络通过神经网络的训练方法训练,所述神经网络的训练方法包括:
确定神经网络;
根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
确定所述第二学习率满足预设的更新条件;
根据第二优化方式、以所述第二学习率继续训练所述神经网络;
其中,所述在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率,包括:
确定更新幅度,所述更新幅度表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、更新第一网络参数的幅度,所述第一网络参数表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、所述神经网络的参数;
确定第二网络参数的参数梯度,所述第二网络参数表示根据第二优化方式、以第二学习率训练所述神经网络时、所述神经网络的参数;
在同一向量空间中,确定所述更新幅度在所述参数梯度上的投影,作为所述第二优化方式的第二学习率。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一优化方式的第一学习率确定更新幅度,包括:
确定一阶动量、二阶动量;
确定第一目标值与第二目标值之间的比值,作为第三目标值,所述第一目标值为所述第一优化方式的第一学习率与所述一阶动量之间的乘积,所述第二目标值为所述第二动量与预设的第一数值之和的根;
确定所述第三目标值的相反数,作为更新幅度。
3.根据权利要求1所述的方法,其特征在于,所述在同一向量空间中,确定所述更新幅度在所述参数梯度上的投影,作为所述第二优化方式的第二学习率,包括:
对所述更新幅度进行转置,获得目标向量;
确定第四目标值、第五目标值,所述第四目标值为所述目标向量与所述更新幅度之间的乘积,所述第五目标值为所述目标向量与所述参数梯度之间的乘积;
计算所述第四目标值与所述第五目标值之间的比值,作为所述第二优化方式的第二学习率。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第一优化方式的第一学习率确定更新幅度,还包括:
对所述第二学习率进行平滑处理。
5.根据权利要求4所述的方法,其特征在于,所述对所述第二学习率进行平滑处理,包括:
确定第一权重;
确定第二权重;
确定上一次训练所述神经网络时、平滑处理之后的第二学习率;
确定本次训练所述神经网络时、平滑处理之后的第二学习率为第六目标值与第七目标值之和,所述第六目标值为所述第一权重与上一次训练所述神经网络时、平滑处理之后的第二学习率之间的乘积,所述第七目标值为所述第二权重与所述第二学习率之间的乘积。
6.根据权利要求5所述的方法,其特征在于,所述确定第一权重,包括:
确定一阶动量、二阶动量;
确定第八目标值与第九目标值,所述第八目标值为预设的第二数值与所述一阶动量的超参数之间的差值,所述第九目标值为预设的第三数值与所述二阶动量的超参数之间的差值;
确定所述第八目标值的根与所述第九目标值的根之间的比值,作为第一权重。
7.根据权利要求1-6任一所述的方法,其特征在于,所述确定所述第二学习率满足预设的更新条件,包括:
确定学习率误差;
确定所述第二学习率偏离所述学习率误差的偏差,作为学习率偏差;
若所述学习率偏差小于预设的阈值,则确定所述第二学习率满足预设的更新条件。
8.根据权利要求7所述的方法,其特征在于,所述确定学习率误差,包括:
确定平滑处理之后的第二学习率;
确定目标超参数,所述目标超参数用于控制本次训练所述神经网络的第二学习率;
确定所述目标学习率与第十目标值之间的比值,作为学习率误差,所述第十目标值为预设的第四数值与所述目标超参数之间的差值。
9.根据权利要求7所述的方法,其特征在于,所述确定所述第二学习率偏离所述学习率误差的偏差,作为学习率偏差,包括:
确定所述学习率误差与所述第二学习率之间的差值,作为第十一目标值;
确定所述第十一目标值的绝对值,作为学习率偏差。
10.根据权利要求1或2或3或4或5或6或8或9任一所述的方法,其特征在于,所述神经网络包括卷积神经网络CNN,所述第一优化方式包括自适应矩估计Adam,所述第二优化方式包括随机梯度下降SGD。
11.一种人脸检测装置,其特征在于,包括:
图像数据接收模块,用于接收图像数据;
人脸区域识别模块,用于将所述图像数据输入至预设的神经网络中进行处理,以识别人脸数据在所述图像数据中所处的区域,其中,所述神经网络通过神经网络的训练装置训练;
所述神经网络的训练装置,包括:
神经网络确定模块,用于确定神经网络;
第一训练模块,用于根据第一优化方式、以第一学习率训练所述神经网络,所述第一学习率在每次训练所述神经网络时更新;
学习率映射模块,用于在同一向量空间中,将所述第一优化方式的第一学习率映射为第二优化方式的第二学习率;
切换确定模块,用于确定所述第二学习率满足预设的更新条件;
第二训练模块,用于根据第二优化方式、以所述第二学习率继续训练所述神经网络;
其中,所述学习率映射模块包括:
更新幅度确定子模块,用于确定更新幅度,所述更新幅度表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、更新第一网络参数的幅度,所述第一网络参数表示根据所述第一优化方式、以所述第一学习率训练所述神经网络时、所述神经网络的参数;
参数梯度确定子模块,用于确定第二网络参数的参数梯度,所述第二网络参数表示根据第二优化方式、以第二学习率训练所述神经网络时、所述神经网络的参数;
投影确定子模块,用于在同一向量空间中,确定所述更新幅度在所述参数梯度上的投影,作为所述第二优化方式的第二学习率。
12.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的人脸检测方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-10中任一所述的人脸检测方法。
CN201911205613.8A 2019-11-29 2019-11-29 神经网络的训练及人脸检测方法、装置、设备和存储介质 Active CN110942142B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201911205613.8A CN110942142B (zh) 2019-11-29 2019-11-29 神经网络的训练及人脸检测方法、装置、设备和存储介质
PCT/CN2020/110160 WO2021103675A1 (zh) 2019-11-29 2020-08-20 神经网络的训练及人脸检测方法、装置、设备和存储介质
EP20892477.9A EP4068160A4 (en) 2019-11-29 2020-08-20 Neural network training and face detection method and apparatus, and device and storage medium
US17/780,840 US20230023271A1 (en) 2019-11-29 2020-08-20 Method and apparatus for detecting face, computer device and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911205613.8A CN110942142B (zh) 2019-11-29 2019-11-29 神经网络的训练及人脸检测方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110942142A CN110942142A (zh) 2020-03-31
CN110942142B true CN110942142B (zh) 2021-09-17

Family

ID=69909096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911205613.8A Active CN110942142B (zh) 2019-11-29 2019-11-29 神经网络的训练及人脸检测方法、装置、设备和存储介质

Country Status (4)

Country Link
US (1) US20230023271A1 (zh)
EP (1) EP4068160A4 (zh)
CN (1) CN110942142B (zh)
WO (1) WO2021103675A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110942142B (zh) * 2019-11-29 2021-09-17 广州市百果园信息技术有限公司 神经网络的训练及人脸检测方法、装置、设备和存储介质
CN111580962A (zh) * 2020-04-29 2020-08-25 安徽理工大学 一种具有权值衰减的分布式自适应在线学习方法
CN111769603B (zh) * 2020-07-13 2022-04-08 国网天津市电力公司 一种基于电-气耦合系统安全裕度的机组优化调度方法
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
CN113808197A (zh) * 2021-09-17 2021-12-17 山西大学 一种基于机器学习的工件自动抓取系统及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069214B2 (en) * 2001-02-26 2006-06-27 Matsushita Electric Industrial Co., Ltd. Factorization for generating a library of mouth shapes
US11003992B2 (en) * 2017-10-16 2021-05-11 Facebook, Inc. Distributed training and prediction using elastic resources
CN107909142A (zh) * 2017-11-14 2018-04-13 深圳先进技术研究院 一种神经网络的参数优化方法、系统及电子设备
US10521705B2 (en) * 2017-11-14 2019-12-31 Adobe Inc. Automatically selecting images using multicontext aware ratings
CN109190458B (zh) * 2018-07-20 2022-03-25 华南理工大学 一种基于深度学习的小人头检测方法
CN109272046A (zh) * 2018-09-26 2019-01-25 北京科技大学 基于L2重新正则化Adam切换模拟回火SGD的深度学习方法
CN109508678B (zh) * 2018-11-16 2021-03-30 广州市百果园信息技术有限公司 人脸检测模型的训练方法、人脸关键点的检测方法和装置
CN109947940B (zh) * 2019-02-15 2023-09-05 平安科技(深圳)有限公司 文本分类方法、装置、终端及存储介质
CN109978079A (zh) * 2019-04-10 2019-07-05 东北电力大学 一种改进的堆栈降噪自编码器的数据清洗方法
CN110414349A (zh) * 2019-06-26 2019-11-05 长安大学 引入感知模型的孪生卷积神经网络人脸识别算法
CN110942142B (zh) * 2019-11-29 2021-09-17 广州市百果园信息技术有限公司 神经网络的训练及人脸检测方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN110942142A (zh) 2020-03-31
EP4068160A1 (en) 2022-10-05
EP4068160A4 (en) 2023-06-28
WO2021103675A1 (zh) 2021-06-03
US20230023271A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
CN110942142B (zh) 神经网络的训练及人脸检测方法、装置、设备和存储介质
Li Deep reinforcement learning
McClenny et al. Self-adaptive physics-informed neural networks using a soft attention mechanism
CN109241903B (zh) 样本数据清洗方法、装置、计算机设备及存储介质
CN109902546B (zh) 人脸识别方法、装置及计算机可读介质
Ghosh et al. Structured variational learning of Bayesian neural networks with horseshoe priors
Kalweit et al. Uncertainty-driven imagination for continuous deep reinforcement learning
KR20200022739A (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
WO2017096312A1 (en) Regularization of machine learning models
CN109523014B (zh) 基于生成式对抗网络模型的新闻评论自动生成方法及系统
CN111989696A (zh) 具有顺序学习任务的域中的可扩展持续学习的神经网络
Soh et al. Iterative temporal learning and prediction with the sparse online echo state gaussian process
JP2023535227A (ja) Aiモデルを更新する方法、装置、および計算デバイス、ならびに記憶媒体
WO2023016159A1 (zh) 智慧城市网络流量预测方法及系统
CN112633463A (zh) 用于建模序列数据中长期依赖性的双重递归神经网络架构
WO2015011521A1 (en) An incremental learner via an adaptive mixture of weak learners distributed on a non-rigid binary tree
CN115147687A (zh) 学生模型训练方法、装置、设备及存储介质
Lu et al. Real-Time stencil printing optimization using a hybrid multi-layer online sequential extreme learning and evolutionary search approach
CN117056595A (zh) 一种交互式的项目推荐方法、装置及计算机可读存储介质
Ni et al. A self-organising mixture autoregressive network for FX time series modelling and prediction
CN116976461A (zh) 联邦学习方法、装置、设备及介质
CN110874553A (zh) 一种识别模型训练方法及装置
CN115220818A (zh) 基于深度强化学习的实时依赖型任务卸载方法
CN113449193A (zh) 基于多分类图像的信息推荐方法及装置
Parashar Neural networks in machine learning

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
TR01 Transfer of patent right

Effective date of registration: 20221202

Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 511400 floor 5-13, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right