CN112418403B - 基于光学衍射原理和可编程器件的光学衍射计算处理器 - Google Patents
基于光学衍射原理和可编程器件的光学衍射计算处理器 Download PDFInfo
- Publication number
- CN112418403B CN112418403B CN202011339778.7A CN202011339778A CN112418403B CN 112418403 B CN112418403 B CN 112418403B CN 202011339778 A CN202011339778 A CN 202011339778A CN 112418403 B CN112418403 B CN 112418403B
- Authority
- CN
- China
- Prior art keywords
- optical
- diffraction
- layer
- optical diffraction
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 91
- 210000002569 neuron Anatomy 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 230000004913 activation Effects 0.000 claims abstract description 9
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 239000010410 layer Substances 0.000 claims description 99
- 238000013528 artificial neural network Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 17
- 238000009825 accumulation Methods 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 239000002356 single layer Substances 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 abstract description 8
- 230000008901 benefit Effects 0.000 abstract description 6
- 238000012549 training Methods 0.000 description 54
- 230000003044 adaptive effect Effects 0.000 description 24
- 238000012360 testing method Methods 0.000 description 22
- 230000005693 optoelectronics Effects 0.000 description 20
- 230000009471 action Effects 0.000 description 10
- 238000009826 distribution Methods 0.000 description 8
- 238000002474 experimental method Methods 0.000 description 8
- 238000005265 energy consumption Methods 0.000 description 7
- 230000009897 systematic effect Effects 0.000 description 6
- 230000009191 jumping Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 210000004205 output neuron Anatomy 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
- G06N3/0675—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Neurology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明提成了一种基于光学衍射原理和可编程器件的光学衍射计算处理器,包括:多个输入节点和多个输出节点:多个神经元,其中,所述多个输入节点通过多个光衍射连接到所述多个神经元,其中,所述多个神经元的连接强度的权重由衍射调制确定,且每个所述光电神经元执行其加权输入的光场总和,并通过对光电转换过程中自然发生的计算光场应用复数激活函数来生成单位输出,并输出至多个输出节点,其中,所述多个神经元由可编程器件构成。本发明的优势在于现有的光学计算存在可编程性和大规模计算不可兼顾的矛盾,提出了一种可实际应用的通用光学计算处理器。
Description
技术领域
本发明涉及光电计算和机器学习技术领域,特别涉及一种基于光学衍射原理和可编程器件的光学衍射计算处理器。
背景技术
机器学习在语音和图像的分类、识别和检测等领域取得了巨大进展。目前主流的机器学习平台都是基于电子计算元件,由于电子芯片的制程逐渐逼近其极限,其能量效率难以继续增长。此外,以电子芯片为基础的深度学习技术还面临训练时间长、计算体系架构受限等瓶颈。针对电子深度学习的诸多短板,世界各国研究人员开始研究下一代机器学习的实现方式。
近年,多种光学计算结构被提出,包括基于光学相干性以及光学衍射的光学计算,但是现有的光学计算存在可编程性和大规模计算不可兼顾的矛盾。
发明内容
本发明所要解决的技术问题是针对现有技术中存在上述缺陷,提供一种基于光学衍射原理和可编程器件的光学衍射计算处理器,具有广阔的前景和大规模的计算优势。
根据本发明,提供了一种基于光学衍射原理和可编程器件的光学衍射计算处理器,包括:多个输入节点和多个输出节点:多个神经元,其中,所述多个输入节点通过多个光衍射连接到所述多个神经元,其中,所述多个神经元的连接强度的权重由衍射调制确定,且每个所述光电神经元执行其加权输入的光场总和,并通过对光电转换过程中自然发生的计算光场应用复数激活函数来生成单位输出,并输出至多个输出节点,其中,所述多个神经元由可编程器件构成,其中,所述可编程器件包括:数字微镜器件、空间光调制器和光电探测器构成的光学神经网络,其中,所述数字微镜器件提供高光学对比度以执行信息编码;所述空间光调制器,用于实现衍射调制,以上通过自由空间光学衍射实现输入节点和神经元之间的加权连接,其中每个神经元的接受场由从空间光调制器平面到传感器平面的衍射量确定;所述光电探测器用于实现神经元的光场相加和复数激活函数。
在本发明的一个实施例之中,所述光学神经网络结构包括多个单层衍射层,且每个所述单层衍射层包括输入编码层、衍射连接层、光学累加层以及光学非线性层。
在本发明的一个实施例之中,所述输入编码层,由编程输入模块实现,用于将输入的数据编码于入射光,其中,编码物理维度包括幅度编码、相位编码之中的一种或多种,且编码数据类型包括离散编码、连续编码之中的一种或多种。
在本发明的一个实施例之中,所述衍射连接层由光学衍射实现。
在本发明的一个实施例之中,所述光学累加层,由光学相干性实现。
在本发明的一个实施例之中,所述光学非线性层由可编程探测模块实现。
在本发明的一个实施例之中,所述多个单层衍射层次序连接。
在本发明的一个实施例之中,所述光学神经网络结构包括三层光电D2NN。
在本发明的一个实施例之中,所述光学神经网络由循环模块组成,其中,每个循环模块输出为当前状态,且为循环状态;每个循环模块的输入包括两部分:前一循环模块的输出状态和时序输入数据;每个循环模块内部包含更多状态;在执行推断过程中,该循环神经网络后端可连接其他衍射神经网络结构。
本发明的优势在于现有的光学计算存在可编程性和大规模计算不可兼顾的矛盾,提出了一种可实际应用的通用光学计算处理器。经实验验证,相比当前最新的电子图形计算单元(GPU),本发明能够实现4倍以上的计算速度提升,以及25倍以上的计算效率提升,同时,该发明还拓宽了光学神经网络的应用范围,对通用光电计算处理器的实现有重要意义。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1(a)-(b)示意性地示出了根据本发明优选实施例的可编程光学衍射计算处理器的示意图和结构图;
图2(a)-(f)示意性地示出了根据本发明优选实施例的基于可编程光学衍射计算处理器的前馈衍射神经网络,以及基于可编程光学衍射计算处理器的自适应训练算法;
图3(a)-(e)示意性地示出了根据本发明优选实施例的基于可编程光学衍射计算处理器的网络中衍射网络;
图4(a)-(f)示意性地示出了根据本发明优选实施例的基于可编程光学衍射计算处理器的循环神经网络;
图5为示出了DPU系统的计算速度和计算能效的表格。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
为了使本发明的内容更加清楚和易懂,下面结合具体实施例、附图和表格对本发明的内容进行详细描述。
<第一实施例>
本发明DPU的原理如图1(a)所示。DPU是一种光电神经形态处理器,由大规模衍射感知器神经元和加权光学器件互连组成。它代表了一个基本的构建基块,可以对其进行编程以建立具有高模型复杂性和准确性的各种类型的衍射神经网络。在本发明的实施例之中,为了用衍射神经元实现光学信息处理,可使用信息编码(IC)模块对单位输入的数据进行量化,并将其光电转换为复数值光学场。不同的输入节点通过光衍射连接(DC)物理连接到各个神经元,其中控制连接强度的突出权重由波前的衍射调制(DM)确定。每个衍射光电神经元执行其加权输入的光场总和(OS),并通过对光电转换过程中自然发生的计算光场应用复数激活(CA)函数来生成单位输出,并输出至多个输出节点。
图1(b)展示了DPU的一种实现方式,在本发明的实施例之中,可通过可编程器件来实现该衍射神经元。具体地,本发明可采用具有极高数据吞吐量(即每秒千兆字节(GB/s))的可编程光电设备来实现DPU,该DPU允许进行高速神经网络配置并实现视频速率推断功能。在这项工作中,本申请系统旨在处理输入图像和视频的大规模视觉信号。因此,选择了数字微镜器件(DMD)和空间光调制器(SLM)作为光调制器,而使用互补金属氧化物半导体(sCMOS)传感器用作光电探测器(即图中的相感器)。DMD提供高光学对比度以执行信息编码(IC),有助于系统校准和光信号处理。它将二进制化的单元输入编码为相干光场的幅度,在本示例中,其相分布随后由相位SLM调制,以实现衍射调制(DM)。输入节点和人工神经元之间的加权连接(DC)通过自由空间光学衍射实现,其中每个神经元的接受场由从SLM平面到传感器平面的衍射量确定。在本发明的实施例之中,利用sCMOS像素的光电转换特性来实现人工神经元(即光场相加(OS)和复数激活函数(CA))的功能,并高效生成单位输出。利用光电效应来测量入射光场的强度,因为CA功能避免了制备非线性光学材料并降低了系统复杂性。通过电信号控制和缓冲大规模并行光电数据流,可以对DPU进行时间多路复用和编程,以定制不同类型的光学神经网络(ONN)架构。
<第二实施例>
通过构建用于对MNIST手写数字进行分类的光电深度衍射神经网络(D2NN),本发明验证了所提出的自适应训练方法的有效性以及DPU的功能。D2NN的结构如图2(a)所示。
数值仿真证明,与电子计算相比,全光学D2NN模型可以以非常高的模型精度对MNIST数据库进行分类。然而,实验困难来自物理系统的缺陷,例如层未对准,光学像差和制造误差等,这些缺陷不可避免地使计算机设计的网络模型的性能下降,并导致数值模拟和实际实验之间的差异。本发明表明,通过应用DPU输出的测量中间光场来自适应地调整网络参数,可以在光电D2NN中有效补偿这种系统误差引起的模型退化。与试图直接在系统上更新梯度的现场训练解决方案相比,本申请的自适应训练方法逐层校正了计算机训练的模型,具有高鲁棒性和高效率的优势。
自适应训练的流程在图2(b)中予以示出。本发明首先采用计算机电子预训练过程来模拟网络模型并学习其参数。与在线训练相比,计算机模拟训练通过利用现有的高性能物理模型和系统参数,具有较低的训练复杂性。然后,通过部署网络结构并对单个DPU层的SLM进行编程以载入网络参数,将预训练的模型转移到光电D2NN系统中。在实验中,验误差扭曲了每一层神经元的波前连接,据此本发明从自适应光学器件中借鉴了基本原理,以便依次补偿每一层的波前畸变并减轻误差累积。为了校正当前层,本发明使用训练集中的样本现场记录了其DPU输出,并采用它们作为下一层的输入,以进行后续衍射层的计算机重训练。只需将决策系数乘以输出类别的能量分布即可校正最后一层的误差,例如,将10个类别的10个系数乘以输出类别,其优化使用相同的训练原理图。自适应训练过程会微调每个衍射层的参数,以适应模型传递误差,并有效地恢复高推理精度。
正如前文所提及,MNIST分类是通过使用三层光电D2NN进行的(图2(a)),该D2NN可以56fps的推理速度进行实验操作。该模型在计算机上利用了MNIST训练集的训练集数据进行训练,该训练集包含55,000张图像,并且在测试集的10,000位图像上实现了盲测试精度为97.6%。训练目标设置为将输入的手写数字(即从“0”到“9”)分别映射到输出层(即第3层)上的十个预定义区域中,在该区域中通过找到目标区域来确定分类结果,输入输出样例如图2(c)所示。如果不进行自适应训练,则由于将系统误差逐层累积,因此将预训练模型直接转移到本发明的光电系统中会使识别准确度急剧下降至63.9%。如测试集的示例数字“2”和“0”所示(图2(c),左和中),层间误差累积导致每层DPU输出的强度分布逐渐偏离预训练模型,这会降低聚焦在目标区域上的能量百分比,从而可能导致识别类别错误。例如,数字“0”的模拟输出的能量分配百分比的90.8%正确地集中在第零个区域;但是,它在实验期间降低到5.5%,并且低于第六个输出区域的25.2%,即被误分类为数字“6”。混淆矩阵(图2(e),左)总结了MNIST测试集中所有实例的分类结果,其中对角线和非对角线值分别代表每个类别的正确和错误预测的百分比。结果表明,直接模型传递具有很大比例的错误预测,尤其是对于那些小于正确预测的60%的数字(例如“0”,“3”,“8”,“9”)产生偏差。
为了避免系统错误并提高识别性能,通过对预训练模型进行两阶段微调,对构造的三层光电D2NN进行自适应训练。具体来说,本发明可以选择使用完整训练集或小型训练集(在此示例中为2%)在实验精度和训练效率之间进行权衡,并以此记录第一和第二层的DPU输出在第一和第二适应训练阶段。第一自适应训练阶段使用实验测量的第一层的输出作为第二层的输入,并在计算机上重新训练第二和第三衍射层的参数。同样,第二层的实验输出用于在第二个自适应训练阶段对第二个第三衍射层进行计算机重训练。每个适应性训练阶段都通过使用预先训练的模型对其进行初始化并保持相同的训练设置,对网络参数进行了计算机微调。在每个阶段之后,SLM的相位模式都会使用精炼的参数进行相应更新,以适应系统缺陷并减轻系统错误的累积。通过自适应训练,DPU输出的强度分布在仿真和实验之间更加匹配,尤其是在最后一层;在实验过程中,示例性测试数字“2”和“0”均已正确分类(图2(c),右)。图2(b)中的收敛图表明,通过使用实验测量的层输出完善预训练模型的参数,自适应训练的第一和第二阶段将系统误差引起的测试精度从82.1%降低到97.4%和84.9%完整训练集(橙色图)分别达到96.3%;微型训练集(黄色图)分别从82.1%至95.9%和75.4%至93.6%。尽管准确性较低,但微型训练集的效率更高,即使用微型训练集的20个周期约用时3分钟,而15个周期用时3.8小时的预训练(蓝色图)则更高。经过决策系数乘以自适应训练后,克服了模拟与实验之间较大的模型差异,在全训练集的情况下,实验测试准确性从63.9%(绿星)提高到96.0%(橙星)在微型训练集下提升到93.9%(黄星)。根据图2(e)中的混淆矩阵,正确的类别预测率都得到了改善,并且大于93%。自适应训练之前(图2(f),顶部)和之后(图2(f),右下方)之间的衍射层之间的相位差直方图反映了第二和第三衍射层的微调过程,以适应系统误差(图2(f)),左下角),其中很大比例的衍射神经元的相位调制值变化很小。
值得注意的是,自适应训练是与DPU相匹配的训练算法,其原理并非只适用于本实施例。在后文的两个实施例中,均采用了自适应训练。
<第三实施例>
在卷积神经网络(CNN)架构中,将隐藏层分割为具有权重共享的一组特征图是导致其高模型性能的关键机制。本发明证明,通过设计多通道衍射隐藏层及其内部和内部互连结构,可以进一步增强光电D2NN的推理能力和模型鲁棒性(图3(a)和(b))。由于DPU中单元输入的相位调制本质上等效于频域中的复杂卷积运算,因此本发明通过堆叠多个DPU在每个隐藏层上实现多个衍射特征图。每个功能图都是通过DPU输出的高速缓存和加权求和生成的,并设置共享同一DPU层,以减少网络参数并实现高效训练。本发明将构建的架构称为网络中衍射网络,即D-NIN-1,因为每个衍射特征图都通过DPU的共享内部连通性从外部加权连接到上一层的所有特征图。D-NIN-1的内部神经网络是通过DPU实施的,即DPU通过光学衍射完全连接输入和输出特征图,这一点与利用多层感知机作为内部连接的电子网络中衍射网络不同。为了融合多通道衍射特征图,采用特征图的外部连接示意图对上一层的输入特征图进行DPU输出的加权求和。通过复杂的内部和外部神经元连接结构来计算每个隐藏层的更多抽象特征,D-NIN-1的网络输出在DPU读出层之后获得的,并用于最终决策。
本发明通过在图3(b)中构建三层架构来评估D-NIN-1的性能,并在MNIST分类任务上证明了其优于三层D2NN(图2(a))的出色模型准确性和鲁棒性。D-NIN-1的隐藏层(在图3(b)中为第1层和第2层)不是在每一层都具有单个衍射特征图,而是配置了分别对应于三个DPU层的三个衍射特征图。通过与D2NN相同的DPU设置和计算机模拟培训程序,D-NIN-1模型将盲法测试的准确性从97.6%提高到98.8%,超过了电子CNN架构LeNet-1的模型准确性。图3(b)中D-NIN-1与LeNet(包括LeNet-1,LeNet-4和LeNet-5)的收敛图比较表明,相对于训练,D-NIN-1具有最高的收敛速度(见箭头)。此外,通过将低复杂度的电子全连接层集成在D-NIN-1++上,可以进一步提高D-NIN-1的模型性能,并超过LeNet-4的MNIST分类精度(99.0%)。D-NIN-1++的末尾尽管集成了电子计算操作,但光学计算仍然占主导地位,光学和电子计算操作之间的比例为1.16×106,这在计算速度和能效方面保证了其高性能。
与光电D2NN相比,在每个隐藏层上堆叠多个DPU可以提供更高的自由度和鲁棒性,以微调D-NIN-1的预训练模型以适应系统缺陷。通过对光电DPU系统进行编程以部署D-NIN-1模型,经过自适应训练后,整个测试数据集的盲测试实验分类精度达到了的96.8%。图3(d)总结了10,000个测试数字的推理结果的混淆矩阵,与D2NN相比,D-NIN-1提高了大多数类别的正确预测的百分比,并且所有类别的预测值均大于94%。本发明还针对推断结果分析了输出层上十个预定义检测区域的能量分布(图3(d),右)。如能量矩阵的对角线值所示,D-NIN-1在每个类别的目标区域上实现的平均能量百分比均大于这表明网络成功学习了在正确的位置上生成最大能量的情况。输入数字的目标区域,(图3(e),上排)显示了在自适应训练构造的三层D-NIN-1之后每个DPU的相位调制参数。在图3(e)的中间行和底部行分别显示了每一层的对应特征图和两个示例数字“3”和“5”的分类结果。两个示例性数字在D2NN中被误分类,即由于右侧和底部的数字轮廓相似,因此将数字“3”误分类为“8”,而将数字“5”误分类为“3”。相比之下,D-NIN-1可以通过逐渐抽象输入数字的更多特征表示来做出分类决策,从而正确地对两个数字进行分类。实验结果表明,最大能量分布百分比分别为32.3%和53.2%,分别正确地聚焦在第三和第五目标区域上(图3(e),最后一栏)。
<第四实施例>
除了单张图像,DPU的可重构性还使本发明能够构建大规模的衍射递归神经网络(D-RNN),以执行视频序列的高精度识别任务。为了演示其功能,本发明基于DPU层的循环连接配置了标准的RNN架构,并将其应用于基于视频的人体动作识别的重要任务。所提出的D-RNN的折叠和展开表示在图4(a)和图4(b)中示出。图4(a)和图4(b)分别包括输入层,隐藏层和输出层在时间上具有共享衍射参数的时间顺序连接。输入序列的内部状态是通过在不同时间步长处生成衍射隐藏状态而形成的。对于在t步的D-RNN隐藏层,隐藏状态ht是t-1步的隐藏状态ht-1和t步的输入序列xt的函数。本发明采用仿射组合来融合这两个源的状态,即ht=λf1(ht-1)+(1-λ)f2(xt),其中mt=f1(ht-1)表示从ht-1开始的记忆状态映射;it=f2(xt)表示从xt映射的输入状态映射。其中λ∈(0,1)是控制相对于输入状态和记忆状态强度的融合系数。映射功能f1(·)和f2(·)的复杂性可以通过使用多个DPU层来增加,除了D-RNN的时间深度架构外,还形成空间深度隐藏层结构,例如在图4(a)中。而在图4(b)中,考虑到本发明系统的识别速度和任务的复杂性,这两个功能都是通过单个DPU层实现的,该DPU层以约70fps的读取速度操作系统。D-RNN的最后一个隐藏状态汇总了输入序列的特征,并通过DPU或电子输出层进行了提取和读取,从而生成了用于确定动作类别的分类输出分布。
在两个标准基准数据库(即Weizmann和KTH数据库)上对构建的用于人类动作识别任务的D-RNN进行了评估,并进行了预处理(请参见“方法”)以适应网络输入。Weizmann数据集包括十类自然人为动作(弯曲,穿夹克跳跃,向前跳跃,原地跳跃,奔跑,侧身跑,单脚跳跃,步行,双手招手和单手招手),被分为60和30个视频(动作)作为训练和测试集每个视频序列分别具有帧。对于KTH数据集,本发明使用第一个场景(150个视频)和16∶9的数据库分割来训练和测试系统36,其中每个视频序列具有帧,属于六个人类动作类别之一:拳击,拍手,挥手,慢跑,跑步和散步。隐藏层在不同时间步的循环连接允许D-RNN处理输入的可变序列长度。尽管较长的网络序列长度(较大的N)可以合并更多的帧来进行识别决策,但是这会给网络带来训练上的困难以及长期记忆的遗忘,即在时间步长上消失帧信息。距当前时间步很远。因此,对于数据库中长度为M的每个视频序列,本发明设置N<<M并将其划分为具有相同长度N的子序列数,以训练和测试D-RNN。本发明使用两个指标来量化评估模型的准确性,即帧准确性和视频准确性。通过统计汇总测试集中所有子序列的推理结果,可以获得帧精度。视频准确度是根据测试集中每个视频序列的预测类别计算得出的,该预测类别是通过对视频中所有子序列的测试结果应用胜者通吃策略(投票最多的动作类别)得出的序列。
通过控制变量实验和性能分析,对于Weizmann和KTH数据集,网络序列长度分别设置为3和5,从而导致每个视频序列中的子序列数分别为和首先通过配置DPU读出层并在Weizmann和KTH数据库中以0.2的最佳融合系数对进行预训练,对D-RNN架构进行评估,从而实现了88.9%的盲测试帧精度,对应两种型号的视频准确度分别为100%和94.4%。为了通过实验实现该模型,本发明仅根据D-RNN的递归连接固有性,通过微调读出层的调制系数来执行自适应训练。自适应训练后,内存,读入和读出DPU层的设计调制系数如图4(c)所示,其中顶部和底部分别对应于Weizmann和KTH数据库的模型。与未进行自适应训练的实验结果相比,对于Weizmann数据库,自适应训练将实验帧准确度从51.0%提高到82.9%,并将实验视频准确度从56.7%提高到96.7%。同样,对于KTH数据库,自适应训练后的实验帧和视频准确性分别从53.8%提高到85.1%和从55.6%提高到94.4%。如果不进行自适应训练,D-RNN的隐藏层会在不同的时间点累积系统误差,从而导致实验识别精度大大降低。但是,自适应训练的DPU读出层能够提取子序列的保留时间信息,并恢复了模型精度。
通过计算每个测试视频序列中每个类别的投票百分比,本发明使用图4(d)中的分类投票矩阵来可视化所有子序列的实验测试结果,其中投票百分比最高的类别表示预测的类别。视频序列。按照视频类别对目标测试视频序列进行排序,以使两个分类投票矩阵的对角线位置代表正确的预测。实验结果显示,对于Weizmann(图4(d),左)和KTH(图4(d),右),一个视频序列(即第25个)和三个视频序列(即第6个,第11个和第15个)的分类错误,并用白色箭头标记。4(c),右)数据库。此外,对于KTH数据库,在相似度更高的动作之间,例如在拍手和挥手动作(分别为1和2的类别标记)之间,对子序列的预测更加不正确(图4(d),右)。图4(f)显示了四个示例性测试结果,包括来自Weizmann数据库的侧面走和夹克跳跃动作类别(图4(f),左侧)以及来自KTH数据库的挥手和步行(图4(f),右侧)。在t的不同时间步长处,D-RNN隐藏层使用输入帧xt的顺序读入来逐步更新其输出状态ht,这些输入帧生成了输入子序列的输入状态(图4(f)的第一至倒数第二列,左和右)。在训练过程中使用预定义的输出区域,即分别用于Weizmann和KTH数据集的十个和六个区域,每个区域对应一个类别,DPU输出层读出输入子序列的隐藏态,并正确分类四个示例性子区域。通过在目标区域上产生最大能量来排序(图4(f)的最后一列,左和右)。
通过利用实验采集的D-RNN隐藏层并使用电子读出层代替DPU读出层,可以进一步增强D-RNN的识别准确性和鲁棒性,从而形成D-RNN++体系结构(图4(b)),右)。受蓄水池计算(reservoir computing)的读出模式启发,本发明采用电子线性完全连接层读出,该层将最后一个隐藏状态作为输入节点,并完全连接到输出动作类别节点,其权重使用快速岭回归算法可以有效地学习。隐藏状态的信息冗余使本发明能够通过平均池化最后一个隐藏状态来降低电子读出层的复杂性,即减少读出节点的数量。本发明评估了D-RNN++相对于读出的节点的实验帧和视频精度,如图4(e)所示。结果表明,对于Weizmann和KTH(第一场景)数据集,在优化的电子读出节点数2500下,D-RNN++分别达到了100%和96.3%的实验视频精度。电子读出层的低复杂度实现对D-RNN的光学计算操作的比例有微小的影响,但保留了计算效率的比例关系。此外,D-RNN++对Weizmann和KTH(第一场景)数据库进行分类的实验视频准确性达到了可比甚至超过了最新的电子计算方法(据报道其准确性为100%和96.0%)。
<第五实施例>
本实施例计算本发明DPU构建的DNN架构的计算速度和能效,其数值是基于时间和(系统)能耗的计算运算总数(包括光学和电子计算运算)计算出来的。
光学操作数。DPU中的光学计算操作(0P)总数由三部分组成:光场调制,衍射加权连接和复杂的非线性激活。在计算过程中,将DPU中的复数运算数转换为实数运算数,其中每个复数乘法包括4个实数乘法和2个实数求和,而每个复数求和数包括2个实数求和。在输入节点和输出神经元数设置为K的情况下,光场调制和复数非线性激活都具有K个复数乘法,每个乘法均对应于6K的实际运算数。输入节点和输出神经元之间的物理衍射加权连接具有K2复数乘法和(K-1)K复数和,对应于2K(4K-1)的实际操作数。因此,DPU中光学计算的总实际运算数为:Rd=2K(4K-1)+6K+6K=2K(4K+5)OP。
电子操作数。DPU通过在三个方面以电子方式分配一小部分计算,从而在网络配置期间实现了对数据流的灵活控制:(1)通过光电实施,单位输入的基本二值量化需要2K实际操作,包括阈值的计算和数值量化。(2)对于D-NIN-1和D-RNN体系结构的配置,DPU之间的每个外部连接都需要K个实数乘法,并且连接之间的实数求和也需要K个运算。(3)全连接的电子读出层具有Kr=(2K1-1)K2实数操作,其中K1个读出节点和K2个类别节点。
总操作数(Rt=Ro+Re)。借助前文详细介绍的网络设置,用Ro和Re表示光学和电子操作。其中Ro=Q·Rd,Q为DPU层的时间复用数;对于D2NN和D-NIN-1(++),K=560×560;对于D-RNN(++),K=700×700;对于D-NIN-1,K1=196,K2=10;使用Weizmann数据集的D-RNN的K1=2500和K2=10;对于带有KTH数据集的D-RNN,K1=2500和K2=6。
DPU构建的DNN架构的计算速度可表示为:
其中τt=Qτc表示计算的总持续时间,其中τc为DPU工作流程每个周期的持续时间,且Re<<Ro。令τo=Q·τd表示处理Ro光操作的不同网络体系结构的持续时间,其中τd代表DPU层处理Rd光操作的持续时间。然后,计算能效可表示为:
其中Et=Eo+Ee表示计算操作的能耗;Eo=PO·τO表示光学操作的能耗,其中PO为光源的功率;Ee=Re/ηe表示电子操作的能耗,ηe是采用的电子计算处理器的能量效率。通过这项工作中DPU系统的光电实现,入射光的功耗由一个硅光电二极管传感器测量为1.4μW,即PO=1.4μW。对于D2NN和D-NIN-1,本发明有τc=5.9ms和τd=4.4ms,对于D-RNN有τc=7.1ms和τd=5.5ms。由于DPU系统的电子操作是通过CoreTMi7-5820K CPU@3.30GHz处理的,因此计算速度ve=188.5GOPs/s,功耗Pe=140.0W,能效ηe=ve/Pe=1.3GOPs/J。因此,Eo<<Ee,DPU系统的计算能效比采用的电子计算处理器高大约Ro/Re倍。本发明还通过进一步考虑采用的可编程光电设备的能耗来计算系统能效ηsys:
其中Et=Eo+Ee+Edev表示不同体系结构的DPU系统的总能耗,其中Edev和Pdev分别为光电设备的总能耗和功耗,其中sCMOS传感器的功耗约为30.0W,SLM为10.0W,DMD为6.1W。
基于以上计算方法,图5的表格中总结了不同体系结构的计算速度和能量效率的计算结果。现有先进的图形计算设备Nvidia Tesla V100具备30TOPs/s的峰值计算速度和300W计算功耗(0.1TOPs/J)。相比该设备,本发明能够实现4倍以上的计算速度提升,以及25倍以上的计算效率提升。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,包括:
多个输入节点和多个输出节点:
多个神经元,其中,所述多个输入节点通过多个光衍射连接到所述多个神经元,其中,所述多个神经元的连接强度的权重由衍射调制确定,且每个光电神经元执行其加权输入的光场总和,并通过对光电转换过程中自然发生的计算光场应用复数激活函数来生成单位输出,并输出至多个输出节点,其中,所述多个神经元由可编程器件构成,其中,
所述可编程器件包括:数字微镜器件、空间光调制器和光电探测器构成的光学神经网络,其中,所述数字微镜器件提供高光学对比度以执行信息编码;所述空间光调制器,用于实现衍射调制,以上通过自由空间光学衍射实现输入节点和神经元之间的加权连接,其中每个所述神经元的接受场由从所述空间光调制器平面到传感器平面的衍射量确定;所述光电探测器用于实现所述神经元的光场相加和复数激活函数。
2.如权利要求1所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,其中,所述光学神经网络结构包括多个单层衍射层,且每个所述单层衍射层包括输入编码层、衍射连接层、光学累加层以及光学非线性层。
3.如权利要求2所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,所述输入编码层,由编程输入模块实现,用于将输入的数据编码于入射光,其中,编码物理维度包括幅度编码、相位编码之中的一种或多种,且编码数据类型包括离散编码、连续编码之中的一种或多种。
4.如权利要求2所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,所述衍射连接层由光学衍射实现。
5.如权利要求2所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,所述光学累加层,由光学相干性实现。
6.如权利要求2所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,所述光学非线性层由可编程探测模块实现。
7.如权利要求1所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,所述多个单层衍射层次序连接。
8.如权利要求1所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,所述光学神经网络结构包括三层光电D2NN。
9.如权利要求1所述的基于光学衍射原理和可编程器件的光学衍射计算处理器,其特征在于,所述光学神经网络由循环模块组成,其中,
每个循环模块输出为当前状态,且为循环状态;
每个循环模块的输入包括两部分:前一循环模块的输出状态和时序输入数据;
每个循环模块内部包含更多状态;
在执行推断过程中,循环神经网络后端可连接其他衍射神经网络结构。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011339778.7A CN112418403B (zh) | 2020-11-25 | 2020-11-25 | 基于光学衍射原理和可编程器件的光学衍射计算处理器 |
US17/517,085 US20220164634A1 (en) | 2020-11-25 | 2021-11-02 | Optical diffractive processing unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011339778.7A CN112418403B (zh) | 2020-11-25 | 2020-11-25 | 基于光学衍射原理和可编程器件的光学衍射计算处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112418403A CN112418403A (zh) | 2021-02-26 |
CN112418403B true CN112418403B (zh) | 2022-06-28 |
Family
ID=74843765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011339778.7A Expired - Fee Related CN112418403B (zh) | 2020-11-25 | 2020-11-25 | 基于光学衍射原理和可编程器件的光学衍射计算处理器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220164634A1 (zh) |
CN (1) | CN112418403B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113595637B (zh) | 2021-09-27 | 2022-01-25 | 清华大学 | 全光感算一体光场智能处理系统及方法 |
CN113644984B (zh) * | 2021-10-14 | 2022-03-11 | 清华大学 | 光电数字逻辑运算的光学逻辑元件及其逻辑运算方法 |
CN113780258B (zh) * | 2021-11-12 | 2022-02-22 | 清华大学 | 一种光电计算光场深度智能感知分类方法和装置 |
CN115081610B (zh) * | 2022-05-10 | 2023-03-28 | 清华大学 | 光信号处理方法及装置、电子设备及存储介质 |
CN114970836B (zh) * | 2022-07-28 | 2022-10-28 | 浙江大学 | 蓄水池神经网络实现方法、系统、电子设备及存储介质 |
CN115358381B (zh) * | 2022-09-01 | 2024-05-31 | 清华大学 | 光学全加器及其神经网络设计方法、设备及介质 |
EP4435672A1 (en) * | 2023-03-20 | 2024-09-25 | Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. | Multilayer opto-electronic neural network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784485A (zh) * | 2018-12-26 | 2019-05-21 | 中国科学院计算技术研究所 | 一种光学神经网络处理器及其计算方法 |
CN110334804A (zh) * | 2019-06-20 | 2019-10-15 | 清华大学 | 基于空间部分相干光的全光深度衍射神经网络系统及方法 |
CN110929864A (zh) * | 2019-12-05 | 2020-03-27 | 北京超放信息技术有限公司 | 光学衍射神经网络在线训练方法及系统 |
WO2020113240A2 (en) * | 2019-12-05 | 2020-06-04 | Futurewei Technologies, Inc. | Methods and apparatus for training optical deep diffractive neural networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200327403A1 (en) * | 2019-04-15 | 2020-10-15 | The Hong Kong University Of Science And Technology | All optical neural network |
-
2020
- 2020-11-25 CN CN202011339778.7A patent/CN112418403B/zh not_active Expired - Fee Related
-
2021
- 2021-11-02 US US17/517,085 patent/US20220164634A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784485A (zh) * | 2018-12-26 | 2019-05-21 | 中国科学院计算技术研究所 | 一种光学神经网络处理器及其计算方法 |
CN110334804A (zh) * | 2019-06-20 | 2019-10-15 | 清华大学 | 基于空间部分相干光的全光深度衍射神经网络系统及方法 |
CN110929864A (zh) * | 2019-12-05 | 2020-03-27 | 北京超放信息技术有限公司 | 光学衍射神经网络在线训练方法及系统 |
WO2020113240A2 (en) * | 2019-12-05 | 2020-06-04 | Futurewei Technologies, Inc. | Methods and apparatus for training optical deep diffractive neural networks |
Non-Patent Citations (3)
Title |
---|
All-optical machine learning using diffractive deep neural networks;Xing Lin etc.;《Science》;20180907;全文 * |
Orbital angular momentum detection based on diffractive deep neural network;Qingsong Zhao etc.;《Optics Communications》;20190327;全文 * |
基于10.6微米全光深度神经网络衍射光栅的设计与实现;牛海莎等;《红外与毫米波学报》;20200228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112418403A (zh) | 2021-02-26 |
US20220164634A1 (en) | 2022-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112418403B (zh) | 基于光学衍射原理和可编程器件的光学衍射计算处理器 | |
Zhou et al. | Large-scale neuromorphic optoelectronic computing with a reconfigurable diffractive processing unit | |
Zhang et al. | Spike-train level backpropagation for training deep recurrent spiking neural networks | |
WO2022134391A1 (zh) | 融合神经元模型、神经网络结构及训练、推理方法、存储介质和设备 | |
Mengu et al. | Analysis of diffractive optical neural networks and their integration with electronic neural networks | |
CN113887610B (zh) | 基于交叉注意力蒸馏Transformer的花粉图像分类方法 | |
JP6764473B2 (ja) | 抵抗型処理ユニット | |
Schmidhuber | Deep learning | |
CN106970615B (zh) | 一种深度强化学习的实时在线路径规划方法 | |
López | Artificial intelligence and advanced materials | |
Dai et al. | Incremental learning using a grow-and-prune paradigm with efficient neural networks | |
Kirtas et al. | Quantization-aware training for low precision photonic neural networks | |
CN109102000A (zh) | 一种基于分层特征提取与多层脉冲神经网络的图像识别方法 | |
Srinivasan et al. | Training deep spiking neural networks for energy-efficient neuromorphic computing | |
CN110309916B (zh) | 多级空频域调制非线性全光学深度学习系统及方法 | |
CN111680796A (zh) | 基于级联光耦合器的片上光子神经网络装置、芯片及其应用方法 | |
CN111582468A (zh) | 光电混合智能数据生成计算系统及方法 | |
CN118916714B (zh) | 一种基于图神经网络的代码相似性检测方法、设备及介质 | |
Shen et al. | Evolutionary spiking neural networks: a survey | |
Verma et al. | A" Network Pruning Network''Approach to Deep Model Compression | |
Zhang et al. | Automotive Object Detection via Learning Sparse Events by Temporal Dynamics of Spiking Neurons | |
Datta et al. | HYPER-SNN: Towards energy-efficient quantized deep spiking neural networks for hyperspectral image classification | |
CN109670582A (zh) | 一种全定点化神经网络的设计方法 | |
Woźniak et al. | Deep learning incorporating biologically-inspired neural dynamics | |
Pavanello et al. | Special Session: Neuromorphic hardware design and reliability from traditional CMOS to emerging technologies |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220628 |
|
CF01 | Termination of patent right due to non-payment of annual fee |