The invention discloses an image recognition method of high-efficiency GPU training model based on wide model sparse data set, which converts image pixels into vectors, and then trains and classifies vectors; by establishing a machine learning training method cuwide, cuwide adopts a stream pipeline with replication strategy, importance cache, column oriented storage and multi stream technology, and uses GPU and a large amount of sparse data The method of the invention has excellent performance in training large-scale wide models and can greatly improve the efficiency of image recognition.
【技术实现步骤摘要】
基于宽模型稀疏数据集的高效GPU训练模型的图像识别方法
本专利技术属于机器学习和图像处理
,涉及图像分类识别方法,尤其涉及一种基于宽模型稀疏数据集的高效GPU训练模型的图像识别方法。
技术介绍
推荐系统、广告点击率预测和图像识别等机器学习和数据挖掘问题因其在许多实际服务中的成功而越来越受欢迎,如图像分类结合计算机视觉和机器学习算法从图像中抽取意义的任务,可以为一张图像分配一个标签或一个高级的解释图像内容的人类可读句子,无论在学术界和工业界都是个很热的话题。在图像识别领域,分类的准确与否直接影响商业利润,在数据量巨大的情况下,不仅要考虑模型的精度,还要考虑模型训练的时间和空间代价。宽模型可以从一系列特征中学习解决这类问题,它已经被应用于许多预测应用中,如逻辑回归(LogisticRegression)、线性支持向量机(LSVM)、因子分解机(FM)等。为了训练上述宽模型,几种基于CPU的系统,如Liblinear[1],针对大规模正规化线性分类和回归,xLearn[2]是使用指令级优化的大规模稀疏机器学习问题的高性能实现,这些方法可以处理数以百万计的特征,利用CPU的计算能力,支持多核环境。然而,CPU上的宽模型的训练性能仍然不令人满意,宽模型训练受到内存带宽的限制,而现有的GPU解决方案也不能充分利用GPU的高内存带宽。目前流行的基于数据流的机器学习系统,如TensorFlow[3]、MXNet[4]、CNTK[5]等,主要是为神经网络计算而设计的,因此缺乏针对宽模型中数据通常是稀疏分布的特性的优化。然而这些框 ...
【技术保护点】
1.一种基于宽模型稀疏数据集的高效GPU训练模型方法,其特征是,可应用于图像识别,将图像的像素转换为向量,再对向量进行训练归类;通过建立机器学习训练方法CuWide,利用GPU并使用大量稀疏数据集高效地训练图像识别预测宽模型,将图像识别预测宽模型在GPU上部署、训练,由此提高图像识别的效率;包括如下步骤:/n1)将训练数据分批输入图像识别预测宽模型,所述图像识别预测宽模型为使用CuWide中的ALA接口编程的模型,所述ALA接口包括:聚合接口、损失接口和更新接口;/n所述训练方法CuWide方法包括:基于流的训练策略、ALA编程接口、偶图执行引擎和多流调度策略;/n所述ALA接口的聚合接口用于利用输入图像数据和模型参数计算累加值;所述损失接口用于利用累加结果计算损失;所述更新接口用于更新模型参数;/n2)使用CuWide的多流调度策略,包括内存调度和流管道策略,自动处理不能完全放入GPU内存的图像数据集,并优化GPU中的异步数据传输过程来隐藏数据传输和GPU到主存储器的内存访问延迟,进一步将批量数据传入偶图执行引擎;/n3)所述偶图执行引擎为基于偶图的数据稀疏感知优化执行引擎,用于有效 ...
【技术特征摘要】
1.一种基于宽模型稀疏数据集的高效GPU训练模型方法,其特征是,可应用于图像识别,将图像的像素转换为向量,再对向量进行训练归类;通过建立机器学习训练方法CuWide,利用GPU并使用大量稀疏数据集高效地训练图像识别预测宽模型,将图像识别预测宽模型在GPU上部署、训练,由此提高图像识别的效率;包括如下步骤:
1)将训练数据分批输入图像识别预测宽模型,所述图像识别预测宽模型为使用CuWide中的ALA接口编程的模型,所述ALA接口包括:聚合接口、损失接口和更新接口;
所述训练方法CuWide方法包括:基于流的训练策略、ALA编程接口、偶图执行引擎和多流调度策略;
所述ALA接口的聚合接口用于利用输入图像数据和模型参数计算累加值;所述损失接口用于利用累加结果计算损失;所述更新接口用于更新模型参数;
2)使用CuWide的多流调度策略,包括内存调度和流管道策略,自动处理不能完全放入GPU内存的图像数据集,并优化GPU中的异步数据传输过程来隐藏数据传输和GPU到主存储器的内存访问延迟,进一步将批量数据传入偶图执行引擎;
3)所述偶图执行引擎为基于偶图的数据稀疏感知优化执行引擎,用于有效地实现GPU上的基于流量的策略,包括图的构造、划分和基于块计算:
31)首先,通过偶图执行引擎将用于训练的图像分类数据建模为一个偶图,其中样本由样本顶点表示,特征由参数顶点表示,边缘表示特征与样本之间的关系;具体使用复制策略、重要性缓存和面向特征的存储,处理图像数据稀疏数据集的稀疏性和不规则性,将其建模为一个偶图;
32)在训练过程中,将GPU上的小批量图像数据进一步分成小块;
将小批量图像数据进一步划分成多个小块,通过执行聚合接口定义的特征聚合,对每个小块逐个进行处理,并将累加量存储在共享内存中;其中累加量具体通过数据特征和模型参数的聚合操作得到;
33)提取与小块对应的子图;每个子图由GPU上的线程块执行;
通过执行损失和更新接口定义的方法,使用聚合结果计算损失函数和更新模型;在逆向阶段,使用累积量计算梯度;
34)利用偶图执行引擎收集所有小块更新的运算结果并同步至模型;
4)经过多轮迭代,训练收敛后保存图像分类模型及参数;再使用训练好的图像分类模型对图像进行分类;具体执行如下操作:
41)将待分类的图像测试集输入训练好的图像分类模型;
42)计算各类别概率,得出图像分属某一类别的概率,根据最大的概率结果确定其类别;
通过上述步骤,实现基于宽模型稀疏数据集的高效GPU训练模型的图像识别。
2.如权利要求1所述基于宽模型稀疏数据集的高效GPU训练模型方法,其特征是,步骤31)中建模为一个偶图具体包括如下过程:
311)构造图:使用偶图模型构造图像分类的宽模型,其中样本顶点代表样本,参数顶点代表不同的图像特征,边缘代表样本和特征之间的关系;
对于小批量随机梯度下降的每次迭代,样本顶点的数量是批大小,参数顶点的数目是数据集的特征维数,边缘表示稀疏输入;在数据加载之后,消除图的构造,并且不同的宽模型共享相同的图形结构;宽模型均为ALA模型;
32)划分图:将输入的图像批量训练数据划分为数据块,并逐个处理数据块;通过参数顶点剪裁策略提取数据块中的样本顶点的单跳邻域来划分边缘并创建子图;
33)进行基于块的运算:按照ALA模型进行块...
【专利技术属性】
技术研发人员:苗旭鹏,苏立梓,崔斌,周跃,马凌霄,杨智,
申请(专利权)人:北京大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。