【PyTorch 挑戰 TensorFlow】28303 篇 arXiv 論文看深度學習 6 大趨勢

2021-02-19 新智元

來源:數據派THU

作者:Andrej Karpathy

翻譯:賈琳    校對:閔黎


【新智元導讀】本文由 Andrej Karpathy撰寫,他前不久加入了特斯拉,擔任AI 負責人。本文是他在 OpenAI 擔任研究員期間所寫,陳述了他通過分析機器學習論文資料庫arxiv-sanity裡面的28303篇論文裡面的高頻關鍵詞所發現的有趣的結論。

你是否用過谷歌趨勢(Google Trends)(https://trends.google.com/trends/?cat=)呢?它的功能很酷:只需要輸入關鍵詞,就可以看到該詞的搜索量隨時間變化的情況。這個產品在一定程度上啟發了我,恰巧我有在過去五年中發表在(arxiv)機器學習論文資料庫(http://arxiv-sanity.com/)上的28303篇論文,所以我想,為什麼不研究一下該領域發展變化的情況呢?研究結果相當有趣,所以我決定跟大家分享一下。

(註:機器學習是一個包羅萬象的領域,本文中相當長的篇幅是對深度學習領域的研究,這也是我最為熟悉的領域)


    

讓我們先來看看提交到arxiv-sanity的所有分類(cs.AI, cs.LG, cs.CV, cs.CL, cs.NE, stat.ML)下的論文總數隨時間變化的趨勢,如下圖所示:

沒錯,峰值位於2017年3月,這個月這些領域有近2000篇論文提交。這一峰值很可能是某些會議的截稿日期(例如NIPS/ICML)造成的。由於並不是所有人都會將他們的論文上傳至arxiv,而且上傳比例也在隨時間變化而變化,所提交的論文數量並不能完全體現機器學習這一領域的研究規模。不過可以看到,有大量的論文為人所注意、瀏覽或者閱讀。

接下來,我們用這一數字作為分母,看看多少文章包含我們感興趣的關鍵詞。

 

首先,我們關心的是深度學習框架的使用情況。如果在文中任何地方有提到深度學習框架,包括參考書目,都會被記錄在案。下圖是在2017年3月提交的論文中提到深度學習框架的情況:

 

可見2017年3月提交的論文中有約10%提到了TensorFlow。當然不是每篇文章都會寫出他們所用的框架,不過如果我們假定提及與否和框架類型無關(即說明框架的文章有相對確定的使用比例)的話,可以推斷出該社區大約有40%的用戶正在使用TensorFlow(如果算上帶TensorFlow後端的Keras框架,數量會更多)。下圖是一些常用框架隨時間變化的趨勢圖:

我們可以看到,Theano在很長時間佔據主流,後來不再流行;2014年Caffe的發展勢頭強勁,不過在最近幾個月內被TensorFlow取代;Torch(和最近的PyTorch)同樣在緩慢穩步發展。它們未來發展的狀況會是怎樣呢?這是一個有趣的話題,個人認為Caffe和Theano會繼續下降,TensorFlow的發展速度則會因為PyTorch的競爭而放緩。

 

常用的ConvNet模型的使用情況又是怎樣呢?我們可以在下圖看到,ResNets模型異軍突起,該模型出現在去年3月發表的9%的論文中。

另外,我很好奇在InceptionNet出現之前有誰在討論inception呢?

 

優化算法方面,Adam一枝獨秀,在所有論文中的出現率高達23%!其真正的使用率很難統計,估計會比23%更高,因為很多論文並沒有寫出他們所使用的優化算法,況且很多關於神經網絡的研究並不使用任何此類算法。然而也有可能要下調5%,因為這個詞也非常可能是指代作者的名字,而Adam優化算法在2014年12月才被提出。

 

我關注的另一指標是論文中提及深度學習領域的研究專家的次數(這與引用次數有些類似,但是前者能更好的用0/1指標表達,且能根據文章總數進行標準化):

需要注意的是:35%的文章提到了「bengio」,但是學界有兩個叫Bengio的專家,分別是Samy Bengio和Yoshua Bengio,圖中顯示的是兩者總和。特別地,Geoff Hinton在30%的最新論文中也被提到,這是一個很高的比例。

 

最後,本文沒有針對關鍵詞進行手動分類,而是關注了論文中最熱門和最不熱門的關鍵詞 。

 

最熱門關鍵詞

 

定義最熱關鍵詞的方法有很多,本文使用的方法如下:對於在所有論文中出現的一元分詞和二元分詞,分別計算出去年和去年以前該詞的使用次數,並用二者相除得到的比例做排名。排名靠前的關鍵詞是那些一年前影響有限、但是最近一年出現頻率極高的詞彙,如下表所示(該表是刪除重複詞以後的結果):

 

舉例來說,ResNet的比例是8.17,該詞在一年之前(2016年3月)只在1.044%的論文中出現,但上個月8.53%的論文中都有這個關鍵詞,所以我們有8.53 / 1.044 ~= 8.17的比例。

所以可以看到,在過去一年流行起來的核心技術有:1) ResNets, 2) GANs, 3) Adam, 4) 批規範化(BatchNorm)。

關於研究方向,最火的關鍵詞分別是1)風格轉換(Style Transfer), 2) 深度強化學習, 3) 神經網絡機器翻譯(「nmt」),或許還有 4)圖像生成。

整體構架方面,最流行的是1) 全卷積網絡(FCN), 2) LSTMs/GRUs, 3) Siamese網絡, 和4) 編碼-解碼器網絡。

最「過時」關鍵詞

 

相反的,過去一年不再流行的關鍵詞有哪些呢?如下表所示:

 

我並不確定「fractal」的含義,不過大體上看,貝葉斯非參數統計似乎不那麼流行了。

 

 

所以,是時候提交應用全卷積網絡、編碼-解碼器、批規範化、ResNet、Gan來做風格轉換,用Adam來優化你的論文了。嘿,這聽起來也不是很離譜嘛:)

 

原文連結:

https://medium.com/@karpathy/a-peek-at-trends-in-machine-learning-ab8a1085a106

(感謝數據派THU 授權轉載!)

相關焦點

  • 寫給純小白的深度學習環境搭建寶典:pytorch+tensorflow
    每天給小編五分鐘,小編用自己的代碼,讓你輕鬆學習人工智慧。本文將手把手帶你快速搭建你自己的深度學習環境,然後實現自己的第一個深度學習程序。野蠻智能,小白也能看懂的人工智慧。精講深度學習RNN三大核心點,三分鐘掌握循環神經網絡進行簡單了解。下面進入實戰環節。
  • 深度學習環境配置指南:Pytorch、TensorFlow、Keras
    導讀本文介紹了作者使用RTX3090進行深度學習環境配置pytorch、tensorflow、keras等的詳細過程及代碼。筆者中山大學研究生,醫學生+計科學生的集合體,機器學習愛好者。-7.2.1.4-cp36-none-linux_x86_64.whl tensorflow_estimator-1.15.1-py2.py3-none-any.whl nvidia_tensorboard-1.15.0+nv20.10-py3-none-any.whlnvidia_tensorflow-1.15.4+nv20.10-cp36-cp36m-linux_x86_64.whl -i http
  • RTX 3090 的深度學習環境配置指南:Pytorch、TensorFlow、Keras
    導讀本文介紹了作者使用RTX3090進行深度學習環境配置pytorch、tensorflow、keras等的詳細過程及代碼。筆者中山大學研究生,醫學生+計科學生的集合體,機器學習愛好者。-7.2.1.4-cp36-none-linux_x86_64.whl tensorflow_estimator-1.15.1-py2.py3-none-any.whl nvidia_tensorboard-1.15.0+nv20.10-py3-none-any.whlnvidia_tensorflow-1.15.4+nv20.10-cp36-cp36m-linux_x86_64.whl -i http
  • GitHub趨勢榜第一:TensorFlow+PyTorch深度學習資源大匯總
    來源:Github編輯整理:元子【新智元導讀】該項目是Jupyter Notebook中TensorFlow和PyTorch的各種深度學習架構本文搜集整理了Jupyter Notebook中TensorFlow和PyTorch的各種深度學習架構,模型和技巧,內容非常豐富,適用於Python 3.7,適合當做工具書。大家可以將內容按照需要進行分割,列印出來,或者做成電子書等,隨時查閱。
  • TensorFlow與PyTorch之爭,哪個框架最適合深度學習
    那麼究竟哪種框架最適宜自己手邊的深度學習項目呢?本文作者從這兩種框架各自的功能效果、優缺點以及安裝、版本更新等諸多方面給出了自己的建議。如果你在讀這篇文章,那麼你可能已經開始了自己的深度學習之旅。如果你對這一領域還不是很熟悉,那麼簡單來說,深度學習使用了「人工神經網絡」,這是一種類似大腦的特殊架構,這個領域的發展目標是開發出能解決真實世界問題的類人計算機。
  • PyTorch稱霸頂會:CVPR論文佔比是TensorFlow 4 倍
    自 2009 年深度學習再度成為焦點以來,很多機器學習框架成為研究者和業界開發者的新寵。從早期的學術框架 Caffe、Theano 到如今 Pytorch、TensorFlow 這樣越來越大規模的開發框架。
  • 深度學習100+經典模型TensorFlow與Pytorch代碼實現大集合
    【導讀】深度學習在過去十年獲得了極大進展,出現很多新的模型,並且伴隨TensorFlow和Pytorch框架的出現,有很多實現,但對於初學者和很多從業人員
  • 從零開始搭建深度學習伺服器:TensorFlow + PyTorch + Torch
    本教程轉載於深度學習中文社區(studydl.com).在深度學習大行其道的今天,我們不應該停留於觀望的階段,我們應該多多上手進行實踐,下面將為大家介紹一下最簡單也是最基礎的內容,配置一個自己的深度學習伺服器.1.
  • PYTORCH與TENSORFLOW:哪種框架最適合您的深度學習項目?
    作者:王抒偉  編輯:王抒偉如果您正在閱讀本文,則可能已經開始了深度學習的旅程
  • 從AlexNet到BERT:深度學習中那些最重要的idea回顧
    按照「時間是檢驗真理的唯一標準」,作者在這篇文章回顧了那些經受住時間考驗的研究,它們或它們的改進已被反覆用在各種研究和應用上,效果也有目共睹。如果你想看完這篇文章之後就馬上入門,那你就想多了。最好的方法是,搞明白和復現下面提到的經典論文,這可以給你打下非常好的基礎,而且對你之後看懂最新研究和開展自己項目也會很有幫助。
  • 從AlexNet到BERT:深度學習中那些最重要idea的最簡單回顧
    按照「時間是檢驗真理的唯一標準」,作者在這篇文章回顧了那些經受住時間考驗的研究,它們或它們的改進已被反覆用在各種研究和應用上,效果也有目共睹。如果你想看完這篇文章之後就馬上入門,那你就想多了。最好的方法是,搞明白和復現下面提到的經典論文,這可以給你打下非常好的基礎,而且對你之後看懂最新研究和開展自己項目也會很有幫助。
  • 2020,PyTorch真的趕上TensorFlow了嗎?
    這次,他調研了幾個框架在過去 6 個月(此次調研與上次調研之間的時間間隔)裡的增長情況。結果發現,TensorFlow 仍然是當時需求量最大、增長最快的框架,但 PyTorch 也不容小覷,在過去的六個月增速超過了原來的第二名 Keras。2019 年調研得出的深度學習框架增長排名。
  • Pytorch還是TensorFlow?頂會帶你覽趨勢
    自 2009 年深度學習再度成為焦點以來,很多機器學習框架成為研究者和業界開發者的新寵。從早期的學術框架 Caffe、Theano 到如今 Pytorch、TensorFlow 這樣越來越大規模的開發框架。發展到 2020 年,我們可以看到國內外越來越多的科技巨頭、創業公司都在研發、使用自家的深度學習框架,如國內的也有百度飛槳、華為 MindSpore、曠視天元。
  • 深度學習論文TOP10,2019一季度研究進展大盤點
    過去的100多天裡,在深度學習領域,每天都有大量的新論文產生。所以深度學習研究在2019年開了怎樣一個頭呢?Open Data Science對第一季度的深度學習研究進行了盤點總結,推出了這一季度的十佳論文。一起來看看,TOP10都花落誰家吧。
  • 2012年至今,細數深度學習領域這些年取得的經典成果
    那麼, 自2006年Hinton發表經典論文以來,深度學習領域又取得了哪些突破性成果呢?用PyTorch搭建AlexNet,https://pytorch.org/hub/pytorch_vision_alexnet/用TensorFlow搭建AlexNet,https://github.com/tensorflow/models/blob/master/research/slim/
  • 基於TensorFlow的深度學習實戰
    毫不誇張得說,TensorFlow的流行讓深度學習門檻變得越來越低,只要你有Python和機器學習基礎,入門和使用神經網絡模型變得非常簡單。TensorFlow簡介如前所述,TensorFlow是一個深度學習庫,使用這一框架,可以用來構建和測試深度神經網絡。深度學習讓我們能夠以極高的準確性構建複雜的應用程式。
  • 常用增強學習實驗環境 II (ViZDoom, Roboschool, TensorFlow Agents, ELF,等)
    作為其核心技術之一的Deep reinforcement learning(深度增強學習,或深度強化學習)也再一次引發關注。Alpha Zero最有意義的地方之一是它去除了從人類經驗(棋譜)中學習的過程,而是完全通過「左右互博」式的學習擊敗了自己的「前輩」。這也很能體現強化學習的特點,就是在弱監督信息下通過」Trial and error」來自我學習。
  • 損失函數理解匯總,結合PyTorch1.7和TensorFlow2
    本文打算討論在深度學習中常用的十餘種損失函數(含變種),結合PyTorch和TensorFlow2對其概念、公式及用途進行闡述,希望能達到看過的夥伴對各種損失函數有個大致的了解以及使用
  • 【綜述專欄】損失函數理解匯總,結合PyTorch和TensorFlow2
    地址:https://www.zhihu.com/people/dengbocong本文打算討論在深度學習中常用的十餘種損失函數(含變種),結合PyTorch和TensorFlow2對其概念、公式及用途進行闡述,希望能達到看過的夥伴對各種損失函數有個大致的了解以及使用。本文對原理只是淺嘗輒止,不進行深挖,感興趣的夥伴可以針對每個部分深入翻閱資料。
  • 損失函數理解匯總,結合 PyTorch1.7 和 TensorFlow2
    本文打算討論在深度學習中常用的十餘種損失函數(含變種),結合PyTorch和TensorFlow2對其概念、公式及用途進行闡述,希望能達到看過的夥伴對各種損失函數有個大致的了解以及使用。本文對原理只是淺嘗輒止,不進行深挖,感興趣的夥伴可以針對每個部分深入翻閱資料。