反向代码:对比代码表示学习:通过自我监督学习的基于功能JavaScript嵌入

时间:2021-01-31 13:58:46
【文件属性】:
文件名称:反向代码:对比代码表示学习:通过自我监督学习的基于功能JavaScript嵌入
文件大小:562KB
文件格式:ZIP
更新时间:2021-01-31 13:58:46
programming-language machine-learning deep-learning compiler pytorch 对比代码表示学习 通过Paras Jain,Ajay Jain,Tianjun Zhang,Pieter Abbeel,Joseph E.Gonzalez和Ion Stoica() 学习基于功能的程序表示 诸如类型预测器和代码摘要器之类的机器辅助编程工具越来越多地基于学习。 但是,大多数代码表示学习方法都依赖于带有任务特定注释数据集的监督学习。 我们提出了对比代码表示学习(ContraCode),这是一种自我监督的算法,用于通过对比学习来学习程序的与任务无关的语义表示。 我们的方法不使用人工提供的标签,而仅依靠程序的原始文本。 特别是,我们通过保留语义的自动的源到源编译器转换生成源函数的文本不同副本,从而设计了无监督的前置任务。 我们训练神经模型来识别大量否定词中锚定程序的变体。 为了解决此任务,网络必须提取表示程序功能而不是程序形式的程序功能。 这是实例歧视在我们所知的代码表示学习中的首次应用。 我们对来自GitHub的超过180万种未注释JavaScript方法进行了ContraCode的预训练。 ContraCode预训练与监督方法相比,代码摘要准确性提高了7.9%,而BER

网友评论