结合GPU技术的并行张量分解算法的研究与应用
摘要 | 第4-5页 |
Abstract | 第5-6页 |
1 绪论 | 第10-17页 |
1.1 研究背景及意义 | 第10-12页 |
1.1.1 研究背景 | 第10-11页 |
1.1.2 研究意义 | 第11-12页 |
1.2 国内外研究现状 | 第12-14页 |
1.2.1 国外研究现状 | 第12-14页 |
1.2.2 国内研究现状 | 第14页 |
1.3 论文的主要研究工作及创新点 | 第14-15页 |
1.4 本文结构 | 第15-17页 |
2 张量与张量分解技术 | 第17-29页 |
2.1 张量的基本概念 | 第17-19页 |
2.1.1 张量定义 | 第17-18页 |
2.1.2 张量划分 | 第18-19页 |
2.1.3 张量的范数和特殊张量 | 第19页 |
2.2 张量的相关运算 | 第19-22页 |
2.2.1 张量的矩阵展开 | 第19-20页 |
2.2.2 张量的模-n乘积 | 第20-21页 |
2.2.3 其他矩阵运算 | 第21-22页 |
2.3 张量分解 | 第22-28页 |
2.3.1 CP张量分解 | 第22-23页 |
2.3.2 CP-ALS算法 | 第23-25页 |
2.3.3 Tucker张量分解 | 第25页 |
2.3.4 HOSVD算法 | 第25-26页 |
2.3.5 HOOI算法 | 第26-28页 |
2.4 小结 | 第28-29页 |
3 并行计算技术及开发环境 | 第29-41页 |
3.1 并行计算系统 | 第29-31页 |
3.1.1 CPU并行计算系统 | 第29-30页 |
3.1.2 GPU并行计算系统 | 第30-31页 |
3.2 并行计算技术 | 第31-33页 |
3.2.1 传统并行计算设计 | 第31-32页 |
3.2.2 细粒度并行算法设计 | 第32-33页 |
3.3 CUDA平台与并行特点 | 第33-37页 |
3.3.1 CUDA平台概述 | 第33页 |
3.3.2 CUDA平台并行计算特点 | 第33-35页 |
3.3.3 CUDA平台上的稀疏数据结构 | 第35-37页 |
3.4 现有的并行张量分解算法研究 | 第37-40页 |
3.4.1 CUDA-NTF算法 | 第37-39页 |
3.4.2 GPUTENSOR算法 | 第39-40页 |
3.5 小结 | 第40-41页 |
4 结合GPU技术的并行CP张量分解算法 | 第41-54页 |
4.1 并行算法的研究思路 | 第41-43页 |
4.1.1 CP-ALS算法复杂度分析 | 第41-42页 |
4.1.2 并行算法思路 | 第42-43页 |
4.2 算法改进 | 第43-44页 |
4.2.1 TensorKhatri-Rao乘积 | 第43-44页 |
4.2.2 算法的复杂度分析 | 第44页 |
4.3 并行算法的实现 | 第44-47页 |
4.3.1 线程划分和核函数编写 | 第44-46页 |
4.3.2 ParSCP-ALS算法 | 第46-47页 |
4.4 实验 | 第47-53页 |
4.4.1 数据集 | 第48-50页 |
4.4.2 模拟数据集实验 | 第50-51页 |
4.4.3 真实数据集实验 | 第51-53页 |
4.5 小结 | 第53-54页 |
5 张量分解在时序网络中的应用 | 第54-74页 |
5.1 时序网络的基础概念 | 第54-56页 |
5.1.1 静态网络的基础概念 | 第54-55页 |
5.1.2 时序网络的基础概念 | 第55-56页 |
5.2 社区发现算法 | 第56-60页 |
5.2.1 静态网络中的社区发现算法 | 第56-58页 |
5.2.2 时序网络中的社区发现算法 | 第58-60页 |
5.3 一种新的基于张量分解的社区发现算法 | 第60-67页 |
5.3.1 社区的模块度 | 第60-62页 |
5.3.2 基于模块度矩阵的社区发现算法 | 第62-64页 |
5.3.3 基于模块度张量的社区发现算法 | 第64-67页 |
5.4 实验 | 第67-73页 |
5.4.1 数据集 | 第68-69页 |
5.4.2 模拟数据集实验 | 第69-70页 |
5.4.3 真实数据集实验 | 第70-73页 |
5.5 小结 | 第73-74页 |
结论 | 第74-76页 |
致谢 | 第76-77页 |
参考文献 | 第77-80页 |
攻读学位期间的研究成果 | 第80页 |