微軟AI學(xué)習自行編寫(xiě)代碼
matthew 2017.03.03 07:46 人工智能概念股
據國外媒體Quartz報道,要是計算機能夠理解人們想要解決的問(wèn)題,并編寫(xiě)代碼將其解決,而不像微軟Excel那樣要在程序內的菜單人工找尋合適的公式。這是一個(gè)非常未來(lái)主義的想法,但在這方面微軟研究院和劍橋大學(xué)最近已經(jīng)取得了進(jìn)展。
在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)題的人?!彼Q(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ě)出的所有潛在項目?!辈悸蹇耸┟芴卣f(shuō)道,“計算機非常善于搜索這些東西?!?/p>
他將該項任務(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ì)代碼。
人工智能概念股:埃斯頓、科大智能、漢王科技、江南化工、華東數控、和而泰、中科曙光、永創(chuàng )智能、北京君正、通富微電、永創(chuàng )智能、勁拓股份。
人工智能概念股
那么問(wèn)題來(lái)了:最值得配置的人工智能概念股是哪只?即刻申請進(jìn)入國內首個(gè)免費的非公開(kāi)主題投資交流社區概念股論壇參與討論!
申明:本文為作者投稿或轉載,在概念股網(wǎng) http://m.medicalvoicenetwork.com/ 上發(fā)表,為其獨立觀(guān)點(diǎn)。不代表本網(wǎng)立場(chǎng),不代表本網(wǎng)贊同其觀(guān)點(diǎn),亦不對其真實(shí)性負責,投資決策請建立在獨立思考之上。