用于源代码建模的深度迁移学习
机器学习
2020-07-15 v2 神经与进化计算
软件工程
机器学习
摘要
近年来,深度学习模型在源代码建模与分析中展现出巨大潜力。一般而言,基于深度学习的方法是特定于问题且数据渴求的。这些方法的一个挑战性问题是,对于不同的相关问题需要从头开始训练。本工作中,我们提出一种基于迁移学习的方法,显著提升了基于深度学习的源代码模型性能。与传统学习范式不同,迁移学习可将解决某一问题所学到的知识迁移至另一相关问题。首先,我们提出两种基于循环神经网络的模型RNN和GRU,用于源代码建模领域的迁移学习。接着,通过迁移学习,这些预训练(RNN和GRU)模型被用作特征提取器。然后,这些提取的特征被组合进注意力学习器以用于不同下游任务。该注意力学习器利用预训练模型学到的知识,并针对特定下游任务进行微调。我们通过源代码补全任务的大量实验评估了所提方法的性能。结果表明,所提方法在准确率、精确率、召回率和F-measure方面均优于SOTA模型,且无需从头训练模型。
引用
@article{arxiv.1910.05493,
title = {Deep Transfer Learning for Source Code Modeling},
author = {Yasir Hussain and Zhiqiu Huang and Yu Zhou and Senzhang Wang},
journal= {arXiv preprint arXiv:1910.05493},
year = {2020}
}