何をしたいのかを伝えるだけで、AI が自動的にコードを作成します。 今、私たちはこの目標に一歩近づきました。 最近、MITの研究チームが新たな研究結果を発表しました。 彼らは、教師なし学習による AI 自動プログラミングが遭遇する問題を解決するために、パターン認識と推論を柔軟に組み合わせる手法を提案しました。 いくつか例を挙げてみましょう: タスク要件:
AIは次のコードを提供します:
タスク要件:
AI が提供するコード:
これはどうやって行うのですか?人間のプログラマーにタスクが与えられると、コードの記述を開始する前に、自身の経験に基づいてコード アーキテクチャを判断します。経験がない場合は、推論を使用してコード アーキテクチャを改善する必要があります。 この AI システムは、パターン認識と推論を組み合わせて、人間がコードを書く方法を模倣します。 このモデルは、スケッチジェネレーターとプログラム シンセサイザーの2 つのモジュールに分かれています。 タスク要件を入力すると、コードはまずサマリー ジェネレーターに渡され、タスク要件を満たす可能性が高いコード サマリー (つまり、タスク要件を満たす可能性はあるが詳細が豊富な初期コード) が生成されます。次に、コード プロファイルはコード シンセサイザー モジュールに送られ、タスク要件を満たすものを検索します。 サマリー ジェネレーターは、アテンション メカニズムを備えた seq2seq リカレント ニューラル ネットワーク (RNN) です。特定のタスクの後、LSTM エンコーダーによってエンコードされ、トークンごとにデコードされます。 コード合成装置には、幅優先確率列挙子とニューラル ネットワーク認識子の 2 つのコンポーネントがあります。前者は、コードスケッチをその可能性に応じて大きいものから小さいものまで列挙し、後者はタスクの要件に応じてプロセスをガイドします。 具体的な効果は何ですか?モデルの性能を検証するために、研究チームは比較のために 2 つのモデルを選択しました。 それぞれ、シンセサイザーのみのモデル(Synthesizer only)とジェネレーターのみのモデル(Generator only)です。 シンセサイザーのみのモデルは、研究におけるコードシンセサイザーモジュールに相当します。パターン認識の後、すべての可能なエンコードを最初から列挙します。これは、2016 年に Microsoft Research チームによって提案された「Deepcoder」モデルに匹敵します。 この研究の要約ジェネレーター モジュールに相当するジェネレーターのみのモデルを使用して、完全なコードを予測します。これは、2017 年に Microsoft Research と MIT チームによって提案された「RobustFill」モデルに匹敵します。 比較されたタスクは、配列リスト、文字列変換、および自然言語要件でした。 配列リストタスクでは、この研究のモデルは、他の 2 つの研究と比較して、単純なプログラムで優れたパフォーマンスを示すことができます。 文字列変換タスクでは、シンセサイザーのみのモデルよりも優れたパフォーマンスを発揮し、場合によっては、ジェネレーターのみのモデルよりも優れたパフォーマンスを発揮します。 モデルの能力を実際に実証するのは、配列リストと文字列に関連する入力と出力の例だけでなく、対応する自然言語の説明も含まれる AlgoLisp データセットで実施されたテストです。 このデータセットで、研究者らは非構造化データの場合のモデルのパフォーマンスを調査しました。 テスト結果は、モデルのパフォーマンスが以前の学者の研究をはるかに上回っていることを示しています。 さらに、「偶数」と「奇数」の要件を含めると、パフォーマンスはさらに顕著になり、モデルがより汎用的であることがわかります。 この研究に興味がある方は、論文を読んで研究の詳細を知ることができます。 ポータル: プログラムスケッチの推測を学ぶ https://arxiv.org/abs/1902.06349 |
<<: 人気の機械学習プログラミング言語、フレームワーク、ツール14選
人工知能 (AI)、ロボット工学、自動化の融合により、生産性、効率性、革新の新しい時代が到来していま...
AI は商業用不動産業界を変革し、あらゆるものをより効率的、アクセスしやすく、透明性の高いものにし...
近年、大規模言語モデル (LLM) とその基盤となるトランスフォーマー アーキテクチャは会話型 AI...
野球選手がボールを打つ様子を見ると、さまざまな要素間の因果関係を推測することができます。たとえば、野...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[[225789]] 1970年代、80年代生まれの人たちは、どんな背景を持っていても、名門大学に進...
C# のデータ構造とアルゴリズムのキューは、リストの先頭での削除操作とリストの末尾での挿入操作のみを...
自動化技術は企業ビジネスの発展を促進しており、ロボティック・プロセス・オートメーション (RPA) ...
この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...
3D編集はゲームやバーチャルリアリティなどの分野で重要な役割を果たします。しかし、これまでの3D編...