一种模式识别的太极编码/决策方法

文档序号:33702722发布日期:2023-03-31 20:18阅读:25来源:国知局
一种模式识别的太极编码/决策方法

1.本发明属于计算机技术领域,涉及人工智能、模式识别与信号处理技术领域,涉及一种模式识别的太极编码/决策方法。


背景技术:

2.机器学习技术已经广泛应用于社会生产和生活的方方面面,如语音识别、行人检测、自动驾驶等等。模式识别,也称为模式分类,是指对表征事物或现象的数值、文字和逻辑关系等各种形式的信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。
3.应用计算机对一组事件或过程进行辨识和分类,所识别的事件或过程可以是文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。这些对象与数字形式的信息相区别,称为模式信息。
4.模式识别分为有监督的分类(supervised classification)和无监督的分类(unsupervised classification)两种。二者的主要差别在于,各实验样本所属的类别是否预先已知。
5.卷积神经网络(convolutional neural networks,cnn)是实现数字图像识别的主流方法。卷积神经网络仿造生物的视知觉机制构建,具有深度人工神经网络结构,其卷积计算层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化特征,例如对像素和音频进行学习,实现有稳定的效果且不需要人工设计的特征工程。卷积神经网络具有自动提取特征以及平移不变的特性,因而被大量应用于计算机视觉、自然语言处理等领域。典型的卷积神经网络结构如lenet、alexnet、googlenet、vggnet等。图1是应用于手写数字识别的卷积神经网络lenet-5的结构(参考文件1:lecun y,bottou l,bengio y,et al.gradient-based learning applied to document recognition[j].proceedings of the ieee,1998,86(11):2278-2324.)。lenet-5网络由输入(input)层、卷积(convolutions)层、池化层、全连接(full connection)层等组成,池化层进行下采样(subsampling),提取手写数字模式类的主要单元是卷积层。如图1所示,输入图像到卷积层,卷积层由若干个权重矩阵组成,又称为卷积核,卷积核每次滑动一个或多个像素位,每移动一次,卷积核与输入的图像矩阵做卷积操作,卷积操作的输出与偏置参数相加得到一个和,把该和输入激活函数,激活函数的输出称为特征图(feature map),即卷积层提取出来的图像模式类的特征表达。图1中,output为输出层,gaussian connection为高斯连接。
[0006]
在目前的深度学习领域,以transformer模型和改进的卷积神经网络resnet两种模型以及他们的诸多变式最为流行。
[0007]
transformer模型最初应用于nlp(自然语言处理)任务,在nlp的多个任务上取得了非常好的效果,可以说目前nlp发展都离不开transformer。transformer并未止步于此,2020年,transformer模型首次被应用到了图像分类任务中并取得了比cnn模型更好的结果。目前,transformer已经在三大图像问题上——分类、检测和分割,都取得了不错的效
果,在视觉与语言预训练、图像超分、视频修复和视频目标追踪等任务也都取得了不错的成绩。但是,transformer的成功依赖于在大规模数据集上的预训练。
[0008]
resnet是卷积神经网络的一种变体,它取得了ilsvrc 2015(imagenet)在图像分类、检测和定位方面的冠军,而且首次超过人类识别的精度,将错误率降到了3.57%。并且是ms coco2015检测和分割的冠军。但resnet也依赖大规模的训练数据集和庞大的算力。
[0009]
基于resnet和transformer的深度学习方案通常基于开源平台。平台结构相对复杂,参数较多,维护也较为复杂,调参工作量通常也很大。
[0010]
尽管卷积神经网络在许多模式识别任务上取得了很好的效果,但利用卷积神经网络提取特征时存在一些缺点:
[0011]
(1)卷积神经网络采用的反向传播算法并非一个高效的算法,卷积神经网络的初始状态参数以及寻优算法的选取会对网络训练造成很大影响,产生过拟合、局部最小值、梯度消失、梯度爆炸等诸多问题。
[0012]
(2)卷积神经网络提取特征对硬件计算能力的要求较高,为了训练卷积神经网络模型,往往需要投入成百上千台cpu或gpu(图形处理器)并花费数百小时才能完成一次训练,这使得一些模式识别任务的代价十分昂贵。
[0013]
(3)卷积神经网络在不同尺度下的模式分类能力较弱。图像识别任务中使用卷积操作时,训练样本的尺度需要保持大致相同,否则模型难以收敛。


技术实现要素:

[0014]
针对现有机器学习模型依赖大量训练样本和需求大量算力的问题,以及模型训练存在收敛困难、超参数调校困难的问题,本发明提出了一种新的模式识别的太极编码/决策方法,也可称为太极决策混合方法,在几乎不损失性能的前提下解决了这些问题,所涉及的参数量能够降低两个数量级,降低了计算复杂度,提高了模式分类能量,能进一步提高模式识别、图像分类等机器学习任务的完成效率和识别结果准确性。
[0015]
本发明的模式识别的太极编码/决策方法,采用一种五层编码决策网络进行特征提取和分类。所述的五层编码决策网络包括:
[0016]
第一编码层为输入原始样本;
[0017]
第二编码层为信息编码层,对原始样本进行熵编码,输出样本的信息编码;
[0018]
第三编码层为特征编码层,对样本的信息编码进行维度平衡,输出样本的特征编码;特征编码使用神经网络训练的方式,通过神经网络的隐藏层提取得到;所述神经网络的输入为样本的信息编码,输出为粗分类结果;
[0019]
第四编码层为模式类编码层,将样本的特征编码进行细分类,输出细分类结果;细分类是对每个粗分类类别再分类;
[0020]
第五编码层为模式编码层,根据模式类编码层输出的细分类结果,输出样本属于每个个体的概率结果。
[0021]
所述第二编码层中,对原始样本进行熵编码具体使用了小波变换的方式进行信息编码,包括:(1)对原始样本的每个通道进行log2n级二维小波变换,获取log2n+1个小波系数矩阵,n为原始样本的数据长度;(2)分别将每个小波系数矩阵归一化;(3)对每个归一化后的小波系数矩阵进行灰度直方图统计,将所有统计值组成一个向量;设样本有m个通道,则
获得一个长度为(log2n+1)*m*255维的向量;(4)对所述向量进行幂次方操作平滑极端值,得到原始样本的信息编码向量。
[0022]
相对于现有技术,本发明的优点与积极效果在于:经试验验证,采用本发明方法可以在几乎不损失性能的前提下大大提升机器学习的效率,消耗更少的计算资源和训练时间,拥有更小的参数规模,可以为使用了机器学习方法的诸多应用场景节省成本,降低能耗,提高效益。
附图说明
[0023]
图1是现有卷积神经网络lenet-5的一个结构示意图;
[0024]
图2是本发明的太极编码/决策方法整体实现的一个流程图;
[0025]
图3是本发明实施例实现信息编码的流程图;
[0026]
图4是本发明实施例中进行小波变换的示意图;
[0027]
图5是本发明实施例采用的飞机图片的灰度示例图;
[0028]
图6是本发明实施例采用的棒球场图片的灰度示例图;
[0029]
图7是本发明实施例采用的港口图片的灰度示例图。
具体实施方式
[0030]
下面将结合附图和实施例对本发明作进一步的详细说明。
[0031]
为了对本发明技术方案进行说明,也为了方便与传统模式识别方法进行比较,本发明实施例以图像识别任务为例,在信息编码部分应用了小波变换等方法,在特征编码部分选用训练的方式实现,具体是使用了感知机网络,来分析本发明相比于传统机器学习方法的优势,但并不意味着本发明只能用于图像识别任务或只能用全连接神经网络来实现特征编码。任何将本发明所提出的网络架构和五层编码理论单独或一并使用的模式识别系统都在本发明的保护范围内。
[0032]
本发明的信息编码与决策方法,也称为太极编码与决策方法。本发明提供的五层编码决策网络,也称为太极混合编码决策系统。本发明的太极编码与决策方法的实现基础原理是:对于正交线性空间的事物采样数据,存在可统计的、可压缩的“采样/信息/特征/模式类/模式”等五部分原始数据的信息编码或表达方法,在此线性编码空间中,可基于统计标准或概率距离(或马氏距离等),直接对指定压缩率及精度的编码与模式(类),实现线性(或近似线性)决策。
[0033]
本发明的模式识别的太极编码/决策方法,如图2所示,提出一种用于特征提取和分类的五层编码决策网络,五层编码依次为原始数据、信息编码、特征编码、模式类编码和模式编码。本发明方法采用所述编码决策网络,可对图像、文本、语音等任意可表达的模式数据进行编码和特征提取,并基于它们进行决策。下面以256*256像素大小的彩色图片分类任务为例,描述本发明方法的技术手段。
[0034]
(一)本发明将原始数据作为第一层编码。本发明实施例中原始数据为256*256像素大小的rgb彩色图片。
[0035]
(二)第二层编码为信息编码,在线性空间中表达原始数据的多种特征向量。
[0036]
信息编码有很多实现方法,其本质是对数据进行全局的熵编码,即不损失样本信
息的编码。在本发明的理论框架下,可以通过正交变换的方法实现对原始数据信息编码,比如使用小波变换;也可以使用提升维度的方法来近似实现信息编码。本发明首创将这些现有技术应用于编码决策网络的预处理,实现将较大的原始数据,如256*256像素的图片,压缩成较小的向量而保留大部分的信息,以更方便地用于后续的分类、决策等任务。
[0037]
本发明实施例实现信息编码的一种方式如图3所示,包括如下步骤1.1~1.5。
[0038]
步骤1.1:小波变换。
[0039]
对原始数据的每个通道进行log2n级二维小波变换,这里为log2256=8级,小波基函数为haar函数。n为图片的边长。本发明实施例中输入图像有rgb三通道。
[0040]
如图4所示,是二级小波变换的示例。每一级小波变换的过程可以描述为首先对图像的每一行进行1d-dwt(一维离散小波变换),获得原始图像在水平方向上的低频分量l和高频分量h,然后对变换所得数据的每一列进行1d-dwt,获得原始图像在水平和垂直方向上的低频分量ll、水平方向上的低频和垂直方向上的高频lh、水平方向上的高频和垂直方向上的低频hl以及水平和垂直方向上的高频分量hh。二级变换就是对低频分量ll再次进行变换。如图4所示,将一级小波变化得到的分量hl1、lh1、hh1视作系数矩阵a1,将二级小波变化得到的分量hl2、lh2、hh2视作系数矩阵a2,以此类推,将当前低频分量ll继续进行下一级变换,直到完成log2n级小波变换,最后将hl8、lh8、hh8作为系数矩阵a8,剩下的ll8作为系数矩阵a9。所得到的a1~a9矩阵为9个小波系数矩阵。
[0041]
步骤1.2:小波系数归一化。
[0042]
将每个小波系数矩阵分别归一化,具体归一化的方法是将所有元素减去均值再除以标准差。归一化的作用是将矩阵元素缩放到某个范围内,便于后续处理。
[0043]
步骤1.3:灰度统计。
[0044]
对每个归一化后的小波系数矩阵,对其灰度级做直方图统计,得到一个长度为256的向量。例如,a3中灰度值为30的像素点有24个,则统计出的向量b3对应位置的值b3[30]=24。由9个小波系数矩阵a1~a9对应得到9个灰度统计矩阵b1~b9,将9个矩阵3个通道的灰度统计矩阵组合,得到9个矩阵*3通道*255灰度级=6885维的向量。
[0045]
步骤1.4:幂次方处理。
[0046]
对上一步得到的6885维的向量进行一次幂次方操作,一般选择小于1的幂次来平滑极端值。
[0047]
步骤1.5:计算补码,得到补类。
[0048]
现在每一类的每一张图片都转换为了一个6885维的向量。这一步先求出每一类的均值向量,再计算出这一类里每张图片对应的向量关于均值向量对称的向量,称作这个样本的补码;将这一类里所有样本的补码构成一个新的类,称作这一类的补类。由实验表明补码操作可以平衡编码结果的各个维度,避免大者过大、小者过小,提升分类的精度。
[0049]
本发明实施例中补码的计算方式为:设某类数据的均值向量为c,则对其中一个样本的向量ci,其补码为2*c-ci。
[0050]
(三)第三层编码是特征编码。经信息编码后得到了每个样本的一个线性可分的、信息完整的编码。但编码的各个维度上是不平衡的。有些维度是共性维度但数值很小,有些维度是个性维度但数值很大。特征编码将各个维度平衡,在分类任务中,可以保证编码对每个类都是有效的。为实现特征编码,可以使用神经网络训练的方式,通过神经网络的隐藏层
提取出特征编码。
[0051]
本发明实施例使用最简单的感知机网络,具体步骤是:
[0052]
将样本的信息编码向量送入有一个隐藏层的感知器网络,通过神经网络的隐藏层来隐式地实现特征编码。在本发明任务中,感知器网络的输入维度为6885,输出维度为6。本发明实施例中原数据样本共分为3大类,因此做补码后,三类变成了六类,所以感知器网络的输出维度为6,输出层激活函数使用sigmoid。本发明实施例的隐藏层维度为16,经感知器网络训练后由隐藏层获得16维的样本特征编码。
[0053]
(四)第四层编码是模式类编码,它的输入为特征编码,输出中的每一个维度代表一个细分类。本发明实施例为实现模式类编码,使用了聚类方法,在分类任务中实现对每一类的编码。但在实际实现时并不局限于聚类方法。
[0054]
本发明实施例使用以下方法实现:
[0055]
在上一层感知机网络的分类结果的每一类中使用聚类算法,进一步进行细分类。在本次任务中设定将每一类聚类成两个细分类,聚类算法使用knn法。
[0056]
具体在进行细分类聚类时,可根据情况选择合适的类别数,或者使用无需人工指定聚类类别数的聚类算法均可。
[0057]
(五)第五层编码是模式编码,它的输出中的每一个维度代表一个样本个体。
[0058]
本发明中,特征编码的输出可看做一个粗分类结果,进一步经模式类编码后输出细分类结果,进一步经模式编码后输出具体到个体的分类结果,如将来自同一个人的人脸照片分到同一类。模式编码可以通过进一步聚类来得到个体结果。
[0059]
通常,在k类分类任务中,每一个样本经分类网络后得到一个长度为k的向量,其每一维度代表该样本属于那一类的相对概率大小。例如,在3分类任务中,输出结果[0.7,0.5,0.55],表明该样本属于第一类的概率最高,就将其分到第一类。
[0060]
而在本发明方法中,样本经信息编码层和特征编码层后得到的分类用向量,称作该样本的特征编码,其长度等于粗分类的类别数量;再经下一层得到模式类编码,其长度等于细分类的类别数量;再经最后一层得到模式编码,其长度等于最终分类的类别数量,也就是样本个体的数量,每一维度代表该样本属于某一个体的概率的相对大小。
[0061]
本发明方法中,模式编码即实例编码,可以看作又一层的模式类编码,把细类细化到每个实例上,可以根据实际应用确定模式类编码和实例编码的期望结果,并选择合适的聚类算法。
[0062]
本发明实施例中针对当前的图片分类任务,预先设置样本的粗分类类别和个体类别,利用训练样本集对五层编码决策网络进行训练,然后利用训练好的五层编码决策网络对输入的图片进行处理,输出分类结果。本发明实施例,针对每个个体,可利用训练后的五层编码决策网络,根据该个体的若干图片提取16维特征编码向量的平均值,作为该个体的标识存储在数据库中。在检测新图片时,提取图片的16维特征向量,并与数据库中的个体标识进行匹配,若匹配度都很低,则表示该个体为新个体,根据任务需求进行处理。
[0063]
下面通过实验来说明本发明技术方案所实现的计算效果。
[0064]
在一个图片分类任务中将本方案与主流的resnet方案和transformer方案进行了对比。
[0065]
训练测试样本图片如下:
[0066]
第一类:飞机图片训练80张,旋转增强240张,测试20张,如图5所示;
[0067]
第二类:棒球场图片训练80张,旋转增强240张,测试20张,如图6所示;
[0068]
第三类:港口区域图片训练80张,旋转增强240张,测试20张,如图7所示。
[0069]
在进行实验时直接采用获取的原始图像,图4~6为转换为灰度的示例。
[0070]
本发明方案设置如下:
[0071]

统计精度:1(精度很低)
[0072]

忽略维度:位置/方向/颜色
[0073]

神经网络结构:6885维输入,1隐层,3输出感知器
[0074]

编码规范化精度:整型(精度很低)
[0075]

参数数量:6885w+1b+1a+3w+3b+3a=6896
[0076]

样本图片分辨率:256
×
256
[0077]

样本图片训练数量:80
×
3,旋转增强为320
×3[0078]
所运行的硬件条件如下:
[0079]
√cpu:intel(r)core(tm)i7-4930mx cpu@3.00ghz
[0080]
√内存:32gb
[0081]
设置训练参数如下:
[0082]
√三层感知器,输入6885,隐层1,输出3(类)
[0083]
√参数数量:6885+1+1+3+3+1=6896
[0084]
√训练样本数量:80
×4×3[0085]
√评估样本数量:20
×3[0086]
√batch:13
[0087]
√学习率:1e-1
[0088]
√epoch:301
[0089]
√row_norm,disp=10
[0090]
实验结果如下:
[0091]
耗时:总耗时:41秒;平均单epoch时间:41/301=0.136秒,即0.0023分钟;
[0092]
最终训练准确度:89%;
[0093]
最终评估准确度:90%;
[0094]
模型参数量:6885+1+1+3+3+1=6896;
[0095]
中间过程显示(间隔10step)最高精度:
[0096]
epoch=270,训练:90%,评估:99%。
[0097]
不同于传统机器学习,采用本发明方法,中间结果可信度或可用性很高。
[0098]
对比方案1—视觉transformer方案:
[0099]

模型类型:单层transformer;
[0100]

网络结构:patchembed+12层attention block+分类层。其中patchembed为卷积层,attention block由attention和mlp组成,分类层为线性层;
[0101]

参数数量:9786378参数+25ln+12gelu=9786415;
[0102]
所运行的硬件条件如下:
[0103]
√cpu:intel(r)xeon(r)cpu e5-2660 v4@2.00ghz
[0104]
√gpu:nvidia corporation gp102[titan x]
[0105]
√gpu个数:6
[0106]
√gpu显存:12g*6=72g
[0107]
√内存:377gb
[0108]
设置训练参数如下:
[0109]
√patchembed+12层attention block+分类层。其中patchembed为卷积层,attention block由attention和mlp组成,分类层为线性层。
[0110]
√参数数量:9786378参数+25ln+12gelu=9786415
[0111]
√训练样本数量:80
×4×3[0112]
√评估样本数量:20
×3[0113]
√batch:256
[0114]
√学习率:1e-3
[0115]
√epoch:301
[0116]
√是否预训练:是
[0117]
√训练方式:gpu
[0118]
实验结果如下:
[0119]
耗时:总耗时:22分钟;平均单epoch时间:22/301=0.07分钟,即4.2秒;
[0120]
最终训练准确度:100%;
[0121]
最终评估准确度:98%;
[0122]
模型参数量:9786378参数+25ln+12gelu=9786415;
[0123]
显示最高精度:
[0124]
epoch=2,训练:99%,评估:100%。
[0125]
对比方案2—cnn(resnet)方案:
[0126]

模型类型:resnet34网络
[0127]

模型参数量:21.29m
[0128]

模型运算量(flops):58731.64m
[0129]

样本图片分辨率:256
×
256-》224
×
224
[0130]

样本图片训练数量:80
×3×4[0131]
所运行的硬件条件如下:
[0132]
cpu:intel(r)core(tm)i9-10885 cpu@2.40ghz
[0133]
内存:64gb
[0134]
gpu:nvidia geforce gtx 1650ti with max-q design
[0135]
gpu内存:35.9gb
[0136]
实验结果如下:
[0137]
耗时:总耗时:924.8秒;平均单epoch时间:924.8/30=30.8秒,即0.513分钟;
[0138]
最终训练准确度:100%;
[0139]
最终评估准确度:99.58%;
[0140]
模型大小:81.3mb;
[0141]
训练集最高精度:
[0142]
epoch=11,训练精度:100%,评估精度:99.58%;
[0143]
测试集最高精度:
[0144]
epoch=10训练精度:99.48%评估精度:100%。
[0145]
将三种方案进行对比,如表1所示:
[0146]
表1三种方案的实验数据对比
[0147] 参数量内存训练样本数耗时准确率transformer(预训练)9557k377gb80*31260s98%transformer9557k377gb80*31260s61%resnet21801k64gb80*4*3925s99.58%本发明方案6.7k32gb80*4*341s99%
[0148]
由上述实验数据对比可以看出,本发明的太极决策混合方法基于非常简单的平台,非常易于理解和开发,参数量也极小,应用系统开发工作量很小,调试很方便。cnn方案和transformer方案基于开源平台,平台结构相对复杂,参数较多,维护也较为复杂,调参工作量通常很大。本发明的太极决策混合方法方案既可应用于复杂模式识别,也用于简单应用。本发明既可应用于小样本量,未来还可以用于单训练样本,也可以应用于大样本量训练。cnn方案和transformer方案通常用于较大的应用,对软硬件的要求相对比本发明方案高很多。而transformer如果没有大样本量的预训练,基本不可用。
[0149]
分类任务包括特征提取和空间划分两部分,良好的特征提取得到的特征向量应该是正交的、线性无关的,这样表达的信息才充分。传统的机器学习模型如cnn,这两部分是一起训练的。在模型收敛之前,隐藏层尚未训练完成,其特征提取的结果是不完全的,线性相关程度很强,即使在这不完全的特征提取的基础上得到了较好的精度,也是偶然的,在其他样本上就不会有如此高的精度了。而本发明中,信息编码已经完成了特征提取,需要训练的特征编码仅仅负责划分。信息编码得到的特征已经是正交的、线性无关的,在此基础上进行分类,得到的中间结果也是可靠的。
[0150]
除说明书所述的技术特征外,均为本专业技术人员的已知技术。本发明省略了对公知组件和公知技术的描述,以避免赘述和不必要地限制本发明。上述实施例中所描述的实施方式也并不代表与本技术相一致的所有实施方式,在本发明技术方案的基础上,本领域技术人员不需要付出创造性的劳动即可做出的各种修改或变形仍在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1