當前位置:
首頁 > 科技 > 當AI學會編程,那真的沒人類什麼事了

當AI學會編程,那真的沒人類什麼事了

在一些科幻作品如《黑客帝國》和《愛死機:當酸奶統治世界》中,高度智慧的人工智慧建立了龐大的帝國,能夠自行完善程序和優化自身能力,都顯示了在一個高度自動化的社會中能夠自動編程的AI是多麼逆天的存在。而隨著Open AI一類深度學習人工智慧的發展,似乎科幻有了一絲入侵現實的苗頭。

《黑客帝國》海報,圖自網路

在過去的一年裡,AI已經大幅提高了它在生成書面單詞的能力。通過掃描大量的文本數據集,機器學習程序已經可以「創作」一些尚且能看的短篇小說和歌詞了。而今基於同樣原理的技術正被應用到一個更為嚴謹,套路更為固定的語言創作——新程序編碼中,而這個機器學習程序名為Deep TabNine。

DeepTabNine又被稱為編程代碼自動補完機。程序員可以在他們選擇的代碼編輯器中安裝此擴展插件,當他們開始編寫代碼時,它會在每次輸入間隙提供下一個輸入建議,類似輸入法的輸入聯想或者說命令行補全的功能。

該程序的作者Jacob Jackson是一名來自滑鐵盧大學計算機科學的本科生,在面對來自他和verge的採訪時,他表示這種程序並不新鮮,但機器學習技術加持下極大地豐富了它所能提供的幫助。「這為我解決了一個問題。」

Jackson於去年2月開始研發名為TabNine的該軟體原始版本,於同年11月推出正式版。但是上個月早些時候,他發布了一個使用了由Open AI設計,名為GPT-2的深入學習文本生成演算法的更新版本以提高其能力。此次更新給程序員留下了深刻的印象,他們稱這是「令人驚奇的」、「瘋狂的」和「絕對令人震驚的」。

DeepTabNine在寫C 代碼

一個利用空閑時間從事「開源家庭自動化軟體項目」的IT經理Franck Nijhof在使用該產品後對The Verge表示他不僅對Deep TabNine的能力感到驚訝,甚至有點害怕和欣慰。Nijhof說:「我使用DeepTabine的第一個小時是沒有用的,因為我持續因為它驚艷的表現而打斷操作。」他不停地問自己「它怎麼知道的?這又是怎麼做到的呢?」

像這樣的自動完成工具並不是新鮮,但是Nijhof認為DeepTabNine的建議更準確。他說:「我以前試過一些智能的『通用』款,但它們很煩人且毫無幫助。」(不由得想起某智障輸入法提供的輸入建議)「TabNine無疑會是一個改變遊戲規則的存在。」

Jackson表示,該軟體能提供更好的建議得益於其是在進行預測的基礎上工作的。大多數自動補完器必須解析用戶已經編寫的內容才能提供建議,它們對代碼的補完操作就如同你在書寫數學方程時一樣按部就班。相比之下,DeepTabNine依賴於機器學習在海量數據中建立統計模型的能力則能夠進行某種層度的預測。

就像文本生成演算法需要餵食大量的書籍、文章和電影劇本數據進行訓練一樣,DeepTabNine也接受了GitHub中的200萬個文件的訓練。它從這些數據中建立合適的模型,並使用它們在任何給定代碼行中接下來可能出現的內容給出建議,無論是變數名還是函數。

Jackson說到,通過深入學習來創建自動補完程序有以下幾個優勢。首先,它使得添加對新語言的支持變得很容易。你只需要把更多的訓練數據餵食給DeepTabNine,它就會挖掘出模型。這意味著DeepTabNine支持大約22種不同的編碼語言,包括Python、JavaScript、Java、C 、C、PHP、Go、C#、Ruby、Object-C、Rust、SWIFT、Typeescript、Haskell、OCaml、Scala、Kotlin、Perl、SQL、HTML、CSS和Bash。

最重要的是,由於深度學習的分析能力,深入淺出的建議具有較高的整體質量。而且,由於該軟體不考慮用戶自己的代碼來提供建議,所以它可以直接從Go這個詞開始幫助項目,而不是等待從用戶編寫的代碼中獲得一些提示。

原文作者James Vincent 編譯時略有改動(L)

小獅子最喜歡的雞腿 分割線

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 鈦師父 的精彩文章:

電競特工又添生力軍:華碩 TUF Gaming VG27AQE電競顯示器評測
電競王者 專業細分!2019 ROG新品發布會顯示器研發團隊專訪

TAG:鈦師父 |