Skip to main content
QUICK REVIEW

[論文レビュー] Self-Programming Artificial Intelligence Using Code-Generating Language Models

Alex Sheng, Padmanabhan, Shankar|arXiv (Cornell University)|Apr 30, 2022
Software Engineering Research被引用数 4
ひとこと要約

本論文は、自己プログラミング型人工知能システムの最初の実用的実装を提示する。このシステムは、コード生成言語モデルを用いて、自身のソースコード、特にアーキテクチャ、計算能力、学習ダイナミクスを自律的かつ自動的に変更する。繰り返しの反復において性能が向上し、画像分類などのタスク用の補助的サブモデルを生成することで、自律的自己向上および自由形式AutoMLの能力を示している。

ABSTRACT

Recent progress in large-scale language models has enabled breakthroughs in previously intractable computer programming tasks. Prior work in meta-learning and neural architecture search has led to substantial successes across various task domains, spawning myriad approaches for algorithmically optimizing the design and learning dynamics of deep learning models. At the intersection of these research areas, we implement a code-generating language model with the ability to modify its own source code. Self-programming AI algorithms have been of interest since the dawn of AI itself. Although various theoretical formulations of generalized self-programming AI have been posed, no such system has been successfully implemented to date under real-world computational constraints. Applying AI-based code generation to AI itself, we develop and experimentally validate the first practical implementation of a self-programming AI system. We empirically show that a self-programming AI implemented using a code generation model can successfully modify its own source code to improve performance and program sub-models to perform auxiliary tasks. Our model can self-modify various properties including model architecture, computational capacity, and learning dynamics.

研究の動機と目的

  • 現実の計算制約のもとで、自身のソースコードを再書き換え可能な機能的自己プログラミングAIシステムの開発を目的とする。
  • コード生成言語モデルを用いてニューラルネットワーク設計の自律的自己変更が可能かどうかを検証することを目的とする。
  • 自己変更が下流タスクにおける測定可能な性能向上をもたらすかどうかを検証することを目的とする。
  • 外部機械学習タスク用の補助的サブモデルを生成・デプロイできる能力を示すこと。
  • 自律的コード生成と再プログラミングを通じて、自由形式AutoMLの基盤を確立すること。

提案手法

  • ニューラルネットワークの構文的・論理的に正しいソースコードを生成・変更できるように、コード生成言語モデルを訓練する。
  • CIFAR-10、MNIST、EMNISTなどのデータセットでの学習からの性能フィードバックをもとに、繰り返し自己再プログラミングを実行する。
  • 各再プログラミング段階では、ビームサーチやサンプリングを用いて複数の候補アーキテクチャを生成し、それらを評価した上で、次回の反復に使用する最高性能のモデルを選択する。
  • コンvolution層の数、隠れ層サイズ、パラメータ総数といった、重要なアーキテクチャハイパーパrameterを動的に変更する。
  • 自らのコード生成能力を活用して、画像分類などの補助的タスク用のサブモデルを生成・デプロイする。
  • 性能フィードバックをもとに次のコード生成ラウンドを誘導することで、強化学習に類似したフィードバックを経て段階的改善を実現する。

実験結果

リサーチクエスチョン

  • RQ1コード生成言語モデルは、機械学習タスクにおける性能向上を目的として、自身のソースコードを正しく再書き換えできるか?
  • RQ2現実世界の環境下で、自己変更がモデルアーキテクチャ、計算能力、学習ダイナミクスをどの程度向上できるか?
  • RQ3自己プログラミングAIは、画像分類などの補助的タスク用にサブモデルを生成し、効果的に利用できるか?
  • RQ4コード生成候補の数と探索イテレーション回数が、最終的なモデル性能にどのように影響するか?
  • RQ5自律的自己再プログラミングは、時間経過とともにモデルの表現力およびパラメータ数を測定可能なレベルで増加させるか?

主な発見

  • 自己プログラミングAIシステムは、CIFAR-10、MNIST、EMNISTの複数の再プログラミング反復において、モデル性能を明確に向上させた。
  • 探索されたコード候補の総数が増えるにつれて性能が向上し、ある閾値に達した後は収支が悪化する傾向を示した。
  • 特に最初の4回のトレーニングループにおいて、畳み込み層の数が顕著に増加し、性能向上に寄与した。
  • CIFAR-10で10エポックにわたって最良性能を示したモデルの平均パラメータ数は著しく増加し、モデルの表現力が向上したことを示した。
  • 隠れ層サイズも一部のケースで増加したが、隠れ層の数はほとんど変化しなかったため、深さが改善の主な要因ではない可能性がある。
  • システムは、補助モデル用のコードを一貫して生成・再利用できることを示し、自由形式AutoMLツールとしての有効性を確認した。

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

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

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

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