編者按:幾天前,有人統計了歷年ICLR論文錄用者使用的深度學習框架,發現雖然TensorFlow還高居榜首,但PyTorch近一年來的使用數據已經翻了3倍,可以和TF比肩。這是個令人驚訝的消息,也讓不少從業者開始正視這一發展趨勢,籌備“雙修”事宜。在下文中,論智給讀者帶來的是fast.ai發布的一個簡便、好用的PyTorch庫——對PyTorch感興趣的讀者不妨先從這個庫開始試手。
隨著互聯網和知識傳播的深度結合,現在在線課程對許多人來說已經不是新鮮事物。在深度學習領域,最受學生歡迎的MOOC課程平臺有三個:Fast.ai、deeplearning.ai /Coursera和Udacity。其中,因為Jeremy Howard化繁為簡、實戰為上的獨特授課風格,Fast.ai給人的印象一直很“接地氣”:
研究如何快速、可靠地把最先進的深度學習應用于實際問題。
提供Fast.ai庫,它不僅是讓新手快速構建深度學習實現的工具包,也是提供最佳實踐的一個強大而便捷的資源。
課程內容簡潔易懂,以便盡可能多的人從研究成果和軟件中收益。
國慶期間,Fast.ai發布一個新的、面向深度學習的免費開源庫——fastai。這是個PyTorch庫,雖然還是預覽版,但它目前已經為最重要的深度學習應用程序和數據類型提供了一致的API,且相比其他深度學習庫,它在準確性和速度上有顯著提高,同時所需的代碼大大減少。
感興趣的開發者可以訪問fastai的GitHub進行安裝:github.com/fastai/fastai/
fastai庫
從去年宣布開發開始,歷時18個月,fastai深度學習庫v1.0終于和大家見面了。在項目啟動之初,開發人員就曾介紹過PyTorch作為一個平臺的優勢:可以利用常規python代碼的靈活性和各種函數構建、訓練神經網絡,可以解決更廣泛的問題……
現在,經過Fast.ai團隊和PyTorch團隊的共同努力,我們迎來了一個為計算機視覺、文本、表格數據、時間序列、協同過濾等常見深度學習應用提供單一一致界面的深度學習庫。這意味著,如果你已經學會用fastai創建實用的計算機視覺(CV)模型,那你就可以用同樣的方法創建自然語言處理(NLP)模型,或是軟件支持的其他模型。
早期用戶使用反饋
GitHub上的語義代碼搜索
Fast.ai的課程是GitHub的數據科學家和高管(包括CEO在內)提高數據素養的一個重要途徑,其中,Github的高級機器學習科學家Hithl Husain在過去兩年中一直通過Fast.ai學習深度學習,他認為這些MOOC課程開啟了Github的數據新時代,使數據科學家們更有信心解決機器學習中的最新問題。
作為fastai的第一批使用者,Hithl Husain和他的同事Ho-Hsiang Wu最近發布了一個實驗版工具“語義代碼搜索”,允許開發者直接通過意義而不是關鍵詞匹配來查找代碼,這意味著最佳搜索結果不一定包含你搜索的單詞。在官方博客文章中,他們介紹了自己棄用Tensorflow Hub轉而投向fastai的原因,稱后者能更輕松地訪問最先進的架構(如AWD LSTMs)和技術(如隨機重啟循環學習率)。
語義代碼搜索
在過去的12個月里,Husain一直在體驗預發布版本的fastai庫。他表示:
我之所以選擇fast.ai,是因為它能在保證相同性能的情況下,用模塊化、高級API實現最先進的技術和創新,同時減少計算量。語義代碼搜索只是冰山一角,銷售、營銷、反欺詐,人們能用fastai為各行各業帶去革命性的變化。
生成音樂
Christine McLeavey Payne是從上一期Fast.ai深度學習課程中脫穎而出的一名學生。她的人生經歷非常豐富:從舊金山交響樂團的古典鋼琴師,到金融領域的HPC專家,再到斯坦福大學的神經科學和醫學研究員。現在,她已經在OpenAI開啟了又一段人生旅途,而在近期的OpenAI項目中,她用fastai創建了一個能生成鋼琴曲和室內音樂的LSTM——Clara。
fastai是一個了不起的資源,即便是我這樣剛接觸深度學習的新手,也能用短短幾行代碼就得到fastai模型。我不完全知道這些先進技術背后的原理,但我的模型能運行,而且訓練用時更短,性能也更好。
她的音樂生成模型基于上課期間她構建的一個語言模型,利用fastai庫對NLP最新技術的支持,她在短短兩周內就完成了這個音樂生成項目,并取得了很好的初步成果。這是fastai庫實用性的一個典例,只需少量修改,開發者就能把文本分類模型改成音樂生成模型,這在實踐中能節省大量時間和精力。
IBM Watson高級研究員對音樂生成器Clara的評價
藝術創作
建筑師、投資者Miguel Pérez Michaus一直在用預發布版本的fastai進行他的“Style Reversion(風格還原)”實驗。所謂“風格還原”,就是把風格遷移后的圖像恢復成原本的樣子,如下圖所示:
風格還原
他表示:“我喜歡用fastai創作,因為它能實現Keras不能實現的東西,比如生成‘不標準’的東西。”作為早期用戶,他在過去12個月中目睹了fastai的更新迭代:
我很幸運地體驗了fastai的A測版本,雖然只是Alpha版,但它充分展示了自己的實用性和靈活性,而且允許我這樣具有領域知識但沒有正式計算機科學背景的人上手操作。fastai會變得越來越好。對于深度學習的未來,我個人有一點粗淺的認識,就是我們必須要詳細掌握黑盒背后的真實技術原理,在這種情況下,我認為fastai會廣受歡迎。
學術研究
在NLP領域,波蘭語一直是一個挑戰,因為它是一種形態豐富的語言,如波蘭語形容詞會根據名詞的數和性而變化。企業家Piotr Czapla和Marcin Kardas是深度學習咨詢公司n-wave的聯合創始人,基于Cutting Edge Deep Learning For Coders這門課程中顯示的思路,他們用fastai開發了一種新的波蘭語文本分類算法,并在波蘭頂級NLP學術競賽中獲得一等獎,有關這項新研究的論文即將發布。
根據Czapla的說法,fastai庫對他們的成功至關重要:
fastai適合那些沒有上百臺服務器的普通人,這是我很喜歡它的一點。它支持快速開發和原型設計,并融入了所有最好的深度學習實踐。同時,Fast.ai課程是我開始學習深度學習的指路明燈,從上課的那天起,我才開始思考深度學習能做什么。
示例:計算機視覺領域的遷移學習
Kaggle上有一個非常受歡迎的競賽項目:Dogs vs Cats。參賽者需要編寫一個算法來分類圖像是包含狗還是貓。這也是Fast.ai課程中經常涉及的一個競賽,因為它代表了一類重要問題:基于預訓練模型的遷移學習。
我們將以此為例,從所需代碼量、準確性和速度三個指標上比較Keras和fastai的差異。以下是用fastai進行2-stage微調時的所有代碼——不僅要編寫的代碼非常少,設置的參數也非常少:
data = data_from_imagefolder(Path('data/dogscats'),
ds_tfms=get_transforms(), tfms=imagenet_norm, size=224)
learn = ConvLearner(data, tvm.resnet34, metrics=accuracy)
learn.fit_one_cycle(6)
learn.unfreeze()
learn.fit_one_cycle(4, slice(1e-5,3e-4))
下表是兩個深度學習庫的差異對比:
Keras是現在最流行的訓練神經網絡的方法之一,以上數據雖然是片面的,但fastai的改進能從側面說明Keras并不完美,它還有很大的改善空間。而無論是Keras還是其他深度學習庫,要完成同樣的任務,它們所需的代碼量都遠遠超過fastai,相應的,它們的訓練時間會更長,且模型性能不一定會更好。
此外,fastai在NLP任務上也有強勁表現。下表是ULMFiT論文中的一幅截圖,顯示了文本分類算法ULMFiT與IMDb數據集中排名靠前的算法的相對誤差:
文本分類性能總結
fastai是目前唯一提供此算法的庫,由于該算法是內置的,你可以直接參考上面的Dogs vs Cats代碼復現論文結果。以下是訓練ULMFiT語言模型的方法:
data = data_from_textcsv(LM_PATH, Tokenizer(), data_func=lm_data)
learn = RNNLearner.language_model(data, drop_mult=0.3,
pretrained_fnames=['lstm_wt103', 'itos_wt103'])
learn.freeze()
learn.fit_one_cycle(1, 1e-2, moms=(0.8,0.7))
learn.unfreeze()
learn.fit_one_cycle(10, 1e-3, moms=(0.8,0.7), pct_start=0.25)
小結
在之后的幾個月中,Fast.ai會陸續發布有關這個深度學習庫的學術論文和博客文章,包括開一門新課。我們會繼續關注開發團隊的進展,讀者在玩轉TensorFlow之余,也可以多多了解一下潛力無窮的PyTorch,體驗不一樣的“風景”。
-
深度學習
+關注
關注
73文章
5554瀏覽量
122443 -
pytorch
+關注
關注
2文章
809瀏覽量
13754
原文標題:超越Keras:深度學習新庫fastai“落戶”PyTorch
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
怎樣去解決在stm32上做ai的問題
阿里平頭哥發布首個 RISC-V AI 軟硬全棧平臺
Facebook致力AI開源PyTorch 1.0 AI框架
Facebook致力AI 開源PyTorch1.0 AI框架
Facebook發布的Pytorch 1.0和新開源的圍棋AI項目
fast.ai更新了新版本的針對開發者的深度學習實踐課程

一個基于PyTorch的幾何深度學習擴展庫,為GNN的研究和應用再添利器
基于PyTorch的深度學習入門教程之使用PyTorch構建一個神經網絡
13個你一定來看看的PyTorch特性!
一份簡便的PyTorch教程,從不用自己配置環境開始。

評論