米軍は自分でプログラムを開発できるAIを完成した

2018.05.07

投稿者 :ブルーネット・ジャスティン

カテゴリ: IT News

こんにちは。ジャスティンです。

米軍が、自分でプログラムを開発できるAIを完成したとの事です。
https://arxiv.org/abs/1703.05698
ページ右側の"PDF"のリンクから原文をダウンロードできます。

こちらのPDF文書から私なりにAIの今後について考えてみました。
 

[日本語]

米軍は自分でプログラムを開発できるAIを完成した

 
一般事務の仕事までAI
ホワイトカラーの仕事を置き換える人工知能の展望は、最近では一般人の意識が高まっています。多くの人がコンピュータ・プログラミングを聖域の仕事として見るかもしれませんが、それはAI(少なくとも低レベルのプログラミング)に道を開く最初のものの一つかもしれません。Bayouは、少数のキーワードとユーザーからの基本的な情報だけでプログラム全体を作成できるAIです。
 
Rice Universityの科学者がDARPAとGoogleから資金を得て開発したこのプロジェクトは、GitHubのような大規模なリポジトリからオンラインで知識を収集することによって開始されました。過去60年の間、プログラミングコミュニティにコードを書くことができる自動システムを持つ努力がなされてきたが、これまでの方法ではあいまいさを克服できなかったという壁がある。 Bayouの共同創設者であり、ライス大学のコンピュータサイエンスの准教授は、「通常、ターゲットプログラムの詳細について多くの詳細を述べる必要があり、これらの詳細を書き留めることは、コードを書くことと同じくらいの作業になる可能性がある」と言います。
 
Bayouは、代わりに少量の情報を取り込み、ユーザーが必要とするコードセットのリストを提供するという点で、検索エンジンと同様に機能します。Bayouは、「Neural Sketch Learning」と呼ばれる一種の神経深部学習を利用しています。このシステムは、プログラム「スケッチ」またはプログラムシンタックスのモデルを使用して、ターゲットプログラムに絞り込むために事後確率(確率変数として扱われる未知の量の確率分布)にそれらを分配します。この技法は、基本的に、研究する各プログラムの「スケッチ」を作成し、コードの「意図」との関連付けを行います。
 
Bayouは、人間が独自のコードを書くことができるように書いた膨大なJavaコードのデータベースを分析した後、本質的に教えてくれました。この技術により、Javaのような豊富なコーディング言語を分析し、高度なパターンを認識することができます。
 
現在のプログラミング環境では、プログラマーは、Stack Overflow(スタックオーバーフロー)のようなサイトで質問をしたり、回答を検索したりして、同僚の助けを借りることができます。Bayouは専門家のプログラマーよりも豊富な知識にアクセスすることができるので、即時のフィードバックだけでなく、そうでない場合には、質問に必要な情報を人間に提供することができます。
 
Bayouの共同制作者であるChris Jermaineのライス大学の教授は、「今日のプログラミングは30〜40年前とは非常に異なる」プログラマーが最初からコードを書くことができたのはずっと前からのことだ」と言います。
 
業界の私たちにとって、これは驚くかもしれませんが、これは実際には歓迎すべきニュースです。私たちの仕事の中で最も心が衰えている部分は、解決しようとしている問題のコードの例や、時間の非常に刺激的な部分を見つけることです。これは、プログラマーがその技術の中で成長できる程度を加速するのに役立ちます。
 
今のところ、BayouはJavaでコードを分析しており、将来は他の言語の見通しがあるかもしれません。このアプリケーションの無料版は、下記のリンクから拝見できます。 http://www.askbayou.com/
 
[English]

 

The US Military has developed AI to create its own programs
 

The prospects of AI replacing white collar jobs has been on the public conscious as of recent. Though many may see computer programming as a sanctuary job, it may be one of the first to give way to AI (at least the low level programming). Bayou is an AI that can create entire programs with only a few key words and basic information from the user.

 

Developed by Scientist from Rice University receiving funding from DARPA and Google, the project was initiated by aim of gathering knowledge from massive repositories online such as GitHub. For the past 60 years, there has been an endeavor in the programming community to have an automative system that can write code but the wall has been that the methods so far has not been able to overcome ambiguity. Bayou co-creator and associate professor of computer science at Rice University states, “You usually need to give a lot of details about what the target program does, and writing down these details can be as much work as just writing the code.”

 

Bayou instead works similarly to a search engine in that it takes in small amount of information and gives a list of sets of code that fit the users need. Bayou takes advantage of a type of neural deep learning called Neural Sketch Learning. This system uses program sketches or models of program syntax, distributing them over a Posterior probability ( a probability distribution for unknown quantity that is treated as a random variable) to narrow down into target programs. This technique basically creates a “sketch” of each program it studies and makes associations with “intent” of the code.

 

Bayou essentially taught itself after analyzing the vast databases of Java code that humans have written to be able to write its own code. This technique allows it to analyze rich coding languages like Java and recognize high level patterns.

 

The current programing environment is that programmers would ask questions or search for answers on sites like Stack Overflow for help from their peers. Since Bayou has more access to a wealth of knowledge than even expert programmers, Bayou can provide not only immediate feedback but if in the case that it does not, can provide the human with much needed information about their question.

 

Bayou co-creator and Rice University professor, Chris Jermaine, states, “Programming today is very different that it was 30 or 40 years ago[;] The days when a programmer could write code from scratch are long gone.”

 

For those of us in the industry, this may sound be alarming, this may is actually be some welcoming news. The most mind numbing portion of our jobs is the trying to find the appropriate hints or examples of code for the problem we are trying to solve and a very de-stimulating part of our time. This should help accelerate the degree with which programmers can grow in their craft.

 

For now Bayou is analyzing code in Java and may have prospects for other languages in the future. A free version of the application is available in the following link.
http://www.askbayou.com/