必要なものを教えていただければ、当社の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つの重要なトレンド

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

2 回のセッションの後、Ovio は次のように分析します: 私たちは人工知能の時代を迎えましたが、それは良い面と悪い面の両方があります。

2回の会期は3月20日に終了した。今年の全国人民代表大会では、政府活動報告に「人工知能」が再び記載...

...

ディープラーニングの最適化手法の簡単な紹介: 勾配降下法

実際、ディープラーニングは多くの厄介な最適化問題を解決しています。ニューラル ネットワークは、問題に...

...

ドローン技術がモバイルIoTの範囲を拡大

無人航空機(口語では「ドローン」と呼ばれる)は、航空業界に無人航空機を導入することで、ライト兄弟の有...

ディープラーニングの専門家になるにはどうすればいいですか?このアリ天池大会の優勝者はあなたのためにプロとしての成長の道を計画しました

[[209722]]ディープラーニングは本質的には深層人工ニューラルネットワークです。これは孤立した...

エネルギー分野における人工知能の機会と課題

エネルギー部門は、現代経済において最も強力かつ収益性の高い部門の 1 つです。しかし、ほとんどのエネ...

...

Google、AIロボットが人間に危害を加えないことを保証する「ロボット憲法」を起草

グーグルのディープマインドは1月5日、3つの新たな開発を発表した。その1つは、AIロボットが人間に危...

階乗関連のアルゴリズムとその C++ 実装

階乗とは、必要な数値が得られるまで 1 × 2 × 3 × 4 を掛け合わせることを意味します。 C...

感染症の流行に直面して、AIがいかに有用であるかを実感した

インターネット時代では、テクノロジーの発展により、私たちの生活で利用できる手段が大幅に強化されました...

予測: 2019 年に爆発的に普及する 10 の人工知能テクノロジー!

1. 自然言語生成自然言語生成は、データをテキストに変換し、コンピューターがこれまでにない精度でア...

ビジョンと AI を追加することで、産業用ロボットはスマート製造をより効果的に支援できるでしょうか?

改革開放から30年、中国は科学技術の進歩の分野で非常に重要な役割を果たしてきました。人口ボーナス、政...

...