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

ブログ    
ブログ    
ブログ    

推薦する

人工知能に置き換えられる可能性が最も高い職業トップ10。今年の転職ではこの罠に陥らないように!

[[220405]]今の時代、就職市場は戦場です。人工知能とロボットの発達は職場に衝撃を与えた。従...

時系列予測のための 5 つのディープラーニング モデルの比較

マクリダキス M-コンペティション シリーズ (M4 および M5 と呼ばれます) は、それぞれ 2...

ビジュアル Transformer アーキテクチャの進歩を整理した記事: CNN と比較して、ViT が勝っているのはどこでしょうか?

注意ベースのエンコーダー/デコーダー アーキテクチャである Transformer は、自然言語処理...

AI を活用した予測分析で物流に革命を起こす

今日の急速に変化する物流の世界では、効率が鍵となります。世界経済は商品の円滑な流れに完全に依存してい...

人工知能は目覚めたのか?アマゾンの人工知能は人間の命令を聞かず不気味な笑い声を上げる

人類が人工知能の開発に熱心に取り組み始めて以来、著名な科学者ホーキング博士をはじめ、疑問や反対の声が...

人工知能はスマートシティの夢の実現にどのように役立つか

2008 年の金融危機後、都市計画とサービス提供に対する新しいアプローチが世界中で定着し始めました。...

SQL Server 2008 の 9 つのデータ マイニング アルゴリズム

1. 決定木アルゴリズム決定木は判断木とも呼ばれ、バイナリ ツリーやマルチ ブランチ ツリーに似たツ...

...

...

Weibo の背後にあるビッグデータの原理を探る: 推奨アルゴリズム

推薦システムは早くから誕生していたが、本格的に注目されるようになったのは、「Facebook」に代表...

機械学習エンジニアは職を失いつつあるが、学習が唯一の解決策であることに変わりはない

[[335970]]ビッグデータダイジェスト制作出典: medium編集者: Hippo採用は凍結さ...

特定の文字を削除するためのアルゴリズム設計とCコードの実装

1. 要件の説明長い文字列と短い文字列を入力し、短い文字列に現れる文字を長い文字列から削除するプログ...

あなたが書いた ML コードはどれくらいのメモリを占有しますか?これはとても重要なことですが、多くの人がまだそれを理解していません。

[[405865]]機械学習タスクを実行するときは、コードを使用してモデルのメモリ使用量をすばやく...

Facebook、AIが著作権侵害を正確に識別できるようにソースデータ拡張ライブラリを公開: 100以上の拡張方法が提供される

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...