為何現在深度學習這麼流行?

為何現在深度學習這麼流行?一些關鍵原因如下:

  • 硬件可用性;
  • 數據和算法;
  • 深度學習框架。

硬件可用性

深度學習要在數百萬甚至數十億的參數上進行復雜的數學運算。儘管過去這些年有所提高,但僅依靠現在的CPU執行這些運算極其耗時。一種叫作圖形處理單元(Graphics Processing Unit,GPU)的新型硬件在完成這些大規模的數學運算(如矩陣乘法)時可以高出幾個數量級。

GPU最初是Nvidia和AMD公司為遊戲產業而開發的。事實證明這種硬件極其高效。Nvidia最近的一款產品1080ti,僅用了幾天時間就構建了一個基於ImageNet數據集的圖像分類系統,而此前這需要大概1個月的時間。

如果打算購買用於深度學習的硬件,建議用戶根據預算選擇一款Nvidia的內存較大的GPU。記住,計算機內存和GPU內存並不相同,1080ti帶有大約11GB的內存,它的價格在700美元左右。

你也可以使用各種雲服務,如AWS、Google Cloud或Floyd(這家公司提供專為深度學習優化的GPU機器)。如果剛開始深度學習,或在財務受限的情況下為公司的應用配置機器時,使用雲服務就很經濟。

優化後的系統性能可能有較大提升。

圖1.6所示為不同CPU和GPU的性能基準的對比。

為何現在深度學習這麼流行?

圖1.6 基於不同CPU和GPU的神經網絡架構的性能基準

數據和算法

數據是完成深度學習最重要的組成部分,由於互聯網的普及和智能手機應用的增長,一些大公司,如Facebook和Google,可以收集到大量不同格式的數據,特別是文本、圖片、視頻和音頻這類數據。在計算機視覺領域,ImageNet競賽在提供1,000種類別中的140萬張圖片的數據集方面發揮了巨大作用。

這些圖像類別是手工標註的,每年都有數百個團隊參與競賽。過去比賽中一些成功的算法有VGG、ResNet、Inception、DenseNet等。現在這些算法已在行業中得到應用,用於解決各種計算機視覺問題。深度學習領域還有其他一些流行的數據集,這些數據集常被用於建立不同算法的性能基準:

  • MNIST;COCO數據集;CIFAR;The Street View House Numbers;PASCAL VOC;Wikipedia dump;20 Newsgroups;Penn Treebank;Kaggle。

各種不同算法的發展,如批規一化、激活函數、跳躍式連接(skip connection)、長短期記憶網絡(LSTM)、dropout等,使得最近幾年可以更快並更成功地訓練極深度網絡。本書接下來的章節中,我們將深入每種技術的細節,以及如何使用這些技術構建更好的模型。

深度學習框架

在早期,人們需要具備C++和CUDA的專業知識來實現深度學習算法。現在隨著很多公司將它們的深度學習框架開源,使得那些具有腳本語言知識(如Python)的人,也可以開始構建和使用深度學習算法。今天,這個行業中流行的深度學習框架有TensorFlow、Caffe2、Keras、Theano、PyTorch、Chainer、DyNet、MXNet和CNTK。

如果沒有這些框架,深度學習的應用也不會如此廣泛。它們抽象出許多底層的複雜度,讓我們可以專注於應用。我們尚處於深度學習的早期階段,很多組織機構都在對深度學習進行大量研究,幾乎每天都有突破性的成果,因而,各種框架也都各有利弊。

PyTorch

PyTorch以及其他大多數深度學習框架,主要用於兩個方面:

  • 用GPU加速過的運算替代與NumPy類似的運算;構建深度神經網絡。

讓PyTorch越來越受歡迎的是它的易用性和簡單性。不同於其他大多數流行的使用靜態計算圖的深度學習框架,PyTorch使用動態計算,因此在構建複雜架構時可以有更高的靈活性。

PyTorch大量使用了Python概念,例如類、結構和條件循環,允許用戶以純面向對象的方式構建深度學習算法。大部分的其他流行框架引進了自己的編程風格,有時編寫新算法會很複雜,甚至不支持直觀的調試。後續章節將詳細討論計算圖。

儘管PyTorch新近才發佈並且還處於β版本,由於它的簡單易用和出色的性能、易於調試性,以及來自不同公司如SalesForce等的強大支持,PyTorch受到了數據科學家和深度學習研究人員的巨大歡迎。

由於PyTorch最初主要為研究目的而構建,因此不建議用於那些對延遲要求非常高的生產環境。然而,隨著名為Open Neural Network Exchange(ONNX)的新項目的出現,這種情況正在發生改變,該項目的重點是將在PyTorch上開發的模型部署到適用於生產的Caffe2這樣的平臺上。在本書寫作時,這個項目剛剛啟動,因而過多的定論還為時尚早。該項目了得到Facebook和微軟的支持。

本文摘自由人民郵電出版社異步社區出版的《PyTorch深度學習》

作者:[印度]毗溼奴•布拉馬尼亞(Vishnu Subramanian)

譯者:王海玲, 劉江峰

為何現在深度學習這麼流行?

《PyTorch深度學習》是使用PyTorch構建神經網絡模型的實用指南,內容分為9章,包括PyTorch與深度學習的基礎知識、神經網絡的構成、神經網絡的知識、機器學習基礎知識、深度學習在計算機視覺中的應用、深度學習在序列數據和文本中的應用、生成網絡、現代網絡架構,以及PyTorch與深度學習的未來走向。

《PyTorch深度學習》適合對深度學習領域感興趣且希望一探PyTorch的業內人員閱讀;具備其他深度學習框架使用經驗的讀者,也可以通過本書掌握PyTorch的用法。

相關推薦

推薦中...