基于深度学习的程序识别算法的优化
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
缩略语对照表 | 第11-14页 |
第一章 绪论 | 第14-20页 |
1.1 研究背景及意义 | 第14-15页 |
1.2 国内外研究现状 | 第15-17页 |
1.2.1 深度学习的研究现状 | 第15-16页 |
1.2.2 程序语言处理的研究现状 | 第16-17页 |
1.3 研究内容 | 第17-18页 |
1.4 论文结构 | 第18-20页 |
第二章 相关理论与技术 | 第20-32页 |
2.1 神经网络简介 | 第20-26页 |
2.1.1 深度神经网络 | 第20-22页 |
2.1.2 卷积神经网络 | 第22-26页 |
2.2 神经网络的训练 | 第26-29页 |
2.2.1 神经网络的代价函数 | 第26页 |
2.2.2 反向传播算法 | 第26-28页 |
2.2.3 CNN的训练过程 | 第28-29页 |
2.3 程序的表示粒度 | 第29-31页 |
2.3.1 编码字符 | 第30页 |
2.3.2 程序标记 | 第30页 |
2.3.3 AST节点 | 第30-31页 |
2.3.4 语句级和函数级 | 第31页 |
2.4 本章小结 | 第31-32页 |
第三章 程序表示学习 | 第32-46页 |
3.1 程序表示学习模型构造 | 第32-34页 |
3.1.1 表示学习 | 第32-33页 |
3.1.2 节点坐标系 | 第33-34页 |
3.1.3 损失函数 | 第34页 |
3.2 激活函数 | 第34-38页 |
3.2.1 神经网络激活函数的作用 | 第34-35页 |
3.2.2 常用的激活函数 | 第35-38页 |
3.3 激活函数的优化 | 第38-40页 |
3.3.1 梯度弥散问题 | 第38-39页 |
3.3.2 改进方案 | 第39-40页 |
3.4 改进激活函数的表示学习实验 | 第40-45页 |
3.4.1 训练模型和实验环境 | 第40-41页 |
3.4.2 实验结果 | 第41-42页 |
3.4.3 定性评估 | 第42-45页 |
3.5 本章小结 | 第45-46页 |
第四章 卷积神经网络全连接层的优化 | 第46-64页 |
4.1 基于树的卷积神经网络 | 第46-53页 |
4.1.1 树形卷积网络整体架构 | 第46页 |
4.1.2 树形卷积 | 第46-48页 |
4.1.3 建立节点三角坐标 | 第48-49页 |
4.1.4 池化层 | 第49-50页 |
4.1.5 实验结果 | 第50-53页 |
4.2 改进的树形卷积网络 | 第53-58页 |
4.2.1 Dropout学习策略 | 第54-55页 |
4.2.2 Dropout模型 | 第55-56页 |
4.2.3 改进的TCNN网络 | 第56-58页 |
4.3 实验过程与结果 | 第58-63页 |
4.3.1 Dropout系数的确定 | 第58-59页 |
4.3.2 实验环境 | 第59页 |
4.3.3 实验结果分析 | 第59-63页 |
4.4 本章小结 | 第63-64页 |
第五章 总结与展望 | 第64-66页 |
5.1 总结 | 第64页 |
5.2 展望 | 第64-66页 |
参考文献 | 第66-72页 |
致谢 | 第72-74页 |
作者简介 | 第74-75页 |