論文自動轉程式碼!IBM印度大三實習生搞了個神奇研究(已中AAAI)
李林 嶽排槐 發自 凹非寺
量子位 出品 | 公眾號 QbitAI
深度學習的論文越來越多了~
多到什麼程度?Google scholar的資料顯示,2016年以來,人工智慧領域新增的論文已經超過3.5萬篇。arXiv上,AI相關的論文每天都不下百篇。
剛剛結束不久的計算機視覺會議ICCV上,發表了621篇論文;2018年的ICLR,有1004篇論文正在匿名開放評審;NIPS 2017共收到3240篇論文投稿。
研究成果極大豐富了,但離應用到產品中,還差一大步:把論文轉化成程式碼。畢竟,作者順便提供原始碼的是少數。
怎麼辦?
IBM印度研究院最近公佈了一項新研究:DLPaper2Code,顧名思義,這個程式能夠用深度學習技術,將論文轉化成程式碼。
△ 論文轉程式碼的過程
這麼神奇?!該不是看到一篇假研究?
坦白講,相關論文DLPaper2Code: Auto-generation of Code from Deep Learning Research Papers已經被AAAI 2018接收為會議論文。
AAAI是人工智慧頂會之一,明年就是第32屆了,2月2-7日在美國路易斯安那州的新奧爾良召開。百度、京東是大會的黃金贊助商。
深度學習論文自動轉程式碼
這篇論文中指出,由於大部分深度學習論文都會用流程圖來表示神經網路模型的設計模式,因此,在論文轉換成程式碼的過程中,DLPaper2Code首先提取、理解論文中描述的深度學習設計流程圖和表格,將它們轉化成抽象的計算圖。
然後,它會把抽取的計算圖轉換成Keras和Caffe框架下的可執行原始碼。
IBM的這項研究,總共生成了5000篇arXiv深度學習論文的Caffe和Keras程式碼,還建立了一個網站,供同行們眾包編輯這些程式碼。不過,這個網站的地址還沒有公佈,目前只能看到截圖:
在提取流程圖的過程中,IBM的研究員們遇到了一些障礙:他們需要讓程式提取論文中所有圖表之後,再進行一次分類,找出包含深度學習模型設計的那些,去掉那些和模型相關性不大的描述性圖片和展示結果的表格。
但是,論文中介紹深度學習模型設計的圖千奇百怪,表格的結構也各不相同。
怎樣讓程式自動找出有用的圖表呢?IBM研究員們人肉處理了論文中的3萬張圖,將深度學習模型設計圖分成了5大類:
△ 5大類深度學習模型設計圖
1. 神經元分佈圖;
2. 2D Box:將每個隱藏層表示為一個2D方塊;
3. Stacked2D Box:將神經網路每一層表示為堆疊的2D方塊,表示層的深度;
4. 3D Box:將每個隱藏層表示為一個3D立方體結構;
5. 表示整個流程的Pipeline plot。
而表格,主要包括橫排表示模型設計流程和縱列表示模型設計流程兩類。
在此基礎上,他們構建了一個細粒度的分類器,來把圖表分到上面提到的5類圖2類表之中,然後就可以使用OCR等工具將圖表中的內容提取出來。
△ 從圖中提取內容的過程
圖表內容提取出來之後,就可以根據這些資訊構建計算圖並生成原始碼了。
△ 池化2D層對應的計算圖、Caffe(Protobuf)和Keras(Python)程式碼
自動生成的程式碼究竟怎麼樣呢?
為了對DLPaper2Code進行評估,IBM研究員們建立了一個包含21.6萬份設計視覺化圖的模擬資料集,在這些資料集上的實驗顯示,上面講的模型,在流程圖內容提取上準確率可達93%。
AI自動化暢想曲
上面這個研究。來自IBM印度研究院。
共有五位署名作者:Akshay Sethi、Anush Sankaran、Naveen Panwar、Shreya Khare、Senthil Mani。其中第一作者Akshay Sethi,明年才會本科畢業。目前是IBM印度研究院的實習生。
嗯,實習生又開掛了。中外概莫能外~
但這麼一篇清新脫俗的研究,真能在實踐中應用麼?
在reddit上,不少人還是對這篇論文有點心生疑慮。比方有人覺得這個論文很有意思,但是細細讀下來,還是有些地方比較奇怪。但也有人覺得雖然標題有點唬人,但這項研究感覺還是不錯。當然也有人直言:浪費時間。
更多的結論還有待時間考驗,但歸根結底,這些都是AI自動化方向的一種探索。讓AI自己搞定AI,讓軟體自己編寫軟體,一直都是研究人員追逐的目標。
比方今年5月,Google釋出了AutoML。對,就是跟今天正式推出的TensorFlow Lite同天釋出的AutoML。
AutoML就是要讓神經網路去設計神經網路。谷歌希望能借AutoML來促進深度學習開發者規模的擴張,讓設計神經網路的人,從供不應求的PhD,變成成千上萬的普通工程師。
也是在今年,MIT學者開發出一套系統,能夠自動給程式碼打補丁。
聽起來,以後碼農越來越好乾了呢。其實不是。
要知道,微軟和劍橋聯合開發了一個系統:DeepCoder。就能夠通過搜尋一系列程式碼建立一個完整的程式,可達到程式設計比賽的水平。而且,這個系統還能通過自我訓練能夠變得更聰明。未來程式設計師的飯碗也不是很鐵了。
前端也別笑。有家公司正在開發和完善一套“pix2code”的深度學習系統。正這個系統能夠根據輸入的圖形使用者介面(GUI)截圖直接輸出對應的程式碼,從而省去前端手動編寫程式碼的過程。不信?傳送門在此。
嗯,一個新時代真的來了。
論文獲取
想要下載這篇論文,可以在量子位微信公眾號(ID:QbitAI)後臺對話介面,回覆:“p2c”三個字元即可。
— 完 —
活動報名
△ 點選圖片或閱讀原文
即可報名參賽和獲取更多詳情
聯想全國高校AI精英挑戰賽,面向全國徵集優秀AI相關領域技術與應用。此次將在全國8大賽區、260所高校開啟專案收集和溝通評判,最終入圍總決賽的8支參賽隊伍,將獲得聯想創投投資。
加入社群
量子位AI社群11群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot4入群;
此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。
進群請加小助手微訊號qbitbot4,並務必備註相應群的關鍵詞~通過稽核後我們將邀請進群。(專業群稽核較嚴,敬請諒解)
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話介面,回覆“招聘”兩個字。
量子位 QbitAI · 頭條號簽約作者
վ'ᴗ' ի 追蹤AI技術和產品新動態