《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 首次成功用CNN自動生成代碼:北大研究者搞定了爐石傳說

首次成功用CNN自動生成代碼:北大研究者搞定了爐石傳說

2018-11-28

如果人工智能可以自動生成代碼,程序員們就能減少很多工作壓力(失業是不可能失業的)。


北大研究者最近提出了使用卷積神經網絡(CNN)解碼器生成代碼的方法,并在《爐石傳說》數據集上進行了測試,效果超過了此前各類業內最佳模型。該研究的論文已被 AAAI 2019 大會接收。研究者稱,這是首個成功用 CNN 解碼器生成代碼的工作。


我們知道,程序包含對程序建模非常重要的豐富的結構信息。然而,傳統的 Seq2Seq 神經網絡不能直接建模程序結構。圖 1 展示了一個 Python 抽象語法樹(AST)示例,其中的 n3、n6 兩個節點需要擁有父-子節點那樣密集的關聯,但如果該樹是前序穿過序列的,彼此間就會比較遠。這對 Seq2Seq 模型而言就比較困難。

微信圖片_20181128204604.jpg

圖 1:代碼的抽象語法樹(AST):init(a)。


為了解決這個問題,Dong 和 Lapata (2016) 提出了一種沿著程序的抽象語法樹生成代碼的方法,但這種生成仍然處于 token 級別。近來,更多的研究通過在每一步預測或重寫語法規則 (Xiong et al. 2018; Yin and Neubig 2017; Rabinovich, Stern, and Klein 2017) 來生成程序;因此,確保了生成的程序在語法上是正確的。當在這些方法中使用神經網絡時,RNN 被用來捕獲解碼器中預測的自回歸。


在深度學習社區,研究人員對使用卷積網絡作為解碼器越來越感興趣 (Gehring et al. 2017; Chaturvedi, Pandit, and Garain 2018),因為它效率高且容易訓練。研究者進一步觀察發現,程序比自然語言語句大得多,即使是帶有長短期記憶 (Hochreiter and Schmidhuber 1997, LSTM) 單元的 RNN 也存在長期依賴問題 (Bengio, Simard, and Frasconi 1994)。而 CNN,卻能通過滑動窗口有效地捕獲不同區域的特征。


為此,研究者提出了一種基于語法的結構化 CNN 來用于代碼生成。他們的模型根據 AST 中的語法結構規則生成代碼,例如,If → expr stmt* stmt*就遵循了他們先前研究 (Xiong et al. 2018) 中的框架。由于子節點序列是通過一個預測步驟生成的,因此與逐個 token 生成相比,它能夠實現更緊湊的預測。換句話說,該模型預測語法規則序列,最終形成整個程序。


在他們的方法中,語法規則的預測主要基于三種類型的信息:指定生成程序的源序列,先前預測的語法規則,以及已經生成的部分 AST。在這里,第一個信息是編碼器的輸入,后兩者使得解碼器能夠自回歸,和以前一樣,解碼器以編碼器為條件。

微信圖片_20181128204624.jpg

圖 2:模型概覽,虛線箭頭表示注意力控制器。


研究者在已有的基準數據集 HearthStone(爐石傳說)上進行了實驗(如圖 4 所示),任務是 Python 代碼生成(Ling et al. 2016),表 2 展示了該數據集的統計。實驗結果表明他們提出的基于 CNN 的代碼生成方法遠遠超越了以前的基于 RNN 的方法(如表 3 所示)。研究者還進行了擴展性的控制變量測試,表明基于語法的結構化 CNN 相比一般的 CNN 應用方法更優越(如表 4 所示)。研究者進一步在兩個語義解析任務上評估了該方法,其中目標程序比爐石傳說的更短;他們的方法依然得到了和以前的最佳方法相當的性能,表明該方法具備魯棒性(如表 5 所示)。

微信圖片_20181128204645.jpg

圖 4:爐石傳說數據集的示例卡片,(a)輸入描述;(b)輸出程序。

微信圖片_20181128204706.jpg

表 2:數據集統計。

微信圖片_20181128204724.jpg

表 4:控制變量測試。


論文中研究者稱,他們的研究是第一次成功使用 CNN 解碼器生成代碼的工作。表 3 展示了基于 CNN 的代碼生成結果,并與此前的業內最佳模型進行了對比。


如表中所示,新模型在準確率和 BLEU 分數方面都優于以前的所有結果。尤其是,新模型在準確率方面顯著高于此前的業內最佳模型——在字符串準確率上高出了 5%。對于手動調整的準確率來說,Yin & Neubig(2017)曾報告過大約 2% 的提升。在本文中,北大的研究者也觀察到了類似的效果,實現了 30.3% 的 Acc+分數,這證明了新方法的有效性。

微信圖片_20181128204749.jpg

表 3:新模型與此前業內最佳模型的對比,以百分比記。在手動調整后性能大概能增加 2%(Yin and Neubig (2017))。

微信圖片_20181128204818.jpg

表 5:語義分析的準確性(以百分比記)。


論文:A Grammar-Based Structural CNN Decoder for Code Generation

微信圖片_20181128204841.jpg


論文地址:https://arxiv.org/abs/1811.06837


摘要:代碼生成可以將一份程序描述映射為用一種編程語言寫成的可執行源代碼。現有的方法主要依賴于循環神經網絡(RNN)作為解碼器。然而,我們發現程序比自然語言句子包含的 token 要多得多,因此 RNN 可能并不適合捕捉長句。本文提出了一個基于語法的結構化卷積神經網絡(CNN),用于代碼生成。我們的模型通過預測編程語言的語法規則來生成程序;我們設計了若干個 CNN 模塊,包括基于樹的卷積和前序卷積,其信息通過專用的注意力池化層進一步聚集。在爐石傳說基準數據集上的實驗結果顯示,我們的 CNN 代碼生成器的表現超出之前最佳方法 5 個百分點;我們通過另外幾個實驗在若干語義分析任務上驗證了模型的魯棒性。為了更好地理解模型的每個部分,我們還進行了深入的控制變量測試。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久激情视频| 欧美日本二区| 一本在线高清不卡dvd| 久久国产日本精品| 性欧美超级视频| 亚洲亚洲精品在线观看| 亚洲精品综合久久中文字幕| 在线观看亚洲精品| 韩国一区二区三区美女美女秀| 国产欧美成人| 国产精品美女www爽爽爽视频| 欧美特黄视频| 国产精品成av人在线视午夜片| 欧美日韩在线视频一区| 欧美人与性动交a欧美精品| 欧美精品一卡| 欧美日韩久久久久久| 欧美日本一区二区视频在线观看| 欧美激情bt| 欧美日韩精品三区| 欧美日韩视频免费播放| 欧美日韩久久| 国产精品乱子久久久久| 国产精品亚洲片夜色在线| 国产欧美日韩一区二区三区在线| 国产欧美精品日韩| 国内精品久久国产| 在线播放亚洲一区| 亚洲日韩中文字幕在线播放| 亚洲日韩第九十九页| 亚洲精品国产拍免费91在线| 99在线观看免费视频精品观看| 野花国产精品入口| 亚洲欧美大片| 久久精品女人天堂| 亚洲精选大片| 亚洲一区二区三区高清不卡| 午夜免费日韩视频| 久久久久久欧美| 欧美a级大片| 欧美日韩精品在线视频| 国产精品日日摸夜夜添夜夜av| 国产欧美精品日韩区二区麻豆天美| 国产一区二区三区在线播放免费观看 | 欧美一区二区三区四区视频 | 亚洲少妇最新在线视频| 欧美一区二区播放| 米奇777超碰欧美日韩亚洲| 欧美久久视频| 国产精品午夜春色av| 狠久久av成人天堂| 亚洲免费观看高清完整版在线观看熊| 在线视频精品| 亚洲福利在线看| 亚洲一区欧美| 噜噜噜91成人网| 欧美天天在线| 黄色成人精品网站| 一本色道久久综合亚洲91| 性做久久久久久久久| 日韩视频一区二区三区在线播放| 亚洲欧美久久久| 欧美大尺度在线观看| 国产伦一区二区三区色一情| ●精品国产综合乱码久久久久| 日韩小视频在线观看| 久久不射电影网| 中文久久精品| 久久一区二区三区四区五区| 国产精品v日韩精品| 在线观看不卡| 亚洲一区不卡| 日韩亚洲不卡在线| 久久久精品国产一区二区三区| 欧美人成免费网站| 黄色成人片子| 亚洲欧美中文日韩v在线观看| 亚洲精品一区二区三区樱花| 久久精品成人| 欧美午夜一区| 91久久香蕉国产日韩欧美9色| 午夜精品久久久久久久99樱桃| 亚洲最新在线| 欧美xxx成人| 国产一区二区三区久久久| 亚洲视频网在线直播| 亚洲美女在线看| 另类图片国产| 国产亚洲精品高潮| 亚洲伊人一本大道中文字幕| 99热免费精品| 欧美国产日韩xxxxx| 国色天香一区二区| 亚洲欧美综合精品久久成人| 亚洲一区自拍| 欧美日韩国产首页| 亚洲第一精品夜夜躁人人躁| 午夜精品视频网站| 亚洲伊人网站| 欧美日韩免费观看一区| 亚洲二区在线视频| 亚洲国产91精品在线观看| 欧美专区在线播放| 国产精品久久激情| 99国产精品久久久久久久久久| 亚洲精品中文字幕在线观看| 久久一区二区三区四区| 国产一区二区三区不卡在线观看| 亚洲一卡久久| 午夜一区在线| 国产精品免费网站在线观看| 夜色激情一区二区| 亚洲一区二区三区免费观看| 欧美日韩国内| 亚洲精品自在久久| 一区二区三区波多野结衣在线观看| 麻豆精品精华液| 黑人操亚洲美女惩罚| 欧美在线观看网址综合| 久久精品99国产精品酒店日本| 国产精品影音先锋| 亚洲综合色激情五月| 午夜在线成人av| 国产麻豆日韩| 欧美专区在线观看| 久久综合九色九九| 伊人久久婷婷色综合98网| 久久精品国产亚洲精品| 久久riav二区三区| 久久精品日韩欧美| 欧美一区二区三区男人的天堂| 欧美ed2k| 欧美性色aⅴ视频一区日韩精品| 日韩特黄影片| 亚洲一区二区三区三| 欧美性生交xxxxx久久久| 在线综合欧美| 午夜精品亚洲| 国产日韩成人精品| 久久er精品视频| 免费av成人在线| 亚洲人成网站999久久久综合| 夜夜嗨av一区二区三区四区| 欧美日韩亚洲视频| 亚洲欧美不卡| 老**午夜毛片一区二区三区| 在线观看亚洲精品| 正在播放亚洲一区| 国产精品日韩二区| 欧美制服丝袜第一页| 美女诱惑黄网站一区| 亚洲精品国久久99热| 亚洲女同性videos| 国产综合第一页| 99亚洲精品| 国产麻豆午夜三级精品| 亚洲第一天堂无码专区| 欧美伦理91| 午夜精品影院在线观看| 女仆av观看一区| 亚洲少妇中出一区| 久久综合九色综合欧美就去吻| 亚洲国产另类久久久精品极度| 亚洲午夜羞羞片| 国产综合欧美在线看| 99国产精品99久久久久久粉嫩 | 国产日韩欧美日韩| 亚洲人体影院| 国产精品三级久久久久久电影| 久久本道综合色狠狠五月| 欧美连裤袜在线视频| 亚洲欧美在线一区| 欧美激情精品久久久久久| 亚洲免费一在线| 欧美福利视频一区| 午夜视频精品| 欧美日韩美女在线观看| 久久国产一区二区| 欧美视频在线观看 亚洲欧| 欧美在线观看视频一区二区三区| 欧美日本韩国| 久久国内精品自在自线400部| 欧美日本在线视频| 欧美综合国产精品久久丁香| 欧美日韩精品一区二区三区四区| 欧美中文字幕在线观看| 欧美日韩三级一区二区| 久久国产综合精品| 国产精品欧美在线| 99精品视频免费观看| 国产日韩欧美中文| 日韩手机在线导航| 黄色精品免费| 欧美亚洲免费高清在线观看| 亚洲国产日韩欧美在线动漫| 国产精品成人v| 亚洲国产欧美日韩精品| 欧美亚一区二区| 亚洲黄色免费网站| 国产农村妇女精品一二区|