論文の概要: Prevalence of Code Smells in Reinforcement Learning Projects
- arxiv url: http://arxiv.org/abs/2303.10236v2
- Date: Thu, 3 Aug 2023 14:47:10 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 12:54:19.959971
- Title: Prevalence of Code Smells in Reinforcement Learning Projects
- Title(参考訳): 強化学習プロジェクトにおけるコードの臭いの発生状況
- Authors: Nicol\'as Cardozo and Ivana Dusparic and Christian Cabrera
- Abstract要約: 強化学習(Reinforcement Learning, RL)は、大規模および安全クリティカルシステムを含む多くの領域で、アプリケーションの振る舞いを学習し、適応するために、ますます使われている。
プラグインプレイRLライブラリの出現により、その適用性はさらに向上し、ユーザによるRLアルゴリズムの統合が可能になった。
しかしながら、これらのコードの大部分はRLエンジニアによって開発されていないため、結果として、バグ、準最適性能、保守性、RLベースのプロジェクトにおける進化問題をもたらすプログラム品質が低下する可能性があることに留意する。
- 参考スコア(独自算出の注目度): 1.7218973692320518
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Reinforcement Learning (RL) is being increasingly used to learn and adapt
application behavior in many domains, including large-scale and safety critical
systems, as for example, autonomous driving. With the advent of plug-n-play RL
libraries, its applicability has further increased, enabling integration of RL
algorithms by users. We note, however, that the majority of such code is not
developed by RL engineers, which as a consequence, may lead to poor program
quality yielding bugs, suboptimal performance, maintainability, and evolution
problems for RL-based projects. In this paper we begin the exploration of this
hypothesis, specific to code utilizing RL, analyzing different projects found
in the wild, to assess their quality from a software engineering perspective.
Our study includes 24 popular RL-based Python projects, analyzed with standard
software engineering metrics. Our results, aligned with similar analyses for ML
code in general, show that popular and widely reused RL repositories contain
many code smells (3.95% of the code base on average), significantly affecting
the projects' maintainability. The most common code smells detected are long
method and long method chain, highlighting problems in the definition and
interaction of agents. Detected code smells suggest problems in responsibility
separation, and the appropriateness of current abstractions for the definition
of RL algorithms.
- Abstract(参考訳): 強化学習(rl)は、例えば自動運転のような大規模で安全な重要なシステムを含む、多くのドメインでアプリケーションの振る舞いを学び、適応するためにますます使われています。
プラグインプレイRLライブラリの出現により、その適用性はさらに向上し、ユーザによるRLアルゴリズムの統合が可能になった。
しかしながら、これらのコードの大部分はRLエンジニアによって開発されていないため、結果として、バグ、準最適性能、保守性、RLベースのプロジェクトにおける進化問題をもたらすプログラム品質が低下する可能性があることに留意する。
本稿では,rlを活用したコードに特有なこの仮説を探求し,野放しで見いだされた異なるプロジェクトを分析し,その品質をソフトウェア工学的な観点から評価する。
私たちの研究には、標準のソフトウェアエンジニアリングメトリクスで分析された24の人気のあるrlベースのpythonプロジェクトが含まれています。
我々の結果は、MLコードに関する同様の分析と一致し、広く再利用されているRLリポジトリには、多くのコードの臭いが平均3.95%含まれており、プロジェクトの保守性に大きな影響を与えていることを示している。
検出される最も一般的なコードの臭いは、長いメソッドチェーンと長いメソッドチェーンであり、エージェントの定義と相互作用の問題を強調する。
検出されたコードの臭いは、責任分離の問題と、RLアルゴリズムの定義に対する現在の抽象化の適切性を示している。
関連論文リスト
- What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - Common Challenges of Deep Reinforcement Learning Applications Development: An Empirical Study [10.705440907493452]
Deep Reinforcement Learning (DRL) は、インテリジェントエージェントを生成するために使用される機械学習(ML)のサブドメインである。
近年のDRL技術の発展にもかかわらず、開発者がDRLアプリケーション開発で直面する主な課題はまだ不明である。
論文 参考訳(メタデータ) (2023-10-14T12:57:30Z) - A Survey of Meta-Reinforcement Learning [69.76165430793571]
我々は,メタRLと呼ばれるプロセスにおいて,機械学習問題自体として,より優れたRLアルゴリズムを開発した。
本稿では,タスク分布の存在と各タスクに利用可能な学習予算に基づいて,高レベルでメタRL研究をクラスタ化する方法について議論する。
RL実践者のための標準ツールボックスにメタRLを組み込むことの道程について,オープンな問題を提示することによって,結論を下す。
論文 参考訳(メタデータ) (2023-01-19T12:01:41Z) - Automated Reinforcement Learning (AutoRL): A Survey and Open Problems [92.73407630874841]
AutoRL(Automated Reinforcement Learning)には、AutoMLの標準的なアプリケーションだけでなく、RL特有の課題も含まれている。
我々は共通の分類法を提供し、各領域を詳細に議論し、今後の研究者にとって関心のあるオープンな問題を提起する。
論文 参考訳(メタデータ) (2022-01-11T12:41:43Z) - ShinRL: A Library for Evaluating RL Algorithms from Theoretical and
Practical Perspectives [11.675763847424786]
本稿では、強化学習(RL)アルゴリズムを評価するためのオープンソースのライブラリであるShinRLを紹介する。
ShinRLは、RLアルゴリズムの振る舞いを掘り下げるためのメトリクスを計算することができるRL環境インターフェースを提供する。
ShinRLのこれらの2つの特徴を組み合わせることで、深層Q学習の振る舞いをより容易に分析できることを示す。
論文 参考訳(メタデータ) (2021-12-08T05:34:46Z) - Towards Standardizing Reinforcement Learning Approaches for Stochastic
Production Scheduling [77.34726150561087]
強化学習はスケジューリングの問題を解決するのに使える。
既存の研究は、コードが利用できない複雑なシミュレーションに依存している。
から選ぶべきRLの設計の広大な配列があります。
モデル記述の標準化 - 生産セットアップとRL設計の両方 - と検証スキームは前提条件です。
論文 参考訳(メタデータ) (2021-04-16T16:07:10Z) - The Prevalence of Code Smells in Machine Learning projects [9.722159563454436]
静的コード解析は、ソースコードの潜在的な欠陥、機会、共通のコーディング標準の違反を見つけるのに使うことができる。
74のオープンソースプロジェクトのデータセットを集め、依存関係をインストールしてPylintを実行しました。
その結果、検出されたすべてのコードの臭いのトップ20に到達した。
論文 参考訳(メタデータ) (2021-03-06T16:01:54Z) - OR-Gym: A Reinforcement Learning Library for Operations Research
Problems [0.0]
我々は,運用研究問題に対処する強化学習アルゴリズムを開発するためのオープンソースライブラリOR-Gymを紹介する。
本稿では,knapsackの強化学習,多次元ビンパッキング,複数エケロン供給チェーン,多周期アセットアロケーションモデル問題に適用する。
論文 参考訳(メタデータ) (2020-08-14T12:21:22Z) - MushroomRL: Simplifying Reinforcement Learning Research [60.70556446270147]
MushroomRLはオープンソースのPythonライブラリで、強化学習(RL)実験の実装と実行を簡単にするために開発された。
他の利用可能なライブラリと比較して、MushroomRLは、新しいRL方法論の実装とテストの労力を最小限に抑えるために、包括的で柔軟なフレームワークを提供することを目的として作られた。
論文 参考訳(メタデータ) (2020-01-04T17:23:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。