科技前瞻

科學家研發能撰寫程式的人工智慧

BAYOU 是一個由美國萊斯大學(Rice University)電腦科學團隊開發,美國軍方及 Google 公司資助的人工智慧工具,就像程式搜尋引擎一樣運作,只要告訴它幾個關鍵字和要建立什麼類型的程式,它就會根據需求,用最佳猜測的方法,寫出 Java 程式。

從 1 億行程式碼中學習

BAYOU 使用 1500 多款 Android 應用程式約 1 億行的 Java 原始碼,供深度學習神經網路進行分析,找出程式之中的規律。

如果 BAYOU 讀取的程式碼中包含有關程式功能的資訊,BAYOU 也會學習這些程式的功能,以及運作方式。這種內容資訊讓 AI 根據幾個關鍵字和一些軟體工程師想要的基本資訊,就能寫出具功能性的軟體。

[related-post url=”https://tomorrowsci.com/technology/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4-%E5%BE%AE%E8%BB%9F-%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7-%E5%8F%B2%E4%B8%B9%E4%BD%9B%E9%96%B1%E8%AE%80%E7%90%86%E8%A7%A3%E6%B8%AC%E9%A9%97/”]

仍處於初期階段

AI 其實仍然沒有學會自我複製,BAYOU 只是產生研究團隊稱為軟體的「草圖」(sketch),類似軟體工程師試著撰寫的軟體雛型。這些草圖仍然需要拼湊成更大的作品,而且可能必須針對專案需求進行量身訂製。

不過,即使這項技術仍處於初期階段,這也是研究 AI 自我學習、編寫程式的重要一步,這是電腦科學研究人員的長期目標。其他類似 BAYOU 的 AI 技術,需要大量具體的限制,來引導 AI 使用正確的程式碼類型。相較之下,BAYOU 使用幾個關鍵字就能運作,因此對於人類操作員而言,可以節省大量的時間,整體使用起來也很簡單。

 

參考資料:

  1. Vijayaraghavan Murali, et. al. (April 2018). Neural Sketch Learning For Conditional Program Generation, arxiv.org
  2. Dan Robitzski (April 2018). The Military Just Created An AI That Learned How To Program Software, Futurism