CN113449459B - 一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法 - Google Patents
一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法 Download PDFInfo
- Publication number
- CN113449459B CN113449459B CN202110384100.9A CN202110384100A CN113449459B CN 113449459 B CN113449459 B CN 113449459B CN 202110384100 A CN202110384100 A CN 202110384100A CN 113449459 B CN113449459 B CN 113449459B
- Authority
- CN
- China
- Prior art keywords
- training
- neural network
- model
- distributed
- scheme
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 47
- 238000013461 design Methods 0.000 title claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 73
- 238000007781 pre-processing Methods 0.000 claims abstract description 18
- 238000012360 testing method Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 230000007246 mechanism Effects 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000005070 sampling Methods 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 230000010354 integration Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 claims description 2
- 238000004140 cleaning Methods 0.000 claims 1
- 238000001514 detection method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000007429 general method Methods 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000002364 input neuron Anatomy 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,该方法的步骤包括:首先,构建分布式数据测试集和训练集,将训练集进行预处理;其次,训练和整合多个通用神经网络推理的子模型和输出,计算分布式系统的所需新特征向量或特征矩阵;然后,根据计算容器通信机制,计算每个子模型的推理结果;最后,根据简单的神经网络构建的决策单元,利用RandomShut方法对决策单元进行模型的训练,得到最终的模型。本发明利用通用的多模型分布式计算系统和训练方案提升推理结果的精度,降低单一神经网络的尺寸压力,减少系统的计算时间,使得训练更具针对性,广泛适用于各种应用场景。
Description
技术领域
本发明属于深度学习以及分布式学习领域,具体设计一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法。
背景技术
深度学习神经网络,作为目前非常流行的人工智能算法解决方案,方便了人们很多的工作、生活场景,已经产生了巨大的商业价值。比如,智能客服,图像识别,信用评估等。在这些成功的应用背后,作为支撑的是一些强大的,专用的神经网络。以图像识别任务为例,图像识别与检测已经衍生出了大量的神经网络,如:VGG,ResNet,DenseNet,Yolo等。这些神经网络都可以实现优异的推理。然而,由于当前的深度学习和机器学习的技术局限性,单一的网络仍然会做出一些相对低端,且人们不能理解的错误。如果希望通过一个神经网络获得准确的结果,从目前的网络设计上来说,有两个局限:1.网络尺寸在变化趋势上将越来越大,所消耗的算力也将越来越大。2.需要的数据多样性和复杂性上也将持续的上升。而即满足了这两个方向的需求,网络也可能只能提高不足1%的准确率。这成为使用单一网络实现更准确的机器学习推理的障碍。同时,说明在实际应用场景,继续使用单一网络对有更高准确性要求的应用是不可靠的。企业目前很难部署一个特别大的网络作为实际应用,而且大网络的准确性也并不能一定表现出优出色的性能。此外,传统的分布式系统机器学习网络,主要采用手动、或者简单的统计学方法,收集分布式节点的输出,来实现整合。这种方法并不合理,产生的结果也不好。本发明将采取一个新的设计思路,通过分布式的网络方案,采用多个网络(或者子模型)对同一个目标进行推理,再通过一个深度神经网络对推理结果的置信判断,得到最终的结果。该设计一方面减小了单一网络的尺寸压力;另一个方面,通过分布式的方法,在大幅提升精度的同时,没有明显的增加实际网络的推理时间。最后,着重介绍对这个系统的训练方法,同时兼顾实际应用场景的挑战,使得训练更加具有针对性。
本方案会结合目标检测的例子,具体说明本项设计。特别地,所描述的目标检测的算法模型,在实际的应用场景下是可以替换的。本文借助实际的例子,来说明该结构设计的可靠性,具体的目标检测任务是文字范围识别。
发明内容
本发明提供了一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,通过分布式的方案,采用多个神经网络子模型对同一目标进行推理实现精度的大幅提升,再利用一个简单的深度神经网络对推理结果的置信判断和提供的一种分布式多个子模型的系统训练方法,兼顾实际应用场景的挑战,使得训练更加具有针对性,适用于实际的应用场景。
本发明提供了一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,其特征在于,包括以下步骤:
S1:选择多个算法模型,构建分布式算法所需数据的测试集和训练集;
S2:根据步骤S1的训练集和确定的预处理方案,构建预处理训练数据集;
S3:构建一种提升神经网络推理准确性的子模型训练方法,并利用Sequeeze4激活函数和SharpLoss损失函数进行子模型的训练;
S4:针对分布式的运算结构,根据计算容器通信机制整合子模型的输出,创建一种通用的保持运算速度的分布式训练方法,构建分布式计算整体系统的新特征;
S5:根据深度神经网络,构建系统的决策单元,整理步骤S4的返回值作为决策单元的输入,根据RandomShut方法对决策单元进行训练,得到最终的通用的分布式计算系统;
S6:构建异常情况下系统的输出文件的格式,将最终的分布式模型在测试集上进行验证,得到预测结果。
根据上述的一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,所构建的一种通用的提升神经网络推理准确性的分布式计算系统方案是指根据预处理训练数据集,采用通用的神经网络模型创建面向多个推理子模型的分布式计算系统设计方法。
根据上述的通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,在步骤S3中的所述的激活函数定义如下:
其中,x表示输入的待激活的向量或者矩阵中的元素。
根据上述的一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,在步骤S3中的所述的损失函数定义如下:
根据上述的一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,在步骤S4所述的构建的计算容器通信机制指的是将每个算法容器的计算,包装成WebService并且能利用默认参数兼容超时请求的计算容器通信机制。
根据上述的一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,在步骤S4所述的一种通用的保持运算速度的分布式训练方法是指根据分布结构化设计采样方案和预处理方案,构建多模型的样本对和可用于输入深度神经网络的监督学习“特征-目标”数据对;所使用的多模型中的每一种子模型也可以是不同的,提高了方案的通用性。
根据上述的一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,在步骤S4所述的分布式计算整体系统的新特征指的是根据整合之前的每一个模型的输出结果,通过One-Hot编码得到不同指标的最高索引,作为分布式系统的新特征。
根据上述的一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,在步骤S5所述的决策单元的构建指的是以整合得到的最新属性为输入,以最终的判定结果为输出的深度神经网络。
与现有技术相比,本发明的优点:
与单模型部署
·在相同的计算量,或计算时间下,本方案可以提供更高的准确率和召回率。
·在同等的准确性和召回率情况下,本方案的效率更高。
·本方案在实际的部署时,更具部署可行性,也更加经济。
数据考虑通常的模型不一致导致,对模型进行了Finetune的操作;为了保证结果的准确性,采用Nvidia TITAN X GPU作为参考基准。所有的模型也都运行在TITAN X GPU(一共7台分布式节点+1台Decision Maker节点)环境下。为了得到公正可信的对比结果,实验设置如下:利用基准网络,在数据集上进行验证,具体结果如下:
Distributed network实际上采用的比较简单的网络模型,每个分布节点的模型执行时间都进行了规定。在实际的应用场景下,每个模型实际执行时间都被要求不超过18ms.需要达到的模型精确度为90%以上。网络传输两个来回,共计8ms。最后DecisionMaker执行时间为8ms,因此得到最终时间为32ms.其他的模型也增加了4ms(只做单次)的数据传输时间。可以看到,该方案在同等计算时间内,得到的结果最佳;但在整理性能上,模型更具有部署的优势。使用8台机器可以保证处理帧数在30fps,保证模型的实时性;性能相近的单网络,8台机器不计其他的因素情况下,只能理论上分别做到16fps(Faster RCNN Resnet v2 101,和4fps(Faster RCNN Nas),并没有对模型的并发、及分布式系统进行优化以提升算法性能,相信完成这些工作后,该方案可以使性能进一步提升。
相对于普通分布式模型
本方案提供了一个基于深度神经网络(DNN)的训练方法,显著提升了模型的准确率。
相比普通的通过投票(vote)、均值的方法,本方案更具科学性。
投票,均值的方案,从数学上可以理解为,所有分布式模型都具有同样的权重,或者通过某种规则手动选择权重,这种选择是不合理的。
本方案提供了,不同的模型,不同的情况,权重的倾斜行,也就是说,不仅仅提供一种权重的选择,而是多种权重配合,保证了整个系统的准确率。
对于投票模型,并没有直接可以对照的公开模型进行比较,因此,手动指定了一些模型规则,来进行对比,具体如下表所示。由于使用本方案的模型和分布式系统,因此,推理时间基本一致。
这里简要描述一下各个方案:
均值方案比较简单,选择准确性超过一定数值置信值得模型,做平均。因此该方案无法为模型提供更准确的信息提升的。因此结果也围绕在每个节点准确性附近。
Adaptive方案与均值方案类似,无法更好的提高模型的准确性,简要来说,是对通过置信值筛选的目标进行挑选,以置信值最大的目标作为基础,其他的目标,根据置信值的差距确定权重。然后叠加权重来获得最终的输出。
通常的方案,由于权重给出的一般是手动、或者根据置信值,参考的依据比较少,很难使模型性能得到大幅提升。同时,通过置信值来进行目标筛选的方案,本身也存在不合理性——分类的置信度和回归位置的好坏并没有直接的联系。二者存在关联,但不是决定、或者主要的关联。因此,会导致性能无法提升的问题。
附图说明
图1是模型计算流程图;
图2是通用的卷积操作实例图;
图3是Sigmoid和Softmax激活函数对比图;
图4是L1Smooth和SharpLoss损失函数对比图;
图5是分布式节点示意图;
图6是系统部署图;
图7是特征融合流程图;
图8是系统整体训练框架图。
具体实施方式
参考图1所示,本发明提供了一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,包括以下步骤:
S1:选择多个算法模型,构建分布式算法所需数据的测试集和训练集;
确定使用的分布式算法的数量N,算法模型记作M,对每个特定的算法,记作Mn,n∈N。将可用的数据集D复制N份,将会得到所有的数据集DN。对每一个数据集,应用到特定的算法n∈N,记作Dn.定义一个清洗采样方案集合F,每个方案f定义不同的随机函数,采样频率,采样分布,采样策略,使得f∈F,将一份数据集分成2个部分,训练集和测试集即
S2:根据步骤S1的训练集和确定的预处理方案,构建预处理训练数据集;
对特定的预处理方案Pn其方案是在线的数据预处理方案(即在模型训练时实时产生训练数据),亦可是离线的数据预处理方案。(即在模型训练前预先准备好,形成定量的数据集)。
S3:构建一种提升神经网络推理准确性的单一模型训练方法,并利用Sequeeze4激活函数和SharpLoss损失函数进行子模型的训练;
分别针对数据集及算法Mn进行模型训练。对于本例,实际取得的结果为一个结果集合Sn,对这个集合采用NMS算法进行筛选,该操作实际上是针对一个目标检测过程所进行检测结果的一种整理。比如一个模型对图像在不同尺度上都做出了有效的判断,一般会选择其中最优的目标作为这个模型的输出。但是当出现不同层都给出结果的情况那么,就需要做出通过NMS选择一个最优作为输出结果。因此,该操作能够兼容不同模型的输出,提高了模型的通用性,并且确保每一个模型对一个图像特征区域只有一个判断。在筛选后,得到最终的结果集合由于采用了多个模型,且本身算法模型并非本发明的重点,因此,参考图2所示,这里仅介绍一个其中一个模型的设计思路,在应用中,设计了7个不同输入,不同特性的网络:首先将Pn定义为一下操作的集合{Random Crop,Resize,RandomColor Revert},Pn被设计为一个在线数据预处理的方案。
Resize:裁剪后,将裁减的图片,采用双线性采样的方式缩放至224×112的尺寸。
Random Color Revert:将图像数据进行一个反色的操作。即对一个像素R,G,B的通道的数值减去255,即(255-R,255-G,255-B),得到反色图像,执行该操作的概率是50%。
对模型采用通用的卷积操作,得到的模型结构见附图1:由于本例中的目标检测比较直接,每个输入图像中仅有一个或没有目标,因此模型最终只有一对输出,FC2:目标是否存在的推理FC4:目标的位置的推理。
如果在图像区域内存在一个文字区域,首先将定义该模型的置信标签Y=0,不存在目标。Y=1,存在目标。然后定义目标框表示为Bgt={xmin,ymin,xmax,ymax},分别对应左上角的横纵坐标数值和右下角的横纵坐标数值。首先将数值相对于图片输入的范围进行归一化,使得xmin,ymin,xmax,ymax∈[0,1],接下来将数据转化为
{xcenter,ycenter,width,height}的形式,最后对框的位置相对于图片中心点(0.5,0.5)进行编码,并对编码结果进行了缩放操作,缩放参数在本例中设置为scalepos=1,scalelength=0.2。编码方式为:
xcenterencode=(xcenter-0.5)/scaleposycenterencode
=(ycenter-0.5)/scaleposwidthencode
=log(width)/scalelengthheightencode
=log(height)/scalelength
神经网络的激活函数,在本例中选择了ELU作为激活函数,参数α=1,来保证迭代中产生负数的信号,从而保证在FC阶段,信号整体以0为中心。便于函数的拟合和收敛。在最后的FC2采用了设计的Squeeze4函数作为激活函数。对FC4并没有设置激活函数。
对于神经网络的FC2模块的损失函数,选择了通用的二值分类损失函数sigmoidcross entropy loss.之所以选择sigmoid cross entropy loss,而不是softmax crossentropy,其根本原因在于希望计算出来的置信值可以更加分散。这一点非常有用,将对实施分布式计算提供有利的支持。
参考图3所示,可以看到Softmax函数比Sigmoid函数在[-4,4]的定义域里,更容易产生过饱和的数值,所获得的结果,有明确的倾向性。这样可以方便在后续的DecisionMaker网络提供的信息中,捕捉更有价值的特征。之所以这样设计,是为了能够在后期更好的利用分布式方法来选择最优解。
对于神经网络FC4模块的损失函数,选择使用自定义的SharpLoss.这个函数相比常用的L1Smooth损失函数,具有目标x∈[0,1]时,导数更加平缓,x∈[1,∞]时,导数更加陡峭,所以使用该函数进行训练时,模型会在前期快速收敛,而后期可能产生震荡,不会快速收敛到一个局部最优值的特点。设计的目的是为了能够在后期更好的利用分布式方法来选择最优解,具体参考图4所示。
接下来对模型进行训练,采用SGD的方法,Mini-Batch设置为128,在最后输出层设置dropout,drop比率0.3,初始化学习率为1e-3,学习率减少按照每2000次缩减为前一次的0.95倍。执行训练2e5次。
定义对推理数据的解码如下,由于对输入框进行了编码操作(编码方式见步骤三,编码部分),对其进行反函数操作,获得解码数值,解码方法为
然后将得到的结果整理为推理的目标框
Bpred={xmin,ymin,xmax,ymax};
xmin=xcenterdecode-widthdecode/2xmax
=xcenterdecode+widthdecode/2ymin
=ycenterdecode-heightdecode/2ymax
=ycenterdecode+heightdecode/2
-目标检测框Bpred(x)
-实际目标框Bgt(x)
-检测包含目标概率U(x)
-本例中置信阈值Yφ=0.8
-本例中包围框阈值Bφ=0.6
其中IOU的操作定义为:
最终得到评价函数E相对于数据集D的定义
即E(D)为判断正确的目标在所有参与判断目标的比率。
S4:针对分布式的运算结构,根据计算容器通信机制整合子模型的输出,创建一种通用的保持运算速度的分布式训练方法,构建分布式计算整体系统的新特征;
在所有的N个神经网络子模型完成训练后,将会将这N个神经网络子模型分别部署到N个算法容器中。这里强调的是算法的容器,因为并不局限该部署一定是实体的计算机硬件,对整个结构而言,只要计算节点可以实现并发,虚拟机、容器都可以作为一个载体,参考图5所示。在分布式的运算结构中,需要对计算容器进行通信。再此选择了WebService,将每一个子模型容器的计算,包装成一个WebService。在通信方式中,选择了实现较为方便的Restful API来实现通信及数据的输入、输出,参考图6所示。从实际部署的情况上来说,采用RPC的方式实现WebService,除Webservice的构建、传输有所不同以外,与本设计结构没有冲突,本设计结构兼容GRPC及其他可能的WebService的形式。设计针对分布结构化所设计的采样方案Fs,和在线预处理方案Ps,构建基于M个模型的样本对,并设计新的特征FEs.构建可用于输入DNN网络的监督学习的“特征-目标”数据对。
一种可行的采样方案Fs可以描述为:
·对样本添加号索引,索引号可以根据文件名的先后进行指定;
将训练样本,按照每个子模型Mn的预处理需求Pn进行转化,然后送入子模型Mn进行推理,得到推理置信结果Un和方框位置所在的区域Bn。对得到的推理结果,进行整理。组合出新的特征:对整合之前每个子模型的输出结果,参考图7所示。
·结果计算均Umaxn,Bmean值和方差UVar,BVar;
·新增一个属性,得到推理结果置信Un最高的模型的索引,并将其进行One-Hot处理。
–One-Hot方案的定义,假设有7个子模型,其中第3个子模型的在包含目标的置信值的判断中,置信值最大。所以可以将这个数据转化为one-hot编码,得到如下数据{0,0,1,0,0,0,0}
–记作Uh
·新增一个属性,得到推理结果包围框Bn与实际包围框Bgt,IoU运算分值最高的模型的索引,并将其进行One-Hot处理,记作Bh。这样,将会得到如下的输入和输出关系对:
输入:
同时又有,Umean,Uvar,Bmean,BVar,Uh,Bh。
输出:
·当存在目标时,定义置信目标Y=1,当不存在目标时,定义置信目标Y=0.
·定义输出目标:
-给定目标图像的目标框位置
-Bgt={xmingt,ymingt,xmaxgt,ymaxgt}
-输入参数
-Bmean={xminmean,yminmean,xmaxmean,ymaxmean}
-将定义数据进行如下转化:
-最终得到的xminscale,xmaxscale,yminscale,ymaxscale4个参数作为输出目标,记作Bscale
S5:根据深度神经网络,构建系统的决策单元,整理步骤S7的返回值作为决策单元的输入,根据RandomShut方法对决策单元进行训练,得到通用的分布式计算系统;
步骤S5中,得到了所有的需要的输入、输出,可以通过以下方式计算出输入和输出的神经元个数。
输入:
·Umean,Uvar,Bmean,BVar,总数1+4+1+4=10
·Uh,Bh=N+N
所以,得到输入神经元个数
N+4×N+1+4+1+4+N+N=7×N+10
输出:
·对Ypred推理Us的神经元的个数:1
·对Bscale推理Bs的神经元的元素个数:4
于是,可以设计一个简单的DNN网络,来整合所有的输入,得到结果的判定。这个DNN网络在系统中被叫做DecisionMaker。网络设计非常简单,在本例中只有简单的两个隐藏层的DNN网络,即神经网络的连接方式为FC(Fully Connected)方式。特别地,将两个隐藏层的神经元数目特意的设置得比较大,是为了充分让特征进行组合。HN1表示隐藏层(Hidden Network layer 1)的神经元数量,为1024;HN2则为512。
之所以认为该模型结构可以通过DNN的深度神经网络来实现,主要是建立在这样的假设上:模型的输出UN和BN,子模型之间是独立同分布的。为保证该假设成立,在之前子模型筛选中,选择了一个较高的δ(比如δ=0.93)。这个阈值越高,则子模型越趋近于独立同分布的形态,越低则模型与模型的表现上越无法满足独立同分布的条件。之所以认定独立同分布是实施这个模型的关键,也是由于深度神经网络,依赖在输入数据是满足独立同分布的条件上的。因此,若确定了模型的所有输出为遵循某种分布,那么从原理上认为,该方案可行。模型的训练可以在一台机器上进行,也可以在一个分布式的环境下进行。为了实现简单,将整个训练过程安排在一台计算机上完成。这种方式,相比分布式的训练方法,主要是训练速度比较慢。
在DeicisonMaker的训练中,之前所有的模型是不进行训练的。DeicisonMaker训练中,引入了一种新的训练技巧,叫做RandomShut,它的功能描述是,关闭来自某一个子模型M的所有输入,来实现训练。这个训练技巧,能起到两个方面的重要作用:
该训练技巧提升了整个DecisionMaker网络的泛化能力。
该训练技巧保证了在应用时,一些分布式节点无法准确送达信息时(比如某个分布式节点故障,不再有效),整个分布式系统仍能够提供准确的推理。增强的整个系统的鲁棒性,降低了系统组件之间的耦合性,提升了内聚度。
具体流程如附图8,详细步骤如下:
·将会在训练中,按照50%的概率,决定是否使用RandomShuto
·当确定使用RandomShut之后,有会使用一次随机数,以平均分布随机数,决定多少RandomShut的强度,即关闭的模型输入的个数T。在本例中,随机数的上限是也就是说,RandomShut的取值范围为不建议将随机数设置得非常大,这会对整个模型训练产生不利的影响。一般训练过程中,开放的模型数目应大于实际系统所支持的模型数目。在本例中,测试结果表示,为保证最佳的效果,这个数值应该为
·对于每一个被选中的模型Mt;t∈T,将这个模型的输出结果清除。方法为
·Ut=-1,Bt={xmin=0,ymin=0,xmax=1,ymax=1}。同时,在计算Umean,Bmean,Uvar,Bvar时,不将Ut,Bt引入计算。
执行训练的时候,采用SGD的方法,Mini-Batch设置为128,初始化学习率为1e-3,学习率减少按照每1个epoch缩减为前一次的0.75倍。执行训练10个epoch。
S6:构建异常情况下系统的输出文件的格式,将最终的分布式模型在测试集上进行验证,得到预测结果;
采用以下方法整理最终的返回结果并且对特殊情况进行处理:
·对于图像,可以采用了Base64的编码进行传输。即,请求发出时,图片会通过Base64编码,在传输到模型M所部署的WebService后,有对其进行解码。该过程,经过本地环境的测试,大约增加4ms(编码2ms,解码2ms)
·将M所推理出来的结果,包装成一个JSON文件。并通过RestAPI将JSON文件返回。
·JSON的文件格式定义请查阅效果数据文档。
·请求端会设置一个请求超时时间,在的环境中,设置为2s,即向一个模型M发出请求后,2s内得不到服务器的反馈,则视请求超时,在本地直接将默认失败的参数填入返回参数列表。默认的参数为
Ut=-1,Bt={xmin=0,ymin=0,xmax=1,ymax=1}
如果请求失败,(不限于获得404,410,500等错误),也将在本地直接将默认失败的参数填入返回参数列表。默认的参数为
Ut=-1,Bt={xmin=0,ymin=0,xmax=1,ymax=1}。
最终,将整理后的JSON返回值,组织成DecisionMaker网络的输入,包装成JSON文件,发送到DecisionMaker运算节点进行处理,最终得到推理结果。该结果作为最终的推理结果。
Claims (2)
1.一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,其特征在于,包括以下步骤:
S1:选择多个算法模型,构建分布式算法所需数据的测试集和训练集;
具体是:确定使用的分布式算法的数量N,算法模型记作M,对每个特定的算法,记作Mn,n∈N;将可用的数据集D复制N份,得到所有的数据集DN;对每一个数据集,应用到特定的算法n∈N,记作Dn;定义一个清洗采样方案集合F,每个方案f定义不同的随机函数,采样频率,采样分布,采样策略,使得f∈F,将一份数据集分成2个部分,训练集和测试集即
S2:根据步骤S1的训练集和确定的预处理方案,构建预处理训练数据集;
对特定的预处理方案Pn其方案是在线的数据预处理方案或离线的数据预处理方案;
S3:构建一种提升神经网络推理准确性的子模型训练方法,具体是指根据预处理训练数据集,采用通用的神经网络模型创建面向多神经网络推理模型的分布式计算系统设计方法,并利用Sequeeze4激活函数和SharpLoss损失函数进行子模型的训练;
所述的激活函数定义如下:
其中,x表示输入的待激活的向量或者矩阵中的元素;
损失函数定义如下:
S4:针对分布式的运算结构,根据计算容器通信机制整合子模型的输出,创建一种通用的保持运算速度的分布式训练方法,构建分布式计算整体系统的新特征;
其中计算容器通信机制的构建指的是将每个算法容器的计算,包装成WebService并且能利用默认参数兼容超时请求的计算容器通信机制;
一种通用的保持运算速度的分布式训练方法是指根据分布结构化设计采样方案和预处理方案,构建多模型的样本对和可用于输入深度神经网络的监督学习“特征-目标”数据对;
分布式计算整体系统的新特征指的是根据整合之前的每一个子模型的输出结果,通过One-Hot编码得到不同指标的最高索引,作为分布式系统的新特征;
S5:根据深度神经网络,构建系统的决策单元,整理步骤S4的返回值作为决策单元的输入,根据RandomShut方法对决策单元进行训练,最终得到通用的分布式计算系统;
根据RandomShut方法对决策单元进行训练,其过程为:
在训练中,按照50%的概率,决定是否使用RandomShut;
对于每一个被选中的模型Mt;t∈T,将这个模型的输出结果清除; 方法为Ut=-1,Bt={xmin=0,ymin=0,xmax=1,ymax=1}; 同时,在计算Umean,Bmean,Uvar,Bvar时,不将Ut,Bt引入计算;
S6:构建异常情况下系统的输出文件的格式,在测试集上进行分布式模型的验证,得到预测结果。
2.根据权利要求1所述的一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法,其特征在于:在S5所述的决策单元的构建指的是以整合得到的最新属性为输入,以最终的判定结果为输出的深度神经网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110384100.9A CN113449459B (zh) | 2021-04-09 | 2021-04-09 | 一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110384100.9A CN113449459B (zh) | 2021-04-09 | 2021-04-09 | 一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113449459A CN113449459A (zh) | 2021-09-28 |
CN113449459B true CN113449459B (zh) | 2023-04-07 |
Family
ID=77809492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110384100.9A Active CN113449459B (zh) | 2021-04-09 | 2021-04-09 | 一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449459B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024055191A1 (en) * | 2022-09-14 | 2024-03-21 | Huawei Technologies Co., Ltd. | Methods, system, and apparatus for inference using probability information |
CN117423138B (zh) * | 2023-12-19 | 2024-03-15 | 四川泓宝润业工程技术有限公司 | 基于多分支结构的人体跌倒检测方法、装置及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953862A (zh) * | 2017-03-23 | 2017-07-14 | 国家电网公司 | 网络安全态势的感知方法和装置及感知模型训练方法和装置 |
CN110472817A (zh) * | 2019-07-03 | 2019-11-19 | 西北大学 | 一种结合深度神经网络的XGBoost集成信用评价系统及其方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501724B1 (en) * | 2015-06-09 | 2016-11-22 | Adobe Systems Incorporated | Font recognition and font similarity learning using a deep neural network |
CN108446764B (zh) * | 2018-03-12 | 2021-03-23 | 清华大学 | 一种新型神经形态芯片架构 |
CN112671739B (zh) * | 2018-07-24 | 2023-04-18 | 中国计量大学 | 分布式系统的节点性质识别方法 |
CN109871995B (zh) * | 2019-02-02 | 2021-03-26 | 浙江工业大学 | Spark框架下分布式深度学习的量子优化调参方法 |
CN110009242A (zh) * | 2019-04-12 | 2019-07-12 | 网易(杭州)网络有限公司 | 基于神经网络的评标方法及装置、存储介质 |
CN111709533B (zh) * | 2020-08-19 | 2021-03-30 | 腾讯科技(深圳)有限公司 | 机器学习模型的分布式训练方法、装置以及计算机设备 |
CN112506667A (zh) * | 2020-12-22 | 2021-03-16 | 北京航空航天大学杭州创新研究院 | 一种基于多任务优化的深度神经网络训练方法 |
-
2021
- 2021-04-09 CN CN202110384100.9A patent/CN113449459B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953862A (zh) * | 2017-03-23 | 2017-07-14 | 国家电网公司 | 网络安全态势的感知方法和装置及感知模型训练方法和装置 |
CN110472817A (zh) * | 2019-07-03 | 2019-11-19 | 西北大学 | 一种结合深度神经网络的XGBoost集成信用评价系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113449459A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113688723B (zh) | 一种基于改进YOLOv5的红外图像行人目标检测方法 | |
CN113449459B (zh) | 一种通用的提升神经网络推理准确性和保持运算速度的分布式计算系统设计方法 | |
Vullam et al. | Prediction And Analysis Using A Hybrid Model For Stock Market | |
US7930260B2 (en) | System and method for real time pattern identification | |
Qin et al. | Data-efficient image quality assessment with attention-panel decoder | |
US20090112752A1 (en) | Distributed Scoring of Data Transactions | |
CN112053327B (zh) | 视频目标物检测方法、系统及存储介质和服务器 | |
Glorfeld | A methodology for simplification and interpretation of backpropagation-based neural network models | |
CN110032551B (zh) | 模型生成系统、方法及预测系统 | |
Mazumdar et al. | Universal image manipulation detection using deep siamese convolutional neural network | |
CN114254203A (zh) | 基于评论共性信息嵌入和迁移的跨域推荐方法及系统 | |
US20230328070A1 (en) | Optimizing resource utilization | |
CN108156130A (zh) | 网络攻击检测方法和装置 | |
CN114462707B (zh) | 一种基于特征深度融合的Web服务多维QoS联合预测方法 | |
CN114547276A (zh) | 基于三通道图神经网络的会话推荐方法 | |
JP7230324B2 (ja) | ニューラルネットワークの学習方法、コンピュータプログラム及びコンピュータ装置 | |
HyoungHo et al. | Residual convolutional neural network revisited with active weighted mapping | |
CN115099836B (zh) | 一种全网智能营销防伪数据监控系统 | |
US12020214B2 (en) | System for applying an artificial intelligence engine in real-time to affect course corrections and influence outcomes | |
CN116777400B (zh) | 一种基于深度学习的工程咨询信息全流程管理系统及方法 | |
Liu et al. | Optimizing Resource Allocation for Multi-modal Semantic Communication in Mobile AIGC Networks: A Diffusion-based Game Approach | |
Huang et al. | Classification of Long‐Tailed Data Based on Bilateral‐Branch Generative Network with Time‐Supervised Strategy | |
Harada et al. | Tensor tree learns hidden relational structures in data to construct generative models | |
Cao et al. | Guided Image-to-Image Translation by Discriminator-Generator Communication | |
Joanis et al. | On Deep Generative Modeling in Economics: An Application with Public Procurement Data |
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 |