CN110399970A - 小波卷积小波神经网络及情报分析方法与*** - Google Patents
小波卷积小波神经网络及情报分析方法与*** Download PDFInfo
- Publication number
- CN110399970A CN110399970A CN201910377383.7A CN201910377383A CN110399970A CN 110399970 A CN110399970 A CN 110399970A CN 201910377383 A CN201910377383 A CN 201910377383A CN 110399970 A CN110399970 A CN 110399970A
- Authority
- CN
- China
- Prior art keywords
- layer
- network
- sample
- layers
- feature
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 80
- 238000004458 analytical method Methods 0.000 title claims abstract description 71
- 238000004364 calculation method Methods 0.000 claims abstract description 239
- 238000012549 training Methods 0.000 claims abstract description 210
- 238000000034 method Methods 0.000 claims abstract description 130
- 230000008569 process Effects 0.000 claims abstract description 101
- 230000010365 information processing Effects 0.000 claims abstract description 14
- 210000002569 neuron Anatomy 0.000 claims description 144
- 230000006870 function Effects 0.000 claims description 105
- 239000011159 matrix material Substances 0.000 claims description 88
- 230000004913 activation Effects 0.000 claims description 84
- 230000008859 change Effects 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000000694 effects Effects 0.000 claims description 17
- 230000009466 transformation Effects 0.000 claims description 15
- 230000006854 communication Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 10
- 210000005036 nerve Anatomy 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000003475 lamination Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 claims description 4
- 238000009434 installation Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000003909 pattern recognition Methods 0.000 abstract 1
- 238000013519 translation Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
本发明提出了小波卷积小波神经网络及情报分析方法与***,小波卷积小波神经网络及情报分析方法(1000),包括情报处理流程(100)、全段前向计算流程(200)、wCwNN训练计算流程(300);可以应用到模式识别、拟合预测、智慧城市、智能警务安防和智能交管领域。该方法包括情报处理、全段网络前向计算、全段网络训练计算流程。该***包括不受控***、前端情报板、网络安全与交换设备、海量情报服务器、高性能情报分析器、情报监察控制器。该方法与***应用时可以通过物联网采集不受控***大数据信息,快速完成训练,高精度完成智能计算,实现高性能智能***。
Description
技术领域
本发明提出了一种小波卷积小波神经网络及情报分析方法与***,可以应用到模式识别、拟合预测、智慧城市、智能警务安防和智能交管领域。
背景技术
“大智移云”新工科新时代,大数据、人工智能、移动互联网、物联网、互联网、云计算技术飞速发展。以深度学习为代表的人工智能方法与技术向人类提出了挑战:计算机在围棋和电子竞技领域先后战胜了人类。
卷积神经网络CNN是经典的深度学习算法,在图像识别领域取得了举世瞩目的公认的成就。小波分析被称为数学显微镜,在信号分析领域具有极强的辨识能力。
发明内容
本发明的目的在于:(1)使深度学习的速度更快、精度更高。(2)实现对世界中大数据进行采集、存储、智能分析、监视和控制。(3)解决安防、交管、维稳、智慧城市领域的需求。
本发明提出了一种新方法,将CNN和小波分析技术深度结合,使其具有更快速度和更高精度的神经网络,即小波卷积小波神经网网络,简写为:wCwNN。同时,本发明提出了一种新***,应用wCwNN方法,可以通过物联网采集不受控***大数据信息,快速完成训练,高精度完成智能计算,实现高性能智能***。
为了实现上述目的,本发明采取了如下技术方案:
1、小波卷积小波神经网络及情报分析方法与***,小波卷积小波神经网络及情报分析方法(1000)参见图1,包括情报处理流程(100)、全段前向计算流程(200)、wCwNN训练计算流程(300),其中wCwNN是小波卷积小波神经网络的英文首字母缩写;基于小波卷积小波神经网络及情报分析方法的***(2000) 参见图2,包括:不受控***(6)、前端情报板(1)、网络安全与交换设备(2)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5);
1.1小波卷积小波神经网络及情报分析方法(1000),其特征在于:
1.1.1、情报处理流程(100),其特征在于:由以下步骤构成:
步骤101——情报处理流程(100)开始:前端情报板(1)和海量情报服务器(3)启动并进行通讯;如果通讯正常,则进入步骤102,如果通讯异常,则在前端情报板(1)和海量情报服务器(3)中报警;之后进入步骤102;
步骤102——情报采集:前端情报板(1)通过视频图像采集装置(1.6)对监控场景(6.1)进行图像采集,发送给海量情报服务器(3);前端情报板(1) 或海量情报服务器(3)对互联网(6.2)进行文本信息抓取,发送给海量情报服务器(3);之后进入步骤103;
步骤103——情报存储:海量情报服务器(3)接收来自前端情报板(1)采集的图像信息并存储;海量情报服务器(3)接收来自前端情报板(1)和海量情报服务器(3)抓取的文本信息并存储;之后进入步骤104;
步骤104——特征提取:该步骤104能够跳过;该步骤104是通过人脸检测算法将人脸照片区域图像裁剪为新的图片信息;该步骤104是通过自然语言特征提取算法将文本信息映射为特征向量;之后进入步骤105;
步骤105——wCwNN参数设置,步骤105是整个方法的核心步骤,定义了程序和wCwNN网络的关键参数;
以下wCwNN涉及到的所有权值、参数、神经元结点的值将存放在wCwNN 模块的寄存器中,wCwNN神经网络的输入是采集的信息,神经网络的输出是采集信息经过计算的结果和分类标签;下列各公式表示本发明***将上述采集信息的输入,按照上述权值、参数在上述神经元结点中进行计算,计算的结果为上述输出和分类标签;神经网络各层节点的物理意义是本***对采集信息的理解信息;
步骤105.1——网络结构参数设置:
105.1.1前段网络、后段网络及各层的相关定义:wCwNN网络分为前段网络和后段网络,前段网络为卷积池化网络,其中卷积层的激活函数为小波尺度变换函数,后段网络为小波神经网络;
wCwNN网络前段网络(卷积池化网络)第1层为样本的输入层,第2层为第1个卷积层,第3层为第1个池化层,第4层为第2个卷积层,第5层为第2 个池化层,以此类推;
wCwNN后段网络(小波神经网络wNN)最后一层(第-1层)为wNN输出层,倒数第2层(第-2层)开始至倒数第h-1层(第-(h-1)层)是wNN隐含层,倒数第h层(第-h层)是wNN输入层;倒数第h+1层(第-(h+1)层)是wCwNN 网络前段网络(卷积池化网络)的最后一层;
105.1.2卷积层输入输出定义:
如果第l层是wCwNN前段网络的卷积层,具有featurel个卷积核即输出特征数,该卷积层的输入维度为sizeNetl,经过卷积计算后输出维度为sizeOl,则经过featurel个卷积核的卷积计算后,将会产生featurel个特征,每个特征的维度为sizeOl;如果定义该层卷积核的大小为sizeCl×sizeCl,则卷积计算后产生的featurel个特征中的每个特征的维度sizeOl的计算公式为:
sizeOl=(sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1) (1)
105.1.3池化层输入输出定义:
如果第l层是wCwNN前段网络的池化层,该池化层的层池化窗大小为 sizePl×sizePl,该层输入维度为sizeNetl;则经过池化计算后的输出维度 sizeOl的计算公式为:
105.1.4后段网络wNN网络相关定义:
如果第l层是wCwNN后段网络(小波神经网络wNN)的第1层(输入层),则第l+1层为小波神经网络的第2层(隐含层),第l+2层为小波神经网络的第3层(输出层);则wCwNN的后段网络wNN的结构参数如下:
定义在时刻t(第t次训练计算中),第l层第i个神经元的输入是经过激活函数计算后,该第i个神经元的输出是
根据上述定义:如果wNN输入层一共有M个神经元,每个神经元的输入为:则输出为:如果wNN隐含层一共有Q个神经元,每个神经元的输入为:则输出为:如果wNN输出层一共有L个神经元则每个神经元的输入为:则每个神经元的输出为
定义wNN的输入层与隐含层各神经元之间的连接权值矩阵隐含层与输出层各神经元之间的连接权值矩阵隐含层神经元的活化函数尺度变换参数矩阵为aj(t)和bj(t);其中i=1,2,…,M,j=1,2,…,Q,k=1,2,…,L;
i、j、k表示各层神经网络神经元的编号,因为各神经元都是存放在数组里,因此i、j、k也表示存放神经元取值的数组的列号,也就是神经网络的维度编号,神经网络输入层神经元编号对应着样本数据输入的维度编号,神经网络输出层神经元编号对应着样本数据标签值的维度编号;
步骤105.2——网络权值初始化设置:
如果第l层是wCwNN前段网络的卷积层,则初始化尺度变换参数为和第l层与第l-1层之间的卷积核为其中l=1,3,5,…,n,此处的n表示最后一个卷积层的层号;
如果第l层是wCwNN后段网络wNN的隐含层,则初始化尺度变换参数为 Aj和Bj,则第l层与第l-1层之间的连接权值为第l+1层与第l层之间的连接权值为
生成的神经网络权值与参数并保存:各权值和尺度变换参数均可初始化为RandomFloatBetween(0,1),其中RandomFloatBetween(0,1)表示随机产生的 (0,1)区间内的随机小数;
保存上述随机生成的各权值和参数阼为训练流程的初始化参数;
步骤105.3——训练程序参数初始化:
初始化wCwNN前段网络的学习率为AlphaWC,wCwNN后段网络的学习率为AlphaWNN,学习率决定每个训练时刻t,参数调整量作用于参数变化量的百分比,取值范围为:(0,1];
初始化wCwNN后段网络的惯性系数为LA,惯性系数决定上一个训练时刻 t-1,各参数取值保持不变的比例,取值范围为:(0,1];
初始化每个训练时刻t,投入训练的样本数量为BATCHSIZE个,如果样本总数量为1000,则BATCHSIZE取5或者10,即总样本数量的
初始化训练的最大周期次数为LOOP_MAX,则训练开始后,训练时刻t的取值范围为1≤t≤LOOP_MAX;
初始化目标差为ERROR_TARGET,表示经过多个训练周期,误差如果下降到小于ERROR_TARGET,则训练达到目标而停止;
步骤106——处理流程选择:如果选择训练,则跳转至步骤130;如果选择分析,则跳转至步骤120;如果选择结束,则跳转至步骤190;
步骤130——训练:进入wCwNN训练流程(300)进行机器学习,结束后进入步骤131;
步骤131——训练结果保存:将训练(300)结果进行保存,用于分析(120);之后跳转至步骤106,重新进行处理流程选择;
步骤120——分析:进入wCwNN前向计算流程(200)进行前向计算,计算得到结果后进入步骤121;
步骤121——分析结果监控:将步骤120的分析结果发送到情报监察控制器 (5)的进行显示;之后跳转至步骤106,重新进行处理流程选择;
步骤190——结束:情报处理流程(100)结束。
1.1.2、wCwNN前向计算流程(200),其特征在于:由以下步骤构成:
步骤201——wCwNN前向计算流程(200)开始;该流程的输入为:
(1)单个样本数据的输入:表示为X1(t),位于wCwNN第一层(第l=1 层),由M个元素构成,也可以表示为wCwNN的第一层神经元的输入与输出相同,且与单个样本数据的输入相对应,表示为O1(t),也可以表示为j表示神经元结点的编号;
(2)与上述单个样本数据的输入对应的标签值:表示为Y-1(t),位于wCwNN 最后一层(第l=-1层),标签值的维度为L,也能够写为 k表示样本的标签的维度编号;
步骤202——初始化计算:
读取wCwNN前段网络卷积层的卷积核参数小波变换中的平移因了伸缩因子其中l=1,3,5,,…,n,此处的n表示最后一个卷积层的层号;
读取wCwNN后段网络输入层与隐含层之间的连接权值隐含层尺度变换参数aj(t)=Aj和bj(t)=Bj,隐含层与输出层之间的连接权值
步骤203——卷积计算:按照wCwNN前段网络的层的顺序从前向后计算每一层的输出;
如果第l层是卷积层,则该层进行卷积计算,卷积计算的公式如下:
netl(t)=Convolution(Ol-1(t),wcl(t)) (3)
其中函数z=Convolution(x,y)的功能是卷积计算(Convolution Calculation):以y为卷积核,将数组x进行卷积计算,得到的结果是z;netl(t)为第l层卷积计算的结果,wcl(t)是第l层的卷积核,Ol-1(t)是第l-1层的输出(第l层的输入);
上述,卷积计算的数学公式为:
如果矩阵x是a×b的矩阵,卷积核y是c×d的矩阵,通常情况下a=b、 c=d、a>c(例如:a=b=sizeNetl,c=d=sizeCl),则卷积计算结果z= Convolution(x,y)计算中,z矩阵中m行n列的点的计算公式为:
其中m=1,2,…,a-c+1,n=1,2,…,b-d+1,即卷积层的输出的维度为 (sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1)
步骤104——激活计算:
将卷积计算的结果netl(t)经过激活函数计算,得到第l层的输出Ol(t)如下:
Ol(t)=Ψwc(netl(t)) (5)
其中激活函数Ψwc(x)的定义如下:在t时刻第l层第j个神经元经过激活函数后的输出的计算公式为:
其中,表示在t时刻第l层卷积层的第j个神经元的卷积计算结果(未激活),和表示第l层尺度变换参数acl(t)和bcl(t)中第j个神经元的尺度变换参数;Ψwc(x)表示卷积层激活函数,是:
Ψwc(x)的导数表示为:
步骤105——池化计算:
如果第l层是池化层,则该层进行池化计算,池化计算的公式如下:
Ol(t)=Convolution(Ol-1(t),valuePl) (9)
其中函数z=Convolution(x,y)是卷积计算(同上),池化计算也是一种卷积计算(卷积核每个点的取值相同):y为池化窗(卷积核),第l层池化窗的尺寸为sizePl,将数组x进行池化计算,得到的结果是z;Ol(t)为第l层卷积计算的结果,valuePl是第l层的池化窗每个元素的值,Ol-1(t)是第l-1层(前一个卷积层经过激活函数后)的输出,也就是第l层(池化层)的输入;池化窗 valuePl中每一个值(池化窗每个第i行第j列的元素都相等)计算公式如下:
步骤106——判断前段网络计算是否结束:前段网络可能是多个卷积池化层,因此确保每个卷积池化层都按照步骤103至步骤105进行计算后,再进入步骤 107;
步骤107——后段网络即小波神经网络前向计算:
wNN输入层的输入和输出相同,即:
wNN隐含层的输入的计算公式如下:
wNN隐含层的输出的计算公式如下:
其中Ψab(x)为小波函数,即隐含层神经元的活化函数,aj(t)、bj(t)为t时刻小波函数尺度变换参数,即隐含层神经元的活化函数尺度变换参数。取满足框架条件的小波函数Ψa,b(x)如下:
Ψab(x)的导数表示为:
wNN输出层的输入的计算公式如下:
wNN输出层的输出的计算公式如下:
其中g(x)为输出层神经元的活化函数取非负的Sigmoid函数,如下式:
步骤108——分类结果计算:前向计算的分类结果计算公式如下:
t时刻本次前向计算的样本的输入为O1(t),labelO3(t)为本次前向计算的样本分类编号,为该样本的前向计算结果的第k个维度分量,可以作为本次前向计算的样本的输入O1(t)对应的标签值,k=1,2,…,L,k表示样本的标签的维度编号,也就是输出层神经元的位置号;表示 wNN样本经过前向计算后,得到的输出层的每个输出与样本标签中每个维度的差,其中k=1,2,...,L,k表示输出层神经元的位置号,L表示输出层神经元结点的总数,表示输出层第k个输出与标签值第k个维度的数值最接近,即使取值达到最小时的k;
步骤190——结束:wCwNN全段网络前向计算结束;该流程的输出为:样本x(i,j)经过前向计算后,得到的wNN输出层的输出以及对应的分类编号labelO3(t);
1.1.3、wCwNN训练计算流程(300),其特征在于:由以下步骤构成:
步骤301——wCwNN训练计算流程(300)开始;该流程的输入为全体训练样本数据:
定义全体训练样本的输入为alIXn(j),简写为allXn:allXn(j)表示第n个训练样本的输入,n=1,2,…,N,n代表训练样本的编号,一共有N个样本;每个样本的输入的维度用j表示,其中j=1,2,…,M,每个样本的输入有M个维度;
定义全体训练样本的标签(目标值)为allYn(j),简写为allYn:allYn(j)表示第n个训练样本的标签(目标值),n=1,2,…,N,n代表训练样本的编号,一共有N个样本;每个样本的标签的维度用j表示,j=1,2,…,K,每个样本的标签有 K个维度;
定义第n个训练样本samplen:由第n个训练样本的输入alIXn和第n个标签allYn构成;
定义全体训练样本为sampleALL,由所有的samplen构成,其中n=1,2,…,N, n代表训练样本的编号,一共有N个训练样本构成全体训练样本sampleALL;
步骤302——初始化计算:在本步骤之前,已经进行了wCwNN参数设置(已经执行过步骤105);设定当前训练次数计数器的时刻t=1;
步骤302.1——训练样本数据归一化:
归一化的计算公式如下:
其中k代表训练样本的编号,一共有N个样本;每个样本的输入的维度用j 表示,其中j=1,2,…,M,每个样本一共有M个维度;
其中k=1,2,…,N,k代表训练样本的编号,一共有N个样本;每个样本的标签的维度用j表示,j=1,2,…,K,每个样本的标签有K个维度;
其中,max(Vk(j))函数的功能是返回Vk(j)中所有元素取值的最大值, min(Vk(j))函数的功能是返回Vk(j)二维数组中所有素取取值的最小值;
步骤303——判断训练次数是否达上限:
当前训练次数计数器t是否达到上限LOOP_MAX,如果t≤LOOP_MAX,则跳转步骤304,开始第t次训练,否则t>LOOP_MAX跳转步骤321保存权值参数并保存训练次数误差,准备结束第t次训练;
步骤304——全段网络前向计算:
步骤304.1随机挑选BATCHSIZE个训练样本分别进行前向计算,准备用于 wCwNN权值和参数调整:
训练过程的关键是对神经网络各参数进行调整,调整算法需要对单个样本进行前向计算,前向计算的结果与标签值之前可以计算误差,根据误差进行误差的反向传播计算,根据反向传播的误差计算神经网络参数的调整量,上述过程都是针对单个样本进行的,为了提升效率,第t次训练中,一次处理BATCHSIZE个样本,其中前向计算步骤如下:
定义参加第t次训练的样本组合为sampleBATCH(t):在第t次训练时,首先在全体训练样本sampleALL中,随机挑选BATCHSIZE个样本,构成一个训练样本组合sampleBATCH(t),在第t次训练中这些随机选出的样本都参加训练;
定义训练样本组合sampleBATCH(t),其中第n个样本的输入为Xn(t):其中n=1,2,…,BATCHSIZE,k代表训练样本的编号,一共有BATCHSIZE个;
定义训练样本组合sampleBATCH(t),其中第n个样本的标签为Yn(t):其中n=1,2,…,BATCHSIZE,n代表训练样本的编号,一共有BATCHSIZE个;
将训练样本组合sampleBATCH(t)中的每一个样本Xn(t),n=1,2,…,BATCHSIZE,分别作为前向计算流程200的输入参数O1(t),分别送入前向计算流程200,前向计算流程200的输出为wCwNN最后一层的输出
步骤304.2将全体训练样本进行前向计算,准备用于计算总体误差:
训练过程中需要根据已经达成的训练效果(全体训练样本的总误差)判定算法是否可以结束,全体训练样本的总误差是全体样本的标签值和前向计算的结果的差的函数,计算方法如下:
定义全体训练样本中的每个样本的输入为alIXn,n=1,2,…,N,分别作为前向计算流程200的输入参数O1(t),分别送入前向计算流程200,前向计算流程 200的输出为每个样本的前向计算结果
步骤305——总误差计算:
根据步骤301wCwNN训练计算流程(300)开始中的定义,全体训练样本的标签(目标值)为allYn,allYn与训练次数t无关;根据步骤304.2全体训练样本的前向计算,可以得到在时刻t第n个训练样本输入的前向计算结果为则第t次训练中,样本的总误差L(t),计算公式如下:
步骤306——判断误差是否达标:
如果第t次训练中,L(t)<ERROR-TARGET,即达到目标误差的要求,则跳转至步骤321保存权值参数并保存训练次数误差,准备结束训练;否则转至步骤307误差反向传播计算,准备更新权值,产生新的总误差进行算法终止判定,本步骤判定算法不结束,因此训练次数t更新为:t=t+1;
步骤307——误差反向传播计算:
定义表示wCwNN后段网络各层的输出误差:其中表示在t时刻wNN输入层神经元i的输出误差,用表示wNN隐藏层神经元j未经过激活函数的输出误差,用表示wNN隐藏层神经元j经过激活函数的输出误差,用表示wNN输出层神经元k的输出误差;
步骤307.1——wCwNN后段网络误差反向传播:
wNN输出层输出误差计算如下:
表示wNN输出层第k个神经元的输出误差,k表示神经元的编号,输出层一共有L个神经元,是一个维数为L×1的矩阵;当BATCHSIZE个样本同时计算时,BATCHSIZE个用一个维度为L×BATCHSIZE的矩阵表示;
wNN隐藏层输出误差计算如下:
表示wNN隐含层第j个神经元经过激活函数后的输出误差,j表示隐含层神经元的编号,隐含层一共有Q个神经元,即是一个维数为Q×1的矩阵;表示隐含层与输出层各神经元之间的连接权值矩阵,矩阵维度为Q× L;当BATCHSIZE个样本同时计算时,BATCHSIZE个用一个维度为Q× BATCHSIZE的矩阵表示;
wNN隐藏层未经过激活函数的输出误差如下:
表示wNN隐藏层神经元j未经过激活函数的输出误差,j表示隐含层神经元的编号,隐含层一共有Q个神经元;当BATCHSIZE个样本同时计算时,表示为一个维数为BATCHSIZE×Q的矩阵:Ψ′a,b代表wNN隐含层的激活函数的导数,经过计算后的矩阵维度为BATCHSIZE×Q,表示 BATCHSIZE个样本反向传播计算过程中,隐藏层第j个神经元在未经激活函数之前的导数;
wNN输入层第i个神经元的输出误差计算如下:
表示wNN输入层第i个神经元的输出误差,i表示输入层神经元的编号,wNN输入层一共有M个神经元;表示输入层与隐含层各神经元之间的连接权值矩阵,矩阵维度为Q×M;当BATCHSIZE个样本同时计算时,BATCHSIZE个表示为一个维数为BATCHSIZE×M的矩阵;
步骤307.2——卷积(池化)计算后的输出误差计算:
如果前段网络最后一层是第l层,第l层有两种情况:
情况一:如果第l层是池化层,池化层没有激活函数,池化计算(池化计算也是一种卷积计算)后的输出误差为:
情况二:如果第l层是卷积层,卷积计算之后还要进行激活函数计算,从而产生卷积层的输出,作为第l+1层的输入,上述激活函数之后的输出误差为:
而激活函数之前(卷积层的卷积计算后)的输出误差的计算公式为:
是前向计算中得到的第l层卷积和激活函数计算后的输出,其中i= 1,2...,M;当BATCHSIZE个样本同时计算时,BATCHSIZE个BATCHSIZE 个和BATCHSIZE个分别用一个维度为M×BATCHSIZE的矩阵表示;
情况1和情况2计算的结果是卷积(池化)计算之后的输出误差。
对于前段网络的最后一层(第l=-1wC层):对于每一个样本,都是一个1×M的矩阵,对应后段网络的输入维度1×M;但是前段网络的输出的数据结构应该是sizeOl×sizeOl×featurel,l=-1wC,其中featurel,l=- 1wC表示前段网络最后一层的特征数,sizeOl×sizeOl,l=-1wC表示前段网络最后一层的每个特征对应的输出矩阵,前段网络最后一层的输出与后段网络第一层的输入的对应关系是:sizeOl×sizeOl×featurel=1×M,l=-1wC;因此需要将1×M的数据结构映射回sizeOl×sizeOl×featurel,l=-1wC的数据结构:
使用j表示前段网络的最后一层的特征编号,则j=1,2...,featurel,l=- 1wC,使用m、n表示第j个特征输出误差的行号和列号,则m= 1,2...,sizeOl,n=1,2...,sizeOl,l=-1wC;则第j个特征第m行、第n列的输出误差映射公式为:
l=-1wC
步骤307.3——wCwNN前段网络误差反向传播:
wCwNN前段网络的第l=1层为样本的输入层,第l=2层为第1个卷积层,第l=3层为第1个池化层,第l=4层为第2个卷积层,第l=5层为第2 个池化层,以此类推,通常情况下l≥3;
如果第l层是卷积层,用变量表示第l层的第j个特征的输出误差,则表示卷积层的后一层(池化层)的第i个特征的输出误差;i=1,2,...,sizel+1,i表示池化层各特征的编号,第l+1层有featurel+1个特征;
如果第l层是池化层,用变量表示第l层的第i个特征的输出误差,则用变量表示池化层的后一层(卷积层)的第j个特征的输出误差,j= 1,2,...,featurel+1,j表示卷积层各特征的编号,第l+1层有featurel+1个特征;
步骤307.3.1——池化层的误差反向传播:
池化层的误差反向传播是指:根据池化层(第l+1层)的输出误差计算前一个卷积层(第l层)经过激活函数前的输出误差计算公式为:
表示第j个特征的误差,表示第j个特征的输入值,与表示第j个特征的小波变换平移因子与伸缩因子;j表示各特征的编号,第l层有featurel个特征,为池化层第i个特征的输出误差,i表示池化层各特征的编号,第l+1层有featurel+1个特征;Ψ′wc(x)为激活函数导数函数;poolExpand(x) 表示池化层扩展,作用是将池化层(第l+1层)每一个点的输出误差扩展成为 sizePl+1×sizePl+1个输出误差;表示扩展后的误差,计算公式如下,其中int(x)函数,表示对x向下取整;
步骤307.3.2——卷积层的卷积计算的误差反向传播计算
卷积层的卷积计算的误差反向传播是指:根据卷积层(第l+1层)的卷积计算的输出误差计算卷积层的输入误差也是池化层(第l层)的输出误差,该误差的计算公式为:
表示池化层第i个特征的输出误差,表示池化层的后一层卷积层的第j 个特征未经过激活函数前的输出误差,表示第l层的第i个特征向第l+ 1层的第j个特征进行卷积计算的卷积窗(连接权值),j表示第l+1层各特征的编号,第l+1层有featurel+1个特征,i表示第l层池化层各特征的编号,第 l层池化层有featurel个特征;
当BATCHSIZE个样本同时计算时,该步骤依靠反卷积完成,计算公式为:
函数Rotate(x)的功能是把矩阵x翻转180度:如果原矩阵x是a×b的矩阵,通常情况下a=b,则翻转过程如下:
函数z=Convolution2(x,y)的功能是反卷积计算(一种扩展的卷积计算):以y为卷积核,将矩阵x进行卷积计算,得到的结果是z,计算方式如下所示:
步骤308——网络权值与参数的调整计算:
步骤308.1——权值与参数的求导计算:
步骤308.1.1——前段网络的权值与参数的求导计算:
如果第l层是卷积层,则该层权值与参数的导数方法如下:
卷积核(第l-1层第i个特征的输出向第l层第j个特征的输出的卷积计算用到的卷积核)的求导计算公式如下:
表示第l-1层的第i个特征未经过激活函数的输出值,表示第l 层的第j个特征输出误差值;j表示卷积层各特征的编号,第l层有featurel个特征,i表示池化层各特征的编号,第l-1层有featurel-1个特征;
是第l层的第j个特征的小波变换参数的导数,计算公式如下:
其中,表示第l层的第j个特征输出误差值,表示第l层的第j个特征未经过激活函数的输出值,表示第l层的第j个特征的平移因子,表示第l层的第j个特征的伸缩因子;
当BATCHSIZE个样本同时计算时:的维度为(sizeNetl- sizeCl+1)×(sizeNetl-sizeCl+1)×featurel,的维度为1× featurel,表示特征j的误差除以特征j的参数,结果维度为 (sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1)×featurel;将各特征的 BATCHSIZE个样本误差相加,得到特征j的误差和,将除以BATCHSIZE得到平均误差,维度为1×featurel;
当BATCHSIZE个样本同时计算时:的维度与相同,求解过程同
步骤308.1.2——后段网络的权值与参数的求导计算:
后段网络的权值的导数的计算公式如下:
当BATCHSIZE个样本同时计算daj(t)时:的维度为Q×BATCHSIZE,的维度为Q×BATCHSIZE,上述计算结果的维度同样为Q×BATCHSIZE,代表样本的第j个隐藏层神经元的计算值,与的结果进行矩阵的点乘计算;所述矩阵的点乘:矩阵各个对应元素相乘;矩阵的乘法:矩阵a的第n行乘以矩阵b的第n列,各个元素对应相乘然后求和作为第n个元素的值),计算结果的维度为Q×BATCHSIZE,代表样本的第j个隐含层神经元参数aj(t)的导数;把BATCHSIZE个样本的导数相加,再除以BATCHSIZE,即得到第j个隐含层神经元参数aj(t)的平均导数;
当BATCHSIZE个样本同时计算dbj(t)时:的维度为Q×BATCHSIZE, aj(t)的维度为1×Q,表示样本的第j个神经元bj(t)的导数,把上述 BATCHSIZE个样本的导数相加,再除以BATCHSIZE,即可得到第j个隐含层神经元参数bj(t)的平均导数;
步骤308.2——wCwNN的权值与参数的更新计算:
如果第l层是前段网络的卷积层,则权值更新如下:
如果当前层是后段网络wNN,则权值更新如下:
aj(t+1)=aj(t)-AlphaWNN×daj(t)+LA×aj(t) (49)
bj(t+1)=bj(t)-AlphaWNN×dbj(t)+LA×bj(t) (50)
步骤321——保存wCwNN权值与参数:
保存wCwNN前段网络卷积层的卷积核参数小波变换中的平移因子伸缩因子其中l=1,3,...,n,此处的n表示最后一个卷积层的层号;
保存wCwNN后段网络输入层与隐含层之间的连接权值隐含层尺度变换参数Aj=aj(t)和Bj=bj(t),隐含层与输出层之间的连接权值
步骤390——wCwNN训练结束。
1.2、基于小波卷积小波神经网络及情报分析***(2000),其特征在于:
1.2.0不受控***(6)包括:监控场景(6.1)和互联网(6.2),监控场景(6.1) 和互联网(6.2)中的大数据信息,将会被基于小波卷积小波神经网络及情报分析方法的***(2000)采集;
1.2.1前端情报板(1)包括:嵌入式计算机(1.1)、嵌入式操作***(1.2)、 USB接口(1.3)、网络接口(1.4)、显示器接口(1.5)、视频图像采集装置(1.6)、输入设备(1.7)、显示器(1.8)、wCwNN模块(1.9)和无线路由器(1.10);
1.2.1.1嵌入式计算机(1.1)是微型计算机、嵌入式开发版或单片机,通过螺丝固定在前端情报板(1)上,用于运行操作***和程序;
1.2.1.2嵌入式操作***(1.2)是计算机操作***和用于嵌入式设备的操作***,安装在嵌入式计算机(1.1)中,用于运行程序;
1.2.1.3 USB接口(1.3)是嵌入式计算机(1.1)的USB接口,或者是嵌入式计算机(1.1)扩展出来的USB接口,用于连接外部USB接入设备;
1.2.1.4网络接口(1.4)是嵌入式计算机(1.1)的网络接口,或者是嵌入式计算机(1.1)扩展出来的网络接口,用于连接外部网络设备、接入网络、接入互联网(6.2);
1.2.1.5显示器接口(1.5)是嵌入式计算机(1.1)的显示接口,或者是嵌入式计算机(1.1)扩展出来的显示接口,用于连接外部显示设备;
1.2.1.6视频图像采集装置(1.6)可以是摄像装置,也可以是传感器,通过数据线或数据线配合转换器与USB接口(1.3)连接,用于采集来自监控场景(6.1) 的大数据信息;
1.2.1.7输入设备(1.7)是键盘,或者是按键、身份认证输入设备,通过数据线或数据线配合转换器与USB接口(1.3)连接,用于输入信息;
1.2.1.8显示器(1.8)或者是带有触摸功能的显示器或带有触摸功能的投影仪,显示器(1.8)通过数据线和显示器接口(1.5)连接,用于显示信息;
1.2.1.9wCwNN模块(1.9)是运行于嵌入式计算机(1.1)的软件,或者是独立于嵌入式计算机(1.1)的计算机,通过网络数据交换的方法与嵌入式计算机(1.1)、海量情报服务器(3)进行数据通讯交互,实现驱动前端情报板(1) 各模块工作、信息发送服务器以及接受服务器信息;
1.2.1.10无线路由器(1.10)可以是放入SIM卡的无线路由器,也可以是普通路由器;无线路由器(1.10)的网口通过网线与网络接口(1.4)连接,如果嵌入式计算机(1.1)本身具有WiFi网络接入功能,则能够直接与无线路由器(1.10) 通过WiFi连接;无线路由器(1.10)通过SIM卡对应的移动互联网络接入互联网(6.2),也能够通过与互联网(6.2)中的网络交换传输设备连接,实现接入互联网(6.2);
1.2.2网络安全与交换设备(2)包括网络安全设备(2.1)和网络数据交换设备(2.2),通过网线相连接,实现数据交换;网络安全设备(2.1)通过网线接入互联网(6.2),进而与前端情报板(1)可以通讯,通讯过程可以进行链路加密和数据加密;网络数据交换设备(2.2)通过网线与海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5)相连接,从而实现网络安全与交换设备(2)的作用:实现前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5)之间的数据安全与交换;
1.2.3海量情报服务器(3)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、高性能情报分析器(4)、情报监察控制器(5)进行网络数据交换;海量情报服务器(3)的主要作用是储存情报信息,海量情报服务器(3)的次要作用和前端情报板(1)的作用之一一样,实现网络文本信息的采集功能;
1.2.4高性能情报分析器(4)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、海量情报服务器(3)、情报监察控制器(5)进行网络数据交换;高性能情报分析器(4)的作用是对海量情报服务器(3)中存取的信息进行分析,实现wCwNN主要算法流程;
1.2.5情报监察控制器(5)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器;情报监察控制器(5)的作用是显示前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)的信息和状态给管理员,将管理员下达的各种控制指令和信息发送给前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)。
本发明与现有技术相比的优势:
1)发明的wCwNN方法比现有方法具有更快的训练速度、更高的精度;
2)发明的wCwNN及情报分析方法与***实现了:物联网对大数据信息的采集、互联网数据的交互、物联网和移动互联网终端的监控、大数据信息的云存储、wCwNN方法对样本数据的学习与智能分析,以及虚拟现实技术对***中上述各节点的总集成。实现了大型智能***更加直观、便利、高智能的监视与控制。
附图说明
图1小波卷积小波神经网络及情报分析方法流程图。
图2小波卷积小波神经网络及情报分析方法与***架构图。
具体实施方式
下面结合图1图2详细说明本实施例,后描述方法:
1.基于小波卷积小波神经网络及情报分析方法的***(2000),实施例参见图2,包括:不受控***(6)、前端情报板(1)、网络安全与交换设备(2)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5);
1.1前端情报板(1)包括:嵌入式计算机(1.1)、嵌入式操作***(1.2)、USB接口(1.3)、网络接口(1.4)、显示器接口(1.5)、视频图像采集装置(1.6)、输入设备(1.7)、显示器(1.8)、wCwNN模块(1.9)、无线路由器(1.10);
1.1.1嵌入式计算机(1.1)可以是微型计算机、嵌入式开发版、单片机,通过螺丝固定在前端情报板(1)上,用于运行操作***和程序;【在本实施例中】嵌入式计算机(1.1)采用微软Surface 3袖珍计算机;
1.1.2嵌入式操作***(1.2)可以是计算机操作***和用于嵌入式设备的操作***,安装在嵌入式计算机(1.1)中,用于运行程序;【在本实施例中】嵌入式操作***(1.2)采用Windows 10操作***;
1.1.3USB接口(1.3)可以是嵌入式计算机(1.1)的USB接口,也可是嵌入式计算机(1.1)扩展出来的USB接口,用于连接外部USB接入设备;【在本实施例中】USB接口(1.3)采用“绿联USB扩展网口+USB接口转换器”,扩展为多个USB接口;
1.1.4网络接口(1.4)可以是嵌入式计算机(1.1)的网络接口,也可是嵌入式计算机(1.1)扩展出来的网络接口,用于连接外部网络设备、接入网络、接入互联网(6.2);【在本实施例中】网络接口(1.4)采用“绿联USB扩展网口+USB 接口转换器”,扩展为网线接口;
1.1.5显示器接口(1.5)可以是嵌入式计算机(1.1)的显示接口,也可是嵌入式计算机(1.1)扩展出来的显示接口,用于连接外部显示设备;【在本实施例中】显示器接口(1.5)采用“绿联Mini DP扩展VGA接口转换器”,将Surface 3的Mini DP接口扩展为VGA接口;
1.1.6视频图像采集装置(1.6)可以是摄像装置,也可以是传感器,通过数据线或数据线配合转换器与USB接口(1.3)连接,用于采集来自监控场景(6.1) 的大数据信息;【在本实施例中】视频图像采集装置(1.6)采用“罗技C270 USB 摄像头”;
1.1.7输入设备(1.7)可以是键盘,也可以是按键、身份认证输入设备,通过数据线或数据线配合转换器与USB接口(1.3)连接,用于输入信息;【在本实施例中】输入设备(1.7)采用“罗技K380键盘与罗技MXAnywhere鼠标”;
1.1.8显示器(1.8)可以是显示器、带有触摸功能的显示器、投影仪,通过数据线和显示器接口(1.5)连接,用于显示信息;【在本实施例中】显示器(1.8) 采用DELL P2418HT触摸屏显示器,P2418HT的VGA接口采用VGA视频线与由Surface 3的Mini DP接口扩展出来的VGA接口相连,P2418HT的上行USB 接口通过USB数据线与由Surface 3的USB接口扩展出来的USB接口相连;
1.1.9wCwNN模块(1.9)可以运行于嵌入式计算机(1.1)的软件,也可以是独立于嵌入式计算机(1.1)的计算机,通过网络数据交换的方法与嵌入式计算机(1.1)、海量情报服务器(3)进行数据通讯交互,实现驱动前端情报板(1) 各模块工作、信息发送服务器、接受服务器信息。【在本实施例中】wCwNN模块(1.9)是运行了wCwNN算法的控制程序,运行在Windows 10中;
1.1.10无线路由器(1.10)可以是放入SIM卡的无线路由器,也可以是普通路由器;无线路由器(1.10)的网口通过网线与网络接口(1.4)连接,如果嵌入式计算机(1.1)本身具有WiFi网络接入功能,则可以直接与无线路由器(1.10) 通过WiFi连接;无线路由器(1.10)通过SIM卡对应的移动互联网络接入互联网(6.2),也可以通过与互联网(6.2)中的网络交换传输设备连接,实现接入互联网(6.2);【在本实施例中】无线路由器(1.10)采用华为B315s-936无线三网通路由器,该设备自带多个网线接口和WiFi接入功能,可以放入SIM卡,实现计算机通过网线或WiFi接入移动互联网;
1.2网络安全与交换设备(2)包括网络安全设备(2.1)和网络数据交换设备(2.2),通过网线相连接,实现数据交换;网络安全设备(2.1)通过网线接入互联网(6.2),进而与前端情报板(1)可以通讯,通讯过程可以进行链路加密和数据加密;网络数据交换设备(2.2)通过网线与海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5)相连接,从而实现网络安全与交换设备(2)的作用:实现前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5)之间的数据安全与交换;【在本实施例中】网络安全设备(2.1)采用华为USG6101企业级千兆防火墙,上联通过网线接入互联网,下联通过网线与下联交换机连接;网络数据交换设备(2.2)采用华为S1700-24GR 企业级千兆交换机,上联通过网线与防火墙连接,下联通过网线与内网各服务器连接;
1.3海量情报服务器(3)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、高性能情报分析器(4)、情报监察控制器(5)进行网络数据交换;海量情报服务器(3)的主要作用是储存情报信息,海量情报服务器(3)的次要作用和前端情报板(1)的作用之一一样,实现网络文本信息的采集功能;【在本实施例中】海量情报服务器(3)采用DELL R630服务器,CPU 是英特尔至强E5-2600-V3,内存为16Gx2,硬盘为2Tx4,操作***为Windows 2018;
1.4高性能情报分析器(4)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、海量情报服务器(3)、情报监察控制器(5)进行网络数据交换;高性能情报分析器(4)的作用是对海量情报服务器(3)中存取的信息进行分析,实现wCwNN主要算法流程;【在本实施例中】高性能情报分析器(4)采用DELL R630服务器,CPU是英特尔至强E5-2600-V3,内存为16Gx2,硬盘为2Tx4,操作***为Windows 2018;
1.5情报监察控制器(5)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器;情报监察控制器(5)的作用是显示前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)的信息和状态给管理员,将管理员下达的各种控制指令和信息发送给前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)。【在本实施例中】情报监察控制器(5)采用DELL R630服务器,CPU 是英特尔至强E5-2600-V3,内存为16Gx2,硬盘为2Tx4,操作***为Windows 2018;
1.6不受控***(6)包括:监控场景(6.1)和互联网(6.2),监控场景(6.1) 和互联网(6.2)中的大数据信息,将会被基于小波卷积小波神经网络及情报分析方法的***(2000)采集;【在本实施例中】监控场景(6.1)是首都机场T3 航站楼高速公路收费站、互联网(6.2)是Internet互联网公网;
2.小波卷积小波神经网络及情报分析方法(1000)参见图1,包括情报处理流程(100)、全段前向计算流程(200)、wCwNN训练计算流程(300),其中 wCwNN是小波卷积小波神经网络的英文首字母缩写;
2.1、情报处理流程(100)由以下步骤构成:
步骤101——情报处理流程(100)开始:前端情报板(1)和海量情报服务器(3)启动并进行通讯;如果通讯正常,则进入步骤102,如果通讯异常,则在前端情报板(1)和海量情报服务器(3)中报警;之后进入步骤102;【在本实施例中】在本事实例中wCwNN模块(1.9)运行的wCwNN程序,首先访问海量情报服务器(3)DELL R630服务器的数据库,如果能够读到数据,则确认工作正常,写入最新访问时间Ttest,否则将自身异常状态位设置为1,当情报监察控制器(5)DELL R630服务器访问海量情报服务器(3)DELL R630服务器的数据库,发现前端情报板(1)更新时间Ttest超时,则会报警;
步骤102——情报采集:前端情报板(1)通过视频图像采集装置(1.6)对监控场景(6.1)进行图像采集,发送给海量情报服务器(3);前端情报板(1) 或海量情报服务器(3)对互联网(6.2)进行文本信息抓取,发送给海量情报服务器(3);之后进入步骤103;【在本实施例中】前端情报板(1)Surface 3通过摄像头采集的图像信息,前端情报板(1)Surface 3和海量情报服务器(3)DELL R630服务器访问海量情报服务器从互联网中抓取的文本信息;
步骤103——情报存储:海量情报服务器(3)接收来自前端情报板(1)采集的图像信息并存储;海量情报服务器(3)接收来自前端情报板(1)和海量情报服务器(3)抓取的文本信息并存储;之后进入步骤104;【在本实施例中】前端情报板(1)Surface 3通过摄像头采集的图像信息,以及前端情报板(1)Surface 3与海量情报服务器(3)DELL R630服务器从互联网中抓取的文本信息,都会通过Internet网络传回海量情报服务器(3)DELL R630服务器,采用Hadoop与 Hive进行存储;
步骤104——特征提取:该步骤可以跳过;该步骤可以是通过人脸检测算法将人脸照片区域图像裁剪为新的图片信息;该步骤可以是通过自然语言特征提取算法将文本信息映射为特征向量;之后进入步骤105;【在本实施例中】高性能情报分析器(4)采用领域内公知的图像处理方法,将图像信息转换为28x28=784 个点的二维数组向量,采用word2vector函数将文本信息映射为784x1=784的一维数组向量;
步骤105——wCwNN参数设置,该步骤是整个方法的核心步骤,定义了程序和wCwNN网络的关键参数:
以下wCwNN涉及到的所有权值、参数、神经元结点的值将存放在wCwNN 模块的寄存器中,wCwNN神经网络的输入是采集的信息,神经网络的输出是采集信息经过计算的结果和分类标签;下列各公式表示本发明***将上述采集信息的输入,按照上述权值、参数在上述神经元结点中进行计算,计算的结果为上述输出和分类标签;神经网络各层节点的物理意义是本***对采集信息的理解信息;
步骤105.1——网络结构参数设置:
105.1.1前段网络、后段网络及各层的相关定义:
wCwNN网络分为前段网络和后段网络,前段网络为卷积池化网络,其中卷积层的激活函数为小波尺度变换函数,后段网络为小波神经网络;
wCwNN网络前段网络(卷积池化网络)第1层为样本的输入层,第2层为第1个卷积层,第3层为第1个池化层,第4层为第2个卷积层,第5层为第2 个池化层,以此类推;
wCwNN后段网络(小波神经网络wNN)最后一层(第-1层)为wNN输出层,倒数第2层(第-2层)开始至倒数第h-1层(第-h+1层)是wNN隐含层,倒数第h层(第-h层)是wNN输入层;倒数第h+1层(第-h-1层)是wCwNN 网络前段网络(卷积池化网络)的最后一层;
【在本实施例中】前段网络(卷积池化网络)为5层,第1层为样本的输入层,第2层为第1个卷积层,第3层为第1个池化层,第4层为第2个卷积层,第5层为第2个池化层;后段网络(小波神经网络wNN)为3层,wNN第1层 (wCwNN的-3层)为wNN输入层,wNN第2层(wCwNN的-2层)是wNN 隐含层,wNN第3层(wCwNN的-1层)是wNN输出层;
105.1.2卷积层输入输出定义:
如果第l层是wCwNN前段网络的卷积层,具有featurel个卷积核(输出特征数),该层的输入维度为sizeNetl,经过卷积计算后输出维度为sizeOl,则经过 featurel个卷积核的卷积计算后,将会产生featurel个特征,每个特征的维度为 sizeOl;如果定义该层卷积核的大小为sizeCl×sizeCl,则卷积计算后产生的 featurel个特征中的每个特征的维度sizeOl的计算公式为:
sizeOl=(sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1) (51)
【在本实施例中】第1个卷积层(l=2)的特征数为feature2=6,卷积核的尺寸为sizeC2=5;第2个卷积层(l=4)的特征数为feature4=12,卷积核的尺寸为sizeC4=5;
105.1.3池化层输入输出定义:
如果第l层是wCwNN前段网络的池化层,该层的层池化窗大小为sizePl× sizePl,该层输入维度为sizeNetl;则经过池化计算后的输出维度sizeOl的计算公式为:
【在本实施例中】第1个卷积层(l=3)的特征数为feature3=feature2=6,池化窗的尺寸为sizeP3=2;第2个卷积层(l=5)的特征数为feature5= feature4=12,池化窗的尺寸为sizeP5=2;
105.1.4后段网络wNN网络相关定义:
如果第l层是wCwNN后段网络(小波神经网络wNN)的第1层(输入层),则第l+1层为小波神经网络的第2层(隐含层),第l+2层为小波神经网络的第3层(输出层);则wCwNN的后段网络wNN的结构参数如下:
定义在时刻t(第t次训练计算中),第l层第i个神经元的输入是经过激活函数计算后,该神经元的输出是
根据上述定义:如果wNN输入层一共有M个神经元,每个神经元的输入为:则输出为:如果wNN隐含层一共有Q个神经元,每个神经元的输入为:则输出为: 如果wNN输出层一共有L个神经元则每个神经元的输入为:则每个神经元的输出为
【在本实施例中】根据上述参数设定,wCwNN第一层的节点数是28×= 28=784个点;经过第一次卷积后,变为6个特征,每个特征的点数24×24=576个点;经过第一次池化后,上述6个特征中每个特征的点数是12×12=144;经过第二次卷积后,变为12个特征,每个特征的点数是8×8=64个点;经过第二次池化后,上述12个特征,每个特征的点数是4×4=16;则后段wNN 神经网络输入层的节点数是M=1×192=1×16×12=192个点,wNN神经网络隐含层的节点数是Q=1×10=10个点,wNN神经网络输出层的节点数是L=1×1=1个点;
定义wNN的输入层与隐含层各神经元之间的连接权值矩阵隐含层与输出层各神经元之间的连接权值矩阵隐含层神经元的活化函数尺度变换参数矩阵为aj(t)和bj(t);其中i=1,2,…,M,j=1,2,…,Q,k=1,2,…,L;
i、j、k表示各层神经网络神经元的编号,因为各神经元都是存放在数组里,因此i、j、k也表示存放神经元取值的数组的列号,也就是神经网络的维度编号,神经网络输入层神经元编号对应着样本数据输入的维度编号,神经网络输出层神经元编号对应着样本数据标签值的维度编号;
步骤105.2——网络权值初始化设置:
如果第l层是wCwNN前段网络的卷积层,则初始化尺度变换参数为和第l层与第l-1层之间的卷积核为其中l=1,3,5,...,n,此处的n表示最后一个卷积层的层号;
如果第l层是wCwNN后段网络wNN的隐含层,则初始化尺度变换参数为 Aj和Bj,则第l层与第l-1层之间的连接权值为第l+1层与第l层之间的连接权值为
生成的神经网络权值与参数并保存:上述各权值和尺度变换参数均可初始化为RandomFloatBetween(0,1),其中RandomFloatBetween(0,1)表示随机产生的 (0,1)区间内的随机小数;
保存上述随机生成的各权值和参数作为训练流程的初始化参数;
【在本实施例中】上述所有权值和参数全部初始化为随机产生的(0,1)区间内的随机小数;
步骤105.3——训练程序参数初始化:
初始化wCwNN前段网络的学习率为AlphaWC,wCwNN后段网络的学习率为AlphaWNN,学习率决定每个训练时刻t,参数调整量作用于参数变化量的百分比,一般取值范围为:(0,1];【在本实施例中】初始化AlphaWC=0.5, AlphaWNN=0.5;
初始化wCwNN后段网络的惯性系数为LA,惯性系数决定上一个训练时刻 t-1,各参数取值保持不变的比例,一般取值范围为:(0,1];【在本实施例中】初始化LA=0.5;
初始化在每个训练周期t,投入训练的样本数量为BATCHSIZE个,如果样本总数量为1000,则BATCHSIZE一般取5或者10,即总样本数量的【在本实施例中】初始化BATCHSIZE=10;
初始化训练的最大周期次数为LOOP_MAX,则训练开始后,训练时刻t的取值范围为1≤t≤LOOP_MAX;【在本实施例中】初始化LOOP_MAX=10000;
初始化目标差为ERROR_TARGET,表示经过多个训练周期,***的误差如果下降到小于ERROR_TARGET,则训练达到目标而停止;【在本实施例中】初始化ERROR_TARGET=0.001;
步骤106——处理流程选择:如果选择训练,则跳转至步骤130;如果选择分析,则跳转至步骤120;如果选择结束,则跳转至步骤190;
步骤130——训练:进入wCwNN训练流程(300)进行机器学习,结束后进入步骤131;
【在本实施例中】训练流程的输入是60000张图片和对应的60000个标签;每张图片由28x28个点构成,作为wCwNN神经网络的输入;每个标签是分类编号,取值范围是区间[1,10]内的整数;训练前wCwNN的各权值和参数 采用随机数进行初始化,训练后保存wCwNN的各权值和参数作为训练流程的输出;
步骤131——训练结果保存:将训练(300)结果进行保存,用于分析(120);之后跳转至步骤106,重新进行处理流程选择;
步骤120——分析:进入wCwNN前向计算流程(200)进行前向计算,计算得到结果后进入步骤121;
【在本实施例中】分析流程的输入是1张待分类的图片;该图片由28x28 个点构成,作为wCwNN神经网络的输入;分析前首先加载训练好的wCwNN 权值与参数分析的预期结果是上输入片的分类编号,即分析流程的输出;
步骤121——分析结果监控:将步骤120的分析结果发送到情报监察控制器 (5)的进行显示;之后跳转至步骤106,重新进行处理流程选择;
步骤190——结束:情报处理流程(100)结束。
2.2、wCwNN前向计算流程(200),其特征在于:由以下步骤构成:
步骤201——wCwNN前向计算流程(200)开始;该流程的输入为:
(1)单个样本数据的输入:表示为X1(t),位于wCwNN第一层(第l=1 层),由M个元素构成,也可以表示为wCwNN的第一层神经元的输入与输出相同,且与单个样本数据的输入相对应,表示为O1(t),也可以表示为j表示神经元结点的编号;
(2)与上述单个样本数据的输入对应的标签值:表示为Y-1(t),位于wCwNN 最后一层(第l=-1层),标签值的维度为L,也可以写为 k表示样本的标签的维度编号;
步骤202——初始化计算:
读取wCwNN前段网络卷积层的卷积核参数小波变换中的平移因了伸缩因了其中l=1,3,...,n,此处的n表示最后一个卷积层的层号;
读取wCwNN后段网络输入层与隐含层之间的连接权值隐含层尺度变换参数aj(t)=Aj和bj(t)=Bj,隐含层与输出层之间的连接权值
步骤203——卷积计算:按照wCwNN前段网络的层的顺序从前向后计算每一层的输出;
如果第l层是卷积层,则该层进行卷积计算,卷积计算的公式如下:
netl(t)=Convolution(Ol-1(t),wcl(t)) (53)
其中函数z=Convolution(x,y)的功能是卷积计算(Convolution Calculation):以y为卷积核,将数组x进行卷积计算,得到的结果是z;netl(t)为第l层卷积计算的结果,wcl(t)是第l层的卷积核,Ol-1(t)是第l-1层的输出(第l层的输入);
上述卷积计算的数学公式为:
如果矩阵x是a×b的矩阵,卷积核y是c×d的矩阵,通常情况下a=b、 c=d、a>c(例如:a=b=sizeNetl,c=d=sizeCl),则卷积计算结果z= Convolution(x,y)计算中,z矩阵中m行n列的点的计算公式为:
其中m=1,2,…,a-c+1,n=1,2,…,b-d+1,即卷积层的输出的维度为 (sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1)
步骤104——激活计算:
将卷积计算的结果netl(t)经过激活函数计算,得到第l层的输出Ol(t)如下:
Ol(t)=Ψwc(netl(t)) (55)
其中激活函数Ψwc(x)的定义如下:在t时刻第l层第j个神经元经过激活函数后的输出的计算公式为:
其中,表示在t时刻第l层(卷积层)第j个神经元的卷积计算结果 (未激活),和表示上文定义的第l层尺度变换参数acl(t)和bcl(t) 中第j个神经元的尺度变换参数;Ψwc(x)表示卷积层激活函数,可以是:
Ψwc(x)的导数可以表示为:
步骤105——池化计算:
如果第l层是池化层,则该层进行池化计算,池化计算的公式如下:
Ol(t)=Convolution(Ol-1(t),valuePl) (59)
其中函数z=Convolution(x,y)是卷积计算(同上),池化计算也是一种卷积计算(卷积核每个点的取值相同):y为池化窗(卷积核),第l层池化窗的尺寸为sizePl,将数组x进行池化计算,得到的结果是z;Ol(t)为第l层卷积计算的结果,valuePl是第l层的池化窗每个元素的值,Ol-1(t)是第l-1层(前一个卷积层经过激活函数后)的输出,也就是第l层(池化层)的输入;池化窗 valuePl中每一个值(池化窗每个第i行第j列的元素都相等)计算公式如下:
步骤106——判断前段网络计算是否结束:前段网络可能是多个卷积池化层,因此确保每个卷积池化层都按照步骤103至步骤105进行计算后,再进入步骤 107;
步骤107——后段网络(小波神经网络)前向计算:
wNN输入层的输入和输出相同,即:
wNN隐含层的输入的计算公式如下:
wNN隐含层的输出的计算公式如下:
其中Ψab(x)为小波函数,即隐含层神经元的活化函数,aj(t)、bj(t)为t时刻小波函数尺度变换参数,即隐含层神经元的活化函数尺度变换参数。取满足框架条件的小波函数Ψa,b(x)如下:
Ψab(x)的导数可以表示为:
wNN输出层的输入的计算公式如下:
wNN输出层的输出的计算公式如下:
其中g(x)为输出层神经元的活化函数取非负的Sigmoid函数,如下式:
步骤108——分类结果计算:前向计算的分类结果计算公式如下:
t时刻本次前向计算的样本的输入为O1(t),labelO3(t)为本次前向计算的样本分类编号,为该样本的前向计算结果的第k个维度分量,可以作为本次前向计算的样本的输入O1(t)对应的标签值,k=1,2,…,L,k表示样本的标签的维度编号;表示wNN样本经过前向计算后,得到的输出层的每个输出与样本标签中每个维度的差,其中k=1,2,...,L,k表示输出层神经元的位置号,L表示输出层神经元结点的总数, 表示输出层第k个输出与标签值第k个维度的数值最接近,即使取值达到最小时的k;
步骤190——结束:wCwNN全段网络前向计算结束;该流程的输出为:样本x(i,j)经过前向计算后,得到的wNN输出层的输出以及对应的分类编号labelO3(t);
2.3、wCwNN训练计算流程(300),其特征在于:由以下步骤构成:
步骤301——wCwNN训练计算流程(300)开始;该流程的输入为全体训练样本数据:
定义全体训练样本的输入为allXn(j),简写为allXn:allXn(j)表示第n个训练样本的输入,n=1,2,…,N,k代表训练样本的编号,一共有N个样本;每个样本的输入的维度用j表示,其中j=1,2,…,M,每个样本的输入有M个维度;
定义全体训练样本的标签(目标值)为allYn(j),简写为allYn:allYn(j)表示第n个训练样本的标签(目标值),n=1,2,…,N,n代表训练样本的编号,一共有N个样本;每个样本的标签的维度用j表示,j=1,2,…,K,每个样本的标签有 K个维度;
定义第n个训练样本samplen:由第n个训练样本的输入allXn和第n个标签allYn构成;
定义全体训练样本为sampleALL,由所有的samplen构成,其中n=1,2,…,N, n代表训练样本的编号,一共有N个训练样本构成全体训练样本sampIeALL;
步骤302——初始化计算:在本步骤之前,已经进行了wCwNN参数设置(已经执行过步骤105);设定当前训练次数计数器t=1;
步骤302.1——训练样本数据归一化:
根据上述定义,归一化的计算公式如下:
其中k代表训练样本的编号,一共有N个样本;每个样本的输入的维度用j 表示,其中j=1,2,…,M,每个样本一共有M个维度;
其中k=1,2,…,N,k代表训练样本的编号,一共有N个样本;每个样本的标签的维度用j表示,j=1,2,…,K,每个样本的标签有K个维度;
其中max(Vk(j))函数的功能是返回Vk(j)中所有元素取值的最大值, min(Vk(j))函数的功能是返回Vk(j)二维数组中所有素取取值的最小值;
步骤303——判断训练次数是否达上限:
当前训练次数计数器t是否达到上限LOOP_MAX,如果t≤LOOP_MAX,则跳转步骤304,开始第t次训练,否则(t>LOOP_MAX)跳转步骤321保存权值参数并保存训练次数误差,准备结束第t次训练;
步骤304——全段网络前向计算:
步骤304.1随机挑选BATCHSIZE个训练样本分别进行前向计算,准备用于 wCwNN权值和参数调整:
训练过程的关键是对神经网络各参数进行调整,调整算法需要对单个样本进行前向计算,前向计算的结果与标签值之前可以计算误差,根据误差进行误差的反向传播计算,根据反向传播的误差计算神经网络参数的调整量,上述过程都是针对单个样本进行的,为了提升效率,第t次训练中,一次处理BATCHSIZE个样本,其中前向计算步骤如下:
定义参加第t次训练的样本组合为sampleBATCH(t):在第t次训练时,首先在全体训练样本sampleALL中,随机挑选BATCHSIZE个样本,构成一个训练样本组合sampleBATCH(t),在第t次训练中这些随机选出的样本都参加训练;
定义训练样本组合sampleBATCH(t),其中第n个样本的输入为Xn(t):其中n=1,2,…,BATCHSIZE,k代表训练样本的编号,一共有BATCHSIZE个;
定义训练样本组合sampleBATCH(t),其中第n个样本的标签为Yn(t):其中n=1,2,…,BATCHSIZE,n代表训练样本的编号,一共有BATCHSIZE个;
将训练样本组合sampleBATCH(t)中的每一个样本Xn(t),n= 1,2,…,BATCHSIZE,分别作为前向计算流程200的输入参数O1(t),分别送入前向计算流程200,前向计算流程200的输出为wCwNN最后一层的输出
步骤304.2将全体训练样本进行前向计算,准备用于计算总体误差:
训练过程中需要根据已经达成的训练效果(全体训练样本的总误差)判定算法是否可以结束,全体训练样本的总误差是全体样本的标签值和前向计算的结果的差的函数,计算方法如下:
定义全体训练样本中的每个样本的输入为allXn,n=1,2,…,N,分别作为前向计算流程200的输入参数O1(t),分别送入前向计算流程200,前向计算流程 200的输出为每个样本的前向计算结果
步骤305——总误差计算:
根据步骤301wCwNN训练计算流程(300)开始中的定义,全体训练样本的标签(目标值)为allYn,allYn与训练次数t无关;根据步骤304.2全体训练样本的前向计算,可以得到在时刻t第n个训练样本输入的前向计算结果为则第t次训练中,样本的总误差L(t),计算公式如下:
步骤306——判断误差是否达标:
如果第t次训练中,L(t)<ERROR_TARGET,即达到目标误差的要求,则跳转至步骤321保存权值参数并保存训练次数误差,准备结束训练;否则转至步骤307误差反向传播计算,准备更新权值,产生新的总误差进行算法终止判定,本步骤判定算法不结束,因此训练次数t更新为:t=t+1;
步骤307——误差反向传播计算:
定义表示wCwNN后段网络各层的输出误差:其中表示在t时刻wNN输入层神经元i的输出误差,用表示wNN隐藏层神经元j未经过激活函数的输出误差,用表示wNN隐藏层神经元j经过激活函数的输出误差,用表示wNN输出层神经元k的输出误差;
步骤307.1——wCwNN后段网络误差反向传播:
wNN输出层输出误差计算如下:
表示wNN输出层第k个神经元的输出误差,k表示神经元的编号,输出层一共有L个神经元,是一个维数为L×1的矩阵;当BATCHSIZE个样本同时计算时,BATCHSIZE个用一个维度为L×BATCHSIZE的矩阵表示;
wNN隐藏层输出误差计算如下:
表示wNN隐含层第j个神经元经过激活函数后的输出误差,j表示隐含层神经元的编号,隐含层一共有Q个神经元,即是一个维数为Q×1的矩阵;表示隐含层与输出层各神经元之间的连接权值矩阵,矩阵维度为Q× L;当BATCHSIZE个样本同时计算时,BATCHSIZE个用一个维度为Q×BATCHSIZE的矩阵表示;
wNN隐藏层未经过激活函数的输出误差如下:
表示wNN隐藏层神经元j未经过激活函数的输出误差,j表示隐含层神经元的编号,隐含层一共有Q个神经元;当BATCHSIZE个样本同时计算时,表示为一个维数为BATCHSIZE×Q的矩阵:Ψ′a,b代表wNN隐含层的激活函数的导数,经过计算后的矩阵维度为BATCHSIZE×Q,表示 BATCHSIZE个样本反向传播计算过程中,隐藏层第j个神经元在未经激活函数之前的导数;
wNN输入层第i个神经元的输出误差计算如下:
表示wNN输入层第i个神经元的输出误差,i表示输入层神经元的编号,wNN输入层一共有M个神经元;表示输入层与隐含层各神经元之间的连接权值矩阵,矩阵维度为Q×M;当BATCHSIZE个样本同时计算时, BATCHSIZE个表示为一个维数为BATCHSIZE×M的矩阵;
步骤307.2——卷积(池化)计算后的输出误差计算:
如果前段网络最后一层是第l层,第l层有两种情况:
情况一:如果第l层是池化层,池化层没有激活函数,池化计算(池化计算也是一种卷积计算)后的输出误差为:
情况二:如果第l层是卷积层,卷积计算之后还要进行激活函数计算,从而产生卷积层的输出,作为第l+1层的输入,上述激活函数之后的输出误差为:
而激活函数之前(卷积层的卷积计算后)的输出误差的计算公式为:
是前向计算中得到的第l层卷积和激活函数计算后的输出,其中i=1,2...,M;当BATCHSIZE个样本同时计算时,BATCHSIZE个BATCHSIZE 个和BATCHSIZE个分别用一个维度为M×BATCHSIZE的矩阵表示;
情况一和情况二计算的结果是卷积(池化)计算之后的输出误差。
对于前段网络的最后一层(第l=-1wC层):对于每一个样本,部是一个1×M的矩阵,对应后段网络的输入维度1×M;但是前段网络的输出的数据结构应该是sizeOl×sizeOl×featurel,l=-1wC,其中featurel,l=- 1wC表示前段网络最后一层的特征数,sizeOl×sizeOl,l=-1wC表示前段网络最后一层的每个特征对应的输出矩阵,前段网络最后一层的输出与后段网络第一层的输入的对应关系是:sizeOl×sizeOl×featurel=1×M,l=-1wC;因此需要将1×M的数据结构映射回sizeOl×sizeOl×featurel,l=-1wC的数据结构:
使用j表示前段网络的最后一层的特征编号,则j=1,2...,featurel,l=- 1wC,使用m、n表示第j个特征输出误差的行号和列号,则m= 1,2...,sizeOl,n=1,2...,sizeOl,l=-1wC;则第j个特征第m行、第n列的输出误差映射公式为:
步骤307.3——wCwNN前段网络误差反向传播:
wCwNN前段网络的第l=1层为样本的输入层,第l=2层为第1个卷积层,第l=3层为第1个池化层,第l=4层为第2个卷积层,第l=5层为第2 个池化层,以此类推,通常情况下l≥3;
如果第l层是卷积层,用变量表示第l层的第j个特征的输出误差,则表示卷积层的后一层(池化层)的第i个特征的输出误差;i=1,2,...,sizel+1,i表示池化层各特征的编号,第l+1层有featurel+1个特征;
如果第l层是池化层,用变量表示第l层的第i个特征的输出误差,则用变量表示池化层的后一层(卷积层)的第j个特征的输出误差,j= 1,2,...,featurel+1,j表示卷积层各特征的编号,第l+1层有featurel+1个特征;
步骤307.3.1——池化层的误差反向传播:
池化层的误差反向传播是指:根据池化层(第l+1层)的输出误差计算前一个卷积层(第l层)经过激活函数前的输出误差计算公式为:
表示第j个特征的误差,表示第j个特征的输入值,与表示第j个特征的小波变换平移因子与伸缩因子;j表示各特征的编号,第l层有featurel个特征,为池化层第i个特征的输出误差,i表示池化层各特征的编号,第l+1层有featurel+1个特征;Ψ′wc(x)为激活函数导数函数;poolExpand(x) 表示池化层扩展,作用是将池化层(第l+1层)每一个点的输出误差扩展成为 sizePl+1×sizePl+1个输出误差;表示扩展后的误差,计算公式如下,其中int(x)函数,表示对x向下取整;
步骤307.3.2——卷积层的卷积计算的误差反向传播计算
卷积层的卷积计算的误差反向传播是指:根据卷积层(第l+1层)的卷积计算的输出误差计算卷积层的输入误差也是池化层(第l层)的输出误差,该误差的计算公式为:
表示池化层第i个特征的输出误差,表示池化层的后一层卷积层的第j 个特征未经过激活函数前的输出误差,表示第l层的第i个特征向第l+ 1层的第j个特征进行卷积计算的卷积窗(连接权值),j表示第l+1层各特征的编号,第l+1层有featurel +1个特征,i表示第l层池化层各特征的编号,第 l层池化层有featarel个特征;
当BATCHSIZE个样本同时计算时,该步骤依靠反卷积完成,计算公式为:
函数Rotate(x)的功能是把矩阵x翻转180度:如果原矩阵x是a×b的矩阵,通常情况下a=b,则翻转过程如下:
函数z=Convolution2(x,y)的功能是反卷积计算(一种扩展的卷积计算):以y为卷积核,将矩阵x进行卷积计算,得到的结果是z,计算方式如下所示:
步骤308——网络权值与参数的调整计算:
步骤308.1——权值与参数的求导计算:
步骤308.1.1——前段网络的权值与参数的求导计算:
如果第l层是卷积层,则该层权值与参数的导数方法如下:
卷积核(第l-1层第i个特征的输出向第l层第j个特征的输出的卷积计算用到的卷积核)的求导计算公式如下:
表示第l-1层的第i个特征未经过激活函数的输出值,表示第l 层的第j个特征输出误差值;j表示卷积层各特征的编号,第l层有featurel个特征,i表示池化层各特征的编号,第l-1层有featurel-1个特征;
是第l层的第j个特征的小波变换参数的导数,计算公式如下:
其中,表示第l层的第j个特征输出误差值,表示第l层的第j个特征未经过激活函数的输出值,表示第l层的第j个特征的平移因子,表示第l层的第j个特征的伸缩因子;
当BATCHSIZE个样本同时计算时:的维度为(sizeNetl- sizeCl+1)×(sizeNetl-sizeCl+1)×featurel,的维度为1× featurel,表示特征j的误差除以特征j的参数,结果维度为 (sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1)×featurel;将各特征的 BATCHSIZE个样本误差相加,得到特征j的误差和,将除以BATCHSIZE得到平均误差,维度为1×featurel;
当BATCHSIZE个样本同时计算时:的维度与相同,求解过程同
步骤308.1.2——后段网络的权值与参数的求导计算:
后段网络的权值的导数的计算公式如下:
当BATCHSIZE个样本同时计算daj(t)时:的维度为Q×BATCHSIZE,的维度为Q×BATCHSIZE,上述计算结果的维度同样为Q×BATCHSIZE,代表样本的第j个隐藏层神经元的计算值,与的结果进行点乘计算(矩阵的点乘:矩阵各个对应元素相乘;矩阵的乘法:矩阵 a的第n行乘以矩阵b的第n列,各个元素对应相乘然后求和作为第n个元素的值),计算结果的维度为Q×BATCHSIZE,代表样本的第j个隐含层神经元参数 aj(t)的导数;把上述BATCHSIZE个样本的导数相加,再除以BATCHSIZE,即可得到第j个隐含层神经元参数aj(t)的平均导数;
当BATCHSIZE个样本同时计算dbj(t)时:的维度为Q×BATCHSIZE, aj(t)的维度为1×Q,表示样本的第j个神经元bj(t)的导数,把上述 BATCHSIZE个样本的导数相加,再除以BATCHSIZE,即可得到第j个隐含层神经元参数bj(t)的平均导数;
步骤308.2——wCwNN的权值与参数的更新计算:
如果第l层是前段网络的卷积层,则权值更新如下:
如果当前层是后段网络wNN,则权值更新如下:
aj(t+1)=aj(t)-AlphaWNN×daj(t)+LA×aj(t) (99)
bj(t+1)=bj(t)-AlphaWNN×dbj(t)+LA×bj(t) (100)
步骤321——保存wCwNN权值与参数:
保存wCwNN前段网络卷积层的卷积核参数小波变换中的平移因了伸缩因了其中l=1,3,...,n,此处的n表示最后一个卷积层的层号;
保存wCwNN后段网络输入层与隐含层之间的连接权值隐含层尺度变换参数Aj=aj(t)和Bj=bj(t),隐含层与输出层之间的连接权值
步骤390——wCwNN训练结束。
Claims (6)
1.小波卷积小波神经网络及情报分析方法,其特征在于:小波卷积小波神经网络及情报分析方法(1000),包括情报处理流程(100)、全段前向计算流程(200)、wCwNN训练计算流程(300),其中wCwNN是小波卷积小波神经网络的英文首字母缩写。
2.根据权利要求1所述的小波卷积小波神经网络及情报分析方法,其特征在于,小波卷积小波神经网络及情报分析方法(1000),情报处理流程(100),由以下步骤构成:
步骤101——情报处理流程(100)开始:前端情报板(1)和海量情报服务器(3)启动并进行通讯;如果通讯正常,则进入步骤102,如果通讯异常,则在前端情报板(1)和海量情报服务器(3)中报警;之后进入步骤102;
步骤102——情报采集:前端情报板(1)通过视频图像采集装置(1.6)对监控场景(6.1)进行图像采集,发送给海量情报服务器(3);前端情报板(1)或海量情报服务器(3)对互联网(6.2)进行文本信息抓取,发送给海量情报服务器(3);之后进入步骤103;
步骤103——情报存储:海量情报服务器(3)接收来自前端情报板(1)采集的图像信息并存储;海量情报服务器(3)接收来自前端情报板(1)和海量情报服务器(3)抓取的文本信息并存储;之后进入步骤104;
步骤104——特征提取:该步骤104能够跳过;该步骤104是通过人脸检测算法将人脸照片区域图像裁剪为新的图片信息;该步骤104是通过自然语言特征提取算法将文本信息映射为特征向量;之后进入步骤105;
步骤105——wCwNN参数设置,步骤105是整个方法的核心步骤,定义了程序和wCwNN网络的关键参数;
以下wCwNN涉及到的所有权值、参数、神经元结点的值将存放在wCwNN模块的寄存器中,wCwNN神经网络的输入是采集的信息,神经网络的输出是采集信息经过计算的结果和分类标签;下列各公式表示本发明***将上述采集信息的输入,按照上述权值、参数在上述神经元结点中进行计算,计算的结果为上述输出和分类标签;神经网络各层节点的物理意义是本***对采集信息的理解信息;
步骤105.1——网络结构参数设置:
105.1.1前段网络、后段网络及各层的相关定义:wCwNN网络分为前段网络和后段网络,前段网络为卷积池化网络,其中卷积层的激活函数为小波尺度变换函数,后段网络为小波神经网络;
wCwNN网络前段网络第1层为样本的输入层,第2层为第1个卷积层,第3层为第1个池化层,第4层为第2个卷积层,第5层为第2个池化层,以此类推;
wCwNN后段网络最后一层为wNN输出层,倒数第2层开始至倒数第h-1层是wNN隐含层,倒数第h层是wNN输入层;倒数第h+1层是wCwNN网络前段网络的最后一层;
105.1.2卷积层输入输出定义:
如果第l层是wCwNN前段网络的卷积层,具有featurel个卷积核即输出特征数,该卷积层的输入维度为sizeNetl,经过卷积计算后输出维度为sizeOl,则经过featurel个卷积核的卷积计算后,将会产生featurel个特征,每个特征的维度为sizeOl;如果定义该层卷积核的大小为sizeCl×sizeCl,则卷积计算后产生的featurel个特征中的每个特征的维度sizeOl的计算公式为:
sizeOl=(sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1) (1)
105.1.3池化层输入输出定义:
如果第l层是wCwNN前段网络的池化层,该池化层的层池化窗大小为sizePl×sizePl,该层输入维度为sizeNetl;则经过池化计算后的输出维度sizeOl的计算公式为:
105.1.4后段网络wNN网络相关定义:
如果第l层是wCwNN后段网络的第1层,则第l+1层为小波神经网络的第2层,第l+2层为小波神经网络的第3层;则wCwNN的后段网络wNN的结构参数如下:
定义在时刻t,第l层第i个神经元的输入是经过激活函数计算后,该第i个神经元的输出是
根据上述定义:如果wNN输入层一共有M个神经元,每个神经元的输入为:则输出为:如果wNN隐含层一共有Q个神经元,每个神经元的输入为:则输出为:如果wNN输出层一共有L个神经元则每个神经元的输入为:则每个神经元的输出为
定义wNN的输入层与隐含层各神经元之间的连接权值矩阵隐含层与输出层各神经元之间的连接权值矩阵隐含层神经元的活化函数尺度变换参数矩阵为aj(t)和bj(t);其中i=1,2,…,M,j=1,2,…,Q,k=1,2,…,L;
i、j、k表示各层神经网络神经元的编号,因为各神经元都是存放在数组里,因此i、j、k也表示存放神经元取值的数组的列号,也就是神经网络的维度编号,神经网络输入层神经元编号对应着样本数据输入的维度编号,神经网络输出层神经元编号对应着样本数据标签值的维度编号;
步骤105.2——网络权值初始化设置:
如果第l层是wCwNN前段网络的卷积层,则初始化尺度变换参数为和第l层与第l-1层之间的卷积核为其中l=1,3,5,…,n,此处的n表示最后一个卷积层的层号;
如果第l层是wCwNN后段网络wNN的隐含层,则初始化尺度变换参数为Aj和Bj,则第l层与第l-1层之间的连接权值为第l+1层与第l层之间的连接权值为
生成的神经网络权值与参数并保存:各权值和尺度变换参数均可初始化为RandomFloatBetween(0,1),其中RandomFloatBetween(0,1)表示随机产生的(0,1)区间内的随机小数;
保存上述随机生成的各权值和参数作为训练流程的初始化参数;
步骤105.3——训练程序参数初始化:
初始化wCwNN前段网络的学习率为AlphaWC,wCwNN后段网络的学习率为AlphaWNN,学习率决定每个训练时刻t,参数调整量作用于参数变化量的百分比,取值范围为:(0,1];
初始化wCwNN后段网络的惯性系数为LA,惯性系数决定上一个训练时刻t-1,各参数取值保持不变的比例,取值范围为:(0,1];
初始化每个训练时刻t,投入训练的样本数量为BATCHSIZE个,如果样本总数量为1000,则BATCHSIZE取5或者10,即总样本数量的
初始化训练的最大周期次数为LOOP_MAX,则训练开始后,训练时刻t的取值范围为1≤t≤LOOP_MAX;
初始化目标差为ERROR_TARGET,表示经过多个训练周期,误差如果下降到小于ERROR_TARGET,则训练达到目标而停止;
步骤106——处理流程选择:如果选择训练,则跳转至步骤130;如果选择分析,则跳转至步骤120;如果选择结束,则跳转至步骤190;
步骤130——训练:进入wCwNN训练流程(300)进行机器学习,结束后进入步骤131;
步骤131——训练结果保存:将训练(300)结果进行保存,用于分析(120);之后跳转至步骤106,重新进行处理流程选择;
步骤120——分析:进入wCwNN前向计算流程(200)进行前向计算,计算得到结果后进入步骤121;
步骤121——分析结果监控:将步骤120的分析结果发送到情报监察控制器(5)的进行显示;之后跳转至步骤106,重新进行处理流程选择;
步骤190——结束:情报处理流程(100)结束。
3.根据权利要求2所述的小波卷积小波神经网络及情报分析方法,其特征在于:wCwNN前向计算流程(200),由以下步骤构成:
步骤201——wCwNN前向计算流程(200)开始;该流程的输入为:
(1)单个样本数据的输入:表示为X1(t),位于wCwNN第一层,由M个元素构成,表示为wCwNN的第一层神经元的输入与输出相同,且与单个样本数据的输入相对应,表示为O1(t),也可以表示为j=1,2,…,M,j表示神经元结点的编号;
(2)与上述单个样本数据的输入对应的标签值:表示为Y-1(t),位于wCwNN最后一层,标签值的维度为L,也能够写为k表示样本的标签的维度编号;
步骤202——初始化计算:
读取wCwNN前段网络卷积层的卷积核参数小波变换中的平移因子伸缩因子其中l=1,3,5,,…,n,此处的n表示最后一个卷积层的层号;
读取wCwNN后段网络输入层与隐含层之间的连接权值隐含层尺度变换参数aj(t)=Aj和bj(t)=Bj,隐含层与输出层之间的连接权值
步骤203——卷积计算:按照wCwNN前段网络的层的顺序从前向后计算每一层的输出;
如果第l层是卷积层,则该层进行卷积计算,卷积计算的公式如下:
netl(t)=Convolution(Ol-1(t),wcl(t)) (3)
其中函数z=Convolution(x,y)的功能是卷积计算:以y为卷积核,将数组x进行卷积计算,得到的结果是z;netl(t)为第l层卷积计算的结果,wcl(t)是第l层的卷积核,Ol-1(t)是第l-1层的输出;
上述,卷积计算的数学公式为:
如果矩阵x是a×b的矩阵,卷积核y是c×d的矩阵,通常情况下a=b、c=d、a>c,则卷积计算结果z=Convolution(x,y)计算中,z矩阵中m行n列的点的计算公式为:
其中m=1,2,…,a-c+1,n=1,2,…,b-d+1,即卷积层的输出的维度为(sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1)
步骤104——激活计算:
将卷积计算的结果netl(t)经过激活函数计算,得到第l层的输出Ol(t)如下:
Ol(t)=Ψwc(netl(t)) (5)
其中激活函数Ψwc(x)的定义如下:在t时刻第l层第j个神经元经过激活函数后的输出的计算公式为:
其中,表示在t时刻第l层卷积层的第j个神经元的卷积计算结果,和表示第l层尺度变换参数acl(t)和bcl(t)中第j个神经元的尺度变换参数;Ψwc(x)表示卷积层激活函数,是:
Ψwc(x)的导数表示为:
步骤105——池化计算:
如果第l层是池化层,则该层进行池化计算,池化计算的公式如下:
Ol(t)=Convolution(Ol-1(t),valuePl) (9)
其中函数z=Convolution(x,y)是卷积计算,池化计算也是一种卷积计算:y为池化窗,第l层池化窗的尺寸为sizePl,将数组x进行池化计算,得到的结果是z;Ol(t)为第l层卷积计算的结果,valuePl是第l层的池化窗每个元素的值,Ol-1(t)是第l-1层的输出,也就是第l层的输入;池化窗valuePl中每一个值计算公式如下:
步骤106——判断前段网络计算是否结束:前段网络可能是多个卷积池化层,因此确保每个卷积池化层都按照步骤103至步骤105进行计算后,再进入步骤107;
步骤107——后段网络即小波神经网络前向计算:
wNN输入层的输入和输出相同,即:
wNN隐含层的输入的计算公式如下:
wNN隐含层的输出的计算公式如下:
其中Ψab(x)为小波函数,即隐含层神经元的活化函数,aj(t)、bj(t)为t时刻小波函数尺度变换参数,即隐含层神经元的活化函数尺度变换参数;取满足框架条件的小波函数Ψa,b(x)如下:
Ψab(x)的导数表示为:
wNN输出层的输入的计算公式如下:
wNN输出层的输出的计算公式如下:
其中g(x)为输出层神经元的活化函数取非负的Sigmoid函数,如下式:
步骤108——分类结果计算:前向计算的分类结果计算公式如下:
t时刻本次前向计算的样本的输入为O1(t),labelO3(t)为本次前向计算的样本分类编号,为该样本的前向计算结果的第k个维度分量,可以作为本次前向计算的样本的输入O1(t)对应的标签值,k=1,2,…,L,k表示样本的标签的维度编号,也就是输出层神经元的位置号;表示wNN样本经过前向计算后,得到的输出层的每个输出与样本标签中每个维度的差,其中k=1,2,…,L,k表示输出层神经元的位置号,L表示输出层神经元结点的总数,表示输出层第k个输出与标签值第k个维度的数值最接近,即使取值达到最小时的k;
步骤190——结束:wCwNN全段网络前向计算结束;该流程的输出为:样本x(i,j)经过前向计算后,得到的wNN输出层的输出以及对应的分类编号labelO3(t)。
4.根据权利要求3所述的小波卷积小波神经网络及情报分析方法,其特征在于:wCwNN训练计算流程(300),由以下步骤构成,
步骤301——wCwNN训练计算流程(300)开始;该流程的输入为全体训练样本数据:
定义全体训练样本的输入为allXn(j),简写为allXn:allXn(j)表示第n个训练样本的输入,n=1,2,…,N,n代表训练样本的编号,一共有N个样本;每个样本的输入的维度用j表示,其中j=1,2,…,M,每个样本的输入有M个维度;
定义全体训练样本的标签为allYn(j),简写为allYn:allYn(j)表示第n个训练样本的标签,n=1,2,…,N,n代表训练样本的编号,一共有N个样本;每个样本的标签的维度用j表示,j=1,2,…,K,每个样本的标签有K个维度;
定义第n个训练样本samplen:由第n个训练样本的输入allXn和第n个标签allYn构成;
定义全体训练样本为sampleALL,由所有的samplen构成,其中n=1,2,…,N,n代表训练样本的编号,一共有N个训练样本构成全体训练样本sampleALL;
步骤302——初始化计算:在本步骤之前,已经进行了wCwNN参数设置;设定当前训练次数计数器的时刻t=1;
步骤302.1——训练样本数据归一化:
归一化的计算公式如下:
其中k代表训练样本的编号,一共有N个样本;每个样本的输入的维度用j表示,其中j=1,2,…,M,每个样本一共有M个维度;
其中k=1,2,…,N,k代表训练样本的编号,一共有N个样本;每个样本的标签的维度用j表示,j=1,2,…,K,每个样本的标签有K个维度;
其中,max(Vk(j))函数的功能是返回Vk(j)中所有元素取值的最大值,min(Vk(j))函数的功能是返回Vk(j)二维数组中所有素取取值的最小值;
步骤303——判断训练次数是否达上限:
当前训练次数计数器t是否达到上限LOOP_MAX,如果t≤LOOP_MAX,则跳转步骤304,开始第t次训练,否则t>LOOP_MAX跳转步骤321保存权值参数并保存训练次数误差,准备结束第t次训练;
步骤304——全段网络前向计算:
步骤304.1随机挑选BATCHSIZE个训练样本分别进行前向计算,准备用于wCwNN权值和参数调整:
训练过程的关键是对神经网络各参数进行调整,调整算法需要对单个样本进行前向计算,前向计算的结果与标签值之前可以计算误差,根据误差进行误差的反向传播计算,根据反向传播的误差计算神经网络参数的调整量,过程都是针对单个样本进行的,第t次训练中,一次处理BATCHSIZE个样本,其中前向计算步骤如下:
定义参加第t次训练的样本组合为sampleBATCH(t):在第t次训练时,首先在全体训练样本sampleALL中,随机挑选BATCHSIZE个样本,构成一个训练样本组合sampleBATCH(t),在第t次训练中这些随机选出的样本都参加训练;
定义训练样本组合sampleBATCH(t),其中第n个样本的输入为Xn(t):其中n=1,2,…,BATCHSIZE,k代表训练样本的编号,一共有BATCHSIZE个;
定义训练样本组合sampleBATCH(t),其中第n个样本的标签为Yn(t):其中n=1,2,…,BATCHSIZE,n代表训练样本的编号,一共有BATCHSIZE个;
将训练样本组合sampleBATCH(t)中的每一个样本Xn(t),n=1,2,…,BATCHSIZE,分别作为前向计算流程200的输入参数O1(t),分别送入前向计算流程200,前向计算流程200的输出为wCwNN最后一层的输出
步骤304.2将全体训练样本进行前向计算,准备用于计算总体误差:
训练过程中需要根据已经达成的训练效果判定算法是否可以结束,全体训练样本的总误差是全体样本的标签值和前向计算的结果的差的函数,计算方法如下:
定义全体训练样本中的每个样本的输入为allXn,n=1,2,…,N,分别作为前向计算流程200的输入参数O1(t),分别送入前向计算流程200,前向计算流程200的输出为每个样本的前向计算结果
步骤305——总误差计算:
根据步骤301 wCwNN训练计算流程(300)开始中的定义,全体训练样本的标签为allYn,allYn与训练次数t无关;根据步骤304.2全体训练样本的前向计算,得到在时刻t第n个训练样本输入的前向计算结果为则第t次训练中,样本的总误差L(t),计算公式如下:
步骤306——判断误差是否达标:
如果第t次训练中,L(t)<ERROR_TARGET,即达到目标误差的要求,则跳转至步骤321保存权值参数并保存训练次数误差,准备结束训练;否则转至步骤307误差反向传播计算,准备更新权值,产生新的总误差进行算法终止判定,本步骤判定算法不结束,因此训练次数t更新为:t=t+1;
步骤307——误差反向传播计算:
定义表示wCwNN后段网络各层的输出误差:其中表示在t时刻wNN输入层神经元i的输出误差,用表示wNN隐藏层神经元j未经过激活函数的输出误差,用表示wNN隐藏层神经元j经过激活函数的输出误差,用表示wNN输出层神经元k的输出误差;
步骤307.1——wCwNN后段网络误差反向传播:
wNN输出层输出误差计算如下:
表示wNN输出层第k个神经元的输出误差,k表示神经元的编号,输出层一共有L个神经元,是一个维数为L×1的矩阵;当BATCHSIZE个样本同时计算时,BATCHSIZE个用一个维度为L×BATCHSIZE的矩阵表示;
wNN隐藏层输出误差计算如下:
表示wNN隐含层第j个神经元经过激活函数后的输出误差,j表示隐含层神经元的编号,隐含层一共有Q个神经元,即是一个维数为Q×1的矩阵;表示隐含层与输出层各神经元之间的连接权值矩阵,矩阵维度为Q×L;当BATCHSIZE个样本同时计算时,BATCHSIZE个用一个维度为Q×BATCHSIZE的矩阵表示;
wNN隐藏层未经过激活函数的输出误差如下:
表示wNN隐藏层神经元j未经过激活函数的输出误差,j表示隐含层神经元的编号,隐含层一共有Q个神经元;当BATCHSIZE个样本同时计算时,表示为一个维数为BATCHSIZE×Q的矩阵:Ψ′a,b代表wNN隐含层的激活函数的导数,经过计算后的矩阵维度为BATCHSIZE×Q,表示BATCHSIZE个样本反向传播计算过程中,隐藏层第j个神经元在未经激活函数之前的导数;
wNN输入层第i个神经元的输出误差计算如下:
表示wNN输入层第i个神经元的输出误差,i表示输入层神经元的编号,wNN输入层一共有M个神经元;表示输入层与隐含层各神经元之间的连接权值矩阵,矩阵维度为Q×M;当BATCHSIZE个样本同时计算时,BATCHSIZE个表示为一个维数为BATCHSIZE×M的矩阵;
步骤307.2——卷积计算后的输出误差计算:
如果前段网络最后一层是第l层,第l层有两种情况:
情况一:如果第l层是池化层,池化层没有激活函数,池化计算后的输出误差为:
情况二:如果第l层是卷积层,卷积计算之后还要进行激活函数计算,从而产生卷积层的输出,作为第l+1层的输入,上述激活函数之后的输出误差为:
而激活函数之前(卷积层的卷积计算后)的输出误差的计算公式为:
是前向计算中得到的第l层卷积和激活函数计算后的输出,其中i=1,2…,M;当BATCHSIZE个样本同时计算时,BATCHSIZE个BATCHSIZE个和BATCHSIZE个分别用一个维度为M×BATCHSIZE的矩阵表示;
情况1和情况2计算的结果是卷积计算之后的输出误差;
对于前段网络的最后一层:对于每一个样本,都是一个1×M的矩阵,对应后段网络的输入维度1×M;但是前段网络的输出的数据结构应该是sizeOl×sizeOl×featurel,l=-1wC,其中featurel,l=-1wC表示前段网络最后一层的特征数,sizeOl×sizeOl,l=-1wC表示前段网络最后一层的每个特征对应的输出矩阵,前段网络最后一层的输出与后段网络第一层的输入的对应关系是:sizeOl×sizeOl×featurel=1×M,l=-1wC;因此需要将1×M的数据结构映射回sizeOl×sizeOl×featurel,l=-1wC的数据结构:
使用j表示前段网络的最后一层的特征编号,则j=1,2…,featurel,l=-1wC,使用m、n表示第j个特征输出误差的行号和列号,则m=1,2…,sizeOl,n=1,2…,sizeOl,l=-1wC;则第j个特征第m行、第n列的输出误差映射公式为:
步骤307.3——wCwNN前段网络误差反向传播:
wCwNN前段网络的第l=1层为样本的输入层,第l=2层为第1个卷积层,第l=3层为第1个池化层,第l=4层为第2个卷积层,第l=5层为第2个池化层,以此类推,l≥3;
如果第l层是卷积层,用变量表示第l层的第j个特征的输出误差,则表示卷积层的后一层的第i个特征的输出误差;i=1,2,…,sizel+1,i表示池化层各特征的编号,第l+1层有featurel+1个特征;
如果第l层是池化层,用变量表示第l层的第i个特征的输出误差,则用变量表示池化层的后一层的第j个特征的输出误差,j=1,2,…,featurel+1,j表示卷积层各特征的编号,第l+1层有featurel+1个特征;
步骤307.3.1——池化层的误差反向传播:
池化层的误差反向传播是指:根据池化层的输出误差计算前一个卷积层经过激活函数前的输出误差计算公式为:
表示第j个特征的误差,表示第j个特征的输入值,与表示第j个特征的小波变换平移因子与伸缩因子;j表示各特征的编号,第l层有featurel个特征,为池化层第i个特征的输出误差,i表示池化层各特征的编号,第l+1层有featurel+1个特征;Ψ′wc(x)为激活函数导数函数;poolExpand(x)表示池化层扩展,作用是将池化层每一个点的输出误差扩展成为sizePl+1×sizePl+1个输出误差;表示扩展后的误差,计算公式如下,其中int(x)函数,表示对x向下取整;
步骤307.3.2——卷积层的卷积计算的误差反向传播计算
卷积层的卷积计算的误差反向传播是指:根据卷积层的卷积计算的输出误差计算卷积层的输入误差也是池化层的输出误差,该误差的计算公式为:
表示池化层第i个特征的输出误差,表示池化层的后一层卷积层的第j个特征未经过激活函数前的输出误差,表示第l层的第i个特征向第l+1层的第j个特征进行卷积计算的卷积窗,j表示第l+1层各特征的编号,第l+1层有featurel+1个特征,i表示第l层池化层各特征的编号,第l层池化层有featurel个特征;
当BATCHSIZE个样本同时计算时,该步骤依靠反卷积完成,计算公式为:
函数Rotate(x)的功能是把矩阵x翻转180度:如果原矩阵x是a×b的矩阵,通常情况下a=b,则翻转过程如下:
函数z=Convolution2(x,y)的功能是反卷积计算:以y为卷积核,将矩阵x进行卷积计算,得到的结果是z,计算方式如下所示:
步骤308——网络权值与参数的调整计算:
步骤308.1——权值与参数的求导计算:
步骤308.1.1——前段网络的权值与参数的求导计算:
如果第l层是卷积层,则该层权值与参数的导数方法如下:
卷积核的求导计算公式如下:
表示第l-1层的第i个特征未经过激活函数的输出值,表示第l层的第j个特征输出误差值;j表示卷积层各特征的编号,第l层有featurel个特征,i表示池化层各特征的编号,第l-1层有featurel-1个特征;
是第l层的第j个特征的小波变换参数的导数,计算公式如下:
其中,表示第l层的第j个特征输出误差值,表示第l层的第j个特征未经过激活函数的输出值,表示第l层的第j个特征的平移因子,表示第l层的第j个特征的伸缩因子;
当BATCHSIZE个样本同时计算时:的维度为(sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1)×featurel,的维度为1×featurel,表示特征j的误差除以特征j的参数,结果维度为(sizeNetl-sizeCl+1)×(sizeNetl-sizeCl+1)×featurel;将各特征的BATCHSIZE个样本误差相加,得到特征j的误差和,将除以BATCHSIZE得到平均误差,维度为1×featurel;
当BATCHSIZE个样本同时计算时:的维度与相同,求解过程同
步骤308.1.2——后段网络的权值与参数的求导计算:
后段网络的权值的导数的计算公式如下:
当BATCHSIZE个样本同时计算daj(t)时:的维度为Q×BATCHSIZE,的维度为Q×BATCHSIZE,计算结果的维度同样为Q×BATCHSIZE,代表样本的第j个隐藏层神经元的计算值,与的结果进行矩阵的点乘计算;所述矩阵的点乘:矩阵各个对应元素相乘;矩阵的乘法:矩阵a的第n行乘以矩阵b的第n列,各个元素对应相乘然后求和作为第n个元素的值),计算结果的维度为Q×BATCHSIZE,代表样本的第j个隐含层神经元参数aj(t)的导数;把BATCHSIZE个样本的导数相加,再除以BATCHSIZE,即得到第j个隐含层神经元参数aj(t)的平均导数;
当BATCHSIZE个样本同时计算dbj(t)时:的维度为Q×BATCHSIZE,aj(t)的维度为1×Q,表示样本的第j个神经元bj(t)的导数,把上述BATCHSIZE个样本的导数相加,再除以BATCHSIZE,即可得到第j个隐含层神经元参数bj(t)的平均导数;
步骤308.2——wCwNN的权值与参数的更新计算:
如果第l层是前段网络的卷积层,则权值更新如下:
如果当前层是后段网络wNN,则权值更新如下:
aj(t+1)=aj(t)-AlphaWNN×daj(t)+LA×aj(t) (49)
bj(t+1)=bj(t)-AlphaWNN×dbj(t)+LA×bj(t) (50)
步骤321——保存wCwNN权值与参数:
保存wCwNN前段网络卷积层的卷积核参数小波变换中的平移因子伸缩因子其中l=1,3,…,n,此处的n表示最后一个卷积层的层号;
保存wCwNN后段网络输入层与隐含层之间的连接权值隐含层尺度变换参数Aj=aj(t)和Bj=bj(t),隐含层与输出层之间的连接权值
步骤390——wCwNN训练结束。
5.基于小波卷积小波神经网络及情报分析***,其特征在于:
1.2.0不受控***(6)包括:监控场景(6.1)和互联网(6.2),监控场景(6.1)和互联网(6.2)中的大数据信息,将会被基于小波卷积小波神经网络及情报分析方法的***(2000)采集;
1.2.1前端情报板(1)包括:嵌入式计算机(1.1)、嵌入式操作***(1.2)、USB接口(1.3)、网络接口(1.4)、显示器接口(1.5)、视频图像采集装置(1.6)、输入设备(1.7)、显示器(1.8)、wCwNN模块(1.9)和无线路由器(1.10);
1.2.2网络安全与交换设备(2)包括网络安全设备(2.1)和网络数据交换设备(2.2),通过网线相连接,实现数据交换;网络安全设备(2.1)通过网线接入互联网(0.2),进而与前端情报板(1)可以通讯,通讯过程可以进行链路加密和数据加密;网络数据交换设备(2.2)通过网线与海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5)相连接,从而实现网络安全与交换设备(2)的作用:实现前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器(5)之间的数据安全与交换;
1.2.3海量情报服务器(3)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、高性能情报分析器(4)、情报监察控制器(5)进行网络数据交换;海量情报服务器(3)的主要作用是储存情报信息,海量情报服务器(3)的次要作用和前端情报板(1)的作用之一一样,实现网络文本信息的采集功能;
1.2.4高性能情报分析器(4)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、海量情报服务器(3)、情报监察控制器(5)进行网络数据交换;高性能情报分析器(4)的作用是对海量情报服务器(3)中存取的信息进行分析,实现wCwNN主要算法流程;
1.2.5情报监察控制器(5)通过网线与网络安全与交换设备(2)连接,从而可以与前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)、情报监察控制器;情报监察控制器(5)的作用是显示前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)的信息和状态给管理员,将管理员下达的各种控制指令和信息发送给前端情报板(1)、海量情报服务器(3)、高性能情报分析器(4)。
6.根据权利要求5所述的基于小波卷积小波神经网络及情报分析***,其特征在于:
1.2.1.1嵌入式计算机(1.1)是微型计算机、嵌入式开发版或单片机,通过螺丝固定在前端情报板(1)上,用于运行操作***和程序;
1.2.1.2嵌入式操作***(1.2)是计算机操作***和用于嵌入式设备的操作***,安装在嵌入式计算机(1.1)中,用于运行程序;
1.2.1.3 USB接口(1.3)是嵌入式计算机(1.1)的USB接口,或者是嵌入式计算机(1.1)扩展出来的USB接口,用于连接外部USB接入设备;
1.2.1.4网络接口(1.4)是嵌入式计算机(1.1)的网络接口,或者是嵌入式计算机(1.1)扩展出来的网络接口,用于连接外部网络设备、接入网络、接入互联网(6.2);
1.2.1.5显示器接口(1.5)是嵌入式计算机(1.1)的显示接口,或者是嵌入式计算机(1.1)扩展出来的显示接口,用于连接外部显示设备;
1.2.1.6视频图像采集装置(1.6)可以是摄像装置,也可以是传感器,通过数据线或数据线配合转换器与USB接口(1.3)连接,用于采集来自监控场景(6.1)的大数据信息;
1.2.1.7输入设备(1.7)是键盘,或者是按键、身份认证输入设备,通过数据线或数据线配合转换器与USB接口(1.3)连接,用于输入信息;
1.2.1.8显示器(1.8)或者是带有触摸功能的显示器或带有触摸功能的投影仪,显示器(1.8)通过数据线和显示器接口(1.5)连接,用于显示信息;
1.2.1.9 wCwNN模块(1.9)是运行于嵌入式计算机(1.1)的软件,或者是独立于嵌入式计算机(1.1)的计算机,通过网络数据交换的方法与嵌入式计算机(1.1)、海量情报服务器(3)进行数据通讯交互,实现驱动前端情报板(1)各模块工作、信息发送服务器以及接受服务器信息;
1.2.1.10无线路由器(1.10)是放入SIM卡的无线路由器,或者是普通路由器;无线路由器(1.10)的网口通过网线与网络接口(1.4)连接,如果嵌入式计算机(1.1)本身具有WiFi网络接入功能,则能够直接与无线路由器(1.10)通过WiFi连接;无线路由器(1.10)通过SIM卡对应的移动互联网络接入互联网(6.2),也能够通过与互联网(6.2)中的网络交换传输设备连接,实现接入互联网(6.2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377383.7A CN110399970B (zh) | 2019-05-05 | 2019-05-05 | 小波卷积小波神经网络及情报分析方法与*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910377383.7A CN110399970B (zh) | 2019-05-05 | 2019-05-05 | 小波卷积小波神经网络及情报分析方法与*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110399970A true CN110399970A (zh) | 2019-11-01 |
CN110399970B CN110399970B (zh) | 2021-10-01 |
Family
ID=68322911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910377383.7A Expired - Fee Related CN110399970B (zh) | 2019-05-05 | 2019-05-05 | 小波卷积小波神经网络及情报分析方法与*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399970B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752144A (zh) * | 2020-05-18 | 2020-10-09 | 首都经济贸易大学 | 循环涟漪纹波预测方法与智能控制*** |
CN112070211A (zh) * | 2020-08-21 | 2020-12-11 | 北京科技大学 | 基于计算卸载机制的图像识别方法 |
CN114594706A (zh) * | 2022-02-07 | 2022-06-07 | 安徽聚源水利科技液压坝制造有限公司 | 一种网络控制合页坝及智能控制*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110077484A1 (en) * | 2009-09-30 | 2011-03-31 | Nellcor Puritan Bennett Ireland | Systems And Methods For Identifying Non-Corrupted Signal Segments For Use In Determining Physiological Parameters |
CN202119467U (zh) * | 2011-05-12 | 2012-01-18 | 北京工业大学 | 自适应小波神经网络异常检测故障诊断分类*** |
CN102902203A (zh) * | 2012-09-26 | 2013-01-30 | 北京工业大学 | 时间序列预测与智能控制结合的参数在线整定方法与*** |
CN106960063A (zh) * | 2017-04-20 | 2017-07-18 | 广州优亚信息技术有限公司 | 一种针对招商引资领域的互联网情报抓取和推荐*** |
CN107239446A (zh) * | 2017-05-27 | 2017-10-10 | 中国矿业大学 | 一种基于神经网络与注意力机制的情报关系提取方法 |
CN107704426A (zh) * | 2017-08-25 | 2018-02-16 | 南京邮电大学 | 基于扩展小波神经网络模型的水位预测方法 |
CN108764454A (zh) * | 2018-04-28 | 2018-11-06 | 中国科学院计算技术研究所 | 基于小波变换压缩和/或解压缩的神经网络处理方法 |
CN109447048A (zh) * | 2018-12-25 | 2019-03-08 | 苏州闪驰数控***集成有限公司 | 一种人工智能预警*** |
-
2019
- 2019-05-05 CN CN201910377383.7A patent/CN110399970B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110077484A1 (en) * | 2009-09-30 | 2011-03-31 | Nellcor Puritan Bennett Ireland | Systems And Methods For Identifying Non-Corrupted Signal Segments For Use In Determining Physiological Parameters |
CN202119467U (zh) * | 2011-05-12 | 2012-01-18 | 北京工业大学 | 自适应小波神经网络异常检测故障诊断分类*** |
CN102902203A (zh) * | 2012-09-26 | 2013-01-30 | 北京工业大学 | 时间序列预测与智能控制结合的参数在线整定方法与*** |
CN106960063A (zh) * | 2017-04-20 | 2017-07-18 | 广州优亚信息技术有限公司 | 一种针对招商引资领域的互联网情报抓取和推荐*** |
CN107239446A (zh) * | 2017-05-27 | 2017-10-10 | 中国矿业大学 | 一种基于神经网络与注意力机制的情报关系提取方法 |
CN107704426A (zh) * | 2017-08-25 | 2018-02-16 | 南京邮电大学 | 基于扩展小波神经网络模型的水位预测方法 |
CN108764454A (zh) * | 2018-04-28 | 2018-11-06 | 中国科学院计算技术研究所 | 基于小波变换压缩和/或解压缩的神经网络处理方法 |
CN109447048A (zh) * | 2018-12-25 | 2019-03-08 | 苏州闪驰数控***集成有限公司 | 一种人工智能预警*** |
Non-Patent Citations (5)
Title |
---|
HONGGANG CHEN等: "Dpw-sdnet:Dual pixel-wavelet domain deep cnns for soft decoding of jpeg-compressed images", 《2018 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION WORKSHOPS (CVPRW)》 * |
SHIN FUJIEDA等: "Wavelet Convolutional Neural Networks", 《ARXIV:1805.08620V1》 * |
刘经纬等: "时间序列预测小波神经网络在线整定控制", 《控制工程》 * |
刘经纬等: "高精度自适应小波神经网络人工智能方法探索", 《计算机科学与探索》 * |
杨明川等: "基于自然语言处理和图计算的情报分析研究", 《电信技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111752144A (zh) * | 2020-05-18 | 2020-10-09 | 首都经济贸易大学 | 循环涟漪纹波预测方法与智能控制*** |
CN111752144B (zh) * | 2020-05-18 | 2023-06-06 | 首都经济贸易大学 | 循环涟漪纹波预测方法与智能控制*** |
CN112070211A (zh) * | 2020-08-21 | 2020-12-11 | 北京科技大学 | 基于计算卸载机制的图像识别方法 |
CN112070211B (zh) * | 2020-08-21 | 2024-04-05 | 北京科技大学 | 基于计算卸载机制的图像识别方法 |
CN114594706A (zh) * | 2022-02-07 | 2022-06-07 | 安徽聚源水利科技液压坝制造有限公司 | 一种网络控制合页坝及智能控制*** |
Also Published As
Publication number | Publication date |
---|---|
CN110399970B (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685819B (zh) | 一种基于特征增强的三维医学图像分割方法 | |
Bora et al. | A comparative study between fuzzy clustering algorithm and hard clustering algorithm | |
CN105849747B (zh) | 用于人脸图像识别的方法和*** | |
CN110532859A (zh) | 基于深度进化剪枝卷积网的遥感图像目标检测方法 | |
CN110378381A (zh) | 物体检测方法、装置和计算机存储介质 | |
CN110188795A (zh) | 图像分类方法、数据处理方法和装置 | |
CN108764281A (zh) | 一种基于半监督自步学习跨任务深度网络的图像分类方法 | |
CN108805796A (zh) | 用于整数深度学习原语的动态精度管理 | |
CN110399970A (zh) | 小波卷积小波神经网络及情报分析方法与*** | |
CN110084318A (zh) | 一种结合卷积神经网络和梯度提升树的图像识别方法 | |
CN109255340A (zh) | 一种融合多种改进vgg网络的人脸识别方法 | |
CN110378366A (zh) | 一种基于耦合知识迁移的跨域图像分类方法 | |
CN104134364B (zh) | 具有自我学习能力的实时交通标记识别方法及*** | |
CN108229591A (zh) | 神经网络自适应训练方法和装置、设备、程序和存储介质 | |
CN110008961A (zh) | 文字实时识别方法、装置、计算机设备及存储介质 | |
CN111898703B (zh) | 多标签视频分类方法、模型训练方法、装置及介质 | |
CN109086802A (zh) | 一种基于八元数卷积神经网络的图像分类方法 | |
CN107292352A (zh) | 基于卷积神经网络的图像分类方法和装置 | |
WO2022228425A1 (zh) | 一种模型训练方法及装置 | |
CN108710906A (zh) | 基于轻量级网络LightPointNet的实时点云模型分类方法 | |
WO2022152009A1 (zh) | 目标检测方法、装置、设备以及存储介质 | |
WO2022156475A1 (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
DE102018114799A1 (de) | Halbüberwachtes lernen zur orientierungspunktlokalisierung | |
CN113554653A (zh) | 基于互信息校准点云数据长尾分布的语义分割方法 | |
CN108229680A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211001 |