三者關係:從宏觀到微觀。編程
機器學習是人工智能的一部分,深度學習是機器學習的一部分。數組
基礎:大數據。網絡
深度學習基於神經網絡,框架
關於神經網絡:經過疊加網絡層模擬人類對輸入信號的特徵提取。機器學習
說白了,神經網絡就是一個仿生技術,仿的就是人類思考的過程,就好像給你看一堆貓的照片,最後你能夠分辨不一樣貓的種類。把這個過程給機器執行,就叫機器學習。神經網絡就如同字面意思同樣,人的神經組成的網絡,把這個過程交給機器去作而已。(周立波有一個關於專家的調侃:專家就是專門把那些很簡單的東西搞到你聽不懂)工具
深度:一方面指神經網絡層愈來愈深,類比到人類就是你想的愈來愈多.....;另外一方面指學習的能力愈來愈強,這一點用已知推未知解釋比較好。你知道的東西越多,接受新的東西就會越快。學習
亞馬遜官方維護的深度學習框架。其前身是cxxnet。15年遷移至MXNet。大數據
而後就是特色,一波商業互吹:人工智能
FaceBook官方維護的框架。基於Torch框架研發。設計
Torch採用Lua語言,爲了便於用戶使用,開發出Python接口,使用命令式編程。
FaceBook維護的框架。老牌。
Caffe側重線上產品部署,PyTorch側重研究試錯。
Google維護的框架,使用普遍。擁有可視化工具TensorBord。
生態強大。
語言:大部分深度學習底層框架使用C++實現,效率高。
實際開發每每選用接口語言,好比Python進行快速開發。
MXNet提供多種語言的API(Python,C++,Scala....)
關於NumPy
NumPy是Python用於科學計算的庫,支持數組和矩陣運算。
大多數深度學習框架基於NumPy進行設計,由於NumPy不支持GPU運算,只支持CPU。
MXNet中的NDArray就是基於NumPy設計的,最大的不一樣點就是NDArray支持GPU運算。