轉(zhuǎn)帖|行業(yè)資訊|編輯:黃竹雯|2017-02-24 15:43:16.000|閱讀 273 次
概述:微軟和劍橋大學(xué)的研究員近日發(fā)布了一篇論文,文中闡述了其科研成果——一個會編程的機(jī)器學(xué)習(xí)系統(tǒng)。該系統(tǒng)叫DeepCoder,能夠解決編程比賽所涉及到的基礎(chǔ)編程題目。該系統(tǒng)為不會編程的人提供了制作簡易程序的可能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
微軟和劍橋大學(xué)的研究員近日發(fā)布了一篇論文,文中闡述了其科研成果——一個會編程的機(jī)器學(xué)習(xí)系統(tǒng)。該系統(tǒng)叫,能夠解決編程比賽所涉及到的基礎(chǔ)編程題目。該系統(tǒng)為不會編程的人提供了制作簡易程序的可能。(點擊獲取論文)
DeepCoder的創(chuàng)造者之一,在劍橋大學(xué)參與微軟研究項目的 Marc Brockschmidt表示:“該程序最終可以讓非編程人員通過向計算機(jī)描述自己的程序構(gòu)想來獲得想要的程序,系統(tǒng)會自動寫就。”
DeepCoder所用的技術(shù)叫程序合成( program synthesis),通過截取已有軟件的代碼行來組成新的程序,不得不承認(rèn),當(dāng)下很多程序員也是這樣做的。通過學(xué)習(xí)一系列代碼片(code fragment)的輸入(inputs)和輸出(outputs)數(shù)據(jù),DeepCoder能自動摘取出對目標(biāo)任務(wù)有用的代碼片。
機(jī)器的檢索速度、廣度、及深度強(qiáng)于人類程序員,這很好理解。更重要的是,機(jī)器能夠以其出其不意的方式組合代碼片,換句話說,該系統(tǒng)或許正以其“機(jī)器視角”革新編程這件事。
基于以上原因,該系統(tǒng)編寫代碼的速度遠(yuǎn)快于人類。舊有的編程AI需要不斷地嘗試代碼片組合以使程序成功運行,一般來說這一過程需要幾分鐘。但DeepCoder可以在一秒鐘之內(nèi)寫出能夠跑通的程序。隨著DeepCoder的編程經(jīng)驗增加,其分辨有用及無用的代碼片的能力增加,其生成程序的速度將會越來越快。
不過麻省理工大學(xué)研究員 Solar-Lezama表示,程序員并不會因此而失業(yè),“在程序員為DeepCoder搭建起程序框架之后,就能夠?qū)⒕Ψ旁诟鼜?fù)雜、更需要經(jīng)驗驅(qū)動的事情上”。
目前DeepCoder只能生成五行左右代碼的程序。但對于某些編程語言來說,五行代碼就足夠了,不是嗎?
目前讓機(jī)器自動生成一個大規(guī)模的程序還不現(xiàn)實,但大程序也是由小的代碼片堆成的。
在知名評論網(wǎng)站Hacker News上,有網(wǎng)友就此事評論道:“論文里的方法很特別,舊有的GPs、GA技術(shù)耗時長,錯誤率大。”
另有網(wǎng)友做出了挑戰(zhàn)生成模型根本性的疑問:“和監(jiān)督學(xué)習(xí)不同,這些能夠生成人臉、畫作、代碼的生成模型,并沒有客觀的測試集來驗證它們是否真的‘生成’了東西。你怎么知道這些被生成的東西不是從訓(xùn)練數(shù)據(jù)集里簡單提取拼湊的呢?”
文章轉(zhuǎn)自()
Microsoft最新正版授權(quán)軟件點擊下載>>>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn