基于异构计算平台的并行神经网络训练算法设计
发布时间:2020-03-20 04:58
【摘要】:现如今人工智能已经渗透到人们生活的各个角落,很多行业都通过人工智能实现了巨大的发展。人工智能的核心技术是人工神经网络,人工智能的广泛应用离不开神经网络技术的巨大进步。但是,神经网络技术的进一步发展仍然面临很多挑战。目前,人工神经网络应用面临的主要挑战之一就是训练,其实质是一个基于大量数据反复迭代优化的过程。该过程需要极高的计算能力和高效的最优解搜寻方法。本文针对神经网络训练过程中面对的问题,进行了详细的探索与分析,并凭借异构计算平台的强大计算能力,设计并实现了三种并行优化算法。首先,针对神经网络训练时间较长的问题,实现了并行BFGS拟牛顿算法;其次,针对传统的神经网络训练方法易陷入局部收敛的问题,设计并实现了一种多群体PSO并行算法;最后,为了提升神经网络训练过程中的收敛速度,将BFGS拟牛顿算法与PSO算法相结合,实现了BFGS-PSO混合算法。实验结果显示,与传统的基于CPU的串行算法相比,本文设计的并行BFGS拟牛顿算法最高获得了430倍的加速;本文设计的并行PSO算法与基于CPU的多线程PSO算法相比,获得了35倍的加速;在超宽带天线的实验中,与BFGS拟牛顿算法相比,相同迭代次数下,训练误差缩小到了1.52%;并且,将二者结合而成的BFGS-PSO混合算法也展现了较强的收敛性,其收敛速度是BFGS拟牛顿算法的5.5倍,并且在相同训练时间下,三种算法中BFGS-PSO混合算法的训练误差最小,仅为1.12%。
【图文】:
图 2-1 通用可编程 GPU 架构简图GPU 与 CPU 的区别在通用计算领域,CPU 作为最传统的计算设备,其性能提升主要依赖于理器主频,而主频的提升主要依赖于制作工艺的改进。然而,制作工艺是有限的,晶体管尺寸的降低逐渐趋缓,电路集成度的增长也逐渐趋于过提高处理器主频来提升 CPU 性能遇到了前所未有的困境。因此,一 供应商尝试改变 CPU 架构来获得性能的提升,在单块芯片内集成更多器核心,使 CPU 朝多核的方向发展成为了主要趋势。自 2005 年第一款PU 的问世,时至今日,增加 CPU 核心数依然是提升 CPU 性能的主题。况下,单核 CPU 只能同时处理一个线程,而增加 CPU 的核心数可以使多个线程,因此,现在的 CPU 同样可以做并行计算。虽然 CPU 架构的优化使其可以支持多线程并行处理,但它与 GPU 在并
13图 2-2 OpenCL 内存模型示意图2.5.3 OpenCL 编程过程为了将上述框架有效整合在一起以实现我们想要的功能,需要一系列繁杂的操作,这个过程称为 OpenCL 的编程过程。使用 OpenCL 编程过程如下:(1) 发现并初始化平台;(2) 发现并初始化计算设备;(3) 创建上下文;(4) 创建命令队列;(5) 创建内存对象;(6) 将数据由主机端传入设备端;(7) 创建并编译程序对象;
【学位授予单位】:天津大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP183
本文编号:2591287
【图文】:
图 2-1 通用可编程 GPU 架构简图GPU 与 CPU 的区别在通用计算领域,CPU 作为最传统的计算设备,其性能提升主要依赖于理器主频,而主频的提升主要依赖于制作工艺的改进。然而,制作工艺是有限的,晶体管尺寸的降低逐渐趋缓,电路集成度的增长也逐渐趋于过提高处理器主频来提升 CPU 性能遇到了前所未有的困境。因此,一 供应商尝试改变 CPU 架构来获得性能的提升,在单块芯片内集成更多器核心,使 CPU 朝多核的方向发展成为了主要趋势。自 2005 年第一款PU 的问世,时至今日,增加 CPU 核心数依然是提升 CPU 性能的主题。况下,单核 CPU 只能同时处理一个线程,而增加 CPU 的核心数可以使多个线程,因此,现在的 CPU 同样可以做并行计算。虽然 CPU 架构的优化使其可以支持多线程并行处理,但它与 GPU 在并
13图 2-2 OpenCL 内存模型示意图2.5.3 OpenCL 编程过程为了将上述框架有效整合在一起以实现我们想要的功能,需要一系列繁杂的操作,这个过程称为 OpenCL 的编程过程。使用 OpenCL 编程过程如下:(1) 发现并初始化平台;(2) 发现并初始化计算设备;(3) 创建上下文;(4) 创建命令队列;(5) 创建内存对象;(6) 将数据由主机端传入设备端;(7) 创建并编译程序对象;
【学位授予单位】:天津大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP183
【参考文献】
相关期刊论文 前10条
1 陈贵云;张江;;基于拟牛顿算法神经网络的入侵检测系统的研究[J];计算机安全;2014年01期
2 刘道华;张礼涛;曾召霞;孙文萧;;基于正交最小二乘法的径向基神经网络模型[J];信阳师范学院学报(自然科学版);2013年03期
3 王海峰;陈庆奎;;图形处理器通用计算关键技术研究综述[J];计算机学报;2013年04期
4 魏明生;童敏明;訾斌;唐守锋;;基于粒子群-拟牛顿混合算法的管道机器人定位[J];仪器仪表学报;2012年11期
5 林琳;黄南天;高兴泉;;基于DFP校正拟牛顿法的傅里叶神经网络[J];计算机工程;2012年10期
6 陈莹莹;;Quasi-Newton Method相关综述[J];黑龙江科技信息;2012年10期
7 李熙铭;欧阳丹彤;白洪涛;;基于GPU的混合精度平方根共轭梯度算法[J];仪器仪表学报;2012年01期
8 耿红梅;;BFGS算法综述[J];大众科技;2011年11期
9 卢风顺;宋君强;银福康;张理论;;CPU/GPU协同并行计算研究综述[J];计算机科学;2011年03期
10 夏俊峰;杨帆;李静;郑秀玉;;基于GPU的电力系统并行潮流计算的实现[J];电力系统保护与控制;2010年18期
,本文编号:2591287
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/2591287.html