CN115204359A - 基于Winograd卷积的并行深度卷积神经网络优化方法 - Google Patents
基于Winograd卷积的并行深度卷积神经网络优化方法 Download PDFInfo
- Publication number
- CN115204359A CN115204359A CN202210610611.2A CN202210610611A CN115204359A CN 115204359 A CN115204359 A CN 115204359A CN 202210610611 A CN202210610611 A CN 202210610611A CN 115204359 A CN115204359 A CN 115204359A
- Authority
- CN
- China
- Prior art keywords
- feature
- convolution
- parallel
- migration
- node
- 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.)
- Pending
Links
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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明提出了一种基于Winograd卷积的并行深度卷积神经网络优化方法,包括:S1,模型批训练阶段,采用基于余弦相似度与归一化互信息的特征过滤策略FF‑CSNMI,通过先筛选后融合的方式消除冗余特征的计算,解决了冗余特征计算过多的问题;S2,参数并行更新阶段,采用并行Winograd卷积策略MR‑PWC,通过使用并行化Winograd卷积降低大数据环境下卷积的计算量,以此提升卷积运算的性能,解决了大数据环境下卷积运算性能不足的问题;S3,参数组合阶段,采用基于任务迁移的负载均衡策略LB‑TM,通过均衡各节点之间的负载降低并行系统各节点的平均反应时长,提升模型参数的并行化合并效率,从而解决了参数并行化合并效率低的问题。本发明在并行效率和分类效果上都有显著的提升。
Description
技术领域
本发明属于大数据分类领域,尤其涉及一种基于Winograd卷积的并行深度卷积神经网络优化 方法。
背景技术
DCNN(Deep Convolutional Neural Network)是一类包含卷积计算且含有深层次结构的前馈神经 网络,具有良好的特征提取能力和泛化能力,被广泛应用于图像处理、目标跟踪与检测、自然语言 处理、场景分类、人脸识别等各个领域。然而随着大数据时代的到来,各个领域所产生的数据呈爆 发式增长,传统DCNN模型的训练代价会随数据量的增长呈指数型增加,模型训练的复杂度也因 大数据环境下任务复杂性的增长呈上升趋势。因此,设计适用于大数据环境下的DCNN算法具有 十分重要的意义。
近年来,随着大数据分布式计算框架在DCNN算法上的广泛应用,谷歌公司提出的MapReduce 分布式计算模型因其在处理大数据方面具有容错性高和可扩展性强等优点,深受广大学者的青睐。 目前已有大量基于MapReduce框架的并行DCNN算法成功运用到了大数据的分析和处理领域当中。 例如Basit等人结合MapReduce提出了DC-CNN(DistributedComputing CNN)训练算法,该算法 采用并行计算的方式对各分布式节点上的模型进行训练,实现了CNN模型在分布式计算系统上的 并行化训练过程,相较于单机器的训练方式,拥有更高的训练效率。基于此,Leung等人在批训练 过程中设计了参数的并行更新策略,提出了MR-PCNN(Parallel CNN based on MapReduce)算法, 该算法通过并行化多个批训练过程实现了模型参数的并行更新,提升了模型参数的更新效率,进而 提升了模型的训练效率。为进一步提升模型的训练效率,Wang等人在参数更新阶段运用了并行化 矩阵乘法运算替换传统卷积运算的思想,提出了MR-MPC(Matrix Parallel Computing method based onMapReduce)算法,该算法通过并行化矩阵乘法的方式提升卷积的运算性能,提高参数更新的 迭代速度,从而提升模型的训练效率。Li等人则在参数组合阶段引入了集中式参数服务器的思想, 提出了MR-CNN(MapReduce-based CNN)训练算法,该算法通过使用HDFS(HadoopDistributed File System)作为参数服务器实现了各节点之间模型参数更新的共享,提升了模型参数的并行化合 并效率,进而提升了模型总体的训练效率。实验结果表明,以上四种并行DCNN算法对模型的训 练效率均有显著的提升,但是仍存在以下不足:(1)在批训练过程中,无论采用的是并行方式或非 并行方式,其训练过程均会产生大量的冗余特征,若不对这些冗余特征进行必要的筛选,将会给模 型训练带来冗余特征计算过多的问题。(2)在参数更新阶段,虽然采用并行化矩阵乘法的方式可以 在一定程度上加速卷积结果的生成,但是该并行化的操作并未改变卷积的计算量,且计算过程需要 频繁的IO操作,在计算密集的训练过程中仍会出现卷积运算性能不足的问题。(3)在参数组合阶 段,由于模型参数的组合速率会因各分布式节点计算能力的偏差而受到影响,因此极易引起各节点 之间出现互相等待的现象,延长分布式系统中各节点的平均反应时长,致使模型在组合阶段产生参 数并行化合并效率低的问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于Winograd卷积 的并行深度卷积神经网络优化方法。
为了实现本发明的上述目的,本发明提供了一种基于Winograd卷积的并行深度卷积神经网络 优化方法,包括:
S1,模型批训练阶段,采用基于余弦相似度与归一化互信息的特征过滤策略FF-CSNMI,通过 先筛选后融合的方式消除冗余特征的计算,解决了冗余特征计算过多的问题;
S2,参数并行更新阶段,采用并行Winograd卷积策略MR-PWC,通过使用并行化Winograd 卷积降低大数据环境下卷积的计算量,以此提升卷积运算的性能,解决了大数据环境下卷积运算性 能不足的问题;
S3,参数组合阶段,采用基于任务迁移的负载均衡策略LB-TM,通过均衡各节点之间的负载 降低并行系统各节点的平均反应时长,提升模型参数的并行化合并效率,从而解决了参数并行化合 并效率低的问题。
进一步地,所述基于余弦相似度与归一化互信息的特征过滤策略FF-CSNMI包括:
S1-1,特征划分:采用基于余弦相似度的特征相似度度量系数FSM,通过比较特征相似度度 量系数FSM的大小将卷积层的输入特征图划分为表征特征集P与冗余特征集R两部分;
S1-2,特征过滤:为进一步筛选出表征特征集P中的冗余特征,采用基于归一化互信息的特征 关联系数FAC,根据表征特征集P中各特征图的FAC值的大小,从表征特征集P中迭代过滤出冗 余特征并纳入到冗余特征集R中,以此构建出最终的冗余特征集R;
S1-3,特征融合:在筛选出最终的冗余特征集R之后,先使用特征融合函数F(Z)融合冗余特 征集R中的冗余特征,获得融合特征集G,再通过合并融合特征集G与表征特征集P,构建出下 一层的输入特征图。
进一步地,所述特征相似度度量系数FSM包括:
已知特征图X与均值特征图E的向量表达形式分别为X与E,则特征图X相对于均值特征图 E的特征相似度度量系数FSM为:
FSM=SIM(X,E)*||norm(X-E)|| (1)
其中,
SIM(X,E)表示X与E的余弦相似度;
||·||表示向量的一阶范数;
max(X-E)表示X-E矩阵中的最大值;
min(X-E)表示X-E矩阵中的最小值。
进一步地,所述特征关联系数FAC包括:
已知有特征图X与均值特征图E,且特征图X相对于均值特征图E的特征相似度度量系数 FSM,则特征图X相对于均值特征图E的特征关联系数FAC为:
FAC=NMI(X,E)*FSM (4)
其中,
H(X)为特征图X的信息熵;
H(E)为特征图E的信息熵;
H(X,E)为特征图X和特征图E的联合熵。
进一步地,所述特征融合函数F(Z)包括:
已知有待融合特征矩阵X与Y,两者的融合特征矩阵为Z,则特征融合函数F(Z)为:
其中P=[Z1 Z2 … Zm],P表示特征向量Zi的一个集合;
Z1表示第1个融合特征向量;
Z2表示第2个融合特征向量;
Zm表示第m个融合特征向量;
Λ表示对角元素,为融合特征矩阵Z的特征值;
λ1表示第1个对角元素;
λm表示第m个对角元素;
Zi=ZX+ZY·cosθi (7)
其中Zi为融合后的特征向量,为P中的第i个元素;
ZX与ZY分别表示特征矩阵X与特征矩阵Y的特征向量;
θi表示特征向量ZX与ZY的余弦夹角;
||·||表示向量的一阶范数。
进一步地,所述并行Winograd卷积策略MR-PWC包括:
S2-1,特征图切分:采用多叉树切分策略MTS来切分卷积层的输入特征图,获得各特征图的 多叉切分树,为并行Winograd卷积创造并行计算的条件;
S2-2,并行Winograd卷积:结合MapReduce并行框架实现Winograd卷积的并行计算,得到 各卷积层的卷积结果后,再将得到的卷积结果存入HDFS中供参数更新时使用;
S2-3,参数更新:读取HDFS中的卷积结果,先使用反向传播的误差传导公式求得各分布式节 点上DCNN模型的权值改变量,再并行更新各DCNN模型的参数,并将权值改变量存入HDFS中 供参数组合时使用。
进一步地,所述多叉树切分策略MTS包括:
以原始特征图作为多叉切分树的根节点,首先采用等大小切分函数ESS(X),等大小切分特征 图构建出子特征图X11,X12,X21,X22,其中X11,X12,X21,X22表示四个矩阵,而其下标则表示在切 分后所处的位置;接着采用等间距切分函数EDS(X),等间距切分特征图构建出子特征图D;最 后将子特征图X11,X12,X21,X22及D作为多叉切分树下一层的子结点,并对上述子结点中的子特征 图X11,X12,X21,X22执行相同的切分过程,直至无法切分为止便可得到该输入特征图的多叉切分树。
进一步地,所述等大小切分函数ESS(X)包括:
已知原始特征图X的尺寸为hin×win,卷积核的尺寸为f×f,步长为s,左右两侧填充像素块 的总数为p0,上下两侧填充像素块的总数为p1,令2k=p0+hin=p1+win,hin表示原始特征图X的 长,win表示原始特征图X的宽;切分后子特征图的尺寸为hsub×wsub,则等大小切分函数ESS(X)为:
其中X11,X12,X21,X22分别为四个子特征图;
所述等间距切分函数EDS(X)包括:
已知原始特征图X的尺寸为hin×win,卷积核的尺寸为f×f,步长为s,左右两侧填充像素块 的总数为p0,上下两侧填充像素块的总数为p1,令2k=p0+hin=p1+win,等间距切分特征图构建 出子特征图D的尺寸为2k×2f,则等间距切分函数EDS(X)为:
其中·T表示矩阵的转置;
D11、D21表示子特图中的分块矩阵,共同构成子特征图D。
进一步地,所述S2-2中的并行Winograd卷积包括:
(1)特征图切分与转换:先并行构建各输入特征图的多叉切分树T,再层级遍历多叉切分树T 以获得子特征图序列S,在层级遍历的同时对子特征图Si与卷积核Wk进行相应的Winograd转换, Si∈S表示第i个子特征图,Wk表示第k个卷积核,并将转换后的结果映射成键值对<Si,Wk>存入 HDFS中;
(2)并行卷积计算:调用Map()函数并行Winograd卷积计算,首先依据子特征图序列相应的 键值对<Si,Wk>计算各子特征图的卷积结果Ysi,k,并将卷积的中间结果映射为键值对<Si,Ysi,k>暂 存Combine中,Ysi,k表示子特征图Si与第k通道的卷积核Wk的卷积结果;接着读取Combine中卷 积的中间结果,并调用Reduce()函数并行合并各子特征图的卷积结果Ysi;最后将卷积结果Ysi映射 为键值对<Si,Ysi>存入HDFS中,Ysi表示子特征图Si与卷积核Wk的卷积结果;
(3)特征图合并:读取HDFS中各子特征图的卷积结果,并依据子特征图序列S的顺序对各 子特征图的卷积结果并行合并,获得最终的输出特征图Y后,再将该输出特征图Y存入HDFS中 供参数更新时使用。
进一步地,所述S3包括:
S3-1,统计节点信息,构建信息检索树:首先统计所有任务节点的信息,并依据节点容量升序 排序后存入数组Nodes中;接着,为更快地检索节点信息和调控节点之间的负载,采用信息检索树 IRT来存储任务节点的信息,并将数组Nodes中的节点信息存入两棵信息检索树IRT中;
所述信息检索树是一棵具有线索指针的平衡二叉树,树中各结点存储的信息由各任务节点的编 号构成,其结点所对应的信息均保存在由以节点编号为索引的数组Nodes中;
S3-2,设定迁移阈值,构建迁移队列:构建出信息检索树T1与T2之后,根据设定好的迁移阈 值去构建任务迁移的路线,具体过程如下:首先提出动态负载迁移阈值DLMT来动态设定任务迁 移的阈值,并将T1的负载迁入上限设为Lα(t),T2的负载迁出下限设为Lβ(t);接着构建任务迁移 的路线,先从树T1中取得负载率最低的节点Nmin,并从树T2中取得负载率最高的节点Nmax之后, 再构建相应的迁移路线,若节点Nmin与节点Nmax的负载均满足迁移阈值,则可依据当前的迁移阈值 构建出一条从节点Nmax中迁出任务至节点Nmin的迁移路线<Nmax,Nmin>,并将该迁移路线存入迁移 队列Q中;否则放弃该迁移路线,并重复上述构建过程,直至T1与T2中没有满足阈值的节点;
所述动态负载迁移阈值DLMT包括:已知t时刻信息检索树T1与T2中负载的中位数分别为 Lm1(t)和Lm2(t),T1与T2各自的负载均值为和动态负载迁移阈值中迁入上限与迁出下 限分别为Lα(t)与Lβ(t),则动态负载迁移阈值为:
(3)执行迁移任务,并行参数组合:构建完迁移队列后便可根据当前的迁移路线与迁移阈值 执行相应的迁移任务,迁移任务结束后再调用Reduce()函数并行组合参数,具体过程如下:首先从 迁移队列Q中取出队首节点<Nfrom,Nto>,依据当前迁移路线与迁移阈值从节点Nfrom中迁出未处理 的任务发送给节点Nto,若任务迁移过程中节点Nfrom与节点Nto有一方到达迁移阈值,则会结束当 前迁移任务;接着计算t时刻T1与T2中节点的负载均值与若出现 则会结束本次迁移过程,否则接续执行迁移队列中的迁移任务,直至 迁移队列为空;最后调用Reduce()函数对各Map节点输出的键值对<key=Wk,value=ΔWk>进行并 行合并,并将合并后的权值作为DCNN模型训练后的最终权值。
综上所述,由于采用了上述技术方案,本发明具有以下优点:
(1)在批训练阶段,通过先筛选后融合的方式消除冗余特征的计算,解决了冗余特征计算过 多的问题。
(2)在参数更新阶段,通过使用并行化Winograd卷积替换传统卷积运算的方式降低大数据环 境下卷积的计算量,以此提升卷积运算的性能,解决了大数据环境下卷积运算性能不足的问题。
(3)在参数组合阶段,通过均衡各节点之间的负载降低并行系统各节点的平均反应时长,提 升模型参数的并行化合并效率,从而解决了参数并行化合并效率低的问题。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通 过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理 解,其中:
图1是本发明并行Winograd卷积示意图。
图2是本发明IRT树结点的结构体示意图。
图3是本发明IRT树的构建结果示意图。
图4是本发明各算法在四个数据集上的加速比示意图。
图5是本发明各算法在四个数据集上的并行效率示意图。
图6是本发明各算法在四个数据集上训练时的准确率示意图。
图7是本发明各算法在四个数据集上的运行时间示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的 标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例 性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提出一种基于Winograd卷积的并行深度卷积神经网络优化方法,可被广泛应用于人脸 识别、目标跟踪与检测、自然语言处理、场景分类、人脸识别等各个领域。
以应用在人脸识别技术领域为例,其过程如下:采集人脸数据作为人脸训练数据集,并将人脸 训练数据集输入DCNN模型进行训练,从而获得训练好的DCNN模型。将待识别的人脸输入训练 好的DCNN模型,最终达到能快速识别人脸的技术效果。所述DCNN模型进行训练采用基于 Winograd卷积的并行深度卷积神经网络优化方法,包括:
S1,模型批训练阶段,采用基于余弦相似度与归一化互信息的特征过滤策略FF-CSNMI,通过 先筛选后融合的方式消除冗余特征的计算,解决了冗余特征计算过多的问题;
S2,参数并行更新阶段,采用并行Winograd卷积策略MR-PWC,通过使用并行化Winograd 卷积降低大数据环境下卷积的计算量,以此提升卷积运算的性能,解决了大数据环境下卷积运算性 能不足的问题;
S3,参数组合阶段,采用基于任务迁移的负载均衡策略LB-TM,通过均衡各节点之间的负载 降低并行系统各节点的平均反应时长,提升模型参数的并行化合并效率,从而解决了参数并行化合 并效率低的问题。
1.模型批训练
目前在大数据环境下的并行DCNN算法中,使用MapReduce并行批训练各分布式节点上的 DCNN模型时会产生大量的冗余特征,这些冗余特征并未通过有效的筛选,导致模型在批训练过 程中存在冗余特征计算过多的问题,因此本文在模型批训练阶段提出基于余弦相似度与归一化互信 息的特征过滤策略FF-CSNMI,该策略先使用余弦相似度与归一化互信息筛选出输入特征图中的冗 余特征集,再使用特征融合函数融合冗余特征集中的冗余特征,以此消除冗余特征在批训练过程中 的重复计算,从而解决了冗余特征计算过多的问题。该策略主要包含三个步骤:(1)特征划分:提 出基于余弦相似度的特征相似度度量系数FSM(Feature Similarity Measure factor),通过比较特征 相似度度量系数FSM的大小将卷积层的输入特征图划分为表征特征集P与冗余特征集R两部分; (2)特征过滤:为进一步筛选出表征特征集P中的冗余特征,提出了基于归一化互信息的特征关 联系数FAC(Feature Association Coefficient),根据表征特征集P中各特征图的FAC值的大小,从表征特征集P中迭代过滤出冗余特征并纳入到冗余特征集R中,以此构建出最终的冗余特征集R。 (3)特征融合:在筛选出最终的冗余特征集R之后,提出特征融合函数F(Z),先使用F(Z)函数 融合冗余特征集R中的冗余特征,获得融合特征集G,再通过合并融合特征集G与表征特征集P, 构建出下一层的输入特征图。
1.1特征划分
在特征筛选之前,需要先对输入特征图进行粗略的划分以获得初步的冗余特征集与表征特征集, 其划分的具体过程如下:首先从卷积层的输入特征图中按一定的比例α随机将特征图划分为采样特 征集S与候选特征集C,并计算采样特征集S的均值特征矩阵E;接着提出基于余弦相似度的特征 相似度度量系数FSM来筛选冗余特征,计算候选特征集C中各特征图的特征相似度度量系数FSM, 并根据特征相似度度量系数FSM的大小进行升序排序;最后依据特征相似度度量系数FSM的大小, 按比例α从低到高将候选特征集C中的特征图划分为冗余特征集R与表征特征集P两部分。
定理1(特征相似度系数FSM):已知特征图X与均值特征矩阵E的向量表达形式分别为X与 E,则特征图X相对于均值特征矩阵E的特征相似度度量系数FSM为:
FSM=SIM(X,E)*||norm(X-E)|| (1)
其中,
SIM(X,E)表示X与E的余弦相似度;
||·||表示向量的一阶范数;
max(X-E)表示X-E矩阵中的最大值。
证明:已知余弦相似度SIM(X,E)的大小代表特征图X与均值特征矩阵E之间的相似程度,即 SIM(X,E)越大则表示X与E的相似度越大,反之则越小。norm(X-E)代表了特征图X与均值特 征矩阵E之间差值的归一化矩阵,其一阶范数的大小反映的是当前特征图X与均值特征矩阵E之 间的偏移程度,即||norm(X-E)||1的值越小偏移程度越小,反之越大。当特征图X与均值特征矩阵E 之间的余弦相似度较小且偏移程度较高时,表明当前特征图X的特征信息难以用均值特征矩阵E 的特征信息去替代,此时,特征图X与均值特征矩阵E之间相似程度较低;当特征图X与均值特 征矩阵E之间的余弦相似度较大且偏移程度较低时,则表明当前特征图X与均值特征矩阵E之间 相似程度较高;故而,余弦相似度SIM(X,E)与归一化矩阵norm(X-E)一阶范数的乘积可以反映 特征图X与均值特征矩阵E之间的相似程度。证毕。
1.2特征过滤
在求得冗余特征集R与表征特征集P两个特征集后,由于在特征划分阶段仅使用比例α对候选 特征集进行粗略的划分,导致表征特征集P中仍残留大量无效的冗余特征,因此仍需进一步过滤表 征特征集中的冗余特征,该过滤的具体过程如下:首先提出基于归一化互信息的特征关联系数FAC 来过滤冗余特征,计算当前表征特征集P中各特征图相对于均值特征矩阵E的特征关联系数FAC; 接着依据特征关联系数FAC的大小对各特征图进行降序排序,按比例β从高到低将当前表征特征 集P中的特征图X划分为冗余特征集与表征特征集两部分;最后将冗余特征集纳入冗余特 征集R中,并计算表征特征集的均值特征矩阵E,重复上述步骤,直至当前冗余特征集R与表征 特征集P的比例达到预期值η为止。
定理2(特征关联系数FAC):已知有特征图X与均值特征图E,且特征图X相对于均值特征 矩阵E的特征相似度度量系数FSM,则特征图X相对于均值特征矩阵E的特征关联系数FAC为:
FAC=NMI(X,E)*FSM (4)
其中,
H(X)为特征图X的信息熵;
H(E)为特征图E的信息熵;
H(X,E)为特征图X和特征图E的联合熵。
证明:已知NMI(X,E)代表了特征图X与均值特征图E之间的归一化互信息值,该互信息值 越大则表示当前特征图与均值特征图之间的关联程度越强,反之则越弱。而该特征图X对应特征 相似度度量系数FSM的大小反映的是当前冗余特征图X与均值特征矩阵E之间的相似程度,即该 范数值越大其相似程度也就越高,反之越低。故而,两者的乘积在一定程度上可以用于衡量当前特 征图X与均值特征图E之间特征信息的关联程度,即当FAC的值偏大时表明当前特征图X与均值 特征图E之间特征信息的关联程度高,反之则关联程度低。证毕。
1.3特征融合
在筛选出最终的冗余特征集R与表征特征集P之后,便可将冗余特征集R与表征特征集P融合, 构建出下一层的输入特征图Y,该融合的具体过程如下:首先求得冗余特征集R与表征特征集P中 各特征矩阵的特征向量ZR、ZP及特征值λ;接着提出特征融合函数F(Z)来融合冗余特征,并使用 特征融合函数F(Z)将冗余特征集R中的冗余特征矩阵融入至表征特征集P中,构建出融合特征集 G;最后再合并融合特征集G与表征特征集P以获得最终的输入特征图Y。
定理3(特征融合函数F(Z)):已知有待融合特征矩阵X与Y,两者的融合特征矩阵为Z,则 特征融合函数F(Z)为:
其中P=[Z1 Z2 … Zm]如式(15)所示,P表示特征向量Zi的一个集合;
Zm表示第m个融合特征向量;
Λ表示对角元素,为融合特征矩阵Z的特征值;
Zi=ZX+ZY·cosθi (7)
其中Zi为融合后的特征向量,为P中的第i个元素;
ZX与ZY分别表示特征矩阵X与Y的特征向量,特征矩阵X即待融合特征矩阵X;此处将特 征图用特征矩阵描述,以方便后续特征融合公式的提出。
λ1,λ2,…,λm表示融合特征矩阵Z的特征值;
θi表示特征向量ZX与ZY的余弦夹角。
证明:已知特征矩阵Y融入特征矩阵X后得到的融合特征矩阵为Z,且特征矩阵Z的特征值 与特征向量分别为λi与Zi,λi∈X=[λ1,λ2,…,λm],Zi=ZX+ZY·cosθi,则对于特征矩阵Z有:是 否
Z×Zi=Zi×λi,i∈[1,m] (9)
其中Zi=ZX+ZY·cosθi,因为ZX与ZY分别为特征矩阵X与Y的特征向量,且θ为特征向量ZX与特征向量ZY的余弦夹角,所以ZY·cosθi可以表示为特征向量ZY在特征向量ZX上的投影ZY/X, 此时对于特征向量Zi有:
Zi表示第i个特征向量;
ZX表示特征矩阵X的特征向量;
ZY表示特征矩阵Y的特征向量;
ZY/X表示特征向量ZY在特征向量ZX上的投影;
将Zi代入上式(9)可得:
又因为融合特征矩阵Z的特征值与特征矩阵X的特征值相等,故对于特征向量ZX有:
X×ZX=ZX×λi,i∈[1,m] (12)
其中ZX×(ZX)-1=E,E表示单位矩阵;此时对于特征向量Zi有:
由上式(13)可知特征向量Zi可逆,此时对上式(11)右乘一个(Zi)-1可得:
Z=Zi×λi×(Zi)-1, i∈[1,m] (14)
令:
P=[Z1 Z2 … Zm] (15)
再将上式(14)中的m个等式联立可得:
证毕。
2.参数并行更新
目前在大数据环境下的并行DCNN算法中,在对各分布式节点上的DCNN模型进行参数更新 时需要先正向传播获得各卷积层的卷积结果,再反向传播求得各DCNN模型的权值改变量以实现 模型参数的并行更新。然而,在参数更新的过程中,由于卷积的计算量庞大且传统卷积的计算效率 低下,导致模型在参数并行更新时容易出现卷积运算性能不足的问题,因此本文结合MapReduce 提出并行Winograd卷积策略,通过使用并行Winograd卷积替代传统卷积的方式来提升模型的卷积 运算性能。该策略主要包括三个步骤:(1)特征图切分:提出多叉树切分策略(Multi-tree segmentation strategy,MTS)来切分卷积层的输入特征图,获得各特征图的多叉切分树,为并行Winograd卷积 创造并行计算的条件;(2)并行Winograd卷积:结合MapReduce并行框架实现Winograd卷积的 并行计算,得到各卷积层的卷积结果后,再将得到的卷积结果存入HDFS中供参数更新时使用;(3) 参数更新:读取HDFS中的卷积结果,先使用反向传播的误差传导公式求得各分布式节点上DCNN 模型的权值改变量,再并行更新各DCNN模型的参数,并将权值改变量存入HDFS中供参数组合 时使用。
2.1特征图切分
为实现Winograd卷积的并行计算,需要先对卷积层的输入特征图进行切分处理,以达到并行 计算的需要,因此提出MTS策略来并行切分输入特征图,获得各输入特征图的多叉切分树,其具 体过程为:以原始特征图作为多叉切分树的根节点,首先提出等大小切分函数ESS(X),等大小切 分特征图构建出子特征图,X11,X12,X21,X22其中X11,X12,X21,X22表示四个矩阵,而其下标则表 示在切分后所处的位置。如式(18)所示;接着提出等间距切分函数EDS(X),等间距切分特征图构 建出子特征图D;最后将子特征图X11,X12,X21,X22及D作为多叉切分树下一层的子结点,并对上 述子结点中的子特征图X11,X12,X21,X22执行相同的切分过程,直至无法切分为止便可得到该输入 特征图的多叉切分树。
定理4(等大小切分函数ESS(X)):假设原始特征图X的尺寸为hin×win,卷积核的尺寸为f×f, 步长为s,左右两侧填充像素块的总数为p0,上下两侧填充像素块的总数为p1,令2k=p0+hin=p1+win,hin表示原始特征图X的长,win表示原始特征图X的宽;切分后子特征图的尺寸为hsub×wsub,则等大小切分函数ESS(X)为:
切分后,四个子特征图X11,X12,X21,X22的大小分别为hsub×wsub,组合成矩阵后维度变为了 2hsub×2wsub;表示维度为hsub×wsub的实数,表示维度为2hsub×2wsub的实数。
其中,
证明:已知输入特征图X的尺寸为hin×win,卷积核W的尺寸为f×f,步长为s,输入特征图 被填充后的尺寸为2k×2k,则对于输入特征图经历卷积运算后得到的输出特征图Y的 尺寸为hout×wout,其中:
X*W=Y (22)
其中W为卷积核,输入特征图X,输出特征图Y;
设切分后子特征图的尺寸为hsub×wsub,其中:
X11*W=Y11,X12*W=Y12,X21*W=Y21,X22*W=Y22 (25)
将上式(25)改成矩阵形式可得:
如上述子特征图X11,X12,X21,X22在矩阵中的位置,对输入特征图X进行相应的切分,并保证 各子特征图的尺寸为hsub×wsub,由此可得:
证毕。
定理5(等间距切分函数EDS(X)):假设原始特征图X的尺寸为hin×win,卷积核的尺寸为f×f, 步长为s,左右两侧填充像素块的总数为p0,上下两侧填充像素块的总数为p1,令2k=p0+hin=p1+win,等间距切分特征图构建出子特征图D的尺寸为2k×2f,则等间距切分函数 EDS(X)为:
其中·T表示矩阵的转置;
D11、D21表示子特图中的分块矩阵;
其中,
X*W=Y (32)
对比输出特征图Y与输出特征图YX的尺寸可知,当前输出特征图YX的尺寸与输出特征图Y的 尺寸仅相差1,为保证卷积后输出特征图的一致性,需要以输入特征图的中点作为切分起点,对输 入特征图再进行切分得到子特征图D11,其中:
证毕。
2.2并行Winograd卷积
使用MTS策略切分输入特征图得到各特征图的多叉切分树后,便可结合MapReduce实现 Winograd卷积的并行卷积计算,该并行Winograd卷积的计算过程主要包含三个步骤,即特征图切 分与转换、并行卷积计算、特征图合并。
(1)特征图切分与转换:先并行构建各输入特征图的多叉切分树T,再层级遍历多叉切分树T 以获得子特征图序列S,在层级遍历的同时对子特征图Si与卷积核Wk进行相应的Winograd转换, Si∈S表示第i个子特征图,Wk表示第k个卷积核,并将转换后的结果映射成键值对<Si,Wk>存入 HDFS中;
(2)并行卷积计算:调用Map()函数并行Winograd卷积计算,首先依据子特征图序列相应的 键值对<Si,Wk>计算各子特征图的卷积结果Ysi,k,并将卷积的中间结果映射为键值对<Si,Ysi,k>暂 存Combine中,Ysi,k表示子特征图Si与第k通道的卷积核Wk的卷积结果;接着读取Combine中卷 积的中间结果,并调用Reduce()函数并行合并各子特征图的卷积结果Ysi;最后将卷积结果Ysi映射 为键值对<Si,Ysi>存入HDFS中,Ysi表示子特征图Si与卷积核Wk的卷积结果,该结果通过Reduce() 函数聚合Ysi,k得到。
(3)特征图合并:读取HDFS中各子特征图的卷积结果,并依据子特征图序列S的顺序对各 子特征图的卷积结果并行合并,获得最终的输出特征图Y后,再将该输出特征图Y存入HDFS中供 参数更新时使用。
为了更好地描述并行Winograd卷积的运算过程,以输入特征图尺寸为7×7、卷积核尺寸为3×3、 步长为1、左右两侧填充像素块的总数与上下两侧填充像素块的总数皆为零的卷积模型作为示例, 对该输入特征图执行并行Winograd卷积的过程示意图如图1所示:
2.3参数更新
并行Winograd卷积计算结束后,便可使用反向传播的误差传导公式并行计算各卷积层的误差 传导项与权值改变量,实现参数的并行更新,该参数更新的具体过程为:首先根据反向传播公式求 得第l-1层卷积核的误差传导项并将结果映射为键值对存入HDFS中;接着 调用Reduce()函数合并HDFS中各模型反向传播时的误差传导项得到第l-1层的误差传导项 δl-1;最后计算各节点网络模型中卷积核Wk的权值改变量ΔWk,并依据权值改变量ΔWk更新卷积 核Wk中的参数后,再将该更新结果映射为<Wk,ΔWk>输出至HDFS中供参数组合阶段使用。
3.参数并行组合
目前在大数据环境下的并行DCNN算法中,在对各分布式节点上的DCNN模型参数进行合并 时需要先等各分布式节点上的模型训练终止后才能进行参数合并。然而,由于各分布式节点的计算 能力与计算任务不尽相同,导致各分布式节点在参数组合时极易出现互相等待的现象,致使并行 DCNN算法在参数组合阶段产生参数并行化合并效率低的问题,因此本文提出基于任务迁移的负 载均衡策略LB-TM,通过均衡各节点之间任务负载的方式提升参数的并行化合并效率。LB-TM策 略的具体工作流程如下:
(1)统计节点信息,构建信息检索树。首先统计所有任务节点的信息,并依据节点容量升序 排序后存入数组Nodes中;接着,为更快地检索节点信息和调控节点之间的负载,设计了信息检索 树IRT(Information Retrieval Tree)来存储任务节点的信息,并将数组Nodes中的节点信息存入两 棵信息检索树IRT中(T1与T2)。
定义1(信息检索树IRT):信息检索树是一棵具有线索指针的平衡二叉树,树中各结点存储 的信息由各任务节点的编号构成,其结点所对应的信息均保存在由以节点编号为索引的数组Nodes 中。IRT树结点的结构体如图2所示:
其中,二叉树的左、右指针为left_element与right_element,而left_flag与right_flag则分别作 为左、右指针指向结点类型的标志位,其包含以下三种状态:当标志位为0时表示指向的是左、右 孩子结点;当标志位为1时表示指向的是前驱、后驱线索结点;当标志位为2时表示指向的是前驱 线索与后继线索相连接的结点;
信息检索树T1与T2的构建步骤如下:①先取得t时刻数组Nodes中的负载中位数L0(t),并 将其作为节点负载的分界点;②再根据分界点L0(t)将数组Nodes中节点负载低于L0(t)的存入T1 中,高于L0(t)的存入T2中;③为了在设定迁移阈值时能够更快地调控节点之间的负载,在存入的 过程中,需满足T1的结点总数始终小于T2的结点总数的条件,若存入点时不满足该条件,则需 将树T1中超出的结点移入T2中,并保证T1中结点的负载总值低于T2的负载总值;④存入过程 结束后,便可以对信息检索树T1与T2执行中序线索化,为了在构建迁移队列时能够快速地检索 节点信息,需要将信息检索树T1与T2之间的线索相连接,即T1的第一个前驱线索与T2的最后 一个后继线索相连接,T2的第一个前驱线索与T1的最后一个后继线索相连接。
为了能够更清晰地描述信息检索树的构建过程,对结点总数为14的节点队列Nodes构建信息 检索树T1与T2,其构建结果示意图的如图3所示:
(2)设定迁移阈值,构建迁移队列。构建出信息检索树T1与T2之后,便可以根据设定好的 迁移阈值去构建任务迁移的路线,具体过程如下:首先提出动态负载迁移阈值DLMT(Dynamic Load Migration Threshold)来动态设定任务迁移的阈值,并将T1的负载迁入上限设为Lα(t),T2的负载 迁出下限设为Lβ(t);接着构建任务迁移的路线,先从树T1中取得负载率最低的节点Nmin,并从树 T2中取得负载率最高的节点Nmax之后,再构建相应的迁移路线,若节点Nmin与节点Nmax的负载均 满足迁移阈值,则可依据当前的迁移阈值构建出一条从节点Nmax中迁出任务至节点Nmin的迁移路线 <Nmax,Nmin>,并将该迁移路线存入迁移队列Q中;否则放弃该迁移路线,并重复上述构建过程, 直至T1与T2中没有满足阈值的节点。
定理6(动态负载迁移阈值DLMT)假设t时刻信息检索树T1与T2中负载的中位数分别为 Lm1(t)和Lm2(t),T1与T2各自的负载均值为和动态负载迁移阈值中迁入上限与迁出下 限分别为Lα(t)与Lβ(t),则动态负载迁移阈值为:
当时,集群总体的负载均值低于负载中位数,此时集群处于负载不 均衡的状态,将T1的迁入上限调整为Lm1(t),T2的迁出下限为Lm2(t),并对T1与T2进行任务迁 移后,便可以使T1与T2集群两部分的负载均值往负载中位数靠近,促使集群达到负载均衡的目 标。当时,集群总体趋于负载均衡,但是集群中仍存在部分负载不均 衡的节点,此时将T1的迁移上限调整为均值与中位数Lm1(t)之间的最大值,将T2的迁移下限 调整为均值与中位数Lm2(t)之间的最小值,执行任务迁移后便可以使T1与T2集群两部分的 负载均值相互靠近以达到负载均衡的目标。综上,动态负载迁移阈值DMLT可以调控集群中各节 点任务迁移的方向,确保集群总体达到负载均衡。证毕。
(3)执行迁移任务,并行参数组合。构建完迁移队列后便可根据当前的迁移路线与迁移阈值 执行相应的迁移任务,迁移任务结束后再调用Reduce()函数并行组合参数,具体过程如下:首先从 迁移队列Q中取出队首节点<Nfrom,Nto>,依据当前迁移路线与迁移阈值从节点Nfrom中迁出未处理 的任务发送给节点Nto,若任务迁移过程中节点Nfrom与节点Nto有一方到达迁移阈值,则会结束当 前迁移任务;接着计算t时刻T1与T2中节点的负载均值与若出现 则会结束本次迁移过程,否则接续执行迁移队列中的迁移任务,直至 迁移队列为空;最后调用Reduce()函数对各Map节点输出的键值对<key=Wk,value=ΔWk>进行并 行合并,并将合并后的权值作为DCNN模型训练后的最终权值。
4.基于Winograd卷积的并行深度卷积神经网络优化算法(WP-DCNN)的有效性
为验证WP-DCNN算法的性能,我们将WP-DCNN算法应用于CIFAR-10,CIFAR-100,SVHM 和Emnist-Balanced四个数据集上,其具体信息如表1所示。将WP-DCNN算法、DC-CNN算法、 MR-PCNN、MR-MPC和MR-CNN算法在并行性能、并行效率和准确率等方面进行了比较。
表1实验数据集
CIFAR-10 | CIFAR-100 | SVHM | Emnist-Balanced | |
Records | 60,000 | 60,000 | 73,200 | 131,600 |
Size | 32x32 | 32x32 | 32x32 | 28x28 |
Classes | 10 | 10 | 10 | 47 |
4.1WP-DCNN算法的并行性能分析
为评估WP-DCNN算法在大数据环境下的并行性能,本文在上述四个数据集上对DC-CNN、 MR-PCNN、MR-MPC和MR-CNN算法分别进行了5次测试,并用5次运行时间的均值来计算各 算法在不同计算节点个数下的加速比。实验结果如图4所示:
从图4可以看出,在处理CIFAR-10,CIFAR-100,SVHM和Emnist-Balanced数据集时,各算 法在四个数据集上的加速比随着节点数量的增加而逐渐上升,并且随着数据规模的逐步扩大,WP-DCNN算法在各数据集上的加速比远超其他四种算法。其中,在处理数据规模较小的数据集 CIFAR-10上,如图4(a)所示,各算法之间的加速比相差不大,当节点数量为2时,WP-DCNN算 法的加速比为1.705,分别比MR-PCNN算法和MR-MPC算法的加速比低了0.081、0.168,比DC-CNN 算法和MR-CNN算法的加速比高了0.173、0.115,但当节点数量增加至8时,WP-DCNN算法的 加速比却超过了其他四种算法,分别比DC-CNN、MR-PCNN、MR-MPC和MR-CNN算法的加速 比高出了0.655、0.149、0.328、0.520。这是由于在节点数量较小时,各节点间的通信时间占算法 总体运行时间的比例很大,并且通过并行计算提升的运算效率有限,不足以弥补并行计算时各节点 所消耗的通信时间,由此导致WP-DCNN算法所得的加速比较小;而当节点数量增加时,WP-DCNN 算法凭借LB-TM策略有效调节了各节点之间的负载,提升了各计算节点的运算效率,使得 WP-DCNN算法的加速比相较于其他四种算法有所提升,故而WP-DCNN算法的加速比才略高于 其他算法。在处理数据规模较大的数据集SVHN和Emnist-Balanced上,如图4(c)和4(d)所 示,随着节点数量的不断增长,其他四个对比算法的加速比逐渐趋于稳定,WP-DCNN算法的加速 比则逐渐上升,尤其是在处理数据集Emnist-Balanced上,WP-DCNN算法的加速比总体上接近线 性增长,而且相比于其他四种算法始终拥有最高的加速比。产生这种结果的主要原因是:(1) WP-DCNN算法采用了LB-TM策略,该策略均衡了各节点间的负载,提升了WP-DCNN算法的计 算性能,在一定程度上弥补了节点间通讯时间的开销;(2)WP-DCNN算法凭借MR-PWC策略提 升了批训练过程中卷积的运算性能,降低了算法总体的运行时间,而且随着数据规模的扩大, WP-DCNN算法通过高效的并行化Winograd卷积运算来降低算法总体运行时间的优势也被逐渐放 大。因此,WP-DCNN算法相较于其他算法具有更好的并行性能。
4.2 WP-DCNN算法的并行效率分析
为评估WP-DCNN算法在大数据环境下的可扩展性,本文在上述四个数据上对DC-CNN、 MR-PCNN、MR-MPC和MR-CNN算法分别进行了测试,并比较了各算法在计算节点个数不同情 况下的并行效率。同时,为避免测试结果的偶然性,每次测试都会独立运行5次,并取5次并行效 率的均值作为最终的实验结果。实验结果如图5所示:
从图5可以看出,各算法的并行效率均随节点数量的增加呈下降趋势,但WP-DCNN算法在 数据规模较大的数据集Emnist-Balanced上并行效率的下降趋势最为平缓,而且始终保持最高的并 行效率。其中,在处理数据规模较小的数据集CIFAR-10和CIFAR-100上,如图5(a)和5(b) 所示,各算法之间并行效率的差异较小,而且当节点数量为2时,WP-DCNN算法的并行效率甚至 要低于MR-MPC算法,但当节点数量到达6时,WP-DCNN算法在CIFAR-100数据集上的并行效 率则超过了其他算法,分别比DC-CNN、MR-PCNN、MR-MPC和MR-CNN算法的并行效率高出 了0.191、0.155、0.029、0.075。这是由于在节点数量较小时,WP-DCNN算法的MR-PWC策略提 升的卷积运算性能有限,而且在特征图合并阶段各节点之间会因节点数量不足而出现互相等待的现 象,进一步加剧了传输时间的开销,然而当节点数量增多时,这一现象将会凭借LB-TM策略得以 缓解,使得WP-DCNN算法总体的运行时间远低于其他算法,进而导致WP-DCNN在节点数量增 长后其并行效率才开始超过其他算法。在处理数据规模较大的数据集Emnist-Balanced时,如图5 (d)所示,WP-DCNN算法的并行效率显著高于其他算法,并且其并行效率的下降幅度最小,当 节点数量分别为2、4、6、8时,WP-DCNN算法的并行效率分别为0.933、0.875、0.812、0.745。 产生这种结果的主要原因是:(1)WP-DCNN算法在模型批训练阶段采用了FF-CSNMI策略来消 除了冗余特征在批训练过程中的重复计算,提升了算法的运行效率;(2)WP-DCNN算法凭借 LB-TM策略均衡了各节点之间的任务负载,当节点数量扩增时,WP-DCNN算法相较于其他算法 能够更好地控制集群的负载均衡,从而导致其并行效率的下降趋势最为平缓,并能始终保持最高的 并行效率。由此表明WP-DCNN算法对集群资源的利用率最高,并具有较强的可扩展性。
4.3WP-DCNN算法的分类效果分析
为评估WP-DCNN算法的分类效果,本文以准确率作为评价指标,将WP-DCNN算法分别与 DC-CNN、MR-PCNN、MR-MPC和MR-CNN算法在CIFAR-10,CIFAR-100,SVHM和 Emnist-Balanced四个数据集上进行了对比实验。实验结果如图6所示:
从图6可以看出,随着训练轮数的不断增加,各算法的分类准确率逐渐上升并趋于平稳,但相 较于DC-CNN、MR-PCNN、MR-MPC以及MR-CNN算法,WP-DCNN算法在四种数据集上取得 的最终准确率均高于其他四种算法的最终准确率,而且WP-DCNN算法的分类准确率趋于平稳时 所需的训练轮数始终低于其他四种算法。其中,在处理数据集CIFAR-10上,如图6(a)所示,当 训练轮数为25次时,WP-DCNN算法的分类准确率已经趋于平稳,并且比同等训练轮数下的 DC-CNN、MR-PCNN、MR-MPC和MR-CNN算法的分类准确率分别高出了4.62%、4.22%、3.09%、 2.45%;在处理数据集CIFAR-100上,如图6(b)所示,WP-DCNN算法的分类准确率趋于平稳所 需的训练轮数为30次,比DC-CNN和MR-PCNN算法趋于平稳的训练轮数少了10次,比MR-MPC 和MR-CNN算法趋于平稳的训练轮数少了5次;在处理数据集SVHN和Emnist-Balanced上,如 图6(c)和6(d)所示,WP-DCNN算法的分类准确率趋于平稳所需的训练轮数显著低于其他四 种算法,而且在同等训练轮数下WP-DCNN算法的分类准确率始终保持最高。产生这种结果的主 要原因是:WP-DCNN算法采用了FF-CSNMI策略,该策略通过融合批训练过程中的冗余特征与 表征特征,消除了算法在训练过程中对于冗余特征的重复计算,使得算法在训练效率上得到了提升, 同时也在一定程度上提升了算法的分类精度。因此,WP-DCNN算法在最终准确率上均取得了最高 的分类准确,并且其分类准确率趋于平稳所需的训练轮数始终低于其他四种算法,由此表明 WP-DCNN算法具有良好的分类性能。
4.4WP-DCNN算法的运行时间分析
为验证WP-DCNN算法的时间复杂度,本文在上述四个数据集上对DC-CNN、MR-PCNN、MR-MPC和MR-CNN算法分别进行了5次测试,并取5次运行时间的均值作为最终的实验结果。实验结果如图7所示:
从图7可以看出,在对各数据集进行处理时,WP-DCNN算法的运行时间始终保持最低,并且 随着数据规模的不断上升,WP-DCNN算法的运行时间与其他四种算法的运行时间的比例也逐渐扩 大。其中,当处理数据量较小的数据集CIFAR-10时,WP-DCNN算法运行时间的占比分别是 DC-CNN、MR-PCNN、MR-MPC和MR-CNN算法的1.42倍、1.25倍、1.31倍和1.15倍;当处理 数据量较大的数据集Emnist-Balanced时,WP-DCNN算法运行时间的占比分别是DC-CNN、 MR-PCNN、MR-MPC和MR-CNN算法的1.85倍、1.67倍、1.74倍和1.42倍。产生这种结果的原 因是:(1)WP-DCNN算法凭借FF-CSNMI策略消除了冗余特征的重复计算,降低了算法在冗余 特征计算上的时间开销;(2)MR-PWC策略提升了算法的卷积运算性能,降低了算法在卷积计算 上的时间开销,并且随着数据规模的不断扩增,MR-PWC策略在卷积运算上的并行化性能得到了 进一步提升,使得WP-DCNN算法相较于其他算法拥有更加优秀的处理能力。因此,WP-DCNN 算法所需的运行时间最少,而且随着数据规模的增长,其运行时间与其他四种算法运行时间的比例 也在逐步扩大。综上,WP-DCNN算法相较于其他算法在处理大数据集上具有更出色的性能。
综上所述,我们所提出的基于Winograd卷积的并行深度卷积神经网络优化算法(WP-DCNN), 在并行效率和分类效果上都有显著的提升。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的 原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要 求及其等同物限定。
Claims (10)
1.一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,包括:
S1,模型批训练阶段,采用基于余弦相似度与归一化互信息的特征过滤策略FF-CSNMI,通过先筛选后融合的方式消除冗余特征的计算;
S2,参数并行更新阶段,采用并行Winograd卷积策略MR-PWC,通过使用并行化Winograd卷积降低大数据环境下卷积的计算量;
S3,参数组合阶段,采用基于任务迁移的负载均衡策略LB-TM,通过均衡各节点之间的负载降低并行系统各节点的平均反应时长。
2.根据权利要求1所述的一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,所述基于余弦相似度与归一化互信息的特征过滤策略FF-CSNMI包括:
S1-1,特征划分:采用基于余弦相似度的特征相似度度量系数FSM,通过比较特征相似度度量系数FSM的大小将卷积层的输入特征图划分为表征特征集P与冗余特征集R两部分;
S1-2,特征过滤:采用基于归一化互信息的特征关联系数FAC,根据表征特征集P中各特征图的FAC值的大小,从表征特征集P中迭代过滤出冗余特征并纳入到冗余特征集R中,以此构建出最终的冗余特征集R;
S1-3,特征融合:在筛选出最终的冗余特征集R之后,先使用特征融合函数F(Z)融合冗余特征集R中的冗余特征,获得融合特征集G,再通过合并融合特征集G与表征特征集P,构建出下一层的输入特征图。
5.根据权利要求2所述的一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,所述特征融合函数F(Z)包括:
已知有待融合特征矩阵X与Y,两者的融合特征矩阵为Z,则特征融合函数F(Z)为:
其中P=[Z1 Z2…Zm],P表示特征向量Zi的一个集合;
Z1表示第1个融合特征向量;
Z2表示第2个融合特征向量;
Zm表示第m个融合特征向量;
Λ表示对角元素,为融合特征矩阵Z的特征值;
λ1表示第1个对角元素;
λm表示第m个对角元素;
Zi=ZX+ZY·cosθi (7)
其中Zi为融合后的特征向量,为P中的第i个元素;
ZX与ZY分别表示特征矩阵X与特征矩阵Y的特征向量;
θi表示特征向量ZX与ZY的余弦夹角;
||·||表示向量的一阶范数。
6.根据权利要求1所述的一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,所述并行Winograd卷积策略MR-PWC包括:
S2-1,特征图切分:采用多叉树切分策略MTS来切分卷积层的输入特征图,获得各特征图的多叉切分树,为并行Winograd卷积创造并行计算的条件;
S2-2,并行Winograd卷积:结合MapReduce并行框架实现Winograd卷积的并行计算,得到各卷积层的卷积结果后,再将得到的卷积结果存入HDFS中供参数更新时使用;
S2-3,参数更新:读取HDFS中的卷积结果,先使用反向传播的误差传导公式求得各分布式节点上DCNN模型的权值改变量,再并行更新各DCNN模型的参数,并将权值改变量存入HDFS中供参数组合时使用。
7.根据权利要求6所述的一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,所述多叉树切分策略MTS包括:
以原始特征图作为多叉切分树的根节点,首先采用等大小切分函数ESS(X),等大小切分特征图构建出子特征图X11,X12,X21,X22,其中X11,X12,X21,X22表示四个矩阵,而其下标则表示在切分后所处的位置;接着采用等间距切分函数EDS(X),等间距切分特征图构建出子特征图D;最后将子特征图X11,X12,X21,X22及D作为多叉切分树下一层的子结点,并对上述子结点中的子特征图X11,X12,X21,X22执行相同的切分过程,直至无法切分为止便可得到该输入特征图的多叉切分树。
8.根据权利要求7所述的一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,所述等大小切分函数ESS(X)包括:
已知原始特征图X的尺寸为hin×win,卷积核的尺寸为f×f,步长为s,左右两侧填充像素块的总数为p0,上下两侧填充像素块的总数为p1,令2k=p0+hin=p1+win,hin表示原始特征图X的长,win表示原始特征图X的宽;切分后子特征图的尺寸为hsub×wsub,则等大小切分函数ESS(X)为:
其中X11,X12,X21,X22分别为四个子特征图;
所述等间距切分函数EDS(X)包括:
已知原始特征图X的尺寸为hin×win,卷积核的尺寸为f×f,步长为s,左右两侧填充像素块的总数为p0,上下两侧填充像素块的总数为p1,令2k=p0+hin=p1+win,等间距切分特征图构建出子特征图D的尺寸为2k×2f,则等间距切分函数EDS(X)为:
其中·T表示矩阵的转置;
D11、D21表示子特图中的分块矩阵。
9.根据权利要求6所述的一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,所述S2-2中的并行Winograd卷积包括:
(1)特征图切分与转换:先并行构建各输入特征图的多叉切分树T,再层级遍历多叉切分树T以获得子特征图序列S,在层级遍历的同时对子特征图Si与卷积核Wk进行相应的Winograd转换,Si∈S表示第i个子特征图,Wk表示第k个卷积核,并将转换后的结果映射成键值对<Si,Wk>存入HDFS中;
(2)并行卷积计算:调用Map()函数并行Winograd卷积计算,首先依据子特征图序列相应的键值对<Si,Wk>计算各子特征图的卷积结果Ysi,k,并将卷积的中间结果映射为键值对<Si,Ysi,k>暂存Combine中,Ysi,k表示子特征图Si与第k通道的卷积核Wk的卷积结果;接着读取Combine中卷积的中间结果,并调用Reduce()函数并行合并各子特征图的卷积结果Ysi;最后将卷积结果Ysi映射为键值对<Si,Ysi>存入HDFS中,Ysi表示子特征图Si与卷积核Wk的卷积结果;
(3)特征图合并:读取HDFS中各子特征图的卷积结果,并依据子特征图序列S的顺序对各子特征图的卷积结果并行合并,获得最终的输出特征图Y后,再将该输出特征图Y存入HDFS中供参数更新时使用。
10.根据权利要求1所述的一种基于Winograd卷积的并行深度卷积神经网络优化方法,其特征在于,所述S3包括:
S3-1,统计节点信息,构建信息检索树:首先统计所有任务节点的信息,并依据节点容量升序排序后存入数组Nodes中;接着,为更快地检索节点信息和调控节点之间的负载,采用信息检索树IRT来存储任务节点的信息,并将数组Nodes中的节点信息存入两棵信息检索树IRT中;
所述信息检索树是一棵具有线索指针的平衡二叉树,树中各结点存储的信息由各任务节点的编号构成,其结点所对应的信息均保存在由以节点编号为索引的数组Nodes中;
S3-2,设定迁移阈值,构建迁移队列:构建出信息检索树T1与T2之后,根据设定好的迁移阈值去构建任务迁移的路线,具体过程如下:首先提出动态负载迁移阈值DLMT来动态设定任务迁移的阈值,并将T1的负载迁入上限设为Lα(t),T2的负载迁出下限设为Lβ(t);接着构建任务迁移的路线,先从树T1中取得负载率最低的节点Nmin,并从树T2中取得负载率最高的节点Nmax之后,再构建相应的迁移路线,若节点Nmin与节点Nmax的负载均满足迁移阈值,则可依据当前的迁移阈值构建出一条从节点Nmax中迁出任务至节点Nmin的迁移路线<Nmax,Nmin>,并将该迁移路线存入迁移队列Q中;否则放弃该迁移路线,并重复上述构建过程,直至T1与T2中没有满足阈值的节点;
(3)执行迁移任务,并行参数组合:构建完迁移队列后便可根据当前的迁移路线与迁移阈值执行相应的迁移任务,迁移任务结束后再调用Reduce()函数并行组合参数,具体过程如下:首先从迁移队列Q中取出队首节点<Nfrom,Nto>,依据当前迁移路线与迁移阈值从节点Nfrom中迁出未处理的任务发送给节点Nto,若任务迁移过程中节点Nfrom与节点Nto有一方到达迁移阈值,则会结束当前迁移任务;接着计算t时刻T1与T2中节点的负载均值与若出现则会结束本次迁移过程,否则接续执行迁移队列中的迁移任务,直至迁移队列为空;最后调用Reduce()函数对各Map节点输出的键值对<key=Wk,value=ΔWk>进行并行合并,并将合并后的权值作为DCNN模型训练后的最终权值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210610611.2A CN115204359A (zh) | 2022-05-31 | 2022-05-31 | 基于Winograd卷积的并行深度卷积神经网络优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210610611.2A CN115204359A (zh) | 2022-05-31 | 2022-05-31 | 基于Winograd卷积的并行深度卷积神经网络优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115204359A true CN115204359A (zh) | 2022-10-18 |
Family
ID=83575553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210610611.2A Pending CN115204359A (zh) | 2022-05-31 | 2022-05-31 | 基于Winograd卷积的并行深度卷积神经网络优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115204359A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370919A (zh) * | 2023-12-08 | 2024-01-09 | 吉林省拓达环保设备工程有限公司 | 污水处理设备远程监控系统 |
-
2022
- 2022-05-31 CN CN202210610611.2A patent/CN115204359A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370919A (zh) * | 2023-12-08 | 2024-01-09 | 吉林省拓达环保设备工程有限公司 | 污水处理设备远程监控系统 |
CN117370919B (zh) * | 2023-12-08 | 2024-03-01 | 吉林省拓达环保设备工程有限公司 | 污水处理设备远程监控系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10776685B2 (en) | Image retrieval method based on variable-length deep hash learning | |
CN107480694B (zh) | 基于Spark平台采用两次评价的加权选择集成三支聚类方法 | |
CN106897374B (zh) | 一种基于轨迹大数据最近邻查询的个性化推荐方法 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
CN112765477A (zh) | 信息处理、信息推荐的方法和装置、电子设备和存储介质 | |
CN113128618A (zh) | 基于kd树和混沌蜉蝣优化算法的并行谱聚类方法 | |
CN115204359A (zh) | 基于Winograd卷积的并行深度卷积神经网络优化方法 | |
CN112906865A (zh) | 神经网络架构搜索方法、装置、电子设备及存储介质 | |
Guan et al. | Delay compensated asynchronous adam algorithm for deep neural networks | |
CN111445148B (zh) | 一种基于贝叶斯网络的元件系统可靠性优化方法 | |
CN117009674A (zh) | 融合数据增强和对比学习的云原生api推荐方法 | |
CN109614581B (zh) | 基于对偶局部学习的非负矩阵分解聚类方法 | |
CN117059284A (zh) | 基于协同进化离散粒子群优化的糖尿病并行属性约简方法 | |
CN113836174B (zh) | 基于强化学习dqn算法的异步sql连接查询优化方法 | |
CN115982645A (zh) | 信创环境下基于机器学习实现数据标注的方法、装置、处理器及其计算机可读存储介质 | |
CN111738298B (zh) | 一种基于深宽可变多核学习的mnist手写数字数据的分类方法 | |
CN114612914A (zh) | 一种多标签不平衡数据分类的机器学习方法及系统 | |
CN114490799A (zh) | 单个图的频繁子图挖掘方法及装置 | |
CN112580797A (zh) | 一种多模态多标签预测模型的增量学习方法 | |
Li et al. | CUSNTF: A scalable sparse non-negative tensor factorization model for large-scale industrial applications on multi-GPU | |
CN109902762A (zh) | 基于1/2相似度偏离的数据预处理方法 | |
Singh et al. | A clustering algorithm in stream data using strong coreset | |
CN117610541B (zh) | 大规模数据的作者消歧方法、装置及可读存储介质 | |
Atwa et al. | Clustering evolving data stream with affinity propagation algorithm | |
CN113191486B (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 |