Skip to main content
QUICK REVIEW

[論文レビュー] Energy-Based Models for Code Generation under Compilability Constraints

Tomasz Korbak, Hady Elsahar|arXiv (Cornell University)|Jun 9, 2021
Topic Modeling参考文献 43被引用数 5
ひとこと要約

本稿では、自己回帰的モデルが文法的に有効なコードのみを生成するように制約を課すことで、神経的コード生成におけるコンパイル可能성을強制するエネルギーベースモデル(EBM)を提案する。KL適応的分布的方策勾配を用いて、生成モデルをEBMに近づける微調整を行う。この手法により、多様性や複雑性を損なわずにコンパイル可能率を著しく向上させ、災難的忘却を引き起こす標準的な強化学習による微調整を上回る。

ABSTRACT

Neural language models can be successfully trained on source code, leading to applications such as code completion. However, their versatile autoregressive self-supervision objective overlooks important global sequence-level features that are present in the data such as syntactic correctness or compilability. In this work, we pose the problem of learning to generate compilable code as constraint satisfaction. We define an Energy-Based Model (EBM) representing a pre-trained generative model with an imposed constraint of generating only compilable sequences. We then use the KL-Adaptive Distributional Policy Gradient algorithm (Khalifa et al., 2021) to train a generative model approximating the EBM. We conduct experiments showing that our proposed approach is able to improve compilability rates without sacrificing diversity and complexity of the generated samples.

研究の動機と目的

  • 自己回帰的神経的コードモデルが、短視眼的でないため、文法的に正しいコンパイル可能なコードを生成できないという制限に対処すること。
  • コンパイル可能制約下でのコード生成を制約満たし問題として定式化し、原理的で分布的なアプローチを可能にすること。
  • 元のモデルの多様性や複雑性を保持しつつ、制約付きEBM分布を近似する生成モデルを訓練すること。
  • 系列レベルの報酬に対して強化学習による微調整で一般的に生じる災難的忘却問題を克服すること。
  • 生成コードの流暢さや構造的複雑性を低下させることなく、コンパイル可能率を向上させる手法を提供すること。

提案手法

  • コンパイル可能なコードシーケンスにのみ低エネルギー(高確率)を割り当てるエネルギーベースモデル(EBM)を定義し、コンパイル可能制約をグローバル特徴としてエンコードすること。
  • KL適応的分布的方策勾配(KL-DPG)アルゴリズムを用いて、自己回帰的生成モデルがEBM分布を近似できるように学習させること。
  • 元の事前学習済み言語モデルを事前分布として用い、微調整済み方策と元のモデルとのKLダイバージェンスを最小化すること。
  • 微分可能代理関数を通じてトレーニング中にEBM制約を適用し、方策勾配法によるエンドツーエンド最適化を可能にすること。
  • コンパイルフィードバックを報酬信号として用い、方策が有効でコンパイル可能なコードシーケンスのみを生成するように導くこと。
  • EBMを強化学習フレームワークに統合し、制約満たしと分布の忠実度の両立を図ること。

実験結果

リサーチクエスチョン

  • RQ1エネルギーベースモデルは、コード生成におけるグローバル制約としてコンパイル可能を効果的にエンコードできるか?
  • RQ2KL適応的分布的方策勾配アルゴリズムは、多様性を保持しつつEBMを近似する生成モデルを効果的に学習できるか?
  • RQ3標準的なRL微調整と比較して、EBMによるコンパイル可能制約の強制は、災難的忘却のリスクを低減するか?
  • RQ4提案手法は、生成コードの複雑性や流暢さを低下させることなく、どの程度コンパイル可能率を向上させるか?
  • RQ5異なる微調整戦略(例:$R(x)=b(x)$、$R(x)=P(x)$、またはKL-DPG)は、コンパイルエラーの分布にどのように影響するか?

主な発見

  • 提案されたEBMベースの手法は、標準的な自己回帰的モデルや強化学習微調整のベースラインと比較して、著しくコンパイル可能率を向上させた。
  • この手法は、標準的な強化学習微調整で見られる深刻な劣化を避けて、生成コードの高い多様性と複雑性を維持した。
  • 標準的なRL手法と比較して、KL-DPG微調整は元のモデルとの分布の一致度が高く、災難的忘却を軽減した。
  • グローバル制約を強制することで、長距離の文法的依存関係においてもコンパイルエラーが効果的に低減された。
  • 定性的な分析から、EBMベースの手法はベースラインと比較して、より少ない数でより局所的なコンパイルエラーを生成することが分かった。
  • この手法は、ヒューリスティック報酬を用いた標準的なRLや、単にコンパイル正確性を最大化する方策勾配法よりも優れた性能を示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。