自從16年的阿爾法狗圍棋事件之后,人工智能的熱度又一次上升到全民關(guān)注的時代。 近期,由劍橋大學(xué)聯(lián)合微軟研究人員開發(fā)的機器學(xué)習(xí)系統(tǒng)DeepCoder能夠?qū)崿F(xiàn)自主編寫代碼,真是厲害害了我的AI。 網(wǎng)絡(luò)配圖 DeepCoder使用神經(jīng)網(wǎng)絡(luò)從現(xiàn)有的軟件里學(xué)習(xí)代碼片段,然后將其組合成為新的代碼。這種科技的發(fā)展會大大減少開發(fā)代碼需要的時間,但是會讓很多底層的程序員失業(yè)(高級程序員可以轉(zhuǎn)向其他復(fù)雜的任務(wù))。想想老王我連個初級程序員都算不上,那不是還沒就業(yè)已經(jīng)失業(yè)了,-_-||。 今天給大家聊一聊機器編程的那些事。目前基于神經(jīng)網(wǎng)絡(luò)編程的主流方案大致分為兩個派別:黑盒派和代碼生成派,盡管都是基于深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)基礎(chǔ)的,但是兩者的發(fā)展路線有著較大的差異。 黑盒派是神經(jīng)網(wǎng)絡(luò)編程中最為典型的一種,通常定義為隱藏編程系統(tǒng)的代碼片段,從輸入輸出的數(shù)據(jù)中學(xué)習(xí)轉(zhuǎn)換規(guī)則,并使用這些規(guī)則完成特定任務(wù)。因為我們無法得知她具體學(xué)習(xí)到什么樣的規(guī)則,所以稱之為黑盒,缺點是無法分析系統(tǒng)存在的問題以及提出有針對性的改進方案。 黑盒系統(tǒng)結(jié)構(gòu)圖 黑盒系統(tǒng)結(jié)構(gòu)圖 代碼生成派與黑盒派在識別具體學(xué)習(xí)規(guī)則上具有較大差異,更加類似解決“IPS問題”的思想,期望讓機器編程系統(tǒng)像人類程序員一樣把實現(xiàn)過程寫成代碼片段。代碼生成派基本的編程思路分為模型訓(xùn)練和模型應(yīng)用,模型訓(xùn)練基于不同種類編程任務(wù)的原始數(shù)據(jù)來訓(xùn)練深度學(xué)習(xí)的自動編程;模型應(yīng)用則是突出讓機器編程系統(tǒng)針對特定任務(wù)編寫出解決問題的代碼片段。 代碼生成派結(jié)構(gòu)圖 代碼生成派結(jié)構(gòu)圖 整體來說,機器編程系統(tǒng)的發(fā)展還處于初期階段,目前也只能實現(xiàn)解決簡單任務(wù)的代碼生成,距離其實用化還有很長的路要走。 Ps:我是敗家老王,歡迎評論關(guān)注。 |
|