谷歌:讓計(jì)算機(jī)實(shí)現(xiàn)自我編程,自主機(jī)器時(shí)代不再遙遠(yuǎn)
新智元導(dǎo)讀:許多人對AI的想象都停留在應(yīng)用層,而忽視了技術(shù)層AI也將產(chǎn)生顛覆——讓機(jī)器自己編程。谷歌大腦、DeepMind、Facebook甚至Viv 都在這一方向上努力,發(fā)表了一系列研究論文。Venture Beat 作者 Lucas Carlson認(rèn)為,機(jī)器自我編程其實(shí)離我們并不遙遠(yuǎn),將很快實(shí)現(xiàn)。一旦機(jī)器做到這一步,在軟件發(fā)揮重大作用的所有領(lǐng)域,將會經(jīng)歷一場顛覆性的變革。
原創(chuàng)
2016-11-29 16:34:51
來源:新浪科技??

  歡迎關(guān)注“創(chuàng)事記”的微信訂閱號:sinachuangshiji

  編譯/新智元

  新智元導(dǎo)讀:許多人對AI的想象都停留在應(yīng)用層,而忽視了技術(shù)層AI也將產(chǎn)生顛覆——讓機(jī)器自己編程。谷歌大腦、DeepMind、Facebook甚至Viv 都在這一方向上努力,發(fā)表了一系列研究論文。Venture Beat 作者 Lucas Carlson認(rèn)為,機(jī)器自我編程其實(shí)離我們并不遙遠(yuǎn),將很快實(shí)現(xiàn)。一旦機(jī)器做到這一步,在軟件發(fā)揮重大作用的所有領(lǐng)域,將會經(jīng)歷一場顛覆性的變革。

  想象AI 的未來是很有趣的:家庭服務(wù)機(jī)器人、亞馬遜的智能家庭中樞(Echo)等設(shè)備將走進(jìn)每家每戶,還有無人機(jī)快遞和更加精準(zhǔn)的醫(yī)學(xué)診斷。這些吸人眼球的消費(fèi)應(yīng)用充斥著公眾的想象,以至于大家都忽視了AI對另一個(gè)領(lǐng)域的顛覆——軟件本身的發(fā)展。

  想象一下,如果計(jì)算機(jī)自己能理解自己,它們可以做些什么?用不了多久,計(jì)算機(jī)就能做到這件事。并且,我不是在描述遙遠(yuǎn)的未來,我說的是觸手可及的現(xiàn)在,使用時(shí)下現(xiàn)有的技術(shù)就能達(dá)到。

  迄今為止,機(jī)器學(xué)習(xí)的專家傾向于聚焦那些為特定任務(wù)開發(fā)的AI 應(yīng)用,比如人臉識別、自動駕駛、語音識別甚至是搜索。但是,如果這些類似的算法能夠在不需要人為幫助、解釋或者干預(yù)的情況下,理解它們自身的代碼結(jié)構(gòu)呢?正如他們理解人類的語言和圖像一樣。

  如果代碼開始對自己進(jìn)行分析、自我修正并提升,且速度比認(rèn)為的更快,那么技術(shù)的突破可能會來得更快。由此帶來的可能性是無止境的:醫(yī)學(xué)的進(jìn)步、更加自然的機(jī)器人、更智能的手機(jī)、更少bug的軟件,更少的銀行欺詐等等。

  人工智能具有解決軟件開發(fā)中的一個(gè)古老問題的潛力。代碼編寫或操縱其他代碼的能力的概念已經(jīng)存在了很長時(shí)間,一般稱為元編程(它實(shí)際上起源于20世紀(jì)50年代末的Lisp)。它解決的難題,目前都還在人們的想象之中。

  但是,現(xiàn)在人工智能讓改變發(fā)生了。

  使用人工智能,計(jì)算機(jī)能夠理解一個(gè)軟件開發(fā)項(xiàng)目從無到有的發(fā)展歷史過程中的所有代碼,并立即改進(jìn)或者刪除單獨(dú)一行代碼中的bug,不管是用什么編程語言。即便是一個(gè)缺乏經(jīng)驗(yàn)的或者中等水平的程序員都能講清楚讓計(jì)算機(jī)自我編程的原理。由此,一個(gè)癌癥項(xiàng)目的研究可能幾天或者幾個(gè)月就能完成,而不需要花費(fèi)好幾年的時(shí)間,這將帶來顯著的進(jìn)步。

  今天,這項(xiàng)最終將會帶來顛覆性改變的技術(shù)尚處在萌芽時(shí)期,但是,它已經(jīng)開始生長。比如,谷歌的TensorFlow機(jī)器學(xué)習(xí)軟件,讓每位程序員都能將神經(jīng)網(wǎng)絡(luò)直接融入到所開發(fā)的APP中,讓APP擁有識別圖片中的人和物體的能力。要把這些想法變成現(xiàn)實(shí),你將不再需要一個(gè)博士學(xué)位。讓業(yè)余人士也可以修正程序,這可能會成為AI發(fā)展歷史上最大的突破。

  谷歌的目標(biāo):大部分代碼都不需要人為編寫

  國外著名科技記者 Steven Levy 今年 6 月在他刊于 BackChannel 的文章《谷歌如何將自己重塑為一家“AI 為先”的公司》(How Google Is Remaking Itself As A “Machine Learning First” Company)中提到,谷歌大腦負(fù)責(zé)人 Jeff Dean 表示,隨著他和團(tuán)隊(duì)對機(jī)器學(xué)習(xí)了解得更多,他們利用機(jī)器學(xué)習(xí)的方法也更加大膽?!耙郧埃覀兛赡茉谙到y(tǒng)的幾個(gè)子組件中使用機(jī)器學(xué)習(xí),”Jeff Dean 說:“現(xiàn)在我們實(shí)際上使用機(jī)器學(xué)習(xí)來替換整套系統(tǒng),而不是試圖為每個(gè)部分制作一個(gè)更好的機(jī)器學(xué)習(xí)模型。”Levy 在文中寫道,如果現(xiàn)在讓 Jeff Dean 改寫谷歌的基礎(chǔ)設(shè)施,大部分代碼都不會由人編碼,而將由機(jī)器學(xué)習(xí)自動生成。

  谷歌的代碼bug預(yù)測系統(tǒng),使用一個(gè)得分算法,隨著commits變得越來越舊,它們的價(jià)值越來越小。

  認(rèn)為計(jì)算機(jī)自我編程離我們還很遠(yuǎn)?如果我告訴你,一些大公司,比如谷歌,已經(jīng)開始在內(nèi)部的項(xiàng)目管理系統(tǒng)中嘗試使用這一概念,你可能會覺得震驚。但是,谷歌確實(shí)已經(jīng)開發(fā)了一個(gè) bug 預(yù)測程序,使用機(jī)器學(xué)習(xí)和統(tǒng)計(jì)分析,來判斷某一行代碼是否存在瑕疵。谷歌工程師、W3C的聯(lián)合主席 Ilya Grigorik 也開發(fā)了一個(gè)開源版本的 bug 預(yù)測工具,目前已被下載 2萬次。

  開源地址:https://github.com/igrigorik/bugspots

  Ilya Grigorik ,圖片來自twitter

  另一個(gè)例子來自Siri 的繼承者——Viv。Wired 最近的一篇報(bào)道中寫道,Viv 不僅使用一系列的自然語言處理來實(shí)現(xiàn)語言識別, 還基于英語詞匯建立了復(fù)雜的自適應(yīng)性計(jì)算機(jī)程序。代碼自己寫代碼(Code writing code)。由于被寫入的代碼是經(jīng)過Viv的開發(fā)人員自己訓(xùn)練和專門化的,所以這里的“寫代碼”并不是我們通常所說的寫代碼的能力,但這確實(shí)是一個(gè)大的進(jìn)步。

  在這個(gè)方向上,另一個(gè)大的進(jìn)步來自非專業(yè)領(lǐng)域。Emil Schutte 曾有過一句非常具有挑釁性的言論:厭倦了寫代碼?我也是!讓Stack Overflow來做這件事吧。他分享了一個(gè)例子來證明這一概念,從Stack Overflow 的大型編程數(shù)據(jù)庫中提取完整的工作代碼,來提供完整的功能代碼塊,但是,這樣得到的模塊還是基于已經(jīng)寫好的代碼。

  DeepMind 的嘗試

  實(shí)際上更早之前,DeepMind 團(tuán)隊(duì)開發(fā)了一個(gè)“神經(jīng)編程解釋器”(NPI),能自己學(xué)習(xí)并且編輯簡單的程序,排序的泛化能力也比序列到序列的 LSTM 更高。描述這項(xiàng)研究的論文《神經(jīng)程序解釋器》(Neural Programmer-Interpreters),被評選為 ICLR16 最佳論文。

  NPI 是一種遞歸性的合成神經(jīng)網(wǎng)絡(luò),能學(xué)習(xí)對程序進(jìn)行表征和執(zhí)行。NPI 的核心模塊是一個(gè)基于 LSTM 的序列模型,這個(gè)模型的輸入包括一個(gè)可學(xué)習(xí)的程序嵌入、由調(diào)用程序傳遞的程序參數(shù)和對環(huán)境的特征表征。這個(gè)核心模塊的輸出包括,一個(gè)能指示接下來將調(diào)用哪個(gè)程序的鍵、一個(gè)經(jīng)典算法程序的參數(shù),以及一個(gè)能指示該程序是否該停止的標(biāo)記。除了遞歸性內(nèi)核外,NPI 構(gòu)架還包括一個(gè)內(nèi)嵌的可學(xué)習(xí)程序的鍵值內(nèi)存。這種程序-內(nèi)存的結(jié)構(gòu)對于程序的持續(xù)學(xué)習(xí)和重用是極其重要的。

  圖 6:NPI 與 序列到序列 LSTM 對不同長度的序列進(jìn)行排序的準(zhǔn)確率對比,最長序列含有20個(gè)數(shù)組。

  NPI 有三個(gè)擁有學(xué)習(xí)能力的部件:一是任務(wù)未知的遞歸內(nèi)核,二是持續(xù)鍵值程序內(nèi)存,三是基于特定領(lǐng)域的編碼器,這個(gè)編碼器能在多個(gè)感知上有差異的環(huán)境中讓單一的 NPI 提供截然不同的功能。通過合成低層程序表達(dá)高層程序,NPI 減少了樣本復(fù)雜性,同時(shí)比序列到序列的 LSTM 更容易泛化。通過在既有程序的基礎(chǔ)上進(jìn)行建構(gòu),程序內(nèi)存能高效學(xué)習(xí)額外的任務(wù)。NPI 也可以利用環(huán)境緩存計(jì)算的中間結(jié)果,從而減輕遞歸隱藏單元的長期存儲負(fù)擔(dān)。

  不過,當(dāng)時(shí) DeepMind 團(tuán)隊(duì)并未使用無監(jiān)督學(xué)習(xí)的方法的訓(xùn)練 NPI,其模型也只能學(xué)習(xí)合成若干種簡單的程序,包括加法、排序和對 3D 模型進(jìn)行正則化轉(zhuǎn)換。不過,單一 NPI 能學(xué)會執(zhí)行這些程序以及所有 21 個(gè)關(guān)聯(lián)子程序。

  田淵棟對計(jì)算機(jī)自我編程的研究綜述

  Facebook 人工智能實(shí)驗(yàn)室研究員田淵棟在他提交 ICLR17 的文章中,就有一篇研究了這方面的問題。

  論文摘要:構(gòu)建能夠通過自動推斷(infer),將一組輸入映射到輸出的計(jì)算機(jī)程序仍是一個(gè)開放且極具挑戰(zhàn)性的問題。由于在可能的程序上存儲著巨大的搜索空間,并且需要處理高階邏輯(如 for循環(huán)或遞歸),所以程序進(jìn)行歸納(induction)任務(wù)是很困難的。在本文中,我們使用 Hierarchical Generative Convolutional Neural Networks(HGCNN),自動根據(jù)輸入/輸出對生成程序。HGCNN 以層次式預(yù)測候選代碼串,由此可以使用標(biāo)準(zhǔn)的搜索技術(shù)來構(gòu)造程序。應(yīng)當(dāng)注意,該模型僅使用隨機(jī)生成的程序進(jìn)行訓(xùn)練,因此可被視為一種無監(jiān)督學(xué)習(xí)的方法。我們證明,文中所提出的方法可以生成程序,從簡單的 Swap 到更復(fù)雜的循環(huán)和分支(比如找到一串?dāng)?shù)組中的最大值)。我們還展示了使用該方法,在實(shí)現(xiàn)諸如 Bubble Sort 等嵌套循環(huán)程序時(shí)取得的不錯(cuò)結(jié)果。將 LSTM 等作為比較的基礎(chǔ),新方法的預(yù)測精度有了顯著的提高。

  田淵棟在《深度學(xué)習(xí)沒有解決的理論問題》里表示,這篇論文將算法的輸入輸出的結(jié)果抽取特征后,送入卷積神經(jīng)網(wǎng)絡(luò)文獻(xiàn)中,再層次式地生成圖像的經(jīng)典框架,生成一張二維圖,每一行就是一行代碼,或者更確切地說,是代碼的概率分布。有了好的分布,就可以幫助啟發(fā)式搜索找到正確的程序。而神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),則由大量的隨機(jī)代碼、隨機(jī)輸入及隨機(jī)代碼執(zhí)行后得到的輸出來提供——基本不需要人工干預(yù),算是一種非監(jiān)督的辦法。

  同時(shí),田淵棟還在后面補(bǔ)充:“等到今年的 ICLR 的文章一公布,隨便翻一翻就找到了七篇計(jì)算機(jī)自動生成(或者自動優(yōu)化)代碼的文章。打開一看,引論里全在描述同樣的動機(jī)?!?/p>

  那這個(gè)動機(jī)就是什么?

  “讓計(jì)算機(jī)自己寫代碼”。

  一旦機(jī)器可以理解自己,一場顛覆性變革將會發(fā)生

  隨著越來越多的這類技術(shù)變得成熟,機(jī)器將會在各種各樣的任務(wù)上超越人類。那么,機(jī)器為什么不能理解自己呢?我想這只是時(shí)間的問題。并且,一旦機(jī)器做到這一步,你會發(fā)現(xiàn),在軟件發(fā)揮重大作用的所有領(lǐng)域,將會經(jīng)歷一場顛覆性的變革。

  人工智能的核心挑戰(zhàn)之一便是教會機(jī)器學(xué)習(xí)新的程序、從既有程序中快速地編寫新程序,并自動在一定條件下執(zhí)行這些程序以解決廣泛種類的任務(wù)。在各種人工智能問題中,程序以不同的面貌出現(xiàn),包括運(yùn)動行為、圖像轉(zhuǎn)換、強(qiáng)化學(xué)習(xí)策略、經(jīng)典算法和符號關(guān)系等等。

  現(xiàn)在,機(jī)器已經(jīng)能夠自動執(zhí)行越來越多的程序,而且現(xiàn)在開源代碼這么多,如果把歷史上的代碼都學(xué)習(xí)一下,很多編程場景應(yīng)該是可以自動化的,至少可以大大減少人工。人類程序員尤其是初級程序員的工作被取代的可能性,也越來越大。

來源:github,venturebeat 等編輯: 胡祥杰 王楠

最新文章
1
“冰爽體驗(yàn)”消費(fèi)升溫,制冰家電面臨哪些挑戰(zhàn)?
2
空調(diào)行業(yè)"銅鋁之爭":當(dāng)成本博弈撞上品質(zhì)底線
3
最強(qiáng)配置!小米MIX Flip 2搭載驍龍8至尊版+5165mAh電池
4
行業(yè)唯一折疊機(jī)皇!榮耀Magic V5搭載滿血驍龍8至尊版
5
GPMI技術(shù)破局電視操作復(fù)雜難題,產(chǎn)業(yè)生態(tài)加速商用落地
6
長虹品牌價(jià)值突破2500億背后的三重驅(qū)動力
7
索尼中國亮相2025碳博會:融合創(chuàng)新科技與娛樂,賦能低碳未來?
8
容聲世俱杯宣言:不止于新鮮,領(lǐng)跑冰箱“養(yǎng)鮮”新主場
9
磁力金牛助3C消電好物大促快速打爆,收獲節(jié)點(diǎn)增長
10
5位老板娘連麥快手小店 了不起的老板娘活動助新潛主播618漲粉
11
冒險(xiǎn)再啟程!快手團(tuán)綜《帶你趣戶外2025》官宣定檔
12
快手「梨園烽火令」收官之夜落幕,帶領(lǐng)用戶感受傳統(tǒng)文化煥新魅力
13
快手618購物節(jié):全域經(jīng)營驅(qū)動行業(yè)增長,成交破億商品數(shù)同比增長475%
14
快手本地生活2025聚力城市生態(tài)大會首站落地長春 助力區(qū)域本地商業(yè)增長
15
車載顯示迎來三大革命丨“抬頭”革命
16
OLED電視三強(qiáng)格局初步形成,但是依然面臨市場競爭壓力
17
1380億元的“國補(bǔ)”即將抵達(dá),廚電業(yè)仍舊有人歡喜有人憂
18
華為首款鴻蒙旗艦電視要來了!曝光了這些功能
19
蘋果iPhone 17 Pro首次堆散熱:均熱板諜照曝光
20
電視銷量下滑 面板價(jià)格撐不住了 32-98英寸全面下跌
關(guān)于我們

微信掃一掃,加關(guān)注

商務(wù)合作
  • QQ:61149512