必要なものを教えていただければ、当社のAIがコードを作成します

必要なものを教えていただければ、当社のAIがコードを作成します

何をしたいのかを伝えるだけで、AI が自動的にコードを作成します。

今、私たちはこの目標に一歩近づきました。

最近、MITの研究チームが新たな研究結果を発表しました。

彼らは、教師なし学習による AI 自動プログラミングが遭遇する問題を解決するために、パターン認識と推論を柔軟に組み合わせる手法を提案しました。

いくつか例を挙げてみましょう:

タスク要件:

配列が与えられたら、数値を反転した後、その数値の中央値を計算します。

AIは次のコードを提供します:

(reduce(reverse(digits(deref (sort a)(/ (len a) 2)))) 0

(lambda2 (+(* arg1 10) arg2)))

タスク要件:

入力:

1、[-101、63、64、79、119、91、-56、47、-74、-33]

4、[-6、-96、-45、17、26、-38、17、-18、-112、-48]

出力:

39

8

AI が提供するコード:

(最大 (MAP DIV3 (DROP 入力0 入力1)))

これはどうやって行うのですか?

人間のプログラマーにタスクが与えられると、コードの記述を開始する前に、自身の経験に基づいてコード アーキテクチャを判断します。経験がない場合は、推論を使用してコード アーキテクチャを改善する必要があります。

この AI システムは、パターン認識と推論を組み合わせて、人間がコードを書く方法を模倣します。

このモデルは、スケッチジェネレータープログラム シンセサイザーの2 つのモジュールに分かれています。

タスク要件を入力すると、コードはまずサマリー ジェネレーターに渡され、タスク要件を満たす可能性が高いコード サマリー (つまり、タスク要件を満たす可能性はあるが詳細が豊富な初期コード) が生成されます。次に、コード プロファイルはコード シンセサイザー モジュールに送られ、タスク要件を満たすものを検索します。

サマリー ジェネレーターは、アテンション メカニズムを備えた seq2seq リカレント ニューラル ネットワーク (RNN) です。特定のタスクの後、LSTM エンコーダーによってエンコードされ、トークンごとにデコードされます。

コード合成装置には、幅優先確率列挙子とニューラル ネットワーク認識子の 2 つのコンポーネントがあります。前者は、コードスケッチをその可能性に応じて大きいものから小さいものまで列挙し、後者はタスクの要件に応じてプロセスをガイドします。

具体的な効果は何ですか?

モデルの性能を検証するために、研究チームは比較のために 2 つのモデルを選択しました。

それぞれ、シンセサイザーのみのモデル(Synthesizer only)とジェネレーターのみのモデル(Generator only)です。

シンセサイザーのみのモデルは、研究におけるコードシンセサイザーモジュールに相当します。パターン認識の後、すべての可能なエンコードを最初から列挙します。これは、2016 年に Microsoft Research チームによって提案された「Deepcoder」モデルに匹敵します。

この研究の要約ジェネレーター モジュールに相当するジェネレーターのみのモデルを使用して、完全なコードを予測します。これは、2017 年に Microsoft Research と MIT チームによって提案された「RobustFill」モデルに匹敵します。

比較されたタスクは、配列リスト、文字列変換、および自然言語要件でした。

配列リストタスクでは、この研究のモデルは、他の 2 つの研究と比較して、単純なプログラムで優れたパフォーマンスを示すことができます。

文字列変換タスクでは、シンセサイザーのみのモデルよりも優れたパフォーマンスを発揮し、場合によっては、ジェネレーターのみのモデルよりも優れたパフォーマンスを発揮します。

[[258288]]

モデルの能力を実際に実証するのは、配列リストと文字列に関連する入力と出力の例だけでなく、対応する自然言語の説明も含まれる AlgoLisp データセットで実施されたテストです。

このデータセットで、研究者らは非構造化データの場合のモデルのパフォーマンスを調査しました。

テスト結果は、モデルのパフォーマンスが以前の学者の研究をはるかに上回っていることを示しています。

さらに、「偶数」と「奇数」の要件を含めると、パフォーマンスはさらに顕著になり、モデルがより汎用的であることがわかります。

この研究に興味がある方は、論文を読んで研究の詳細を知ることができます。

ポータル:

プログラムスケッチの推測を学ぶ

https://arxiv.org/abs/1902.06349

<<:  人気の機械学習プログラミング言語、フレームワーク、ツール14選

>>:  金融保険業界における人工知能の3つの重要なトレンド

ブログ    
ブログ    
ブログ    

推薦する

インテリジェントオートメーションの台頭:デジタル時代のAI、ロボット工学、製造業

人工知能 (AI)、ロボット工学、自動化の融合により、生産性、効率性、革新の新しい時代が到来していま...

...

人工知能は商業用不動産にどのような影響を与えるでしょうか?

AI は商業用不動産業界を変革し、あらゆるものをより効率的、アクセスしやすく、透明性の高いものにし...

機械学習の最大の欠点を解決する?マックス・プランク研究所とグーグルが因果学習を再び研究

野球選手がボールを打つ様子を見ると、さまざまな要素間の因果関係を推測することができます。たとえば、野...

...

今後30年間で、これらのスキルを子供たちに教えなければ、「人工知能」によって仕事を失うことになるだろう

[[225789]] 1970年代、80年代生まれの人たちは、どんな背景を持っていても、名門大学に進...

...

C# のデータ構造とアルゴリズムにおけるキューの簡単な分析

C# のデータ構造とアルゴリズムのキューは、リストの先頭での削除操作とリストの末尾での挿入操作のみを...

ロボティック・プロセス・オートメーション(RPA)がCIOにとって優先課題である理由

自動化技術は企業ビジネスの発展を促進しており、ロボティック・プロセス・オートメーション (RPA) ...

...

...

3D編集をPhotoshopと同じくらい簡単に。新しいアルゴリズムGaussianEditorは、3Dシーンの追加、削除、変更を数分で完了できます。

3D編集はゲームやバーチャルリアリティなどの分野で重要な役割を果たします。しかし、これまでの3D編...