論文の概要: How could Neural Networks understand Programs?
- arxiv url: http://arxiv.org/abs/2105.04297v1
- Date: Mon, 10 May 2021 12:21:42 GMT
- ステータス: 処理完了
- システム内更新日: 2021-05-11 19:30:09.287651
- Title: How could Neural Networks understand Programs?
- Title(参考訳): ニューラルネットワークはどのようにプログラムを理解するのか?
- Authors: Dinglan Peng, Shuxin Zheng, Yatao Li, Guolin Ke, Di He, Tie-Yan Liu
- Abstract要約: ソースコードにnlpプリトレーニング技術を直接適用するか、あるいはtheshelfによってモデルに機能を追加するかで、プログラムをより理解するためのモデルを構築するのは難しい。
本研究では,(1)操作セマンティクスの基本操作とよく一致する表現と(2)環境遷移の情報からなる情報から,モデルが学ぶべき新しいプログラムセマンティクス学習パラダイムを提案する。
- 参考スコア(独自算出の注目度): 67.4217527949013
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Semantic understanding of programs is a fundamental problem for programming
language processing (PLP). Recent works that learn representations of code
based on pre-training techniques in NLP have pushed the frontiers in this
direction. However, the semantics of PL and NL have essential differences.
These being ignored, we believe it is difficult to build a model to better
understand programs, by either directly applying off-the-shelf NLP pre-training
techniques to the source code, or adding features to the model by the
heuristic. In fact, the semantics of a program can be rigorously defined by
formal semantics in PL theory. For example, the operational semantics,
describes the meaning of a valid program as updating the environment (i.e., the
memory address-value function) through fundamental operations, such as memory
I/O and conditional branching. Inspired by this, we propose a novel program
semantics learning paradigm, that the model should learn from information
composed of (1) the representations which align well with the fundamental
operations in operational semantics, and (2) the information of environment
transition, which is indispensable for program understanding. To validate our
proposal, we present a hierarchical Transformer-based pre-training model called
OSCAR to better facilitate the understanding of programs. OSCAR learns from
intermediate representation (IR) and an encoded representation derived from
static analysis, which are used for representing the fundamental operations and
approximating the environment transitions respectively. OSCAR empirically shows
the outstanding capability of program semantics understanding on many practical
software engineering tasks.
- Abstract(参考訳): プログラムの意味理解は、プログラミング言語処理(plp)の基本的な問題である。
NLPにおける事前学習技術に基づいてコード表現を学習する最近の研究は、フロンティアをこの方向に押し上げている。
しかし、PLとNLのセマンティクスには重要な違いがある。
これらのことは無視され、既製のNLP事前学習技術をソースコードに直接適用するか、ヒューリスティックな手法でモデルに機能を追加することで、プログラムをよりよく理解するモデルを構築するのは難しいと信じている。
実際、プログラムの意味論はPL理論の形式的意味論によって厳密に定義することができる。
例えば、オペレーショナルセマンティクスでは、有効なプログラムの意味を、メモリI/Oや条件分岐といった基本的な操作を通じて環境(メモリアドレス値関数)を更新することとして記述している。
そこで,本研究では,(1)操作意味論における基本操作に適合する表現,(2)プログラム理解に欠かせない環境遷移の情報からなる情報から学習すべき,新たなプログラム意味論学習パラダイムを提案する。
提案手法を検証するため,OSCARと呼ばれる階層型トランスフォーマーを用いた事前学習モデルを提案する。
OSCARは、静的解析から導出される中間表現(IR)と符号化表現から学習し、それぞれが基本的な操作を表現し、環境遷移を近似する。
OSCARは、多くの実用的なソフトウェアエンジニアリングタスクにおいて、プログラムセマンティクスが理解できることを実証的に示す。
関連論文リスト
- Large Language Models are Interpretable Learners [53.56735770834617]
本稿では,Large Language Models(LLM)とシンボルプログラムの組み合わせによって,表現性と解釈可能性のギャップを埋めることができることを示す。
自然言語プロンプトを持つ事前訓練されたLLMは、生の入力を自然言語の概念に変換することができる解釈可能な膨大なモジュールセットを提供する。
LSPが学んだ知識は自然言語の記述と記号規則の組み合わせであり、人間(解釈可能)や他のLLMに容易に転送できる。
論文 参考訳(メタデータ) (2024-06-25T02:18:15Z) - Understanding Programs by Exploiting (Fuzzing) Test Cases [26.8259045248779]
プログラムのより深い意味理解を実現するために,入力と出力/振る舞いの関係を学習に取り入れることを提案する。
コードの大部分の実行をトリガーするのに十分な入力を得るために,ファズテストを採用し,ファズチューニングを提案する。
提案手法の有効性は,コードクローン検出とコード分類を含む2つのプログラム理解タスクにおいて検証され,最先端技術よりも大きなマージンで優れている。
論文 参考訳(メタデータ) (2023-05-23T01:51:46Z) - Emergent Representations of Program Semantics in Language Models Trained on Programs [3.376269351435396]
プログラムの形式的意味論を表現するために,コードの言語モデル(LM)が学習できることを示す。
本研究では,2次元グリッド環境をナビゲートするドメイン固有言語で記述されたプログラムの合成コーパス上でトランスフォーマーモデルを訓練する。
論文 参考訳(メタデータ) (2023-05-18T17:58:08Z) - Guiding the PLMs with Semantic Anchors as Intermediate Supervision:
Towards Interpretable Semantic Parsing [57.11806632758607]
本稿では,既存の事前学習言語モデルを階層型デコーダネットワークに組み込むことを提案する。
第一原理構造をセマンティックアンカーとすることで、2つの新しい中間管理タスクを提案する。
いくつかのセマンティック解析ベンチマークで集中的な実験を行い、我々のアプローチがベースラインを一貫して上回ることを示す。
論文 参考訳(メタデータ) (2022-10-04T07:27:29Z) - Supporting Vision-Language Model Inference with Confounder-pruning Knowledge Prompt [71.77504700496004]
視覚言語モデルは、オープンセットの視覚概念を扱うために、画像とテキストのペアを共通の空間に整列させることで事前訓練される。
事前訓練されたモデルの転送可能性を高めるため、最近の研究では、固定または学習可能なプロンプトが採用されている。
しかし、どのようにして、どのプロンプトが推論性能を改善するのかは、まだ不明である。
論文 参考訳(メタデータ) (2022-05-23T07:51:15Z) - Learning to Synthesize Programs as Interpretable and Generalizable
Policies [25.258598215642067]
本稿では,プログラムの合成を学習するフレームワークについて述べる。
実験の結果,提案フレームワークは,タスク解決プログラムを確実に合成するだけでなく,DRLやプログラム合成ベースラインよりも優れていることがわかった。
論文 参考訳(メタデータ) (2021-08-31T07:03:06Z) - Semantics-Aware Inferential Network for Natural Language Understanding [79.70497178043368]
このようなモチベーションを満たすために,セマンティックス対応推論ネットワーク(SAIN)を提案する。
SAINの推論モジュールは、明示的な文脈的セマンティクスを補完的な入力として、セマンティクス上の一連の推論ステップを可能にする。
本モデルでは,機械読解や自然言語推論など11タスクの大幅な改善を実現している。
論文 参考訳(メタデータ) (2020-04-28T07:24:43Z) - Can We Learn Heuristics For Graphical Model Inference Using
Reinforcement Learning? [114.24881214319048]
我々は、強化学習を用いて、高次条件ランダム場(CRF)における推論を解くためのプログラム、すなわち、ポリシーを学習できることを示します。
本手法は,ポテンシャルの形式に制約を加えることなく,推論タスクを効率的に解く。
論文 参考訳(メタデータ) (2020-04-27T19:24:04Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。