論文の概要: An Exploratory Study on Code Attention in BERT
- arxiv url: http://arxiv.org/abs/2204.10200v1
- Date: Tue, 5 Apr 2022 21:23:10 GMT
- ステータス: 処理完了
- システム内更新日: 2022-04-24 21:17:06.238320
- Title: An Exploratory Study on Code Attention in BERT
- Title(参考訳): BERTにおけるコード注意に関する探索的研究
- Authors: Rishab Sharma and Fuxiang Chen and Fatemeh Fard and David Lo
- Abstract要約: コード上でのPLMの注意行動を調査し,それを自然言語と比較する。
BERT は NLP において最も注目されているトークンとは対照的に,特に識別子やセパレータといった構文上のエンティティに注意を払っている。
この発見は、NLPで使われる一般的な埋め込みを使わずに、コード固有の表現を使用することで、研究コミュニティの恩恵を受けることができる。
- 参考スコア(独自算出の注目度): 8.488193857572211
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Many recent models in software engineering introduced deep neural models
based on the Transformer architecture or use transformer-based Pre-trained
Language Models (PLM) trained on code. Although these models achieve the state
of the arts results in many downstream tasks such as code summarization and bug
detection, they are based on Transformer and PLM, which are mainly studied in
the Natural Language Processing (NLP) field. The current studies rely on the
reasoning and practices from NLP for these models in code, despite the
differences between natural languages and programming languages. There is also
limited literature on explaining how code is modeled.
Here, we investigate the attention behavior of PLM on code and compare it
with natural language. We pre-trained BERT, a Transformer based PLM, on code
and explored what kind of information it learns, both semantic and syntactic.
We run several experiments to analyze the attention values of code constructs
on each other and what BERT learns in each layer. Our analyses show that BERT
pays more attention to syntactic entities, specifically identifiers and
separators, in contrast to the most attended token [CLS] in NLP. This
observation motivated us to leverage identifiers to represent the code sequence
instead of the [CLS] token when used for code clone detection. Our results show
that employing embeddings from identifiers increases the performance of BERT by
605% and 4% F1-score in its lower layers and the upper layers, respectively.
When identifiers' embeddings are used in CodeBERT, a code-based PLM, the
performance is improved by 21-24% in the F1-score of clone detection. The
findings can benefit the research community by using code-specific
representations instead of applying the common embeddings used in NLP, and open
new directions for developing smaller models with similar performance.
- Abstract(参考訳): ソフトウェア工学における最近の多くのモデルは、トランスフォーマーアーキテクチャに基づいたディープニューラルモデルを導入したり、コードに基づいてトレーニングされたtransformer-based pre-trained language model (plm)を使用している。
これらのモデルは、コード要約やバグ検出など、多くのダウンストリームタスクを達成しているが、主に自然言語処理(NLP)の分野で研究されているTransformerとPLMに基づいている。
現在の研究では、自然言語とプログラミング言語の違いにもかかわらず、コード内のこれらのモデルに対するNLPの推論と実践に依存している。
コードのモデル化方法を説明する文献も限られている。
本稿では,plmのコードに対する注意行動を調査し,自然言語と比較する。
私たちは、トランスフォーマーベースのplmであるbertをコードで事前トレーニングし、セマンティックと構文の両方で学習する情報の種類を調べました。
コード構成の注目値とBERTが各レイヤで何を学ぶかを分析するために、いくつかの実験を実施しました。
解析の結果,ntp のトークン [cls] とは対照的に,bert は構文的実体,特に識別子やセパレータにもっと注意を払っていることがわかった。
この観察は、コードクローン検出に使用する場合、[CLS]トークンの代わりにコードシーケンスを表現するために識別子を活用する動機となった。
その結果,識別子からの埋め込みにより,下層および上層におけるbertの性能は605%向上し,f1-scoreは4%向上した。
コードベースのPLMであるCodeBERTに識別子の埋め込みを使用すると、クローン検出のF1スコアで21~24%の性能が向上する。
この発見は、nlpで使われる共通の埋め込みを適用するのではなく、コード固有の表現を使用することで研究コミュニティに利益をもたらすことができ、同様のパフォーマンスの小さなモデルを開発するための新しい方向を開くことができる。
関連論文リスト
- Crystal: Illuminating LLM Abilities on Language and Code [58.5467653736537]
本稿では,自然言語と符号化機能の統合性を高めるための事前学習戦略を提案する。
結果のモデルであるCrystalは、両方のドメインで顕著な能力を示します。
論文 参考訳(メタデータ) (2024-11-06T10:28:46Z) - Uncovering LLM-Generated Code: A Zero-Shot Synthetic Code Detector via Code Rewriting [78.48355455324688]
そこで本研究では,コードと書き直された変種との類似性に基づいて,ゼロショット合成符号検出器を提案する。
以上の結果から,既存のテキスト用合成コンテンツ検出装置よりも顕著な向上が見られた。
論文 参考訳(メタデータ) (2024-05-25T08:57:28Z) - CodeIP: A Grammar-Guided Multi-Bit Watermark for Large Language Models of Code [56.019447113206006]
大規模言語モデル(LLM)はコード生成において顕著な進歩を遂げた。
CodeIPは、新しいマルチビット透かし技術で、出所の詳細を保存するために追加情報を埋め込む。
5つのプログラミング言語にまたがる実世界のデータセットで実施された実験は、CodeIPの有効性を実証している。
論文 参考訳(メタデータ) (2024-04-24T04:25:04Z) - Perplexed: Understanding When Large Language Models are Confused [3.4208414448496027]
本稿では,言語モデルが複雑になる場所を探索するライブラリであるperplexedを紹介する。
Codetokenizerと呼ばれるコードモデルの解析を支援するために構築した追加ツールを使用して、コード生成のためのLLM(Large Language Models)に焦点を当てたケーススタディを実施しました。
我々の研究したコードLLMは、コードが構文的に正しくないコーディング構造において、最悪のパフォーマンスを示しました。
論文 参考訳(メタデータ) (2024-04-09T22:03:39Z) - How to get better embeddings with code pre-trained models? An empirical
study [6.220333404184779]
下流分類タスクの埋め込みを生成するために,5つの異なるコード事前訓練モデル(PTM)について検討する。
特別なトークンによって得られた埋め込みは、コードスニペット全体の意味情報を十分に集約していないことが分かりました。
PTMの事前学習と同様、コードデータとテキストデータをマージして得られるコード埋め込みの品質は低く、よりリッチなセマンティック情報を保証できない。
論文 参考訳(メタデータ) (2023-11-14T10:44:21Z) - Exploring Large Language Models for Code Explanation [3.2570216147409514]
大規模言語モデル(LLM)は自然言語処理において顕著な進歩を遂げている。
本研究では,様々なLLMを用いて,コードスニペットの自然言語要約を生成するタスクについて検討する。
論文 参考訳(メタデータ) (2023-10-25T14:38:40Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for
Code Understanding and Generation [36.47905744758698]
我々は、開発者が指定した識別子から伝達されるコードセマンティクスをよりよく活用する、事前訓練されたエンコーダ-デコーダ変換モデルであるCodeT5を提案する。
我々のモデルは、コード理解と生成タスクの両方をシームレスにサポートし、マルチタスク学習を可能にする統一的なフレームワークを採用している。
論文 参考訳(メタデータ) (2021-09-02T12:21:06Z) - 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) - CodeBERT: A Pre-Trained Model for Programming and Natural Languages [117.34242908773061]
CodeBERTは、プログラミング言語(PL)とナット言語(NL)のための事前訓練されたモデルである。
我々はTransformerベースのニューラルアーキテクチャを用いたCodeBERTを開発した。
モデルパラメータの微調整による2つのNL-PLアプリケーション上でのCodeBERTの評価を行った。
論文 参考訳(メタデータ) (2020-02-19T13:09:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。