CN109284662A - 一种面向水下声音信号分类的迁移学习方法 - Google Patents
一种面向水下声音信号分类的迁移学习方法 Download PDFInfo
- Publication number
- CN109284662A CN109284662A CN201810766508.0A CN201810766508A CN109284662A CN 109284662 A CN109284662 A CN 109284662A CN 201810766508 A CN201810766508 A CN 201810766508A CN 109284662 A CN109284662 A CN 109284662A
- Authority
- CN
- China
- Prior art keywords
- new
- domain
- loss
- classification
- minus
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/12—Classification; Matching
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/192—Recognition using electronic means using simultaneous comparisons or correlations of the image signals with a plurality of references
- G06V30/194—References adjustable by an adaptive method, e.g. learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
本发明公开了一种面向水下声音信号分类的迁移学习方法,涉及机器学习技术领域;本发明将数据集之间的分布和领域之间的域不变性结合;在类别分类器部分,使用MMD算法去匹配两数据集间的分布差异,并通过对内核的数量以及覆盖范围进行改变,最小化两数据集之间的分布差异;而在域分类器部分,则利用梯度反转去阻止域分类器在误差反向传播阶段的梯度下降,最大化域分类器的分类误差,使分类器具有领域不变性。一种面向水下声音信号分类的迁移学习方法,以动态的调整两种方法在模型进行迭代训练过程中的重要程度。通过实验证明,本发明提出的迁移学习方法要优于传统的分类方法以及现有的迁移学习方法DAN和DSN,并且分类越复杂,效果越明显。
Description
技术领域
本发明涉及机器学习技术领域,具体涉及一种面向水下声音信号分类的迁移学习方法。
背景技术
机器学习领域出现了一个重要的问题:当源域样本数据与目标域样本数据的边缘分布或者条件分布不相同或者不完全相同,并且无法获取大量的有效数据去作为模型的训练数据时,怎样训练出一个精度高、稳定性强的模型去预测目标领域的数据。迁移学习这一研究方向因此变得愈发重要。迁移学习是指利用当前领域已经获取到的样本数据对模型参数进行训练,将训练好的模型应用到相关但是并不相同的领域中,对该领域的新数据进行预测的新的机器学习手段。它无需遵守传统机器学习的两个要求,其最终的目标是将已经学习到的知识(参数)迁移到目标领域中去,以解决目标域无法获取足够多的有效的训练数据的问题。
众所周知,由于水下环境的复杂性,近年来众多学者提出的水下声音信号分类方法的分类效果均无法达到理想的分类结果。本发明创新的将迁移学习的方法应用于水下声音信号的分类,试图利用迁移学习去提高分类精度。
发明内容
本发明的目的在于提供一种面向水下声音信号分类的迁移学习方法。
一种面向水下声音信号分类的迁移学习方法,其特征在于,通过以下步骤实现:
步骤一:输入源域数据集xs以及其对应的类标签和域标签目标域数据集xt;学习率σ和最大迭代次数T;类别分类器的初始调整参数值μ=1和域分类器的初始调整参数值λ=0;
步骤二:利用卷积神经网络的卷积层和下采样层去提取输入数据的特征,令i=0;
步骤三:通过Feature Extraction获取数据特征;通过Category Classifier获取输入样本的预测类标签通过Domain Classifier获取输入样本的预测域标签
步骤四:根据实验设置获取数据的mini_batches;
步骤五:使用源域数据集xs以及其对应的类标签和域标签目标域数据集xt以及上面得到的预测类标签和域标签去最优化网络的参数Θ;
步骤六:使用优化后的网络去预测测试集xt,并获得
步骤七:分别求出本次模型的类分类损失C_lossnew和域分类损失D_lossnew;
步骤八:分别计算本次损失与上次损失的差值:Cminus=C_lossnew-C_lossold,Dminus=D_lossnew-D_lossold;
步骤九:根据差值动态调整参数值:如果Cminus≤0&&Dminus≥0,则执行步骤十,否则执行步骤十三;
步骤十:如果i≤T/2,则执行步骤十一,否则执行步骤十二;
步骤十一:μnew=μold+0.05;λnew=1-μnew;
步骤十二:μnew=μold-0.05;λnew=1-μnew;
步骤十三:如果Cminus≥0&&Dminus≥0,则μnew=μold-0.1,λnew=1-μnew;
步骤十四:如果Cminus≤0&&Dminus≤0,则μnew=μold+0.1,λnew=1-μnew;
步骤十五:如果i≤T/2,则执行步骤十六,否则执行步骤十七;
步骤十六:μnew=μold+0.15,λnew=1-μnew;
步骤十七:μnew=μold-0.15,λnew=1-μnew;
步骤十八:判断如果不满足,则i=i+1,回到步骤三重新执行;如果满足,则最终输出Θ,
本发明的技术效果为:
本发明将数据集之间的分布和领域之间的域不变性结合,在类别分类器部分,使用MMD 算法去匹配两数据集间的分布差异,并通过对内核的数量以及覆盖范围进行改变,从而使MMD 算法能够在训练的任一阶段有效,进而最小化两数据集之间的分布差异;而在域分类器部分,则利用梯度反转去阻止域分类器在误差反向传播阶段的梯度下降,从而最大化域分类器的分类误差,使分类器具有领域不变性。并提出了一种面向水下声音信号分类的迁移学习方法,以动态的调整两种方法在模型进行迭代训练过程中的重要程度。通过实验证明,本发明提出的迁移学习方法要优于传统的分类方法以及现有的迁移学习方法DAN和DSN。并且分类越复杂,效果越明显。
附图说明
图1为本发明迁移学习模型过程图;
图2为本发明迁移学习方法分类精度对比实验结果。
具体实施方式
下面结合附图对本发明做进一步描述。
实施例1:
一种面向水下声音信号分类的迁移学习方法,以动态的调整两种方法在模型进行迭代训练过程中的重要程度。主要内容如下:
(1)在类别分类器部分,使用改进的MMD算法作为源域和目标域之间样本分布差异度量方法。改进点在于内核的选择,本发明在实验中共使用了19个高斯核作为MMD的混合核函数, 19个内核的覆盖范围为[1e-6,1e6],有一个大范围的内核对本发明的模型训练是十分必要的,因为随着模型迭代的训练,共享特征(Shared Feature)的分布是会随之改变的,这时多高斯核的不同内核就会在不同的时间内确保核函数的有效性,并拒绝虚假的零假设,即当两分布并不相似时,得到的损失足够高。另外,在类别分类器模块还有一个比较重要的问题,那就是全连接层层数的选择。如果全连接层层数设置过少,那么会导致可调节的参数过少,使模型达不到要训练得到的效果;反之,如果全连接层层数设置过多,又会导致模型过于拟合训练数据,使模型的测试误差变大,导致过拟合现象的出现。本发明为了避免模型出现过拟合现象,在全连接层中加入L2范数,L2范数是一种比较常用的范数,欧氏距离就是一种L2范数,它的定义如下:
指向量中各元素的平方和然后开方。像L1范数一样,L2范数也可以度量两个向量间的差异,如平方差和(Sum of Squared Difference):
SSD(x1,x2)=∑i(x1i-x2i)2
L2范数的优化问题就是通过最小化其规则项,也就是min||x||2,使得x的每个元素都很小,接近于0。这样可以使模型更加简单,从而更不易产生过拟合现象。
(2)在域分类器部分,本发明采取的方法是使用梯度反转的思想去最大化域分类误差。众所周知,迁移学习方法的主要思想就是首先通过卷积神经网络的卷积层、池化层以及全连接层的相应操作去获得输入数据的分类结果,将分类结果与真实结果比较从而得到相应的误差。然后通过误差的反向传播,并在反向传播的过程中使用梯度下降的方法去最小化误差。梯度下降法是求解无约束最优化问题的一种常用方法,它更适合于需要学习的参数(变量)较多,模型比较复杂,无法罗列出具体的数学公式从而建立相应的模型的优化过程。它是一种迭代算法,每一步需要求解目标函数的梯度向量。受此思想的启发,本发明在域分类器部分的误差反向传播过程中,将相应的梯度反转,这样就能阻止梯度下降,从而增大其分类误差。
定义输入样本x对应的域标签为y∈{0,1},x通过Feature Extraction部分后提取出的特征为f,其中各层的参数Gdomain(·)定义为域分类器,其中各层的参数本发明的目的就是通过训练模型,调整参数项Θd和Θf,最大化分类器的分类误差。所以模型的域分类器损失DC_LOSS可以定义为如下形式:
其中Ldomain(·,·)代表域分类器的分类损失计算函数。在使用梯度下降法去调整参数的过程中,传统的做法如下所示:
其中σ代表学习率,上面的做法就叫做随机梯度下降法(Stochastic GradientDescent, SGD),其思想是随机选取一个点做梯度下降,而不是遍历所有样本点后进行参数迭代,主要作用是提高迭代速度,避免陷入庞大计算量的泥沼。如果不做任何改动,那么模型的域分类器会随着一次次的迭代,一次次的梯度下降而使分类误差越来越小,这样的后果是会导致模型丧失领域不变性。所以,本发明的做法是在误差反向传播的过程中加入梯度反转层 (Gradient Reversal Layer,GRL),梯度反转层没有参数需要更新,它的功能就像是身份转换,在反向传播的过程中,通过在的前面乘以一个系数-λ,来反转当前梯度方向,具体的做法如下所示:
现在将梯度反转加入到域分类器的损失函数中,就能得到模型的域分类器损失DC_LOSS:
其中GRL(·)代表梯度反转函数,这样就实现了将域分类器的分类损失最大化。
实现的算法如下:
(3)在本发明提出的迁移学***均差异去最小化类分类器的分类误差;而随着模型训练的进一步深入,域间的差异逐渐变得重要,这时就需要通过梯度反转去最大化域分类器的分类误差,保证模型的领域不变性。
基于以上的讨论,本发明提出一种参数动态调整算法,算法的思想如下:在类别分类器和域分类器的误差项前面分别乘以一个参数λ和μ,去调整二者在以此迭代训练中的重要程度。λ的初值设置为1,μ的初值设置为0,然后在下一次迭代前,利用本次训练的损失值与上次的损失值做差,通过对差值进行分析,动态的调整λ和μ的值,但是二者的和要保证为1,这样通过动态的调整参数的值就可以保证每一次迭代过程中,类别分类器和域分类器都能发挥出最好的效果。
具体的算法如下:
实施例2:
一种面向水下声音信号分类的迁移学习方法,通过以下步骤实现,并通过图1的流程框图直观的表示出来:
步骤一:利用卷积神经网络的卷积层和下采样层去提取输入数据的特征;
步骤二:通过全连接层加上逻辑斯蒂分类对输入数据进行分类,在全连接层中利用改进的MMD(Maximum Mean Discrepancy)算法,去度量两个数据集间的分布差异,以此最大化模型的迁移能力。同时会在卷积神经网络的全连接层中加入L2范数,这样就可以在增加全连接层个数的同时,有效防止模型出现过拟合现象,并且提高模型的精度;
步骤三:利用梯度反转去实现域分类器的分类损失最大化,也就是在误差反向传播的过程中,通过反置梯度去阻止梯度下降,这样就能最大化域分类器的分类损失;
步骤四:通过动态的调整参数的值就可以保证每一次迭代过程中,类别分类器和域分类器都能发挥出最好的效果;
步骤五:将训练好的模型应用于水下声音信号的分类。
各步骤的实现过程如下:
输入:源域数据集xs以及其对应的类标签和域标签目标域数据集xt;学习率σ和最大迭代次数T;类别分类器的初始调整参数值μ=1和域分类器的初始调整参数值λ=0
输出:迁移学习网络的参数Θ以及目标域数据集对应的预测标签
由输入实现输出的过程:
(1)通过Feature Extraction获取数据特征,通过卷积和下采样操作去提取特征并对其进行降维;
(2)通过Category Classifier获取输入样本的预测类标签
(3)通过Domain Classifier获取输入样本的预测域标签
(4)根据实验设置获取数据的mini_batches;
(5)使用源域数据集xs以及其对应的类标签和域标签目标域数据集xt以及上面得到的预测类标签和域标签去最优化网络的参数Θ;
(6)使用优化后的网络去预测测试集xt,并获得
(7)分别求出本次模型的类分类损失C_lossnew和域分类损失D_lossnew;
(8)分别计算本次损失与上次损失的差值:Cminus=C_lossnew-C_lossold,
Dminus=D_lossnew-D_lossold;
(9)根据差值动态调整参数值:如果Cminus≤0&&Dminus≥0,则执行(10),否则执行(13);
(10)如果i≤T/2,则执行(11),否则执行(12);
(11)μnew=μold+0.05;λnew=1-μnew;
(12)μnew=μold-0.05;λnew=1-μnew;
(13)如果Cminus≥0&&Dminus≥0,则μnew=μold-0.1,λnew=1-μnew;
(14)如果Cminus≤0&&Dminus≤0,则μnew=μold+0.1,λnew=1-μnew;
(15)如果i≤T/2,则执行(16),否则执行(17);
(16)μnew=μold+0.15,λnew=1-μnew;
(17)μnew=μold-0.15,λnew=1-μnew;
(18)判断如果不满足,则回到步骤(1)重新执行,如果满足,则最终输出Θ,
Claims (1)
1.一种面向水下声音信号分类的迁移学习方法,其特征在于,通过以下步骤实现:
步骤一:输入源域数据集xs以及其对应的类标签和域标签目标域数据集xt;学习率σ和最大迭代次数T;类别分类器的初始调整参数值μ=1和域分类器的初始调整参数值λ=0;
步骤二:利用卷积神经网络的卷积层和下采样层去提取输入数据的特征,令i=0;
步骤三:通过Feature Extraction获取数据特征;通过Category Classifier获取输入样本的预测类标签通过Domain Classifier获取输入样本的预测域标签
步骤四:根据实验设置获取数据的mini_batches;
步骤五:使用源域数据集xs以及其对应的类标签和域标签目标域数据集xt以及上面得到的预测类标签和域标签去最优化网络的参数Θ;
步骤六:使用优化后的网络去预测测试集xt,并获得
步骤七:分别求出本次模型的类分类损失C_lossnew和域分类损失D_lossnew;
步骤八:分别计算本次损失与上次损失的差值:Cminus=C_lossnew-C_lossold,Dminus=D_lossnew-D_lossold;
步骤九:根据差值动态调整参数值:如果Cminus≤0&&Dminus≥0,则执行步骤十,否则执行步骤十三;
步骤十:如果i≤T/2,则执行步骤十一,否则执行步骤十二;
步骤十一:μnew=μold+0.05;λnew=1-μnew;
步骤十二:μnew=μold-0.05;λnew=1-μnew;
步骤十三:如果Cminus≥0&&Dminus≥0,则μnew=μold-0.1,λnew=1-μnew;
步骤十四:如果Cminus≤0&&Dminus≤0,则μnew=μold+0.1,λnew=1-μnew;
步骤十五:如果i≤T/2,则执行步骤十六,否则执行步骤十七;
步骤十六:μnew=μold+0.15,λnew=1-μnew;
步骤十七:μnew=μold-0.15,λnew=1-μnew;
步骤十八:判断如果不满足,则i=i+1,回到步骤三重新执行;如果满足,则最终输出Θ,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810766508.0A CN109284662B (zh) | 2018-07-12 | 2018-07-12 | 一种基于迁移学习的水下声音信号分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810766508.0A CN109284662B (zh) | 2018-07-12 | 2018-07-12 | 一种基于迁移学习的水下声音信号分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284662A true CN109284662A (zh) | 2019-01-29 |
CN109284662B CN109284662B (zh) | 2022-02-22 |
Family
ID=65182501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810766508.0A Active CN109284662B (zh) | 2018-07-12 | 2018-07-12 | 一种基于迁移学习的水下声音信号分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284662B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110503092A (zh) * | 2019-07-22 | 2019-11-26 | 天津科技大学 | 基于领域适应的改进ssd监控视频目标检测方法 |
CN110659744A (zh) * | 2019-09-26 | 2020-01-07 | 支付宝(杭州)信息技术有限公司 | 训练事件预测模型、评估操作事件的方法及装置 |
CN111239137A (zh) * | 2020-01-09 | 2020-06-05 | 江南大学 | 基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法 |
CN111998936A (zh) * | 2020-08-25 | 2020-11-27 | 四川长虹电器股份有限公司 | 一种基于迁移学习的设备异音检测方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000098031A (ja) * | 1998-09-22 | 2000-04-07 | Hitachi Ltd | インパルスソーナー |
CN102066980A (zh) * | 2008-05-22 | 2011-05-18 | 埃克森美孚上游研究公司 | 地震层位骨架化 |
US20130071837A1 (en) * | 2004-10-06 | 2013-03-21 | Stephen N. Winters-Hilt | Method and System for Characterizing or Identifying Molecules and Molecular Mixtures |
CN104537256A (zh) * | 2015-01-11 | 2015-04-22 | 北京工业大学 | 一种基于rbf神经网络m-ran算法的数控慢走丝线切割机床热误差建模方法 |
-
2018
- 2018-07-12 CN CN201810766508.0A patent/CN109284662B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000098031A (ja) * | 1998-09-22 | 2000-04-07 | Hitachi Ltd | インパルスソーナー |
US20130071837A1 (en) * | 2004-10-06 | 2013-03-21 | Stephen N. Winters-Hilt | Method and System for Characterizing or Identifying Molecules and Molecular Mixtures |
CN102066980A (zh) * | 2008-05-22 | 2011-05-18 | 埃克森美孚上游研究公司 | 地震层位骨架化 |
CN104537256A (zh) * | 2015-01-11 | 2015-04-22 | 北京工业大学 | 一种基于rbf神经网络m-ran算法的数控慢走丝线切割机床热误差建模方法 |
Non-Patent Citations (2)
Title |
---|
SUN XIN 等: "Transferring deep knowledge for object recognition in Low-quality underwater videos", 《NEUROCOMPUTING》 * |
许敏 等: "一种新的面向迁移学习的L2核分类器", 《电子与信息学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110503092A (zh) * | 2019-07-22 | 2019-11-26 | 天津科技大学 | 基于领域适应的改进ssd监控视频目标检测方法 |
CN110659744A (zh) * | 2019-09-26 | 2020-01-07 | 支付宝(杭州)信息技术有限公司 | 训练事件预测模型、评估操作事件的方法及装置 |
CN110659744B (zh) * | 2019-09-26 | 2021-06-04 | 支付宝(杭州)信息技术有限公司 | 训练事件预测模型、评估操作事件的方法及装置 |
CN111239137A (zh) * | 2020-01-09 | 2020-06-05 | 江南大学 | 基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法 |
CN111239137B (zh) * | 2020-01-09 | 2021-09-10 | 江南大学 | 基于迁移学习与自适应深度卷积神经网络的谷物质量检测方法 |
CN111998936A (zh) * | 2020-08-25 | 2020-11-27 | 四川长虹电器股份有限公司 | 一种基于迁移学习的设备异音检测方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109284662B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284662A (zh) | 一种面向水下声音信号分类的迁移学习方法 | |
CN112199535B (zh) | 一种基于集成知识蒸馏的图像分类方法 | |
WO2023019601A1 (zh) | 基于结构优化算法的复值神经网络的信号调制识别方法 | |
CN106919897B (zh) | 一种基于三级残差网络的人脸图像年龄估计方法 | |
Saputra et al. | Analysis resilient algorithm on artificial neural network backpropagation | |
CN103440495B (zh) | 一种复合绝缘子憎水等级自动识别方法 | |
Fernández-Redondo et al. | Weight initialization methods for multilayer feedforward. | |
CN113326731A (zh) | 一种基于动量网络指导的跨域行人重识别算法 | |
CN110459225A (zh) | 一种基于cnn融合特征的说话人辨认*** | |
CN109740695A (zh) | 基于自适应全卷积注意力网络的图像识别方法 | |
CN105718943A (zh) | 基于粒子群优化算法的特征选择方法 | |
CN110751121A (zh) | 基于聚类与sofm的无监督雷达信号分选方法 | |
CN104463221A (zh) | 适用于支持向量机训练的不平衡样本加权方法 | |
Lopes et al. | Deep belief networks (DBNs) | |
CN106296434B (zh) | 一种基于pso-lssvm算法的粮食产量预测方法 | |
Zhang et al. | Evolving neural network classifiers and feature subset using artificial fish swarm | |
CN111652264B (zh) | 基于最大均值差异的负迁移样本筛选方法 | |
Zhuang et al. | A handwritten Chinese character recognition based on convolutional neural network and median filtering | |
CN113420508B (zh) | 一种基于lstm的机组组合计算方法 | |
CN108154186A (zh) | 一种模式识别方法和装置 | |
CN112597979B (zh) | 一种实时更新余弦夹角损失函数参数的人脸识别方法 | |
CN109409231A (zh) | 基于自适应隐马尔可夫的多特征融合手语识别方法 | |
CN113159218A (zh) | 一种基于改进cnn的雷达hrrp多目标识别方法及*** | |
Fischer et al. | Increasing the performance of a training algorithm for local model networks | |
CN105654498B (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 |