Chapter 1: Getting Started with Deep Learning Using PyTorch
AI 定義:通常由人類完成的智能任務通過機器自動化實現(xiàn)(the automation of intellectual tasks normally performed by humans)钦讳。
AI 歷史:AI 首先于 1956 年被 John McCarthy 提出炊汹。AI 早期就能夠解決人類難以完成的問題拴清。Alan Turing 通過 AI 系統(tǒng)解碼 Enigma 就是實例之一。但是早期的 AI 是基于邏輯實現(xiàn)的欺嗤,難以實現(xiàn)在人類看來極其簡單的工作,比如:分辨貓狗、判斷人的情緒□锖浚基于邏輯實現(xiàn)的 AI 也被稱作"基于符號的 AI(symbolic AI)",但是這種實現(xiàn)方式只適用于有明確定義的菩貌、強邏輯性的問題卢佣,難以用于解決場景復雜、特征多樣的問題(image recognition,object detection,language translation等)箭阶。于是新的 AI 實現(xiàn)方法得以發(fā)展虚茶,用于解決上述問題。
-
AI,ML,DL 的隸屬關系
image.png -
ML 是 AI 的子域尾膊,過去十年內(nèi)逐漸流行(本書著于 2018)媳危。ML 是基于大量數(shù)據(jù)實現(xiàn)的,與基于符號的 AI 在實現(xiàn)路徑上有本質上的區(qū)別冈敛。整體而言待笑,ML 通過海量數(shù)據(jù)中習得規(guī)則,并應用這些規(guī)則實現(xiàn)新數(shù)據(jù)的預測抓谴。這一方法對于價格預測暮蹂、推薦系統(tǒng)等結構化數(shù)據(jù),具有很好的效果癌压。因此使用 ML 算法很重要的一點——特征工程仰泻,就是數(shù)據(jù)分析師需要獲取并整理特征數(shù)據(jù)以符合 ML 算法的要求。尤其是在機器視覺(CV,computer vision)和自然語言處理(NLP,natural language processing)領域滩届,特征工程往往極具挑戰(zhàn)集侯,因為這些數(shù)據(jù)都是高維數(shù)據(jù)。一個直觀的例子就是:加入你的數(shù)據(jù)集由 224x224x3(長度帜消、寬度棠枉、紅綠藍三通道) 的圖片構成,那么你需要一個包含 150528 維數(shù)據(jù)的矩陣或數(shù)組存儲于內(nèi)存中泡挺,而這僅僅是一張圖片辈讶,如果你想要構建一個 1000 張圖片的分類器,那么就需要 1000 個 150528維數(shù)據(jù)的存儲娄猫。這一挑戰(zhàn)的基礎上贱除,AI 繼續(xù)發(fā)展以解決高維數(shù)據(jù)的問題。
image.png 傳統(tǒng) ML 算法通過人工的方式進行特征提取媳溺,而 DL 算法則使用現(xiàn)代化技術自動提取特征月幌。
由于 GPUs, Big data, Cloud providers 的發(fā)展,并且眾多架構(Torch, TensorFlow, Cafffe, PyTorch 等)的開發(fā)迭代褂删,DL 在過去幾年經(jīng)歷了飛速發(fā)展飞醉。目前流行的應用包括有: 圖片分類(近人類水平),語音識別(近人類水平),機器翻譯缅帘,自動駕駛轴术,肺癌診斷等。但是現(xiàn)階段的 DL 應用钦无,都是從現(xiàn)有數(shù)據(jù)中尋找模式來預測未來的結果逗栽,離真正意義的人工智能相距甚遠。
DL 關鍵技術年表失暂。
技術 | 時間 |
---|---|
神經(jīng)網(wǎng)絡(Neural networks) | 1943 |
反向傳播(Backpropagation) | 1960年代早期 |
卷積網(wǎng)絡(Convolution neural networks) | 1979 |
循環(huán)網(wǎng)絡(Recurrent neural networks) | 1980 |
長短期記憶網(wǎng)絡(Long Short-Term Memory) | 1997 |
DL 近幾年才大發(fā)展的重要原因:1 硬件可用性彼宠;2 數(shù)據(jù)和算法;3 DL架構
-
硬件可用性弟塞。DL 需要進行 millions級乃至 billiions級的數(shù)學運算凭峡。而現(xiàn)有的 CPU 算力達不到要求。但是 GPU 的出現(xiàn)解決了這個問題决记。雖然 GPU 本意用于游戲行業(yè)渲染高質量的動畫視頻摧冀,但是在 DL 算法運算上也表現(xiàn)出高效的性能。能夠有效將 CPU 上需要一個月時間完成的項目系宫,縮短至幾天內(nèi)完成索昂。
image.png 數(shù)據(jù)和算法。數(shù)據(jù)是 DL 成功應用最關鍵的因素±┙瑁現(xiàn)在 CV 領域有大量已經(jīng)人工標注的數(shù)據(jù)集椒惨,可用于做 benchmark。如:MNIST, COCO dataset, CIFAR, The Street View House Numbers, PASCAL VOC, Wikipedia dump, 20 Newsgroups, Penn Treebank, Kaggle等潮罪。
DL 架構康谆。PyTorch, TensorFlow 等架構能夠使得使用者高效建立深度神經(jīng)網(wǎng)絡,并且用 GPU 加速運算代替 NumPy 一類的數(shù)組運算嫉到。