<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 業(yè)界動(dòng)態(tài) > 不做搬運工 微軟AI學(xué)習自行編寫(xiě)代碼

不做搬運工 微軟AI學(xué)習自行編寫(xiě)代碼

作者: 時(shí)間:2017-03-03 來(lái)源:網(wǎng)易科技 收藏

  據國外媒體Quartz報道,要是計算機能夠理解人們想要解決的問(wèn)題,并編寫(xiě)代碼將其解決,而不像Excel那樣要在程序內的菜單人工找尋合適的公式,會(huì )怎么樣?這是一個(gè)非常未來(lái)主義的想法,但在這方面研究院和劍橋大學(xué)最近已經(jīng)取得了進(jìn)展。

本文引用地址:http://dyxdggzs.com/article/201703/344764.htm

  在2016年11月的論文中,和劍橋大學(xué)稱(chēng)它們開(kāi)發(fā)了一種能夠自行編寫(xiě)代碼解決簡(jiǎn)單的數學(xué)問(wèn)題的算法。該算法名為DeepCoder,能夠通過(guò)研究有哪些潛在的代碼組合可以解決問(wèn)題,來(lái)強化自己的能力。(它有點(diǎn)復雜想,下文將會(huì )詳談。)然而,這并不意味著(zhù)該算法從現有軟件那里竊取、復制或者粘貼代碼,也不意味著(zhù)它是通過(guò)搜索互聯(lián)網(wǎng)來(lái)找到解決方案。

  該論文的共同作者、微軟研究院研究者馬克·布洛克施密特(Marc Brockschmidt)表示,“我們在瞄準那些不懂得或者不想編程,但能夠鑒別問(wèn)題的人。”他稱(chēng)該項技術(shù)就像是Excel公式,后者接收簡(jiǎn)單的指令就能夠得出答案,無(wú)需獲得數學(xué)方程式。

  該系統分成兩個(gè)組成部分:代碼編寫(xiě)算法,以及搜索潛在代碼的機制。

  自動(dòng)化代碼

  代碼編寫(xiě)算法的運行并不簡(jiǎn)單,下面先用盡可能簡(jiǎn)單的話(huà)來(lái)說(shuō)明一下。

  一個(gè)數學(xué)問(wèn)題有輸入和輸出——或者說(shuō)你有的數字和你需要計算的數字。研究人員以用非?;A的代碼就能解決的問(wèn)題為例,給算法展示輸入、輸出以及用來(lái)解決它們的代碼。

  不妨拿它來(lái)跟用積木堆砌塔樓的過(guò)程進(jìn)行類(lèi)比。研究人員給算法展示了積木,然后再展示塔樓最終完工后的模樣的圖片。但算法需要知道如何對齊每個(gè)積木的邊緣,使得它們能夠堆砌在其它積木上面。雖然這對于人類(lèi)來(lái)說(shuō)很簡(jiǎn)單,但對于機器來(lái)說(shuō)這并非易事,因為機器不知道重力,也不知道為什么大的積木要放在小積木下面來(lái)提供支撐。

  但如果給機器展示積木堆疊拼湊成最終的塔樓的整個(gè)過(guò)程,讓它觀(guān)看數百乃至數千座塔樓的構建過(guò)程,那它們就將能夠用類(lèi)似形狀的積木來(lái)構建塔樓。而對于DeepCoder而言,積木就是一個(gè)個(gè)的代碼。

  當被要求解決新問(wèn)題,而不是使用之前行得通的代碼的時(shí)候,該算法會(huì )預測什么代碼會(huì )被用來(lái)解決它之前見(jiàn)過(guò)的類(lèi)似問(wèn)題,以及這些代碼會(huì )以怎樣的順序排列。

  學(xué)習整套的編程語(yǔ)言對于這些算法而言過(guò)于復雜,因此微軟和劍橋團隊打造了一種小型語(yǔ)言。它被稱(chēng)作領(lǐng)域特定語(yǔ)言,就像是幼兒的積木玩具。該系統能夠在線(xiàn)上解決簡(jiǎn)單的編程問(wèn)題,這些問(wèn)題一般需要使用3到6行的代碼。

  無(wú)限的可能性

  DeepCoder還能夠搜尋可帶來(lái)可行解決方案的潛在代碼,這可強化它自身編寫(xiě)代碼的能力。它并不是像StackOverflow或者GitHub那樣通過(guò)掃描熱門(mén)代碼庫來(lái)獲得解決方案,盡管研究人員很希望這一點(diǎn)未來(lái)可以實(shí)現。

  “我們會(huì )研究你能在特定的長(cháng)度下用這種語(yǔ)言編寫(xiě)出的所有潛在項目。”布洛克施密特說(shuō)道,“計算機非常善于搜索這些東西。”

  他將該項任務(wù)比作是在毫無(wú)語(yǔ)言知識的情況下僅用一些單詞來(lái)造一個(gè)關(guān)于狐貍越過(guò)小狗的句子。

  一開(kāi)始你可能會(huì )得到“狐貍狐貍狐貍狐貍狐貍狐貍”,然后是“狐貍狐貍狐貍狐貍狐貍小狗”……直至恰當的句子出現。思考該項任務(wù)的另一種方式是Salesforce人工智能研究者史蒂芬·梅里蒂(Stephen Merity)的“無(wú)限猴子理論”。該理論說(shuō),讓無(wú)限數量的猴子完全無(wú)限時(shí)地在鍵盤(pán)上任意敲字,最終會(huì )寫(xiě)出像莎士比亞那樣的作品。這里說(shuō)的是同樣的事情,不同的就只是猴子的鍵盤(pán)不是打字,而是敲代碼。

  但算法搜遍程序所有的變異版本,找出正確的那個(gè)的能力,是該團隊的真正貢獻:該算法可預測哪些代碼最有可能被用來(lái)解決問(wèn)題,然后先關(guān)注那些解決方案。如果算法找到合適的激發(fā),那問(wèn)題就被視作已經(jīng)解決,它對于什么才是合適的代碼的理解也隨之增進(jìn)。

  搜尋代碼聽(tīng)上去像是人類(lèi)的做法——上網(wǎng)去尋找一些代碼行來(lái)解決他們的問(wèn)題——但這只是最接近于恰當描述該算法生成和整理代碼過(guò)程的說(shuō)法。如果人類(lèi)要做該人工智能那樣的技術(shù),那就等于是輸入他們能夠想到的所有代碼組合,然后復制粘貼剛記入新文件的代碼,再看看是否行得通。

  微軟和劍橋團隊表示,他們希望該系統未來(lái)能夠理解完整編程語(yǔ)言的細微差別,能夠識別網(wǎng)絡(luò )上的優(yōu)質(zhì)代碼。



關(guān)鍵詞: 微軟 AI

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>