當前位置:
首頁 > 最新 > 最近有很多關於代碼在經過訓練的神經網路的幫助下自己編寫代碼的話題

最近有很多關於代碼在經過訓練的神經網路的幫助下自己編寫代碼的話題

最近有很多關於代碼在經過訓練的神經網路的幫助下自己編寫代碼的話題,但是除了一些有限的用例之外,它變為現實仍需要相當長的一段時間——至少對於普通的開發工作來說是這樣的。

儘管自動代碼生成並不是一個新概念,但由於在神經網路框架中具有更好的功能和易用性,它已獲得了全新的關注。但就像在其他領域,人工智慧被吹捧為「短期實現自動化的救星」一樣,這樣大肆宣揚其實並不合適,將科技廣泛應用到現實具有很高的複雜性,至少現在還不行。

就在過去一段時間裡,谷歌、微軟和IBM都曾推出了一種新的方法來提高開發人員的生產力,並通過深度學習框架來充實自己——至少在某種程度上是這樣。新聞標題一般是,代碼是自己編寫自己,程序員將不再成為必要。然而在現實中,除了開發人員的生產力角度之外,所有這些自動生成代碼的應用都提到了:用例仍然是有限的。

微軟研究公司最近發布了DeepCoder,這是一種神經網路,它通過輸入和輸出大量的源代碼來預測一個程序的屬性。由於各種編程競爭問題,需要更快的代碼生成和更高級別的難度。IBM研究院的另一項研究,掃描了數以千計的同行評審的代碼、框架和庫細節,以幫助開發人員引導神經網路模型生成。

對於DeepCoder來說,要在一段時間內生成大量的代碼是很困難的,而且對於IBM的研究工作來說,由於數據輸入(分散在文件中,數據碎片等),也有一些限制。谷歌的AutoML只適用於定義的框架,因為標準化是實現任何東西的關鍵,特別是自定義的神經網路。

儘管IBM研究院的人工智慧工程總監Rania Khalaf表示,通過代碼庫、在體系結構方面收集足夠多的神經網路來構建自己的模型是可能的,但它遠不止於此。這是因為至少在IBM的工作中,沒有標準的框架或庫,開發人員社區在足夠的質量上使用自動代碼生成能力。

Khalaf說,我們可能更接近於讓人工智慧通過像GitHub這樣的代碼庫進行掃描,並從中獲得一些有意義的東西,但是「close」是相對的。「大家可能會認為這很容易實現,但從開發人員和數據科學家的角度來看,要實現完全自動化,必須有一個重要的『人工介入』因素。」甚至可以在不同的平台、編程模型和庫中進行廣泛的泛化,這遠比IBM研究院強調的深度學習論文的努力要困難得多。

來自IBM研究院的DLPaper2Code的研究人員Senthil Mani指出,深度學習方法之間的互操作性是最大的問題之一。他的團隊正在研究一種「語法」來解決這個問題——一種可能與平台無關的抽象表示。他補充說:「如果某一個標準能夠在社區中得到採納,就有可能自動生成更多的代碼。」

「更進一步的目標,是使深度學習面向更大的開發者群體,實現深度學習的『民主化』。開發人員多數在Java等語言方面很擅長,現在必須投入到人工智慧應用程序的開發中,且在獲取這些庫和框架方面仍存在很大的技術差距。我們已經開始構建一個工具,人們可以藉此設計一個基於一些網路、層和超參數組合的深度學習模型。實現和編碼模式將不同於配置,但最終目標是只需一個想法,開發人員就可以通過『拖放』層來完成構建模型。」

除了標準化,Mani說,他們在自動代碼生成方面取得進展的另一個領域是預測神經網路的層次,這將會增加整體的生產力,但仍然依賴於上面描述的「人工介入」方面。

不過,Mani也同意,我們離自動化程序員的未來還有很長一段路要走。「我們現在看到的更多的是縮短開發人員的時間和精力,以引導他們創建模型。」即使是這個問題本身也很難解決——我們只觸及了表面。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 北極熊啊 的精彩文章:

驅動銀行業形成新的競爭格局和經營業態

TAG:北極熊啊 |