CN111344719A - 基于深度神经网络的数据处理方法、装置及移动设备 - Google Patents

基于深度神经网络的数据处理方法、装置及移动设备 Download PDF

Info

Publication number
CN111344719A
CN111344719A CN201980005317.5A CN201980005317A CN111344719A CN 111344719 A CN111344719 A CN 111344719A CN 201980005317 A CN201980005317 A CN 201980005317A CN 111344719 A CN111344719 A CN 111344719A
Authority
CN
China
Prior art keywords
fixed point
network model
point network
data processing
convolution 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.)
Pending
Application number
CN201980005317.5A
Other languages
English (en)
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.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI 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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN111344719A publication Critical patent/CN111344719A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

一种基于深度神经网络的数据处理方法、装置及移动设备,通过获取深度神经网络的浮点网络模型,对浮点网络模型进行量化,得到至少两个不同精度的定点网络模型,根据定点网络模型的精度,选定至少两个定点网络模型中的一个定点网络模型,利用选定的定点网络模型对数据进行处理。

Description

基于深度神经网络的数据处理方法、装置及移动设备
技术领域
本公开涉及人工神经网络技术领域,尤其涉及一种基于深度神经网络的数据处理方法、装置及移动设备。
背景技术
深度神经网络已经在移动设备中广泛应用。深度神经网络部署到移动设备时,由于移动设备的计算资源有限,需要对网络模型进行量化。如果量化的位数较多,会导致带宽压力大,如果量化的位数较少,则会影响网络精度,因此,深度神经网络在移动设备中存在保证网络精度和降低带宽之间的矛盾。
同时,深度神经网络运算中存在大量的中间结果,现有技术常常将中间结果存储至片外存储器,再从片外存储器读取中间结果,这种对片外存储器频繁的读写操作也进一步增大了带宽压力。
公开内容
本公开提供了一种基于深度神经网络的数据处理方法,其中,包括:
获取所述深度神经网络的浮点网络模型;
对所述浮点网络模型进行量化,得到至少两个不同精度的定点网络模型;
根据所述定点网络模型的所述精度,选定至少两个所述定点网络模型中的一个定点网络模型;
利用选定的所述定点网络模型对数据进行处理。
本公开还提供了一种基于深度神经网络的数据处理装置,其中,包括:
获取单元,用于获取所述深度神经网络的浮点网络模型;
量化单元,用于对所述浮点网络模型进行量化,得到至少两个不同精度的定点网络模型;
选定单元,用于根据所述定点网络模型的所述精度,选定至少两个所述定点网络模型中的一个定点网络模型;
处理单元,利用选定的所述定点网络模型对数据进行处理。
本公开还提供了一种移动设备,其中,包括:上述基于深度神经网络的数据处理装置。
从上述技术方案可以看出,本公开至少具有以下有益效果:
通过将浮点网络模型量化为至少两个不同精度的定点网络模型,并根据定点网络模型的精度,选定一个定点网络模型来对数据进行处理,可以实现在保证网络精度的情况下,尽可能地降低所需计算能力,减小对带宽的要求,兼顾精度与带宽的平衡,有效解决了网络精度和带宽之间的矛盾,提高了移动设备执行深度神经网络运算的性能。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。
在附图中:
图1为本公开实施例基于深度神经网络的数据处理方法的流程图。
图2为本公开实施例基于深度神经网络的数据处理方法的数据图。
图3为深度神经网络的卷积层的结构示意图。
图4为本公开实施例基于深度神经网络的数据处理方法的深度卷积操作示意图。
图5为本公开实施例基于深度神经网络的数据处理方法的点卷积操作示意图。
具体实施方式
下面将结合实施例和实施例中的附图,对本公开技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开一实施例提供了一种基于深度神经网络的数据处理方法。深度神经网络(DNN)是一般是指包括输入层、多个隐藏层和输出层的人工神经网络。深度神经网络包括:卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)等多种类型的神经网络。在本实施例中,以卷积神经网络为例对该数据处理方法进行说明,但本领域技术人员应当了解,本实施例的数据处理方法并不限于卷积神经网络,而是适用于所有类型的深度神经网络。
对于卷积神经网络来说,其每个隐藏层包括卷积(convolution)、偏置(bias)、归一化(BN)、激活(activation)、量化(quantization)等多个操作。其中,卷积操作一般称为卷积层。
需要说明的是,对于卷积神经网络,上述隐藏层的说明仅是示例性的,并不构成对各个操作或各个层的顺序和数量的限定,其各个操作或各个层可以有多种变形,若干操作或层的位置和数量均可以发生变化。例如,有的隐藏层可能没有归一化操作、激活操作,有的隐藏层还包括池化、全连接等其他操作或层。当卷积神经网络为定点网络时,隐藏层包括量化操作,当卷积神经网络为浮点网络时,隐藏层不包括量化操作。
在本实施例中,卷积神经网络中的深度可分离的卷积神经网络(depthwiseseparable convolution)为例对该数据处理方法进行说明。上面介绍的卷积层是标准卷积层,其执行标准卷积操作。在深度可分离卷积神经网络中,隐藏层中的卷积层,包括:将标准卷积层拆分而得到的两个卷积层:深度卷积层与点卷积层,分别执行深度卷积操作和点卷积操作。卷积神经网络一般针对的是多个输入通道的数据,深度卷积层先对每个输入通道的数据分别用一个卷积核进行深度卷积,得到各个输入通道的深度卷积结果,点卷积层再对深度卷积结果进行点卷积,将各个输入通道的信息进行融合。深度可分离的卷积神经网络与标准的卷积神经网络相比,所需参数大幅减少,计算量大幅减小,特别适用于移动设备等计算资源有限的场景。
本实施例的深度可分离的卷积神经网络包括多种不同的实现方式,例如MobileNet网络模型。Mobile Net的点卷积层的卷积核大小为1×1。本实施例可以采用标准的28层Mobile Net网络模型,也可以采用对标准Mobile Net网络模型做缩减、扩张、变形而得到的深度可分离卷积神经网络。
本实施例的基于深度神经网络的数据处理方法,结合图1和图2所示,包括以下步骤:
S101:获取所述深度神经网络的浮点网络模型。
本实施例的数据处理方法适应于移动设备,在本步骤中,移动设备可直接从外部获取浮点网络模型,浮点网络模型是经过训练的深度神经网络。
训练深度神经网络分为两个步骤执行,参见图2中“训练”环节:
首先,构建深度可分离的卷积神经网络。
然后,对构建的深度可分离的卷积神经网络进行训练,得到深度可分离的卷积神经网络模型。
如上所述,本步骤构建的深度可分离的卷积神经网络,可以是MobileNet或其他类型的神经网络,这些神经网络的卷积层均包括深度卷积层与点卷积层两个卷积层。如图3所示,在一个示例中,深度卷积层和点卷积层均包括:卷积、偏置、激活和量化操作。
卷积神经网络通常用于图像处理领域,尤其是图像识别、图像分类等场景。因此在本步骤中,利用训练图像对深度可分离的卷积神经网络进行训练。首先对训练图像的数据进行归一化,将训练图像的数据归一化到[-1,1),再将归一化的数据输入构建的深度可分离的卷积神经网络进行训练,得到深度可分离的卷积神经网络模型。
需要说明的是,为了保证网络精度,在训练阶段一般采用位数较大的浮点数表示卷积神经网络。在本步骤中,可采用32位浮点数表示深度可分离的卷积神经网络,深度卷积层和点卷积层中的权值、偏置值、激活值等均用32位浮点数表示,得到的浮点网络模型是32位浮点网络模型。由于采用32位浮点数,所以卷积神经网络参数的数据量、以及训练的计算量很大,移动设备不能提供足够的计算资源,所以一般不在移动设备训练深度神经网络,而是在服务器或计算机上进行训练,然后将训练好的浮点网络模型移植到移动设备。
以上只是示例性说明,本实施例也可以其他位数的浮点数表示深度可分离的卷积神经网络,训练数据也可以是图像数据之外的其他数据,例如语音数据。
S201:对所述浮点网络模型进行量化,得到至少两个不同精度的定点网络模型。
由于移动设备的存储以及计算能力有限,甚至可能不支持浮点运算,因此,如果直接利用浮点网络模型进行数据处理,将会对移动设备的存储、计算能力以及功耗造成严重的负担,移动设备甚至可能无法完成数据处理过程。因此,移动设备需要对浮点网络模型进行量化,量化后得到定点网络模型。定点网络模型浮点网络模型需要更少的存储和计算能力,非常适用于移动设备。
参见图2中的“量化”环节,本步骤采用量化方式可称为混合精度量化。具体来说,针对浮点网络模型卷积层的深度卷积层,采用不同位数对深度卷积层的权重进行量化,采用同一位数对深度卷积层的激活值进行量化。针对浮点网络模型的点卷积层,采用同一位数对点卷积层的权重进行量化,采用同一位数对点卷积层的激活值进行量化。通过对深度卷积层的权重进行混合精度量化,可得到与权重量化位数对应的至少两个定点网络模型。
在本实施例中,对于深度卷积层,可分别将权重量化为8位和16位定点数;对于8位定点数的深度卷积层,将其对应的激活值量化为8位定点数;对于16位定点数的深度卷积层,将其对应的激活值也量化为8位定点数。对于点卷积层,将权重和激活值量化为8位定点数。
通过上述方式,本实施例将浮点网络模型量化为两个定点网络模型:第一定点网络模型和第二定点网络模型。其中,第一定点网络模型的深度卷积层的权重和激活值均为8位定点数(w8a8),其点卷积层的权重和激活值均为8位定点数(w8a8);第二定点网络模型的深度卷积层的权重为16位定点数,激活值为8位定点数(w16a8),其点卷积层的权重和激活值均为8位定点数(w8a8)。
以上通过一个示例对本步骤进行了说明,但本实施例不限于此。例如,还可以对深度卷积层的激活值进行混合精度量化,即采用同一位数对深度卷积层的权重进行量化,采用不同位数对深度卷积层的激活值进行量化。
还可以对点卷积层的权重和激活值进行混合精度量化,包括:针对浮点网络模型卷积层的深度卷积层,采用同一位数对其权重进行量化,采用同一位数对其激活值进行量化;针对浮点网络模型的点卷积层,采用不同位数对其权重进行量化,采用同一位数对其激活值进行量化,或者采用同一位数对其权重进行量化,采用不同位数对其激活值进行量化。
还可以对深度卷积层和点卷积层均采用混合精度量化,具体量化方式与上述深度卷积层或点卷积层的量化方式类似。
本领域技术人员应当了解,上述第一定点网络模型和第二定点网络模型的量化位数仅是一个示例,本实施例还可以采用8位、16位之外的其他量化位数,以及量化为三个以上的定点网络模型。对于深度卷积层和点卷积层,当采用同一位数对权重进行量化,且采用同一位数对激活值进行量化时,权重的量化位数与激活值的量化位数可以相同,也可以不同。
S301:根据所述定点网络模型的所述精度,选定至少两个所述定点网络模型中的一个定点网络模型;
定点网络模型的精度和所需的计算能力与其量化位数有关。步骤S201得到至少两个不同精度的定点网络模型,对应不同的计算能力。量化位数越多,精度越高,所需计算能力越大,量化位数越少,精度越低,所需计算能力越小。例如,对于第一定点网络模型和第二定点网络模型,由于第二定点网络模型的深度卷积层的权重定点位数为16,第一定点网络模型的深度卷积层的权重定点位数为8,因此,第二定点网络模型的精度优于第一定点网络模型,但所需计算能力大于第一定点网络模型。因此,本步骤需要从至少两个定点网络模型中选定一个定点网络模型,以实现在精度下降不大的情况下,尽可能地降低所需计算能力,从而减小对带宽的要求,达到兼顾精度与带宽的目的。
参见图2中的“选定”环节,具体来说,首先将同一测试数据输入至少两个定点网络模型,至少两个定点网络模型对该测试数据进行推理,得到处理结果。其中,该测试数据采用8位整数(i8),可以是图像数据,也可以是图像数据之外的其他数据,例如语音数据。
当采用上述第一定点网络模型和第二定点网络模型时,将测试图像输入第一定点网络模型和第二定点网络模型,第一定点网络模型和第二定点网络模型分别对测试图像进行推理,得到图像处理结果。
获取各个所述定点网络模型的处理结果的精度值。
本实施例中,处理结果的精度值用平均精度均值(mAP)表征。当采用上述第一定点网络模型和第二定点网络模型时,第一定点网络模型的精度值称为第一精度值,第二定点网络模型的精度值称为第二精度值。当然处理结果的精度值还可以用平均精度(AP)等其他参数表征。
判断是否存在至少一个定点网络模型,其精度值与精度最高的定点网络模型的精度值的差值在阈值内。
以精度最高的定点网络模型为比较对象,其他定点网络模型与之比较精度值。所述阈值可以根据经验、或精度要求来设置,例如可以是1%。也就是说,判断是否存在精度值与精度最高的定点网络模型的精度值的差值在1%内的定点网络模型。当采用上述第一定点网络模型和第二定点网络模型时,第二定点网络模型为精度最高的定点网络模型,判断第一定点网络模型的精度值与第二定点网络模型的精度值的差值是否在1%内。
如果否,则将所述精度最高的定点网络模型作为选定的定点网络模型;如果是,将所述至少一个定点网络模型中占用内存最小的定点网络模型作为选定的定点网络模型。
如果否,则说明其他定点网络模型与精度最高的定点网络模型相比,精度值差异过大,如果选定其他定点网络模型,虽然可以降低所需计算能力,减小对带宽的要求,但是将较为严重的影响网络精度,所以,为保证网络精度,此时选定精度最高的定点网络模型。
如果是,说明其他定点网络模型与精度最高的定点网络模型的精度值差异很小,不会对网络精度产生过大影响,所以为尽可能地降低所需计算能力,减小对带宽的要求,选定占用内存最小的定点网络模型,这样网络精度也保证不会明显降低。
当采用上述第一定点网络模型和第二定点网络模型时,如果第一定点网络模型的精度值与第二定点网络模型的精度值的差值在1%内,则选定第一定点网络模型,否则,选定第二定点网络模型。
S401:利用选定的所述定点网络模型对数据进行处理。
参见图2中的“处理”环节,选定定点网络模型后,即可对输入数据进行处理,得到数据处理结果。
由此可见,本实施例的基于深度神经网络的数据处理方法,通过将浮点网络模型量化为至少两个不同精度的定点网络模型,并根据定点网络模型的精度,选定一个定点网络模型来对数据进行处理,可以实现在保证网络精度的情况下,尽可能地降低所需计算能力,减小对带宽的要求,兼顾精度与带宽的平衡,有效解决了网络精度和带宽之间的矛盾,提高了移动设备执行深度神经网络运算的性能。
本公开另一实施例提供了一种基于深度神经网络的数据处理方法,为简要描述,其与上一实施例相同或相似的特征不再赘述,以下仅描述其不同于上一实施例的特征。
本实施例的数据处理方法,在步骤S401中,在利用选定的所述定点网络模型对数据进行处理的过程中,将深度卷积层的深度卷积结果存入片内存储器,读取片内存储器存储的所述深度卷积结果,点卷积层对所述深度卷积结果进行处理。
在深度神经网络中,每一隐藏层对输入数据进行处理,将处理结果输出给下一隐藏层,作为下一隐藏层的输入数据。当处理图像数据时,每一隐藏层的输入数据和输出数据称为特征图(feature map),在进行深度卷积和点卷积操作时,分块(tile)对特征图进行处理。
本实施例中,对于选定的定点网络模型的每一卷积层,首先执行深度卷积操作:
先将特征图的一个数据块(tile)存入片内存储器。数据块的大小与下述深度卷积层的卷积核大小相等。所述片内存储器是指处理器内部的存储器而非外接的存储器,片内存储器可以是片内内存或缓存。
然后从片内存储器读取数据块,深度卷积层对数据块进行处理,得到数据块的深度卷积结果。如图4所述,数据块与卷积核的权重进行卷积,卷积结果叠加偏置值。在图4中,[1,C,Ht,Wt]表示数据块的参数,其中C表示输入通道的数量,Ht和Wt分别表示数据块的高度和宽度。[C,1,Hw,Ww]表示深度卷积层的权重矩阵的参数,其中,C表示输入通道的数量,Hw和Ww分别表示权重矩阵的高度和宽度。[C,1,1,1]表示深度卷积层的偏置值的参数,C表示输入通道的数量。如果该深度卷积层具有激活操作,则利用激活函数对偏置操作的输出值进行激活,得到激活值,最后对激活值进行量化,得到深度卷积结果。
最后将所述数据块的深度卷积结果存入片内存储器,即存入处理器的片内内存或缓存中,而不是存储在DDR等片外存储器中。
当处理多个输入通道的特征图时,可利用上述深度卷积操作对各个输入通道的特征图并行处理,以提高运算效率。
然后进行点卷积操作:
先读取所述片内存储器存储的数据块的深度卷积结果。即从处理器的片内内存或缓存、而不是DDR等片外存储器中读取深度卷积结果。
然后点卷积层对数据块的深度卷积结果进行处理,得到数据块的点卷积结果。如图5所述,各个输入通道的数据块与卷积核的权重进行卷积,卷积结果叠加后再叠加偏置值。在图5中,[1,C,1,1]表示点卷积层的权重矩阵的参数,其中,C表示输入通道的数量,第3个元素和第4个元素1和1,分别表示权重矩阵的高度和宽度,即点卷积层的权重矩阵为1×1的矩阵。[1,1,1,1]表示点卷积层的偏置值的参数。
如果该点卷积层具有激活操作,则利用激活函数对偏置操作的输出值进行激活,得到激活值,最后对激活值进行量化,得到数据块的点卷积结果。
最后将数据块的点卷积结果存入片内存储器。
其中,点卷积层一般具有多个输出通道,可利用上述点卷积操作对各个输出通道并行处理,以提高运算效率。
移动特征图的数据块,对特征图的每一个数据块执行上述深度卷积和点卷积操作,直到特征图所有数据块都处理完毕。
由此可见,本实施例的基于深度神经网络的数据处理方法,将深度卷积结果存储至片内存储器,点卷积层从片内存储器中读取深度卷积结果进行处理,中间结果(深度卷积结果)的读写均在片内完成,无需对片外存储器进行读写操作。相对于将中间结果写入片外存储器,再从片外存储器读取中间结果的方式,进一步节省了移动设备的带宽,提高了移动设备执行深度神经网络运算的性能,能够支持算力低、带宽少这样的更低端的移动设备。
本公开另一实施例提供了一种基于深度神经网络的数据处理装置,包括:
获取单元,用于获取所述深度神经网络的浮点网络模型。
量化单元,用于对所述浮点网络模型进行量化,得到至少两个不同精度的定点网络模型。
选定单元,用于根据所述定点网络模型的所述精度,选定至少两个所述定点网络模型中的一个定点网络模型。
处理单元,利用选定的所述定点网络模型对数据进行处理。
本实施例的数据处理装置用于移动设备,移动设备可直接从外部获取浮点网络模型,浮点网络模型是经过训练的深度神经网络。
训练深度神经网络分为两个步骤执行,首先,构建深度可分离的卷积神经网络。然后,对构建的深度可分离的卷积神经网络进行训练,得到深度可分离的卷积神经网络模型。
如上所述,本实施例构建的深度可分离的卷积神经网络,可以是Mobile Net或其他类型的神经网络,这些神经网络的卷积层均包括深度卷积层与点卷积层两个卷积层。
本实施例利用训练图像对深度可分离的卷积神经网络进行训练。首先对训练图像的数据进行归一化,将训练图像的数据归一化到[-1,1),再将归一化的数据输入构建的深度可分离的卷积神经网络进行训练,得到深度可分离的卷积神经网络模型。
在本实施例中,可采用32位浮点数表示深度可分离的卷积神经网络,深度卷积层和点卷积层中的权值、偏置值、激活值等均用32位浮点数表示,得到的浮点网络模型是32为浮点网络模型。由于采用32位浮点数,所以卷积神经网络参数的数据量、以及训练的计算量很大,移动设备不能提供足够的计算资源,所以一般不在移动设备训练深度神经网络,而是在服务器或计算机上进行训练,然后将训练好的浮点网络模型移植到移动设备。
由于移动设备的存储以及计算能力有限,甚至可能不支持浮点运算,因此,如果直接利用浮点网络模型进行数据处理,将会对移动设备的存储、计算能力以及功耗造成严重的负担,移动设备甚至可能无法完成数据处理过程。因此,移动设备需要对浮点网络模型进行量化,量化后得到定点网络模型。定点网络模型相对浮点网络模型需要更少的存储和计算能力,非常适用于移动设备。
量化单元采用量化方式可称为混合精度量化。具体来说,针对浮点网络模型卷积层的深度卷积层,采用不同位数对深度卷积层的权重进行量化,采用同一位数对深度卷积层的激活值进行量化。针对浮点网络模型的点卷积层,采用同一位数对点卷积层的权重进行量化,采用同一位数对点卷积层的激活值进行量化。通过对深度卷积层的权重进行混合精度量化,可得到与权重量化位数对应的至少两个定点网络模型。
在本实施例中,对于深度卷积层,可分别将权重量化为8位和16位定点数;对于8位定点数的深度卷积层,将其对应的激活值量化为8位定点数;对于16位定点数的深度卷积层,将其对应的激活值也量化为8位定点数。对于点卷积层,将权重和激活值量化为8位定点数。
通过上述方式,本实施例将浮点网络模型量化为两个定点网络模型:第一定点网络模型和第二定点网络模型。其中,第一定点网络模型的深度卷积层的权重和激活值均为8位定点数(w8a8),其点卷积层的权重和激活值均为8位定点数(w8a8);第二定点网络模型的深度卷积层的权重为16位定点数,激活值为8位定点数(w16a8),其点卷积层的权重和激活值均为8位定点数(w8a8)。
以上通过一个示例对本步骤进行了说明,但本实施例不限于此。例如,还可以对深度卷积层的激活值进行混合精度量化,即采用同一位数对深度卷积层的权重进行量化,采用不同位数对深度卷积层的激活值进行量化。
还可以对点卷积层的权重和激活值进行混合精度量化,包括:针对浮点网络模型卷积层的深度卷积层,采用同一位数对其权重进行量化,采用同一位数对其激活值进行量化;针对浮点网络模型的点卷积层,采用不同位数对其权重进行量化,采用同一位数对其激活值进行量化,或者采用同一位数对其权重进行量化,采用不同位数对其激活值进行量化。
还可以对深度卷积层和点卷积层均采用混合精度量化,具体量化方式与上述深度卷积层或点卷积层的量化方式类似。
本领域技术人员应当了解,上述第一定点网络模型和第二定点网络模型的量化位数仅是一个示例,本实施例还可以采用8位、16位之外的其他量化位数,以及量化为三个以上的定点网络模型。对于深度卷积层和点卷积层,当采用同一位数对权重进行量化,且采用同一位数对激活值进行量化时,权重的量化位数与激活值的量化位数可以相同,也可以不同。
定点网络模型的精度和所需的计算能力与其量化位数有关。量化单元得到的至少两个不同精度的定点网络模型,对应不同的计算能力。量化位数越多,精度越高,所需计算能力越大,量化位数越少,精度越低,所需计算能力越小。例如,对于第一定点网络模型和第二定点网络模型,由于第二定点网络模型的深度卷积层的权重定点位数为16,第一定点网络模型的深度卷积层的权重定点位数为8,因此,第二定点网络模型的精度优于第一定点网络模型,但所需计算能力大于第一定点网络模型。因此,选定单元需要从至少两个定点网络模型中选定一个定点网络模型,以实现在精度下降不大的情况下,尽可能地降低所需计算能力,从而减小对带宽的要求,达到兼顾精度与带宽的目的。
具体来说,选定单元先将同一测试数据输入至少两个定点网络模型,至少两个定点网络模型对该测试数据进行推理,得到处理结果。其中,该测试数据采用8位整数(i8),可以是图像数据,也可以是图像数据之外的其他数据,例如语音数据。
当采用上述第一定点网络模型和第二定点网络模型时,将测试图像输入第一定点网络模型和第二定点网络模型,第一定点网络模型和第二定点网络模型分别对测试图像进行推理,得到图像处理结果。
然后选定单元获取各个所述定点网络模型的处理结果的精度值。
本实施例中,处理结果的精度值用平均精度均值(mAP)表征。当采用上述第一定点网络模型和第二定点网络模型时,第一定点网络模型的精度值称为第一精度值,第二定点网络模型的精度值称为第二精度值。当然处理结果的精度值还可以用平均精度(AP)等其他参数表征。
选定单元再判断是否存在至少一个定点网络模型,其精度值与精度最高的定点网络模型的精度值的差值在阈值内。
以精度最高的定点网络模型为比较对象,其他定点网络模型与之比较精度值。所述阈值可以根据经验、或精度要求来设置,例如可以是1%。也就是说,判断是否存在精度值与精度最高的定点网络模型的精度值的差值在1%内的定点网络模型。当采用上述第一定点网络模型和第二定点网络模型时,第二定点网络模型为精度最高的定点网络模型,判断第一定点网络模型的精度值与第二定点网络模型的精度值的差值是否在1%内。
如果否,则将所述精度最高的定点网络模型作为选定的定点网络模型;如果是,将所述至少一个定点网络模型中占用内存最小的定点网络模型作为选定的定点网络模型。
如果否,则说明其他定点网络模型与精度最高的定点网络模型相比,精度值差异过大,如果选定其他定点网络模型,虽然可以降低所需计算能力,减小对带宽的要求,但是将较为严重的影响网络精度,所以,为保证网络精度,此时选定精度最高的定点网络模型。
如果是,说明其他定点网络模型与精度最高的定点网络模型的精度值差异很小,不会对网络精度产生过大影响,所以为尽可能地降低所需计算能力,减小对带宽的要求,选定占用内存最小的定点网络模型,这样网络精度也保证不会明显降低。
当采用上述第一定点网络模型和第二定点网络模型时,如果第一定点网络模型的精度值与第二定点网络模型的精度值的差值在1%内,则选定第一定点网络模型,否则,选定第二定点网络模型。
处理单元利用选定的所述定点网络模型对数据进行处理。选定定点网络模型后,处理单元即可对输入数据进行处理,得到数据处理结果。
由此可见,本实施例的基于深度神经网络的数据处理装置,通过将浮点网络模型量化为至少两个不同精度的定点网络模型,并根据定点网络模型的精度,选定一个定点网络模型来对数据进行处理,可以实现在保证网络精度的情况下,尽可能地降低所需计算能力,减小对带宽的要求,兼顾精度与带宽的平衡,有效解决了网络精度和带宽之间的矛盾,提高了移动设备执行深度神经网络运算的性能。
本公开另一实施例的基于深度神经网络的数据处理装置,为简要描述,其与上一实施例相同或相似的特征不再赘述,以下仅描述其不同于上一实施例的特征。
本实施例的数据处理装置,处理单元在利用选定的所述定点网络模型对数据进行处理的过程中,将深度卷积层的深度卷积结果存入片内存储器,读取片内存储器存储的所述深度卷积结果,点卷积层对所述深度卷积结果进行处理。
在深度神经网络中,处理单元利用每一隐藏层对输入数据进行处理,将处理结果输出给下一隐藏层,作为下一隐藏层的输入数据。当处理图像数据时,每一隐藏层的输入数据和输出数据称为特征图(feature map),在进行深度卷积和点卷积操作时,分块(tile)对特征图进行处理。
本实施例中,对于选定的定点网络模型的每一卷积层,处理单元首先执行深度卷积操作:
先将特征图的一个数据块(tile)存入片内存储器。数据块的大小与下述深度卷积层的卷积核大小相等。所述片内存储器是指处理单元内部的存储器而非外接的存储器,片内存储器可以是片内内存或缓存。
然后从片内存储器读取数据块,深度卷积层对数据块进行处理,得到数据块的深度卷积结果。数据块与卷积核的权重进行卷积,卷积结果叠加偏置值。如果该深度卷积层具有激活操作,则利用激活函数对偏置操作的输出值进行激活,得到激活值,最后对激活值进行量化,得到深度卷积结果。
最后将所述数据块的深度卷积结果存入片内存储器,即存入处理单元的片内内存或缓存中,而不是存储在DDR等片外存储器中。
当处理多个输入通道的特征图时,处理单元可利用上述深度卷积操作对各个输入通道的特征图并行处理,以提高运算效率。
然后处理单元进行点卷积操作:
先读取所述片内存储器存储的数据块的深度卷积结果。即从处理单元的片内内存或缓存、而不是DDR等片外存储器中读取深度卷积结果。
然后点卷积层对数据块的深度卷积结果进行处理,得到数据块的点卷积结果。各个输入通道的数据块与卷积核的权重进行卷积,卷积结果叠加后再叠加偏置值。如果该点卷积层具有激活操作,则利用激活函数对偏置操作的输出值进行激活,得到激活值,最后对激活值进行量化,得到数据块的点卷积结果。
最后将数据块的点卷积结果存入片内存储器。
其中,点卷积层一般具有多个输出通道,处理单元可利用上述点卷积操作对各个输出通道并行处理,以提高运算效率。
移动特征图的数据块,对特征图的每一个数据块执行上述深度卷积和点卷积操作,直到特征图所有数据块都处理完毕。
由此可见,本实施例的基于深度神经网络的数据处理装置,将深度卷积结果存储至片内存储器,点卷积层从片内存储器中读取深度卷积结果进行处理,中间结果(深度卷积结果)的读写均在片内完成,无需对片外存储器进行读写操作。相对于将中间结果写入片外存储器,再从片外存储器读取中间结果的方式,进一步节省了移动设备的带宽,提高了移动设备执行深度神经网络运算的性能,能够支持算力低、带宽少这样的更低端的移动设备。
需要说明的是,本公开实施例对基于深度神经网络的数据处理装置及其获取单元、量化单元、选定单元、处理单元的实现形式不做限定。对于获取单元、量化单元、选定单元、处理单元,每个单元均可以由单独的处理器实现,部分单元或全部单元也可以由一个处理器实现。应理解,本公开实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本公开实施例中提及的片内存储器是指集成在处理器内部的存储器,其可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
本公开再一实施例提供了一种移动设备,该移动设备包括上述任一实施例的基于深度神经网络的数据处理装置。其中,该移动设备可以是便携式移动终端、无人机、手持云台、遥控器等,便携式移动终端可以是手机、平板电脑等,遥控器可以是无人机的遥控器。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;在不冲突的情况下,本公开实施例中的特征可以任意组合;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

Claims (39)

1.一种基于深度神经网络的数据处理方法,其中,包括:
获取所述深度神经网络的浮点网络模型;
对所述浮点网络模型进行量化,得到至少两个不同精度的定点网络模型;
根据所述定点网络模型的所述精度,选定至少两个所述定点网络模型中的一个定点网络模型;
利用选定的所述定点网络模型对数据进行处理。
2.如权利要求1所述的数据处理方法,其中,所述深度神经网络为深度可分离的卷积神经网络。
3.如权利要求2所述的数据处理方法,其中,所述深度可分离的卷积神经网络包括多个卷积层,每个所述卷积层包括:深度卷积层与点卷积层。
4.如权利要求3所述的数据处理方法,其中,对所述浮点网络模型进行量化包括:
对所述深度卷积层采用不同位数对权重进行量化,采用同一位数对激活值进行量化。
5.如权利要求3所述的数据处理方法,其中,对所述浮点网络模型进行量化包括:
对所述点卷积层采用不同位数对权重进行量化,采用同一位数对激活值进行量化。
6.如权利要求3所述的数据处理方法,其中,对所述浮点网络模型进行量化包括:
对所述深度卷积层和所述点卷积层二者,均采用不同位数对权重进行量化,采用同一位数对激活值进行量化。
7.如权利要求4所述的数据处理方法,其中,
对于所述点卷积层,采用同一位数对权重进行量化,采用同一位数对激活值进行量化。
8.如权利要求7所述的数据处理方法,其中,至少两个所述定点网络模型包括:第一定点网络模型和第二定点网络模型;
所述第一定点网络模型的深度卷积层的权重和激活值均为第一数值位,其点卷积层的权重和激活值均为所述第一数值位;
所述第二定点网络模型的深度卷积层的权重为第二数值位,激活值为所述第一数值位,其点卷积层的权重和激活值均为所述第一数值位。
9.如权利要求8所述的数据处理方法,其中,所述第一数值位为八,所述第二数值位为十六。
10.如权利要求1所述的数据处理方法,其中,根据所述定点网络模型的所述精度,选定至少两个所述定点网络模型中的一个定点网络模型包括:
利用所述至少两个所述定点网络模型对同一测试数据进行处理;
获取各个所述定点网络模型的处理结果的精度值;
判断是否存在至少一个定点网络模型,其精度值与精度最高的定点网络模型的精度值的差值在阈值内;
如果否,则将所述精度最高的定点网络模型作为选定的定点网络模型;如果是,将所述至少一个定点网络模型中占用内存最小的定点网络模型作为选定的定点网络模型。
11.如权利要求10所述的数据处理方法,其中,所述深度神经网络为深度可分离的卷积神经网络;
12.如权利要求11所述的数据处理方法,其中,所述深度可分离的卷积神经网络包括多个卷积层,每个所述卷积层包括:深度卷积层与点卷积层;
所述定点网络模型的所述精度与所述深度卷积层和所述点卷积层的至少其中之一的权重位数和激活值位数相对应。
13.如权利要求12所述的数据处理方法,其中,至少两个所述定点网络模型的所述深度卷积层的权重位数互不相同,激活值位数相同,所述点卷积层的权重位数相同,激活值位数相同。
14.如权利要求13所述的数据处理方法,其中,至少两个所述定点网络模型包括:第一定点网络模型和第二定点网络模型;
所述第一定点网络模型的深度卷积层的权重和激活值均为第一数值位,其点卷积层的权重和激活值均为所述第一数值位;
所述第二定点网络模型的深度卷积层的权重为第二数值位,激活值为所述第一数值位,其点卷积层的权重和激活值均为所述第一数值位;
所述占用内存最小的定点网络模型为所述第一定点网络模型;
所述精度最高的定点网络模型为所述第二定点网络模型。
15.如权利要求14所述的数据处理方法,其中,所述第一数值位为八,所述第二数值位为十六。
16.如权利要求2所述的数据处理方法,其中,所述深度可分离的卷积神经网络包括多个卷积层,每个所述卷积层包括:深度卷积层与点卷积层;
利用选定的所述定点网络模型对数据进行处理包括:
将深度卷积层的深度卷积结果存入片内存储器,读取片内存储器存储的所述深度卷积结果,点卷积层对所述深度卷积结果进行处理。
17.如权利要求16所述的数据处理方法,其中,对于所述定点网络模型的每一卷积层:
所述深度卷积层对所述数据的数据块进行处理,得到所述数据块的深度卷积结果;
将所述数据块的深度卷积结果存入片内存储器;
读取所述片内存储器存储的所述数据块的深度卷积结果;
所述点卷积层对所述数据块的所述深度卷积结果进行处理,得到所述数据块的点卷积结果;
移动数据块,对所述数据的所有数据块执行上述处理。
18.如权利要求2或11所述的数据处理方法,其中,所述深度可分离的卷积神经网络为Mobile Net网络。
19.如权利要求10所述的数据处理方法,其中,所述精度值为平均精度和平均精度均值的至少一种。
20.一种基于深度神经网络的数据处理装置,其中,包括:
获取单元,用于获取所述深度神经网络的浮点网络模型;
量化单元,用于对所述浮点网络模型进行量化,得到至少两个不同精度的定点网络模型;
选定单元,用于根据所述定点网络模型的所述精度,选定至少两个所述定点网络模型中的一个定点网络模型;
处理单元,利用选定的所述定点网络模型对数据进行处理。
21.如权利要求20所述的数据处理装置,其中,所述深度神经网络为深度可分离的卷积神经网络。
22.如权利要求21所述的数据处理装置,其中,所述深度可分离的卷积神经网络包括多个卷积层,每个所述卷积层包括:深度卷积层与点卷积层。
23.如权利要求22所述的数据处理装置,其中,所述量化单元采用不同的位数对所述深度卷积层的权重进行量化,采用同一位数对激活值进行量化。
24.如权利要求22所述的数据处理装置,其中,所述量化单元采用不同的位数对所述点卷积层的权重进行量化,采用同一位数对激活值进行量化。
25.如权利要求22所述的数据处理装置,其中,对所述深度卷积层和所述点卷积层二者,所述量化单元均采用不同位数对权重进行量化,采用同一位数对激活值进行量化。
26.如权利要求23所述的数据处理装置,其中,
所述量化单元采用同一位数对所述点卷积层的权重进行量化,采用同一位数对激活值进行量化。
27.如权利要求26所述的数据处理装置,其中,
所述第一定点网络模型的深度卷积层的权重和激活值均为第一数值位,其点卷积层的权重和激活值均为所述第一数值位;
所述第二定点网络模型的深度卷积层的权重为第二数值位,激活值为所述第一数值位,其点卷积层的权重和激活值均为第二数值位。
28.如权利要求20所述的数据处理装置,其中,所述选定单元利用所述至少两个所述定点网络模型对同一测试数据进行处理;
获取各个所述定点网络模型的处理结果的精度值;
判断是否存在至少一个定点网络模型,其精度值与精度最高的定点网络模型的精度值的差值在阈值内;
如果否,则将所述精度最高的定点网络模型作为选定的定点网络模型;如果是,将所述至少一个定点网络模型中占用内存最小的定点网络模型作为选定的定点网络模型。
29.如权利要求28所述的数据处理装置,其中,所述深度神经网络为深度可分离的卷积神经网络;
30.如权利要求29所述的数据处理装置,其中,所述深度可分离的卷积神经网络包括多个卷积层,每个所述卷积层包括:深度卷积层与点卷积层;
所述定点网络模型的所述精度与所述深度卷积层和所述点卷积层的至少其中之一的权重位数相对应。
31.如权利要求30所述的数据处理装置,其中,至少两个所述定点网络模型的所述深度卷积层的权重位数互不相同,激活值位数相同,所述点卷积层的权重位数相同,激活值位数相同。
32.如权利要求31所述的数据处理装置,其中,至少两个所述定点网络模型包括:第一定点网络模型和第二定点网络模型;
所述第一定点网络模型的深度卷积层的权重和激活值均为第一数值位,其点卷积层的权重和激活值均为所述第一数值位;
所述第二定点网络模型的深度卷积层的权重为第二数值位,激活值为所述第二数值位,其点卷积层的权重和激活值均为所述第一数值位;
所述选定单元将所述第一定点网络模型作为所述占用内存最小的定点网络模型,将所述第二定点网络模型作为所述精度最高的定点网络模型。
33.如权利要求32所述的数据处理装置,其中,所述第一数值位为八,所述第二数值位为十六。
34.如权利要求21所述的数据处理装置,其中,所述深度可分离的卷积神经网络包括多个卷积层,每个所述卷积层包括:深度卷积层与点卷积层;
所述处理单元将深度卷积层的深度卷积结果存入所述处理单元的片内存储器,读取片内存储器存储的所述深度卷积结果,并利用点卷积层对所述深度卷积结果进行处理。
35.如权利要求34所述的数据处理装置,其中,所述处理单元利用所述定点网络模型的每一卷积层进行以下操作:
利用所述深度卷积层对所述数据的数据块进行深度卷积,得到数据块的深度卷积结果;
将所述数据块的深度卷积结果存入片内存储器;
读取所述片内存储器存储的所述数据块的深度卷积结果;
利用所述点卷积层对数据块的深度卷积结果进行处理,得到数据块的点卷积结果;
移动数据块,对所述数据的所有数据块执行上述处理。
36.如权利要求21或29所述的数据处理装置,其中,所述深度可分离的卷积神经网络为Mobile Net网络。
37.如权利要求28所述的数据处理装置,其中,所述精度值为平均精度或平均精度均值的至少一种。
38.一种移动设备,其中,包括:如权利要求20至37任一项所述的基于深度神经网络的数据处理装置。
39.如权利要求38所述的移动设备,其中,所述移动设备为便携式移动终端、无人机、手持云台、遥控器的至少一种。
CN201980005317.5A 2019-07-22 2019-07-22 基于深度神经网络的数据处理方法、装置及移动设备 Pending CN111344719A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/097072 WO2021012148A1 (zh) 2019-07-22 2019-07-22 基于深度神经网络的数据处理方法、装置及移动设备

Publications (1)

Publication Number Publication Date
CN111344719A true CN111344719A (zh) 2020-06-26

Family

ID=71187736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980005317.5A Pending CN111344719A (zh) 2019-07-22 2019-07-22 基于深度神经网络的数据处理方法、装置及移动设备

Country Status (2)

Country Link
CN (1) CN111344719A (zh)
WO (1) WO2021012148A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113409773A (zh) * 2021-08-18 2021-09-17 中科南京智能技术研究院 一种二值化神经网络语音唤醒方法及系统
CN116720563A (zh) * 2022-09-19 2023-09-08 荣耀终端有限公司 一种提升定点神经网络模型精度的方法、装置及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210089888A1 (en) * 2019-09-25 2021-03-25 Arm Limited Hybrid Filter Banks for Artificial Neural Networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224984A (zh) * 2014-05-31 2016-01-06 华为技术有限公司 一种基于深度神经网络的数据类别识别方法及装置
CN106203624A (zh) * 2016-06-23 2016-12-07 上海交通大学 基于深度神经网络的矢量量化系统及方法
CN107657316A (zh) * 2016-08-12 2018-02-02 北京深鉴科技有限公司 通用处理器与神经网络处理器的协同系统设计

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224984A (zh) * 2014-05-31 2016-01-06 华为技术有限公司 一种基于深度神经网络的数据类别识别方法及装置
CN106203624A (zh) * 2016-06-23 2016-12-07 上海交通大学 基于深度神经网络的矢量量化系统及方法
CN107657316A (zh) * 2016-08-12 2018-02-02 北京深鉴科技有限公司 通用处理器与神经网络处理器的协同系统设计

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113409773A (zh) * 2021-08-18 2021-09-17 中科南京智能技术研究院 一种二值化神经网络语音唤醒方法及系统
CN116720563A (zh) * 2022-09-19 2023-09-08 荣耀终端有限公司 一种提升定点神经网络模型精度的方法、装置及电子设备
CN116720563B (zh) * 2022-09-19 2024-03-29 荣耀终端有限公司 一种提升定点神经网络模型精度的方法、装置及电子设备

Also Published As

Publication number Publication date
WO2021012148A1 (zh) 2021-01-28

Similar Documents

Publication Publication Date Title
US11373087B2 (en) Method and apparatus for generating fixed-point type neural network
CN110378468B (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
US20200364552A1 (en) Quantization method of improving the model inference accuracy
CN110555450B (zh) 人脸识别神经网络调整方法和装置
US20180218518A1 (en) Data compaction and memory bandwidth reduction for sparse neural networks
KR20210004306A (ko) 뉴럴 네트워크 장치 및 뉴럴 네트워크의 파라미터 양자화 방법
CN111095302A (zh) 稀疏深度卷积网络权重的压缩
CN111344719A (zh) 基于深度神经网络的数据处理方法、装置及移动设备
CN110991608B (zh) 一种卷积神经网络量化计算方法及系统
US11861467B2 (en) Adaptive quantization for execution of machine learning models
CN111240746B (zh) 一种浮点数据反量化及量化的方法和设备
US20200151551A1 (en) Systems and methods for determining an artificial intelligence model in a communication system
CN113780549A (zh) 溢出感知的量化模型训练方法、装置、介质及终端设备
US20200218777A1 (en) Signal Processing Method and Apparatus
CN116976428A (zh) 模型训练方法、装置、设备及存储介质
CN114239799A (zh) 一种高效目标检测方法、设备、介质和系统
CN117392406A (zh) 一种单阶段实时目标检测模型低位宽混合精度量化方法
CN115759238B (zh) 一种量化模型的生成方法及装置、电子设备及存储介质
CN111160517A (zh) 一种深度神经网络的卷积层量化方法及装置
CN110276448B (zh) 一种模型压缩方法及装置
JP7040771B2 (ja) ニューラルネットワーク処理装置、通信装置、ニューラルネットワーク処理方法、およびプログラム
CN115481562B (zh) 多并行度优化方法、装置、识别方法和电子设备
US20240037412A1 (en) Neural network generation device, neural network control method, and software generation program
US20220414457A1 (en) Selective data structure encoding for deep neural network training
US20230222343A1 (en) Control method and system based on layer-wise adaptive channel pruning

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200626

WD01 Invention patent application deemed withdrawn after publication