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