Real News On-line!

沖縄から福島、東京までの日本の政治、ビジネス、犯罪、技術、社会、文化に関する最新ニュースと詳細な分析

DeepMind の最新の AI プロジェクトは、初心者のようなプログラミングの課題を解決します

DeepMind の最新の AI プロジェクトは、初心者のようなプログラミングの課題を解決します

ぼやけた手が暗闇の中でラップトップに入力し、明るいキーボードと謎の判読できないプログラムアイコンが画面に表示されます。
ズームイン / AI がこの記事の画像を考え出すように求められたら、何を考えるでしょうか? マトリックス?

Google の DeepMind AI 部門は、 スタークラフト 私に 折りたたみタンパク質. したがって、クリエーターが最終的に、間違いなく個人的な関心事であるコンピューター プログラミングに目を向けたのは、おそらく驚くべきことではありません。 Science の木曜日の号で、同社は、ヒューマン プログラミング コンテストで使用される典型的なプログラミングに応答してコードを生成する、開発したシステムについて説明しています。

ミディアム チャレンジでは、AI システムは参加者の上半分近くにスコアを付けることができます。 しかし、通常はより多くのコードを必要とする問題に対処するプログラムを作成する可能性が低いため、スケーリングにはいくつかの問題がありました。 ただし、アルゴリズムやプログラミング言語に関する構造的な情報がまったくなくても機能するという事実は、少し驚きです。

挑戦に立ち上がる

コンピューター プログラミングの課題は非常に単純です。人々は、必要なタスクを実行する必要があるコードを完了して生成するタスクを与えられます。 新しい論文の例では、プログラマーは 2 つの文字列を与えられ、2 つのうちの短い文字列を、長い文字列を入力するために必要なキーストロークの一部をバックスペースに置き換えることで生成できるかどうかを判断するよう求められました。 提出されたプログラムは、問題に対する一般的な解決策を提供するかどうか、または追加の例をテストしたときに失敗するかどうかを確認するためにチェックされます。

1 つの問題を解決できるソフトウェアの例が十分にあれば、AI システムは成功に必要なアルゴリズム構造を推測できるはずです。 しかし、これは問題に対処するための一般的な解決策ではありません。 1 つのカテゴリの課題でトレーニングされた AI は、無関係な課題に取り組むように求められると失敗します。

より一般化できるようにするために、DeepMind チームはそれを言語の問題のように扱いました。 ある程度、課題の記述はアルゴリズムが何をすべきかを表現したものであり、コードは同じことを別の言語で表現したものです。 そのため、問題の AI は 2 つの部分を持つように設計されています。1 つの部分は記述を取得して内部表現に変換し、2 つ目の部分は内部表現を使用して機能コードを生成します。

システムのトレーニングも 2 段階のプロセスでした。 最初のフェーズでは、システムは GitHub 上の素材のスナップショットを処理するだけで、合計 700 GB を超えるコードが必要でした。 (サムドライブにそれを収めることができる最近では、それほど多くないように聞こえるかもしれませんが、コードは単なる生のテキストであるため、ギガバイトあたりの行数が多いことを覚えておいてください。) このデータにはコメントも含まれることに注意してください。これは、近くのコードが何をするかを説明する自然言語を使用する必要があるため、入力タスクと出力タスクの両方に役立つはずです。

システムがトレーニングされると、調整期間に入ります。 DeepMind は独自のプログラミング クイズを設定し、結果をシステムにフィードします: 問題の説明、動作するコード、失敗したコード、およびそれを検証するために使用されるテスト ケース。

以前にも同様のアプローチが試みられましたが、DeepMind は、より多くのリソースをトレーニングに投入できたと報告しています。 この論文は、「AlphaCode のパフォーマンスの主な要因は、モデル サンプルの数を以前の作業よりも桁違いに増やしたことにある」と述べています。