通过面向抽象语法树的多视图对比图池化改进代码表示学习
Improving Code Representation Learning via Multi-view Contrastive Graph Pooling for Abstract Syntax Tree
基于摘要分析。本文研究源代码的 Abstract Syntax Tree(AST,抽象语法树)表示学习,针对图神经网络池化难以充分利用树状图层级信息的问题,提出 TreePool,通过树结构驱动的多视图池化与局部对比学习构建代码图表示,用于代码分类。 机制上,TreePool 根据树深度进行过滤和拆分,生成按子图规模递减排列的池化图序列;随后在相邻子图之间进行 local-local 对比学习,以保留池化前的图信息,最后融合多个视图的表示。其明确的方法特点是利用 AST 固有层级组织池化过程,而非仅将代码作为一般图处理。摘要未给出深度过滤细则、对比损失形式、视图融合方式或监督与对比目标的组合方式。 作者报告,在监督框架下,两个真实数据集上的 Accuracy 平均提升分别为 1.1% 和 3.3%;摘要未说明数据集名称、划分、对照基线,以及这里的百分比是否表示相对增幅,因此不能改写为百分点或与其他协议直接比较。作者还报告无监督框架下表现良好,但未提供具体指标。实验协议、消融及统计信息尚未验证,代码可用性亦尚未验证。 平台推测(待验证):可迁移的机制是层级图上的多尺度池化与相邻尺度对比约束,而不是代码语义本身。若 EEG 已有独立定义的层级图,可假设这种约束有助于池化时保留局部信息;但普通电极连接图并非 AST,需改造图构建、层级划分及视图融合,不能直接套用树深度过滤。低信噪比、跨被试连接差异、通道不一致及小数据均可能使构造的层级不稳定。一个可证伪的小实验是在固定 EEG 图编码器、预先定义的层级和相同跨被试划分下,对比常规池化、层级池化及加入相邻尺度对比约束后的结果,检验收益是否来自该约束。上述仅为迁移假设,已有 EEG 相关工作尚未检索确认。
值得关注 TreePool 如何利用树深度构造多尺度视图,并以相邻子图对比学习保留池化前信息;其价值目前由代码分类摘要结果支持,不能直接外推为 EEG/BCI 效果。
来源:OpenReview · Representation learning · openreview.net