CN109726823A - 一种基于并行架构的迭代分割核学习方法 - Google Patents
一种基于并行架构的迭代分割核学习方法 Download PDFInfo
- Publication number
- CN109726823A CN109726823A CN201811556593.4A CN201811556593A CN109726823A CN 109726823 A CN109726823 A CN 109726823A CN 201811556593 A CN201811556593 A CN 201811556593A CN 109726823 A CN109726823 A CN 109726823A
- Authority
- CN
- China
- Prior art keywords
- matrix
- gpu
- formula
- vector
- thread
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
本发明提供了一种基于并行架构的迭代分割核学习方法,其方法包括:首先将核学习算法中的大规模核矩阵求逆进行了分割,并采用了一种迭代分割的算法进行分解。然后在迭代分割算法的基础上,将其中的矩阵和向量相乘以及向量和向量相乘部分在GPU中进行并行计算,从而更好的提升算法的运行效率。本发明的有益效果是:本发明针对由核学习构造的评价网络中在学习的过程中存在大规模核矩阵求逆的耗时运算,提出了一种迭代分割的算法;在基于迭代分割算法的基础上,该算法中矩阵和向量相乘以及向量和向量相乘部分放入GPU中进行并行处理,提升了算法的运行速度,并且保证了系统的实时性。
Description
技术领域
本发明涉及并行计算领域,尤其涉及一种基于并行架构的迭代分割核学习方法。
背景技术
强化学习来源于动物学习和实验心理学,是一种交互式的机器学习方法,其所具有的强学习能力和适应能力是解决环境未知条件下最优策略学习的有效方法。传统的强化学习方法主要针对离散状态动作系统,当处理大规模空间或连续空间问题时,随着可取状态和动作数量的增加,会面临收敛速度慢甚至无法收敛的问题。
自适应动态规划算法是模型未知时非线性系统最优控制的主流研究方法,该方法引入评价-执行网络结构,从而逼近系统的性能指标函数和控制策略。核方法作为一种非参数建模方法,使用核技巧将高维度中向量的内积通过低纬度的核函数计算。核方法具有不需要预设模型结构,对先验知识的依赖性很小,仅用少量的参数就能表达输入和输出的关系,具有很强的灵活性等优点。
基于核学习构造的评价网络主要用于逼近值函数即性能指标函数,其关键在于权值向量的更新,当采用极大似然法更新权值向量的时候,会涉及到大规模的核矩阵求逆运算,导致计算的时间非常长,给算法的整体性能提升带来了十分严重的负担。研究一种基于并行架构的迭代分割核学习方法具有十分重要的工程实践意义。
现有的大多数核学习评价网络构造方法普遍存在大规模核矩阵求逆的问题,通过将核学习算法中的核矩阵求逆进行迭代分割和并行处理,运行的效率会大大提升,进而提高系统的实时性。
发明内容
为了解决上述问题,本发明提供了一种基于并行架构的迭代分割核学习方法,一种基于并行架构的迭代分割核学习方法,主要包括以下步骤:
S101:获取核学习算法中的核矩阵并根据公式(1)对核矩阵进行分解:
上式中,是L-p阶的方阵,是1×(L-p)阶的行向量,dp是1×1阶的矩阵;
S102:根据公式(2)和公式(3)所示的等式计算得到矩阵EL-p:
上式中,Ep为自定义的对称矩阵,IL-p是L-p阶的单位矩阵;
S103:根据矩阵EL-p,计算得到hp如公式(4)所示:
上式中,
S104:根据cp、hp和γp,计算得到核矩阵的逆矩阵如公式(5):
S105:将计算得到的逆矩阵存储于GPU的内核块中,并将循环次数p加1;判断循环次数p是否大于或者等于核矩阵的维数L?若否,则返回步骤S101,并将公式(5)中的作为新的核矩阵进行分解;若是,则到步骤S106;所述循环次数p的初始值为0;
S106:结束循环迭代,并将每次循环迭代所存储的进行反向迭代,得到核矩阵的最终求逆结果
进一步地,通过在GPU中自定义的Kernel1和Kernel2分别将向量与矩阵之间的乘法和向量与向量之间的相乘部分放入GPU中进行并行计算,从而提升了算法的整体运行速度。
进一步地,所述Kernel1的具体原理如下:
S201:在GPU的所有线程块中任意选取一个空闲线程块;每个GPU有多个线程块,每个线程块中有255个线程;
S202:从所述空闲线程块中选取多个线程分别用于计算矩阵的行中的各元素和向量的各元素的乘法;
S203:将计算矩阵行中的各元素的线程和向量的各元素的线程相乘,得到矩阵和向量的乘法运算结果;
S204:将最终的运算结果存储于所述空闲的线程块中。
进一步地,所述Kernel2的具体原理如下:
S301:在GPU的所有线程块中任意选取两个空闲线程块;每个GPU有多个线程块,每个线程块中有255个线程;
S302:从两个空闲线程块中分别选取多个线程用于计算两个向量中的元素的乘法;
S303:将两个空闲线程块中的线程进行乘法运算后,得到两个向量的相乘结果;
S304:将相乘结果存储于对应的多个线程块中。
本发明提供的技术方案带来的有益效果是:本发明针对由核学习构造的评价网络中在学习的过程中存在大规模核矩阵求逆的耗时运算,提出了一种迭代分割的算法;在基于迭代分割算法的基础上,该算法中矩阵和向量相乘以及向量和向量相乘部分放入GPU中进行并行处理,提升了算法的运行速度,并且保证了系统的实时性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例中一种基于并行架构的迭代分割核学习方法的流程图;
图2是本发明实施例中Kernel1的结构示意图;
图3是本发明实施例中Kernel2的结构示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本发明的实施例提供了一种基于并行架构的迭代分割核学习方法。
请参考图1,图1是本发明实施例中一种基于并行架构的迭代分割核学习方法的流程图,具体包括如下步骤:
S101:获取核学习算法中的核矩阵并根据公式(1)对核矩阵进行分解;
上式中,是L-p阶的方阵,是1×(L-p)阶的行向量,dp是1×1阶的矩阵;
S102:定义如公式(2)所示的对称矩阵Ep,并定义如公式(3)所示的等式:
上式中,IL-p是L-p阶的单位矩阵;
S103:根据公式(1)、公式(2)和公式(3)可以得到公式(4):
S105:定义公式(5):
S106:根据公式(4)和公式(5)可得公式(6):
S107:根据公式(6)可得核矩阵的逆矩阵如公式(7):
S108:将计算得到的逆矩阵存储于GPU的内核块中,并将循环次数p加1;判断循环次数p是否大于或者等于核矩阵的维数L?若否,则返回步骤S101,并将公式(7)中的作为新的核矩阵进行分解;若是,则到步骤S109;所述循环次数p的初始值为0;
S109:结束循环迭代,并将每次循环迭代所存储的进行反向迭代,得到核矩阵的最终求逆结果
在本实施例中,通过在GPU中自定义的Kernel1和Kernel2分别将向量与矩阵之间的乘法和向量与向量之间的相乘部分放入GPU中进行并行计算,从而提升了算法的整体运行速度。
所述Kernel1的具体原理如下:
S201:在GPU的所有线程块中任意选取一个空闲的线程块(Blocks);每个GPU有多个线程块,每个线程块中有255个线程;
S202:从所述空闲线程块中选取多个线程分别用于计算矩阵的行中的各元素和向量的各元素的乘法;
S203:将计算矩阵行中的各元素的线程和向量的各元素的线程相乘,得到矩阵和向量的乘法运算结果;
S204:将最终的运算结果存储于所述空闲的线程块中。
所述Kernel2的具体原理如下:
S301:在GPU的所有线程块中任意选取两个空闲的线程块(Blocks);每个GPU有多个线程块,每个线程块中有255个线程;
S302:从两个空闲的线程块中分别选取多个线程用于计算两个向量中的元素的乘法;
S303:将两个线程块中的线程进行乘法运算后,得到两个向量的相乘结果;
S304:将相乘结果存储于对应的多个线程块中。
Kernel 1架构如图2所示,Kernel2架构如图3所示。
为了验证本发明所提技术方案的有效性,将该方法放入GK-ADP算法中,并应用到实际的板球控制系统中,得到了运行时间,如表1所示。
表1算法运行时间
由表1可见,运用本发明所提技术方案的方法后,运行时间大幅减少,验证了本发明所提方法的有效性。
本发明的有益效果是:本发明针对由核学习构造的评价网络中在学习的过程中存在大规模核矩阵求逆的耗时运算,提出了一种迭代分割的算法;在基于迭代分割算法的基础上,该算法中矩阵和向量相乘以及向量和向量相乘部分放入GPU中进行并行处理,提升了算法的运行速度,并且保证了系统的实时性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于并行架构的迭代分割核学习方法,其特征在于:包括以下步骤:
S101:获取核学习算法中的核矩阵并根据公式(1)对核矩阵进行分解:
上式中,是L-p阶的方阵,是1×(L-p)阶的行向量,dp是1×1阶的矩阵;
S102:根据公式(2)和公式(3)所示的等式计算得到矩阵EL-p:
上式中,Ep为自定义的对称矩阵,IL-p是L-p阶的单位矩阵;
S103:根据矩阵EL-p,计算得到hp如公式(4)所示:
上式中,
S104:根据cp、hp和γp,计算得到核矩阵的逆矩阵如公式(5):
S105:将计算得到的逆矩阵存储于GPU的内核块中,并将循环次数p加1;判断循环次数p是否大于或者等于核矩阵的维数L?若否,则返回步骤S101,并将公式(5)中的作为新的核矩阵进行分解;若是,则到步骤S106;所述循环次数p的初始值为0;
S106:结束循环迭代,并将每次循环迭代所存储的进行反向迭代,计算得到核矩阵的最终求逆结果
2.如权利要求1所述的一种基于并行架构的迭代分割核学习方法,其特征在于:通过在GPU中自定义的Kernel1和Kernel2分别将向量与矩阵之间的乘法和向量与向量之间的相乘部分放入GPU中进行并行计算,从而提升了算法的整体运行速度。
3.如权利要求2所述的一种基于并行架构的迭代分割核学习方法,其特征在于:所述Kernel1的具体原理如下:
S201:在GPU的所有线程块中任意选取一个空闲线程块;每个GPU有多个线程块,每个线程块中有255个线程;
S202:从所述空闲线程块中选取多个线程分别用于计算矩阵的行中的各元素和向量的各元素的乘法;
S203:将计算矩阵行中的各元素的线程和向量的各元素的线程相乘,得到矩阵和向量的乘法运算结果;
S204:将最终的运算结果存储于所述空闲的线程块中。
4.如权利要求2所述的一种基于并行架构的迭代分割核学习方法,其特征在于:所述Kernel2的具体原理如下:
S301:在GPU的所有线程块中任意选取两个空闲线程块;每个GPU有多个线程块,每个线程块中有255个线程;
S302:从两个空闲线程块中分别选取多个线程用于计算两个向量中的元素的乘法;
S303:将两个空闲线程块中的线程进行乘法运算后,得到两个向量的相乘结果;
S304:将相乘结果存储于对应的多个线程块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556593.4A CN109726823A (zh) | 2018-12-19 | 2018-12-19 | 一种基于并行架构的迭代分割核学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811556593.4A CN109726823A (zh) | 2018-12-19 | 2018-12-19 | 一种基于并行架构的迭代分割核学习方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109726823A true CN109726823A (zh) | 2019-05-07 |
Family
ID=66296206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811556593.4A Pending CN109726823A (zh) | 2018-12-19 | 2018-12-19 | 一种基于并行架构的迭代分割核学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726823A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH096760A (ja) * | 1995-06-26 | 1997-01-10 | Hitachi Ltd | 並列機向け固有ベクトル求解方法及びこれを用いた構造解析シミュレーション方法 |
CN103631761A (zh) * | 2012-08-29 | 2014-03-12 | 睿励科学仪器(上海)有限公司 | 并行处理架构进行矩阵运算并用于严格波耦合分析的方法 |
CN104360986A (zh) * | 2014-11-06 | 2015-02-18 | 江苏中兴微通信息科技有限公司 | 一种并行化矩阵求逆硬件装置的实现方法 |
CN107291666A (zh) * | 2017-06-27 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种数据处理方法及处理装置 |
CN109033019A (zh) * | 2018-07-06 | 2018-12-18 | 航天星图科技(北京)有限公司 | 一种基于稀疏矩阵的大区域网平差快速并行解算方法 |
-
2018
- 2018-12-19 CN CN201811556593.4A patent/CN109726823A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH096760A (ja) * | 1995-06-26 | 1997-01-10 | Hitachi Ltd | 並列機向け固有ベクトル求解方法及びこれを用いた構造解析シミュレーション方法 |
CN103631761A (zh) * | 2012-08-29 | 2014-03-12 | 睿励科学仪器(上海)有限公司 | 并行处理架构进行矩阵运算并用于严格波耦合分析的方法 |
CN104360986A (zh) * | 2014-11-06 | 2015-02-18 | 江苏中兴微通信息科技有限公司 | 一种并行化矩阵求逆硬件装置的实现方法 |
CN107291666A (zh) * | 2017-06-27 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种数据处理方法及处理装置 |
CN109033019A (zh) * | 2018-07-06 | 2018-12-18 | 航天星图科技(北京)有限公司 | 一种基于稀疏矩阵的大区域网平差快速并行解算方法 |
Non-Patent Citations (2)
Title |
---|
张国亮等: "大型实对称矩阵分块迭代求逆算法", 《无线互联科技》 * |
霍迎秋等: "基于CUDA的大型实对称矩阵并行求逆算法", 《计算机工程与设计》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110851B (zh) | 一种lstm神经网络的fpga加速器及其加速方法 | |
Dede et al. | Weight minimization of trusses with genetic algorithm | |
Strumberger et al. | Enhanced firefly algorithm for constrained numerical optimization | |
CN108564213B (zh) | 一种基于gpu加速的并联水库群防洪优化调度方法 | |
CN107704319A (zh) | 改进烟花算法的cmp任务调度方法 | |
CN109299781A (zh) | 基于动量和剪枝的分布式深度学习系统 | |
CN104866904A (zh) | 一种基于spark的遗传算法优化的BP神经网络并行化方法 | |
CN104516785B (zh) | 一种云计算资源调度系统及方法 | |
CN110462639A (zh) | 信息处理设备、信息处理方法及计算机可读存储介质 | |
CN105389772B (zh) | 基于图形处理器的数据处理方法和装置 | |
CN110097186A (zh) | 一种神经网络异构量化训练方法 | |
CN107133088A (zh) | 一种基于粒子群算法的多核系统任务调度方法 | |
CN109063902A (zh) | 一种短期负荷预测方法、装置、设备及存储介质 | |
CN110084364A (zh) | 一种深度神经网络压缩方法和装置 | |
CN108009635A (zh) | 一种支持增量更新的深度卷积计算模型 | |
CN108062585A (zh) | 一种基于飞蛾扑火算法计算函数最值的方法 | |
CN109635938A (zh) | 一种自主学习脉冲神经网络权值量化方法 | |
CN105512755A (zh) | 一种基于分解的多目标分布估计优化方法 | |
Ayad et al. | Parametric analysis for genetic algorithms handling parameters | |
CN116644804A (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
Wang et al. | Application of IEHO–BP neural network in forecasting building cooling and heating load | |
CN108960508A (zh) | 基于量子蝙蝠算法的铸造造型及熔炼批量计划获取方法 | |
CN114675975A (zh) | 一种基于强化学习的作业调度方法、装置及设备 | |
Yang et al. | Algorithm of fast marriage in honey bees optimization and convergence analysis | |
Xie et al. | Cloud computing resource scheduling based on improved differential evolution ant colony algorithm |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190507 |
|
RJ01 | Rejection of invention patent application after publication |