• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺談人工智能編程技術(shù)的發(fā)展

      2018-06-02 08:50張煦昕
      電腦知識與技術(shù) 2018年10期
      關(guān)鍵詞:人工智能

      張煦昕

      摘要:隨著人工智能的出現(xiàn),人們越來越迫切脫離手寫代碼的束縛。本文將從前幾年提出的自動代碼生成技術(shù)發(fā)展現(xiàn)狀出發(fā),隨后主要介紹近兩年剛剛興起的機器自動編程,討論機器學習的原理,并舉例說明該方法的應用,最后提出待解決的問題和未來預測。

      關(guān)鍵詞:人工智能;自動代碼生成技術(shù);機器自動編程

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)10-0192-02

      1 引言

      可以說編程是人工智能的核心,是人工智能時代的一項基本素養(yǎng),是人工智能時代跨地域存在的語言。而程序員編程的工作量也在空前迅速地增加著,在科技高速發(fā)展的人工智能時代,人們腦洞大開,甚至已經(jīng)琢磨著把制造人工智能的程序員從編程工作中解放出來,利用人工智能自己產(chǎn)生代碼,實現(xiàn)人們想要的功能。用制造出的產(chǎn)品完全替代制造者再去生成同樣復雜或更復雜的功能,如果放在上個世紀,似乎是永動機一樣的理論,而依照目前的發(fā)展趨勢,將來要實現(xiàn)這件事情絕非天方夜譚。

      2 自動代碼生成技術(shù)

      在大約2010年之后到現(xiàn)在,汽車行業(yè)中手寫代碼的情況已經(jīng)非常少見了,取代手寫代碼的正是自動生成代碼工具。

      這種自動生成代碼的方法通常是由模型化圖形輸入來實現(xiàn)的,Matlab軟件的Simulink擴展包提供了一些按功能分類的基本的系統(tǒng)模塊,用戶只需要知道這些模塊的輸入輸出及模塊的功能,而不必考察模塊內(nèi)部是如何實現(xiàn)的,不需要編寫大量程序,通過對這些基本模塊的調(diào)用,再將它們連接起來就可以構(gòu)成所需要的系統(tǒng)模型,進而進行仿真分析。Simulink對比手寫代碼,就好像Windows系統(tǒng)對比DOS系統(tǒng),一個是圖形化的控制,一個是指令行的控制,孰強孰弱顯然易見。

      自動生成代碼的優(yōu)勢特別在復雜和非常復雜的系統(tǒng)中更有意義,例如航空航天領(lǐng)域和汽車行業(yè)。

      自動代碼生成技術(shù)雖然已經(jīng)應用在了一些領(lǐng)域,但想要完全脫離手寫代碼,僅靠建模生成代碼做出的產(chǎn)品恐怕不能達到你所期許的性能,因為模塊畢竟是有限的,但是對產(chǎn)品的需求可能是無限的。寫過程序的人大概都知道也許只是更改一兩行語句就能使得軟件功能大變,特別是代碼模塊化之后每行語句更會行行皆有分量,如何應對用戶輸入的細微差別,如何完善并更改系統(tǒng)性能?只有將模塊細化,或大量增加模塊的種類,但無論是哪種方式都會大大增加初始建模的復雜度和操作系統(tǒng)的內(nèi)存負荷,而即使如此也不能保證自動生成代碼的準確性。

      自動生成代碼技術(shù)的靈活性不足主要是因為生成代碼的過程還需要大量的人為參與,需要人為將代碼模塊拼湊組裝,如果機器能像人一樣有邏輯思考能力,或者能夠通過學習大量例程學會自動編碼呢?

      3機器自動編程技術(shù)

      機器自動編程一直是人工智能渴望攻克的重要應用領(lǐng)域之一,隨著深度強化學習技術(shù)的迅速進展,就在最近幾年,人工智能已在自動編程方向獲得了廣泛應用并取得了很大進展。

      在剛有人工智能這一概念時,機器自動編程技術(shù)應用于某些領(lǐng)域就已開始有所嘗試了。通過對人工神經(jīng)網(wǎng)絡的發(fā)現(xiàn),一種機器自動學習程序的方式引起了人們的關(guān)注:神經(jīng)程序生成。其中神經(jīng)網(wǎng)絡基于輸入/輸出(I/O)的范例進行學習,并生成程序。人工神經(jīng)網(wǎng)絡反映了人腦功能的若干基本特性,但并非完全等同于生物系統(tǒng),只是一定程度的模仿和抽象。與數(shù)字計算機比較,人工神經(jīng)網(wǎng)絡在構(gòu)成原理和功能特點等方面顯然更接近人腦,它不是按給定的程序一步一步地執(zhí)行運算,而是能夠自身適應環(huán)境、總結(jié)規(guī)律、完成某種運算、識別或過程控制。人工神經(jīng)網(wǎng)絡首先要以一定的學習準則進行學習,然后才能工作。

      深度強化學習應用到機器自動編程只是近兩年的事情,現(xiàn)階段的人工智能自動編程只是一個在給定時間搜索最優(yōu)解的優(yōu)化問題,目前自動編程能夠完成的算法還比較簡單,需要使用者給出程序的輸入和輸出,可能還要給出評估方法,但隨著深度強化學習在自動編碼領(lǐng)域的進一步深入應用,極有可能在未來幾年有突破性的技術(shù)進展。

      在最近一項研究中,微軟發(fā)布了自己人工智能自動編程技術(shù)的研究。在該項研究中,神經(jīng)網(wǎng)絡能夠按照用戶的意愿生成應用程序。這種方式用戶只需要提供一些簡單的輸入/輸出(I/O)范例以表示自己希望獲得的程序模式,系統(tǒng)就可以根據(jù)這些信息生成相應的代碼,這段代碼能夠正確地將這些給定的輸入轉(zhuǎn)換為給定的輸出。

      目前常用的編程語言有很多,比如C,JAVA,Python等,對于機器來說各種語言也有優(yōu)劣之分,如果能夠決定用哪種語言產(chǎn)生代碼必將會有助提高機器學習效率。不同的自動編碼系統(tǒng)通常會參考域特定語言(domain specific language,DSL)來定義一種編程語言,并非直接采用某種現(xiàn)有的編程語言,這是因為DSL定義的語言更加簡練,不包含控制邏輯,只有一些基本語句,如數(shù)值加一減一、移動指針位置、讀取某存儲器內(nèi)數(shù)據(jù)、將數(shù)據(jù)寫入存儲器某位置等基本操作原語。所有代碼片段都采用自定義的域特定語言能夠大大簡化機器自學習的難度。系統(tǒng)通過DSL生成用于執(zhí)行任務的程序,用戶不需要理解 DSL 的所有細節(jié)。使用過程中,編程過程不會被用戶看到。

      和微軟類似的,谷歌也從人工智能神經(jīng)網(wǎng)絡發(fā)現(xiàn)的初期就開始進行機器自動編程技術(shù)的研究了。前不久谷歌AutoML系統(tǒng)創(chuàng)造了一系列機器學習代碼,這段代碼的學習效率甚至高于開發(fā)這些代碼的研究人員。一般情況機器學習需要大量訓練數(shù)據(jù),再由工程師分析這些數(shù)據(jù),設計算法形成訓練模型。使用AutoML我們只需將訓練數(shù)據(jù)傳入就會自動生成參數(shù)和算法,形成訓練模型,這樣即使不具備機器學習方面專業(yè)知識的人員使用機器學習進行工作也不會有太多障礙。在 AutoML 架構(gòu)中,有一個名為“the controller”的控制器循環(huán)神經(jīng)網(wǎng)絡,它可以設計出一種被稱為“child”的“子”模型架構(gòu),然后這個“子”模型針對特定任務進行訓練與質(zhì)量評估。隨后,反饋的結(jié)果返回到控制器中,以此來幫助提升下一輪循環(huán)中的訓練參數(shù)。這一過程(如左圖所示)從生成新的架構(gòu)開始,到測試、把反饋結(jié)果傳送到控制器以獲得經(jīng)驗結(jié)束,將會重復幾千次。最終,控制器會傾向于生成那些在數(shù)據(jù)集上具有更高準確性的架構(gòu)。

      4 結(jié)語

      從最初的人工手寫代碼到自動代碼生成技術(shù)的發(fā)現(xiàn),再到現(xiàn)在的利用機器自學習產(chǎn)生代碼,人類盡管取得了非常卓越的技術(shù)進展,但是這個研發(fā)領(lǐng)域也遇到了一系列有待克服的困難。這些困難中,首先最嚴重的當屬60多年前動態(tài)規(guī)劃之父貝爾曼提出的“維數(shù)災難”,機器學習面對的是各種未知情況,它的本質(zhì)其實是一種不斷試錯的過程,這個過程需要大量的數(shù)據(jù)做支持,很有可能在得出最佳策略前就已導致機器勞損甚至報廢;其次,機器自動產(chǎn)生的代碼很難驗證其邏輯的正確性,因為我們不知道這些代碼具體是什么,我們很難保證后續(xù)更多的輸入能夠都能得出準確無誤的輸出。

      雖然如此,人工智能的蓬勃發(fā)展給很多應用領(lǐng)域都帶來了革命性的性能提升,未來也是空前光明,也許明天的機器將不再僅僅是自我學習,它們能夠自我更新,能夠自己產(chǎn)生程序來解決無法預料的問題。到那個時候,所有類似編程這樣耗時耗力的工作都將由人工智能接管,人類就可以做機器無法做到的事情——更好地享受生活,充分實現(xiàn)人生價值。

      參考文獻:

      [1]麻省理工科技評論.科技之巔2[M].北京:人民郵電出版社,2017.

      [2] 張俊林.人工智能[J].程序員,2016(6).

      猜你喜歡
      人工智能
      我校新增“人工智能”本科專業(yè)
      用“小AI”解決人工智能的“大”煩惱
      當人工智能遇見再制造
      AI人工智能解疑答問
      人工智能與就業(yè)
      基于人工智能的電力系統(tǒng)自動化控制
      人工智能,來了
      人工智能來了
      孟津县| 崇明县| 广昌县| 桦川县| 罗城| 黄龙县| 天水市| 铁岭县| 黄龙县| 镇平县| 德州市| 巴东县| 庄河市| 青州市| 聊城市| 长乐市| 武义县| 蓬溪县| 都昌县| 定边县| 武安市| 南阳市| 阿巴嘎旗| 含山县| 海阳市| 罗江县| 庆云县| 布尔津县| 临朐县| 南靖县| 山东省| 五台县| 随州市| 宾阳县| 龙州县| 井冈山市| 石家庄市| 金塔县| 沛县| 农安县| 大庆市|