論文の概要: InferCode: Self-Supervised Learning of Code Representations by
Predicting Subtrees
- arxiv url: http://arxiv.org/abs/2012.07023v2
- Date: Tue, 15 Dec 2020 16:37:23 GMT
- ステータス: 処理完了
- システム内更新日: 2021-05-09 12:48:33.894414
- Title: InferCode: Self-Supervised Learning of Code Representations by
Predicting Subtrees
- Title(参考訳): InferCode: サブツリー予測によるコード表現の自己教師付き学習
- Authors: Nghi D. Q. Bui, Yijun Yu, Lingxiao Jiang
- Abstract要約: 本稿では,自己言語学習機構をソースコードモデルに適用することにより,制限を克服するinfercodeを提案する。
ASTのサブツリーは、人間のラベル付けや高価なグラフ構築のオーバーヘッドなしにコード表現をトレーニングするためのラベルとして、InferCodeで扱われる。
Code2Vec、Code2Seq、ASTNNなど、同じ下流タスクに適用される以前のコード学習技術と比較して、事前に訓練されたInferCodeモデルを使用して、より高いパフォーマンスを達成できます。
- 参考スコア(独自算出の注目度): 17.461451218469062
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Building deep learning models on source code has found many successful
software engineering applications, such as code search, code comment
generation, bug detection, code migration, and so on. Current learning
techniques, however, have a major drawback that these models are mostly trained
on datasets labeled for particular downstream tasks, and code representations
may not be suitable for other tasks. While some techniques produce
representations from unlabeled code, they are far from satisfactory when
applied to downstream tasks. Although certain techniques generate
representations from unlabeled code when applied to downstream tasks they are
far from satisfactory. This paper proposes InferCode to overcome the limitation
by adapting the self-supervised learning mechanism to build source code model.
The key novelty lies in training code representations by predicting
automatically identified subtrees from the context of the ASTs. Subtrees in
ASTs are treated with InferCode as the labels for training code representations
without any human labeling effort or the overhead of expensive graph
construction, and the trained representations are no longer tied to any
specific downstream tasks or code units. We trained an InferCode model instance
using the Tree-based CNN as the encoder of a large set of Java code and applied
it to downstream unsupervised tasks such as code clustering, code clone
detection, cross-language code search or reused under a transfer learning
scheme to continue training the model weights for supervised tasks such as code
classification and method name prediction. Compared to previous code learning
techniques applied to the same downstream tasks, such as Code2Vec, Code2Seq,
ASTNN, higher performance results are achieved using our pre-trained InferCode
model with a significant margin for most tasks including those involving
different programming languages.
- Abstract(参考訳): ソースコード上にディープラーニングモデルを構築することで、コード検索、コードコメント生成、バグ検出、コードマイグレーションなど、多くのソフトウェアエンジニアリングアプリケーションが成功しています。
しかし、現在の学習技術は、これらのモデルが主に特定の下流タスクにラベル付けされたデータセットで訓練されており、コード表現は他のタスクには適さないという大きな欠点がある。
いくつかのテクニックはラベルのないコードから表現を生成するが、下流のタスクに適用しても満足できない。
特定のテクニックは、下流のタスクに適用するとラベルのないコードから表現を生成するが、満足には程遠い。
本稿では,自己教師付き学習機構をソースコードモデルに適用することにより,制限を克服するinfercodeを提案する。
ASTのコンテキストから自動的に同定されたサブツリーを予測することで、コード表現のトレーニングに重要な新機能がある。
ASTのサブツリーは、人間のラベル付け作業や高価なグラフ構築のオーバーヘッドなしにコード表現をトレーニングするためのラベルとしてInferCodeで扱われ、トレーニングされた表現は、特定の下流タスクやコードユニットに縛られなくなった。
我々は、木ベースのcnnを多数のjavaコードのエンコーダとして使用して、infercodeモデルインスタンスをトレーニングし、コードクラスタリング、コードクローン検出、クロス言語コード検索、転送学習スキームで再利用された下流の非教師付きタスクに適用し、コード分類やメソッド名予測のような教師付きタスクのモデルウェイトのトレーニングを継続する。
Code2Vec、Code2Seq、ASTNNのような、同じ下流タスクに適用された以前のコード学習技術と比較すると、トレーニング済みのInferCodeモデルを使用してより高いパフォーマンスを実現しています。
関連論文リスト
- Toward Exploring the Code Understanding Capabilities of Pre-trained Code Generation Models [12.959392500354223]
私たちは、事前訓練されたコード生成モデルからコード理解タスクへの知識の移行の先駆者です。
CL4Dはデコーダのみのモデルの表現能力を向上させるために設計された,コントラスト学習手法である。
論文 参考訳(メタデータ) (2024-06-18T06:52:14Z) - Does Your Neural Code Completion Model Use My Code? A Membership Inference Approach [66.51005288743153]
本稿では,現在のニューラルコード補完モデルの法的および倫理的問題について考察する。
私たちは、もともと分類タスクのために作られたメンバシップ推論アプローチ(CodeMIと呼ばれる)を調整します。
我々は,この適応型アプローチの有効性を,多種多様なニューラルコード補完モデルで評価した。
論文 参考訳(メタデータ) (2024-04-22T15:54:53Z) - Zero-Shot Code Representation Learning via Prompt Tuning [6.40875582886359]
コード表現を学習するためのゼロショットアプローチであるZecolerを提案する。
Zecolerは、事前訓練されたプログラミング言語モデルの上に構築されている。
我々はZecolerを,コードクローン検出,コード検索,メソッド名予測,コード要約,コード生成を含む5つのコードインテリジェンスタスクで評価する。
論文 参考訳(メタデータ) (2024-04-13T09:47:07Z) - Code Execution with Pre-trained Language Models [88.04688617516827]
コードインテリジェンスのトレーニング済みモデルのほとんどは実行トレースを無視しており、ソースコードと構文構造のみに依存している。
我々は,大規模かつ現実的なPythonデータセットとコード実行タスクを作成するために,突然変異に基づくデータ拡張手法を開発した。
次に、コード実行事前学習とカリキュラム学習を活用して意味理解を強化するトランスフォーマーモデルであるCodeExecutorを提案する。
論文 参考訳(メタデータ) (2023-05-08T10:00:05Z) - Soft-Labeled Contrastive Pre-training for Function-level Code
Representation [127.71430696347174]
textbfSoft-labeled contrastive pre-training framework with two positive sample construction method。
大規模コードコーパスにおけるコード間の関連性を考慮すると、ソフトラベル付きコントラスト付き事前学習は、きめ細かいソフトラベルを得ることができる。
SCodeRは、7つのデータセットで4つのコード関連タスクに対して、最先端のパフォーマンスを新たに達成する。
論文 参考訳(メタデータ) (2022-10-18T05:17:37Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - UniXcoder: Unified Cross-Modal Pre-training for Code Representation [65.6846553962117]
プログラミング言語のためのクロスモーダル事前学習モデルUniXcoderを提案する。
木の構造情報を全て保持するシーケンス構造でASTを変換する1対1のマッピング手法を提案する。
我々は,UniXcoderを9つのデータセット上で5つのコード関連タスクで評価する。
論文 参考訳(メタデータ) (2022-03-08T04:48:07Z) - CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for
Code Understanding and Generation [36.47905744758698]
我々は、開発者が指定した識別子から伝達されるコードセマンティクスをよりよく活用する、事前訓練されたエンコーダ-デコーダ変換モデルであるCodeT5を提案する。
我々のモデルは、コード理解と生成タスクの両方をシームレスにサポートし、マルチタスク学習を可能にする統一的なフレームワークを採用している。
論文 参考訳(メタデータ) (2021-09-02T12:21:06Z) - What do pre-trained code models know about code? [9.60966128833701]
事前に訓練されたコードモデルを調べるために、プローブと呼ばれる診断タスクを使用します。
BERT(英語で事前学習)、CodeBERT(ソースコードで事前学習)、CodeBERTa(自然言語で事前学習)、GraphCodeBERT(データフローでソースコードで事前学習)について検討した。
論文 参考訳(メタデータ) (2021-08-25T16:20:17Z) - CLSEBERT: Contrastive Learning for Syntax Enhanced Code Pre-Trained
Model [23.947178895479464]
CLSEBERTは,構文強化符号事前学習モデルのための構築学習フレームワークである。
事前学習段階では、抽象構文木(AST)に含まれるコード構文と階層について検討する。
ひとつは抽象構文木内のノード間のエッジを予測することであり、もう一つはコードトークンの型を予測することである。
論文 参考訳(メタデータ) (2021-08-10T10:08:21Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。