當(dāng)前位置:首頁 > 資訊 > 社區(qū)動態(tài) >
人工智能的發(fā)展是目前科技研究中最熱門的方向之一,也是越來越多的開發(fā)者和技術(shù)團(tuán)隊(duì)非常關(guān)心的重點(diǎn),而高效的開發(fā)工具能夠讓開發(fā)這件事情變得事半功倍。斯坦福的專家就曾在人工智能報告中提到,“越來越強(qiáng)大的人工智能應(yīng)用,可能會對我們的社會和經(jīng)濟(jì)產(chǎn)生深遠(yuǎn)的積極影響,這將出現(xiàn)在從現(xiàn)在到 2030 年的時間段里。”
因此,繼上期由OpenI啟智社區(qū)運(yùn)營中心主任余躍老師用“AI開源創(chuàng)新的發(fā)展與探索”揭開《人工智能開源錄|對話OpenI啟智社區(qū)》直播欄目的序幕后,順著人工智能的藤蔓,OpenI啟智社區(qū)特邀了年輕有為的鵬城實(shí)驗(yàn)室雙聘成員、北京大學(xué)計算機(jī)學(xué)院助理教授、AI開源框架TensorLayer的開源開發(fā)者董豪老師做客本期的直播欄目。
董豪老師目前的研究方向主要在于人工智能,以及圍繞泛化性與高層級的決策研究機(jī)器人,他在欄目中為大家揭秘了人工智能開源工具的過去、現(xiàn)在與未來,也首次對外公開TensorLayer的升級版本TensorLayer X即將帶著更強(qiáng)的兼容性與中立性問世。
董老師回顧深度學(xué)習(xí)并未開始盛行的十多年以前,那時的開發(fā)者們普遍在使用機(jī)器學(xué)習(xí)方面一款叫做scikit-learn的工具,以及SVM、KNN等普通的算法。
從2012年開始,深度學(xué)習(xí)有了一些顯著的發(fā)展,如加拿大的Mila研究所開發(fā)了專門針對深度學(xué)習(xí)的框架Theano。之后的一兩年,在加州大學(xué)伯克利讀博的賈揚(yáng)清博士創(chuàng)建了針對視覺的深度模型框架Caffe。隨著深度學(xué)習(xí)在業(yè)界越來越重要,谷歌開發(fā)的TensorFlow,臉書開發(fā)的PyTorch也相繼問世并成為主流。
近幾年,國內(nèi)不少大型科技公司基于自身某些戰(zhàn)略需求也開發(fā)了針對深度學(xué)習(xí)的人工智能開發(fā)框架。開發(fā)工具的整體發(fā)展歷程從普通的機(jī)器學(xué)習(xí)開始,到近十年來,從以高校為主導(dǎo)到后來由大企業(yè)進(jìn)行主導(dǎo)開發(fā)的框架中,很多都是圍繞深度學(xué)習(xí)。
而各行各業(yè)的工具之所以持續(xù)不斷的發(fā)展,基本都是因?yàn)樾枨蠖苿拥摹?/strong>Mila實(shí)驗(yàn)室當(dāng)時的主要負(fù)責(zé)人Bengio是一位深度學(xué)習(xí)的圖靈獎獲得者,他們之所以開發(fā)Theano是因?yàn)楫?dāng)時并沒有一款理想的工具能很好的用GPU來加速深度學(xué)習(xí)的訓(xùn)練,如果使用CPU進(jìn)行訓(xùn)練將耗費(fèi)大量時間,這個研究需求推動了他們開發(fā)Theano。
后來,由國內(nèi)外的大公司主導(dǎo)的一些開發(fā)框架,很大程度是基于公司內(nèi)部的研發(fā)需求或是躋身AI領(lǐng)域的發(fā)展戰(zhàn)略而開發(fā)。而近幾年,國內(nèi)也涌現(xiàn)一部分公司,為了打破英偉達(dá)GPU的壟斷與建設(shè)自己的生態(tài),不得不開發(fā)了自己的框架。總體來說,這些工具都是通過需求而推動產(chǎn)生的。
提起TensorLayer這個很多開發(fā)者使用過且被認(rèn)為是比較好用的開發(fā)框架,作為開源開發(fā)者的董老師回顧,那是自己在2015年讀博期間,盡管當(dāng)時有Theano,TensorFlow,以及后來被TensorFlow收編的Keras等主流框架,但都無法滿足自己的算法研究。為了科研與發(fā)論文,董老師開始嘗試去開發(fā)一套基于TensorFlow的工具,后來不斷有同學(xué)和朋友們加入一起完善,最終誕生了最初版本的TensorLayer。
盡管當(dāng)初在做同樣事情的人也不少,但TensorLayer從一開始被開發(fā)的時候,就已經(jīng)被賦予了更高的使命,那便是在未來要讓更多的開發(fā)者去使用。因此,團(tuán)隊(duì)在最初的代碼質(zhì)量和開發(fā)文檔上都投入了不少精力。
董老師從技術(shù)層面揭露,其實(shí)TensorLayer最初的版本和Keras很相似,但Keras當(dāng)時兼容多框架,而TensorLayer當(dāng)初只支持TensorFlow一個框架。但隨著近幾年國內(nèi)的開發(fā)框架和AI芯片廠商的發(fā)展,不論從軟件層還從芯片層的生態(tài)圈,都出現(xiàn)了割裂分散的形勢。基于這個背景,團(tuán)隊(duì)希望打造一套通用的與平臺無關(guān)的一種開發(fā)框架,即正在開發(fā)中的TensorLayer升級版本TensorLayer X。
· TensorLayer X的技術(shù)亮點(diǎn)和難點(diǎn)
TensorLayer X的定位是以一種中立包容的形式,來實(shí)現(xiàn)國內(nèi)外不同開發(fā)方向的主流框架的兼容,如國外的TensorFlow,PyTorch,國內(nèi)的MindSpore,PaddlePaddle,Jittor以及OneFlow等這些框架都可以兼容。
這種兼容的好處也顯而易見,無論開發(fā)者是使用國外還是國內(nèi)的設(shè)備,它都可以成功且較好地運(yùn)行。為了能兼容不同的框架且保證效率不受損,同時兼顧代碼的整潔性,方便使用者可以很容易地來進(jìn)行二次開發(fā)的代碼貢獻(xiàn),TensorLayer X已經(jīng)經(jīng)歷了一年多的研發(fā)與打磨。雖然版本還未正式發(fā)布,但實(shí)驗(yàn)已經(jīng)證明了它在兼容國內(nèi)外一些開發(fā)框架時,并未損失簡潔性。開發(fā)者在使用TensorLayer和X版本時不會感覺到在簡潔方面的差異,但能感受到X版本在兼容性上的提升。
對于難點(diǎn),董老師表示主要在于兼容這部分,由鵬城實(shí)驗(yàn)室的團(tuán)隊(duì)及北京大學(xué)的部分學(xué)生參與這塊的工作,已經(jīng)開發(fā)完了各種各樣的神經(jīng)網(wǎng)絡(luò)的layers,難點(diǎn)已被攻克,后續(xù)將更多的圍繞常用算法庫進(jìn)行一些開發(fā)工作。
董老師希望面向一些中小企業(yè),或個人技術(shù)開發(fā)者,以及職業(yè)技術(shù)學(xué)院的用戶,為他們提供諸如開箱即用之類的一系列的應(yīng)用庫,并通過建立一些微信群、討論區(qū)等社群,普及使用方法來相互幫助、共同發(fā)展。
此外,董老師也提出,他們計劃把這個中立的X框架推廣到海外,尤其是一帶一路的國家,比如阿拉伯的21個國家,現(xiàn)在處于一個用能源換科技的發(fā)展階段,也包括俄羅斯等希望發(fā)展自己的技術(shù)而不被歐美卡脖子的國家。
中立的框架優(yōu)勢在于它不屬于任何一家公司,只要開發(fā)者用了這個框架,不論他用美國的還是國產(chǎn)的操作系統(tǒng)、芯片,都可以運(yùn)行任務(wù)。而這種中立工具的開發(fā)維護(hù)難度,其實(shí)比從頭搭建整套框架還要更容易,所以,董老師也希望能吸引更多的開發(fā)者參與它的開源。
· 如何選擇合適的開發(fā)工具
董老師建議開發(fā)者根據(jù)自己的條件和目的、以節(jié)約自己時間為一個核心目標(biāo)來選擇合適的開發(fā)工具。
但就TensorLayer X框架本身來說,短期來看,它更加適合工業(yè)界中小企業(yè)的一些工程師去用。預(yù)計兩個月后,他們將推出大量覆蓋計算機(jī)視覺、自然語言處理、強(qiáng)化學(xué)習(xí)等方向的開箱即用相關(guān)的例子,同時也會出版相關(guān)的配套書籍和電子教程。這也是響應(yīng)不少企業(yè)工程師朋友們對于輕量級的識別算法、人體姿態(tài)估計算法需求而去開發(fā)的應(yīng)用例子。對于算法任務(wù)可能達(dá)上萬種的學(xué)術(shù)界而言,還是推薦使用生態(tài)上較強(qiáng)的PyTorch。
但由于目前正處于國產(chǎn)硬件替換國外硬件的時期,國內(nèi)一些國家實(shí)驗(yàn)室、軍工科研等單位,目前已經(jīng)在用國產(chǎn)芯片、操作系統(tǒng)在替換原來進(jìn)口操作系統(tǒng)、進(jìn)口芯片。而TensorLayer X兼容了國內(nèi)外的主流開發(fā)框架后,它也自然而然支持了國內(nèi)外所有的芯片和操作系統(tǒng)。因此從長期來看,TensorLayer X就非常適合這部分單位的用戶。
隨著時間的進(jìn)行,國內(nèi)外關(guān)于人工智能開發(fā)工具與框架的使用方法慢慢收斂到一種大家都覺得比較好的方式。類似今天的智能手機(jī),無論是哪個操作系統(tǒng),都不會影響到用戶已經(jīng)形成的使用習(xí)慣。如今的開發(fā)框架雖然很多,但使用起來對用戶來說也是朝著一個統(tǒng)一的方向。
而未來,將會出現(xiàn)越來越多針對特定任務(wù)的工具,比如針對圖神經(jīng)網(wǎng)絡(luò)的的訓(xùn)練框架,或者針對目標(biāo)識別來開發(fā)的框架。
至于生態(tài),董老師認(rèn)為需要自己要先做一個閉環(huán)。比如TensorLayer,雖然并非大公司、大團(tuán)隊(duì)開發(fā)的,但團(tuán)隊(duì)認(rèn)定盡自己最大能力盡可能形成一個閉環(huán),比如出版相關(guān)的書籍,以及開發(fā)部署層面的相關(guān)工具與應(yīng)用案例,搭建自己的生態(tài)圈,幫助大家節(jié)約更多的開發(fā)時間。
· 值得關(guān)注的方向與開源工具
從算法層面來說,過去的十多年讓深度學(xué)習(xí)在感知層面有了較大突破,解決了人臉識別、目標(biāo)識別等很多問題。未來十年,AI的技術(shù)發(fā)展會逐漸從感知層面往決策層面上去發(fā)展,而強(qiáng)化學(xué)習(xí)、機(jī)器人這些方面將會有很大的突破,這可能會產(chǎn)生非常大的影響。這個影響可能比之前人臉識別、目標(biāo)識別它們的影響更大,因?yàn)樗鼞?yīng)用的場景和種類更多。
因此,對于算法研究的人,需要在感知層面研究泛化性問題,比如降低特斯拉在自動駕駛時的誤判。同時,在決策層面要研究自主性問題,比如讓機(jī)器人能產(chǎn)生智能決策。
對于研究系統(tǒng)的的研究者,除了研究數(shù)據(jù)并行、模型并行這些問題外,下一步可能還要研究結(jié)合虛擬環(huán)境進(jìn)行的訓(xùn)練,而這需要整套可以對數(shù)據(jù)進(jìn)行高效處理的系統(tǒng)。
無論是做科研,還是做開源,首先自己需要感興趣,更重要的是找更多志趣相投的人一起去完成某些事情。對于具體選擇什么事情,建議找到一些行業(yè)的痛點(diǎn),然后根據(jù)自己的實(shí)際情況,盡可能選擇相對具有挑戰(zhàn)性的課題去做,然后不畏困難,迎難而上,然后找到自己的興趣所在,持之以恒,最終自己總會有所收獲。