Recently, contrastive learning has become a key component in fine-tuning code search models for software development efficiency and effectiveness. It pulls together positive code snippets while pushing negative samples away given search queries. Among contrastive learning, InfoNCE is the most widely used loss function due to its better performance. However, the following problems in negative samples of InfoNCE may deteriorate its representation learning: 1) The existence of false negative samples in large code corpora due to duplications. 2). The failure to explicitly differentiate between the potential relevance of negative samples. As an example, a bubble sorting algorithm example is less ``negative'' than a file saving function for the quick sorting algorithm query. In this paper, we tackle the above problems by proposing a simple yet effective Soft-InfoNCE loss that inserts weight terms into InfoNCE. In our proposed loss function, we apply three methods to estimate the weights of negative pairs and show that the vanilla InfoNCE loss is a special case of Soft-InfoNCE. Theoretically, we analyze the effects of Soft-InfoNCE on controlling the distribution of learnt code representations and on deducing a more precise mutual information estimation. We furthermore discuss the superiority of proposed loss functions with other design alternatives. Extensive experiments demonstrate the effectiveness of Soft-InfoNCE and weights estimation methods under state-of-the-art code search models on a large-scale public dataset consisting of six programming languages. Source code is available at \url{https://github.com/Alex-HaochenLi/Soft-InfoNCE}.


翻译:最近,对比学习已成为微调代码搜索模型以提升软件开发效率与效果的关键组成部分。它通过拉近查询语句与正例代码片段之间的距离,同时推远负样本。在对比学习中,InfoNCE因其更优性能成为最广泛使用的损失函数。然而,InfoNCE 中负样本的以下问题可能会损害其表示学习能力:1) 大型代码语料库中因代码重复而存在的假负样本;2) 未能显式区分负样本的潜在相关性。例如,对于快速排序算法的查询而言,冒泡排序算法示例的“负向性”低于文件保存函数。本文通过提出简单而有效的Soft-InfoNCE损失函数解决上述问题,该函数在InfoNCE中引入权重项。在所提损失函数中,我们采用三种方法估计负样本对的权重,并证明原始InfoNCE损失是Soft-InfoNCE的特例。理论上,我们分析了Soft-InfoNCE对控制学习到的代码表示分布以及推导更精确互信息估计的影响。此外,我们讨论了所提损失函数相较于其他设计替代方案的优越性。大量实验表明,在包含六种编程语言的大规模公开数据集上,基于最先进的代码搜索模型,Soft-InfoNCE及其权重估计方法具有显著有效性。源代码地址:\url{https://github.com/Alex-HaochenLi/Soft-InfoNCE}。

0
下载
关闭预览

相关内容

损失函数,在AI中亦称呼距离函数,度量函数。此处的距离代表的是抽象性的,代表真实数据与预测数据之间的误差。损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。
【ACL2020】多模态信息抽取,365页ppt
专知会员服务
151+阅读 · 2020年7月6日
FlowQA: Grasping Flow in History for Conversational Machine Comprehension
专知会员服务
34+阅读 · 2019年10月18日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
60+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
164+阅读 · 2019年10月12日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
IJCAI | Cascade Dynamics Modeling with Attention-based RNN
KingsGarden
13+阅读 · 2017年7月16日
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
Arxiv
0+阅读 · 2023年11月22日
Arxiv
20+阅读 · 2022年10月10日
Arxiv
12+阅读 · 2021年7月26日
Arxiv
11+阅读 · 2019年4月15日
Arxiv
18+阅读 · 2019年3月28日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
Arxiv
15+阅读 · 2018年2月4日
VIP会员
最新内容
ICML 2026 | SARDI:扩散语言模型的自增强检索
专知会员服务
3+阅读 · 6月6日
《国防领域安全采用大语言模型的战略蓝图》
专知会员服务
5+阅读 · 6月6日
ICML 2026 | 演化选择的因果建模
专知会员服务
6+阅读 · 6月5日
综述|学习式3D表征最新进展与趋势
专知会员服务
6+阅读 · 6月5日
人工智能重塑威慑:算法优势的兴起
专知会员服务
7+阅读 · 6月5日
AgentOps综述:智能体系统运维框架
专知会员服务
17+阅读 · 6月4日
《美陆军最新条令:兵力防护》
专知会员服务
14+阅读 · 6月4日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
29+阅读 · 2019年5月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
STRCF for Visual Object Tracking
统计学习与视觉计算组
15+阅读 · 2018年5月29日
Hierarchical Imitation - Reinforcement Learning
CreateAMind
19+阅读 · 2018年5月25日
Focal Loss for Dense Object Detection
统计学习与视觉计算组
12+阅读 · 2018年3月15日
IJCAI | Cascade Dynamics Modeling with Attention-based RNN
KingsGarden
13+阅读 · 2017年7月16日
相关论文
Arxiv
0+阅读 · 2023年11月22日
Arxiv
20+阅读 · 2022年10月10日
Arxiv
12+阅读 · 2021年7月26日
Arxiv
11+阅读 · 2019年4月15日
Arxiv
18+阅读 · 2019年3月28日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
Arxiv
15+阅读 · 2018年2月4日
相关基金
国家自然科学基金
13+阅读 · 2017年12月31日
国家自然科学基金
18+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
47+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
6+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员