CN110287983B - 基于最大相关熵深度神经网络单分类器异常检测方法 - Google Patents
基于最大相关熵深度神经网络单分类器异常检测方法 Download PDFInfo
- Publication number
- CN110287983B CN110287983B CN201910389207.5A CN201910389207A CN110287983B CN 110287983 B CN110287983 B CN 110287983B CN 201910389207 A CN201910389207 A CN 201910389207A CN 110287983 B CN110287983 B CN 110287983B
- Authority
- CN
- China
- Prior art keywords
- output
- elm
- sample
- maximum correlation
- error
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于最大相关熵深度神经网络单分类器异常检测方法。本发明实现如下:输入只包含正常类的训练数据集;输入样本数据经过多层ELM‑AE自编码器编码和解码处理,得到重构的特征值;将重构的特征值输入最后一层ELM,基于最大相关熵准则的目标函数求得输出权值,结合定点迭代更新的梯度推导被用于输出权重的优化,并得到实际输出;然后,得到实际输出与输出标签的距离误差向量,并从大到小排列,根据设置的阈值参数,确定分隔正常类和异常类的阈值;最后,将测试数据输入到该基于最大相关熵的深层神经网络单分类器模型中,测试该模型的识别效果。本发明有较强鲁棒性。结合超限学习机保留其快速的学习性能和良好的泛化性能。
Description
技术领域
本发明属于机器学习和数据挖掘领域,涉及一种基于最大相关熵深度神经网络单分类器异常检测方法。
背景技术
异常检测是数据挖掘中的重要组成部分,异常数据是指在数据集中偏离大部分数据或者与数据集中其他大部分数据不服从相同统计模型的小部分数据。而异常检测的目的是识别检测出异常数据。异常检测在信用卡欺诈、网络入侵、医疗数据智能监控、故障诊断、场景识别等众多领域中均有重要应用。
单分类器是异常检测算法中最具有代表性的方法之一,其特点是只专注于目标样本建模;相比于传统多分类算法要求有足够丰富的多类样本数据,单分类器更加实用且更具有可行性。。当前流行且具有代表性的单分类器有单分类支持向量机(OC-SVM),朴素帕森密度估计(NaiveParzendensityestimation),自动编码器(Auto-Encoder),单分类超限学习机(OC-ELM)以及多层单分类超限学习机(ML-OCELM)。
然而,现有的单分类算法的优化通常建立在最小化均方误差(MSE)目标损失函数的基础上,其已被证明无法有效处理数据中存在非高斯噪声和异常值的优化问题。因此,如何找到一种鲁棒性能更好的算法,使它能更好的处理一般数据集中非高斯噪声的影响成为了一个核心问题。
为解决这个问题,本发明提出了一种基于最大相关熵准则的深度神经网络超限学习机单分类器实现异常检测。
相关熵的概念最早在2006年被Santamaria等人提出,其想法最初是为解决信息论学习中不能在同一测量函数中处理随机序列时间结构及其统计分布的问题,提出的一种广义相关函数,进一步地,Liu等又将该广义相关函数推广到两个随机变量的情形,从而形成了相关熵的概念,相关熵作为一个非线性鲁棒算法,已被成功应用于信号处理和机器学习等多个领域,比如鲁棒回归分析、滤波、降维、分类和人脸识别等。近年来研究表明最大相关熵准则可以有效抑制非高斯噪声与异常值,其基本原理如下
设两随机变量为X,Y,它们的相关熵定义为:
Vσ(X,Y)=E[kσ(X-Y)]=∫K(x,y)dFXY(x,y)
其中E表示期望算子,kσ(·)表示满足Mercer条件的正定核函数,FXY(x,y)表示两个随机变量的联合分布函数。实际问题中该联合概率密度函数往往是未知的,此时可以利用有限样本数据对来获得相关熵的一个估计式:
一般情况下上式中的核函数采用高斯核,则上式可写成:
其中σ>0为核宽。当X,Y间的相似度越高时,上式的值就越大,最大化上式即为最大相关熵准则(Maximum Correntropy Criterion,MCC)。
相比于其他相似性度量准则,比如最小均方准则,相关熵准则有如下优点:
(1)该准则包含所有偶数阶矩并可用于非线性和非高斯信号处理;
(2)核函数能够有效控制高阶矩加权;
(3)该准则实际是一个局部相似性度量准则,因此该准则对离群点具有较好的鲁棒性。
发明内容
本发明是针对现有异常检测单分类算法中存在的问题,提供一种基于最大相关熵的深度神经网络单分类检测算法,具有更好的鲁棒性。
本发明主要包括如下步骤:
步骤1、输入只包含正常类的训练样本集,进行特征归一化;
步骤2、提取归一化后的训练样本的特征,即将训练样本经过多层ELM-AE自编码器编码和解码处理,得到重构的特征值;
步骤3、计算分类学习的输出权重β,将重构的特征值输入最后一层ELM,基于最大相关熵准则的目标函数求得输出权值β,结合定点迭代更新的梯度推导优化网络输出权重,并得到实际输出;
步骤4、计算单分类器阈值θ,计算实际输出与样本标签的误差距离,并将得到的误差距离进行从大到小排序,根据设置的阈值参数,确定分隔正常类和异常类的阈值;
步骤5、输入测试数据进行测试,将测试数据输入到基于最大相关熵的深层神经网络单分类器模型中,测试该模型的识别效果;
其中,测试数据包含正常类和异常类。
步骤1具体实现如下:
步骤2具体实现如下:
hk=g(wkxα+bk),(wk)Twk=I,(bk)Tbk=1,
其中:g()表示激活函数,k=1,2,...,K,为ELM-AE个数;I是单位向量;
步骤3具体实现如下:
3-1、得到初始化输出权重
经过K-1层ELM-AE得到输出矩阵Ⅰ,表示为X'=[x1',x'2,...,x'N],采用最大相关熵准则取代均方误差来优化目标函数;给定高斯核宽度σ,最大容忍误差ε和最大迭代次数J,并初始化输出权重β0=0,初始误差并将初始误差转化为对角矩阵
3-2、优化输出权重
3-3、计算成本函数
计算成本函数J(βj)和J(βj-1),j=1,...,J,当|J(βj)-J(βj-1)|≥ε或者j<J时,则重复步骤3-2进行迭代更新,直到满足条件得到最终的输出权值β;
步骤4具体实现如下:
4-1、计算实际输出Yα与样本标签T的误差距离:
其中,hK(x'i)为HK第i个样本即第i列数据;
4-3、设置阈值参数μ,得到阈值为θ=εα[floor(μ·N)];
其中:floor为取不大于μ·N的整数。
步骤5具体实现如下:
本发明有益效果如下:
本发明采用的是超限学习机自编码器(ELM-AE)算法进行异常检测数据的特征提取,该算法比普通自编码(AE)算法更为高效,它将原始自编码器进行特征提取优化的BP梯度下降法更换为ELM,可以快速处理较高维度的输入数据,提取其主干部分信息,并且可以实现原始数据高维度、等维度、低维度的特征表达。通过多个ELM-AE神经网络叠加增强了特征提取能力,特别是针对异常检测中的高维不均衡大数据集。
本发明将提取得到的特征输入到基于最大相关熵的ELM单分类器进行检测识别,极大增强了单分类器处理非高斯噪声和噪点的能力,具有较强的鲁棒性。而且结合超限学习机保留了其快速的学习性能和良好的泛化性能,满足处理更一般性数据的要求。
本发明相对于基于传统神经网络、支持向量机和最近邻的异常检测算法,除了可以更为快速高效地特征提取并降维,在ELM识别分类中结合最大相关熵,大大增加了算法应对非高斯噪声的能力,鲁棒性更好。不仅适用于小数据集也同样适用于高维大数据集,具有普适性。对于今后的实际应用具有重要的意义。
本发明同样测试了现场实测信号的异常检测效果,具有复杂情况下较强的抗干扰能力和实时性,那么针对理想状态下的异常数据集处理将具有更好的适应性和准确率,基于最大相关熵的深层神经网络单分类算法将对今后各个领域的异常数据处理提供有效的帮助和启发。
附图说明
图1为本发明流程示意图;
图2为单隐层前馈神经网络示意图;
图3为ELM-AE网络结构图;
图4为MC-MOCELM网络结构图。
具体实施方式
下面结合附图和实例对本发明作进一步说明。
如图1所示,首先取训练数据(仅正常数据集)输入到多层ELM-AE进行特征提取,再通过基于最大相关熵准则的ELM分类层(无隐含层)进行分类输出实际结果,根据得到的实际输出与样本标签的误差从大到小排序,根据设置的阈值参数得到阈值。之后将待测试的样本喂入训练好的异常检测模型,得到测试数据实际输出和样本标签的误差,大于阈值的归为异常类,小于等于阈值的为正常类,并计算准确率。图2显示了单隐层前馈神经网络的基本结构,也就是ELM算法的框架。图3显示了单个ELM-AE的网络结构,也就是自编码器采用了ELM算法作为优化算法,加快了自编码器的训练速度,增强了泛化能力。图4即为本发明采用方法的网络结构,三层ELM-AE堆叠后再通过一个无隐含层的基于最大相关熵的ELM分类层。
本发明主要实现流程如下:首先,输入只包含正常类的训练数据集;输入样本数据经过多层ELM-AE自编码器编码和解码处理,得到重构的特征值;将重构的特征值输入最后一层ELM(不包含隐藏层),基于最大相关熵准则的目标函数求得输出权值β,结合定点迭代更新的梯度推导被用于输出权重β的优化,并得到实际输出;然后,得到实际输出与输出标签的距离误差向量,并从大到小排列,根据设置的阈值参数,确定分隔正常类和异常类的阈值;最后,将测试数据(包含正常类和异常类)输入到该基于最大相关熵的深层神经网络单分类器模型中,测试该模型的识别效果。
本发明的目的是针对现有的异常检测单分类算法中存在的问题,提供一种基于最大相关熵的深层神经网络单分类检测算法,是一种鲁棒性能更好的异常检测方法。
本发明主要包括如下步骤:
步骤1、输入训练样本进行特征归一化
步骤2、样本数据特征提取
其中:由于ELM-AE自编码器通过简单地学习将输入复制到输出,所以输入和输出均为XA。
2-2、随机生成隐层输入权值矩阵和正交化偏置向量矩阵将输入对训练样本XA映射到相同或者不同的数据维度空间:hk=g(wkxα+bk),(wk)Twk=I,(bk)Tbk=1,其中:g()表示激活函数,k=1,2,...,K,k为ELM-AE个数。I是单位向量。
步骤3、计算分类学习的输出权重β
3-1、得到初始化输出权重
经过K-1层ELM-AE得到输出矩阵Ⅰ:X'=[x'1,x'2,...,x'N],采用最大相关熵准则取代均方误差来优化目标函数。给定高斯核宽度σ,最大容忍误差ε和最大迭代次数J,并初始化输出权重β0=0,初始误差并将初始误差转化为对角矩阵
3-2、优化输出权重
3-3、计算成本函数
计算成本函数J(βj)和J(βj-1),j=1,...,J,当|J(βj)-J(βj-1)|≥ε或者j<J时,则重复步骤3-2进行迭代更新,直到满足条件得到最终的输出权值β。
步骤4、计算单分类器阈值θ
4-1、计算实际输出Yα与样本标签T的误差距离,
其中,hK(x'i)为HK第i个样本即第i列数据。
4-3、设置阈值参数μ,得到阈值为θ=εα[floor(μ·N)]。
其中:floor为取不大于μ·N的整数,那么θ取εα中第该整数个误差作为阈值,比如这个整数是10,那么就是第10个误差作为阈值。
步骤5、输入测试数据进行测试
Claims (4)
1.基于最大相关熵深度神经网络单分类器异常检测方法,其特征在于包括如下步骤:
步骤1、输入只包含正常类的训练样本集,进行特征归一化;
步骤2、提取归一化后的训练样本的特征,即将训练样本经过多层ELM-AE自编码器编码和解码处理,得到重构的特征值;
步骤3、计算分类学习的输出权重β,将重构的特征值输入最后一层ELM,基于最大相关熵准则的目标函数求得输出权值β,结合定点迭代更新的梯度推导优化网络输出权重,并得到实际输出;
步骤4、计算单分类器阈值θ,计算实际输出与样本标签的误差距离,并将得到的误差距离进行从大到小排序,根据设置的阈值参数,确定分隔正常类和异常类的阈值;
步骤5、输入测试数据进行测试,将测试数据输入到基于最大相关熵的深层神经网络单分类器模型中,测试该模型的识别效果;
其中,测试数据包含正常类和异常类;
步骤1具体实现如下:
步骤2具体实现如下:
hk=g(wkxα+bk),(wk)Twk=I,(bk)Tbk=I,
其中:g()表示激活函数,k=1,2,...,K,为ELM-AE个数;I是单位向量;
2.根据权利要求1所述的基于最大相关熵深度神经网络单分类器异常检测方法,其特征在于步骤3具体实现如下:
3-1、得到初始化输出权重
经过K-1层ELM-AE得到输出矩阵Ⅰ,表示为X′=[x′1,x′2,...,x′N],采用最大相关熵准则取代均方误差来优化目标函数;给定高斯核宽度σ,最大容忍误差ε和最大迭代次数J,并初始化输出权重β0=0,初始误差并将初始误差转化为对角矩阵
3-2、优化输出权重
3-3、计算成本函数
计算成本函数J(βj)和J(βj-1),j=1,...,J,当|J(βj)-J(βj-1)|≥ε或者j<J时,则重复步骤3-2进行迭代更新,直到满足条件得到最终的输出权值β;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389207.5A CN110287983B (zh) | 2019-05-10 | 2019-05-10 | 基于最大相关熵深度神经网络单分类器异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910389207.5A CN110287983B (zh) | 2019-05-10 | 2019-05-10 | 基于最大相关熵深度神经网络单分类器异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287983A CN110287983A (zh) | 2019-09-27 |
CN110287983B true CN110287983B (zh) | 2021-07-09 |
Family
ID=68001815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910389207.5A Active CN110287983B (zh) | 2019-05-10 | 2019-05-10 | 基于最大相关熵深度神经网络单分类器异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287983B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110648282B (zh) * | 2019-09-29 | 2021-03-23 | 燕山大学 | 一种基于宽度神经网络的图像超分辨率重建方法及系统 |
CN111160563B (zh) * | 2019-12-02 | 2023-04-14 | 国网浙江省电力有限公司 | 基于极限学习机和密度聚类的海量报文掉线状态分析方法 |
CN111159961B (zh) * | 2019-12-13 | 2024-02-02 | 杭州广立微电子股份有限公司 | 一种基于曲线数据的异常检测方法及系统 |
CN111325402A (zh) * | 2020-02-21 | 2020-06-23 | 东南大学 | 基于bp神经网络的电动汽车用户充电行为的预测方法 |
CN111556017B (zh) * | 2020-03-25 | 2021-07-27 | 中国科学院信息工程研究所 | 一种基于自编码机的网络入侵检测方法及电子装置 |
CN111598222B (zh) * | 2020-05-14 | 2023-04-28 | 哈尔滨工业大学(威海) | 一种重优化深度自动编码器及发动机自动检测系统 |
CN111896038B (zh) * | 2020-06-24 | 2021-08-31 | 浙江大学 | 一种基于相关熵和浅层神经网络的半导体过程数据矫正方法 |
CN111854822B (zh) * | 2020-06-24 | 2021-06-29 | 浙江大学 | 一种基于相关熵和深层神经网络的半导体过程数据矫正方法 |
CN112614298A (zh) * | 2020-12-09 | 2021-04-06 | 杭州拓深科技有限公司 | 一种基于类内交互约束分层单分类的复合烟感监测方法 |
CN112393860B (zh) * | 2020-12-09 | 2022-12-20 | 杭州拓深科技有限公司 | 一种基于类内距离约束自编码器的消防管网漏水监测方法 |
CN113128612B (zh) * | 2021-04-26 | 2022-11-29 | 国网河北省电力有限公司营销服务中心 | 电力数据中异常值的处理方法及终端设备 |
CN113469257B (zh) * | 2021-07-07 | 2023-02-07 | 云南大学 | 一种配电变压器故障检测方法和系统 |
CN114338077B (zh) * | 2021-11-22 | 2024-10-01 | 山东师范大学 | 基于单分类神经网络的匿名流量识别方法及系统 |
CN113886438B (zh) * | 2021-12-08 | 2022-03-15 | 济宁景泽信息科技有限公司 | 一种基于人工智能的成果转移转化数据筛选方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976383A (zh) * | 2016-05-16 | 2016-09-28 | 国网河南省电力公司电力科学研究院 | 一种基于极限学习机图像识别的输电设备故障诊断方法 |
CN106228149A (zh) * | 2016-08-04 | 2016-12-14 | 杭州电子科技大学 | 一种视频异常行为检测方法 |
CN107085704A (zh) * | 2017-03-27 | 2017-08-22 | 杭州电子科技大学 | 基于elm自编码算法的快速人脸表情识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519355B2 (en) * | 2001-03-28 | 2003-02-11 | Alan C. Nelson | Optical projection imaging system and method for automatically detecting cells having nuclear and cytoplasmic densitometric features associated with disease |
CN102915445B (zh) * | 2012-09-17 | 2015-08-19 | 杭州电子科技大学 | 一种改进型的神经网络高光谱遥感影像分类方法 |
-
2019
- 2019-05-10 CN CN201910389207.5A patent/CN110287983B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976383A (zh) * | 2016-05-16 | 2016-09-28 | 国网河南省电力公司电力科学研究院 | 一种基于极限学习机图像识别的输电设备故障诊断方法 |
CN106228149A (zh) * | 2016-08-04 | 2016-12-14 | 杭州电子科技大学 | 一种视频异常行为检测方法 |
CN107085704A (zh) * | 2017-03-27 | 2017-08-22 | 杭州电子科技大学 | 基于elm自编码算法的快速人脸表情识别方法 |
Non-Patent Citations (2)
Title |
---|
Anomaly Detection in Aviation Data using Extreme Learning Machines;Vijay Manikandan Janakiraman et al;《2016 International Joint Conference on Neural Networks (IJCNN)》;20161103;第1993-2000页 * |
Representational Learning with Extreme Learning Machine for Big Data;Liyanaarachchi Lekamalage Chamara Kasun et al;《IEEE Intelligent Systems》;20131231;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110287983A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287983B (zh) | 基于最大相关熵深度神经网络单分类器异常检测方法 | |
CN108709745B (zh) | 一种基于增强型lpp算法和极限学习机快速轴承故障识别方法 | |
CN105224872B (zh) | 一种基于神经网络聚类的用户异常行为检测方法 | |
Quattoni et al. | An efficient projection for l 1,∞ regularization | |
CN107832787B (zh) | 基于双谱自编码特征的雷达辐射源识别方法 | |
CN113076215B (zh) | 一种独立于数据类型的无监督异常检测方法 | |
CN105738109B (zh) | 基于稀疏表示与集成学习的轴承故障分类诊断方法 | |
CN109446804B (zh) | 一种基于多尺度特征连接卷积神经网络的入侵检测方法 | |
CN111431849B (zh) | 一种网络入侵检测方法及装置 | |
CN111046961B (zh) | 基于双向长短时记忆单元和胶囊网络的故障分类方法 | |
CN110851654A (zh) | 基于张量化数据降维的工业设备故障检测分类方法 | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN114037001A (zh) | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 | |
CN114330650A (zh) | 基于进化元学习模型训练的小样本特征分析方法及装置 | |
CN110569781A (zh) | 一种基于改进胶囊网络的时间序列分类方法 | |
CN115580445A (zh) | 一种未知攻击入侵检测方法、装置和计算机可读存储介质 | |
CN116527346A (zh) | 基于深度学习图神经网络理论的威胁节点感知方法 | |
CN116232761B (zh) | 基于shapelet的网络异常流量检测方法及系统 | |
CN113987910A (zh) | 一种耦合神经网络与动态时间规划的居民负荷辨识方法及装置 | |
CN110288002B (zh) | 一种基于稀疏正交神经网络的图像分类方法 | |
CN116720095A (zh) | 一种基于遗传算法优化模糊c均值的电特性信号聚类方法 | |
CN107085700A (zh) | 一种基于稀疏表示与单隐层神经网络技术相结合的人脸识别方法 | |
Chen et al. | Self-attention mechanism based dynamic fault diagnosis and classification for chemical processes | |
CN110941542A (zh) | 基于弹性网络的序列集成高维数据异常检测系统及方法 | |
CN116318877A (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 |