面向异构平台的深度学习并行优化算法研究与实现
摘要 | 第4-5页 |
Abstract | 第5-6页 |
第1章 绪论 | 第9-13页 |
1.1 研究背景及意义 | 第9-10页 |
1.2 国内外研究现状 | 第10-11页 |
1.3 主要研究内容及贡献 | 第11页 |
1.3.1 主要研究内容 | 第11页 |
1.3.2 主要贡献 | 第11页 |
1.4 论文组织结构 | 第11-13页 |
第2章 相关技术与算法 | 第13-25页 |
2.1 并行计算综述 | 第13-17页 |
2.1.1 并行计算简介 | 第13页 |
2.1.2 异构并行计算 | 第13-15页 |
2.1.3 pthread简介 | 第15-16页 |
2.1.4 CUDA简介 | 第16-17页 |
2.2 深度学习算法综述 | 第17-20页 |
2.2.1 深度学习简介 | 第17-19页 |
2.2.2 几种常见的深度学习模型 | 第19-20页 |
2.3 深度置信网络算法介绍 | 第20-24页 |
2.3.1 受限玻尔兹曼机 | 第20-22页 |
2.3.2 反馈神经网络 | 第22-23页 |
2.3.3 深度置信网络基本结构与算法 | 第23-24页 |
2.4 本章小结 | 第24-25页 |
第3章 基于CPU平台的DBN串行优化算法研究 | 第25-37页 |
3.1 串行算法的性能瓶颈分析 | 第25-26页 |
3.2 DBN粗粒度模块划分与串行算法的实现 | 第26-29页 |
3.2.1 模块划分策略 | 第26-27页 |
3.2.2 串行算法实现 | 第27-29页 |
3.3 DBN串行优化算法 | 第29-35页 |
3.3.1 基于OpenBlas的矩阵运算优化 | 第29-33页 |
3.3.2 面向循环结构的优化 | 第33-34页 |
3.3.3 其他优化方法 | 第34-35页 |
3.4 本章小结 | 第35-37页 |
第4章 基于异构平台的DBN并行优化算法研究 | 第37-57页 |
4.1 串行优化算法的性能瓶颈分析 | 第37-38页 |
4.2 DBN并行算法设计思路 | 第38-39页 |
4.3 粗粒度任务分解策略 | 第39-42页 |
4.3.1 DBN的训练任务流程 | 第39-40页 |
4.3.2 任务分解策略 | 第40-42页 |
4.4 异构平台的子任务调度策略 | 第42-47页 |
4.4.1 平台适用性原则 | 第42-45页 |
4.4.2 负载均衡原则 | 第45-47页 |
4.4.3 异构平台DBN算法子任务调度策略 | 第47页 |
4.5 数据并行策略 | 第47-52页 |
4.5.1 CPU平台上的数据并行 | 第48-49页 |
4.5.2 GPU平台上的数据并行 | 第49-52页 |
4.6 任务并行策略 | 第52-55页 |
4.6.1 数据准备阶段任务并行 | 第53-54页 |
4.6.2 权值预训练阶段任务并行 | 第54-55页 |
4.7 DBN并行优化算法实现 | 第55-56页 |
4.8 本章小结 | 第56-57页 |
第5章 实验及结果分析 | 第57-67页 |
5.1 实验采用的数据集及性能评价指标 | 第57-59页 |
5.1.1 MNIST手写体数据集 | 第57页 |
5.1.2 性能评价指标 | 第57-58页 |
5.1.3 实验平台与模型 | 第58-59页 |
5.2 DBN串行优化实验结果及分析 | 第59-62页 |
5.3 DBN并行优化实验结果及分析 | 第62-66页 |
5.4 本章小结 | 第66-67页 |
结论 | 第67-69页 |
参考文献 | 第69-73页 |
作者攻读硕士学位期间发表的学术论文 | 第73-75页 |
致谢 | 第75页 |