深度學習(deep learning)是機器學習的分支,是一種試圖使用包含複雜結構或由多重非線性變換構成的多個處理層對數據進行高層抽象的算法。Oh,究竟是個什麼鬼?算法
最初的深度學習主要是指人工神經網絡。api
人工神經網絡(下文簡稱「神經網絡」)起源於生物學,但在發展的過程當中逐漸擺脫了生物學的氣質,而更加偏重統計學、信號學等內容,從而在實踐應用中發揮日益重要的做用。人工智能領域的研究重心從結構化或者說高度符號化的知識、規則等構建出的 「專家系統」 轉向了數據驅動的 「機器學習」,很大程度上就得益於神經網絡的蓬勃發展。網絡
下圖是一個簡單的神經網絡:框架
能夠看出,這個神經網絡一共有三層:輸入層、隱藏層和輸出層。輸入層和輸出層是固定的,而 「隱藏層」 則是可作文章的地方,咱們能夠設置多層隱藏層,當隱藏層比較多時,咱們就說這個神經網絡比較 「深」 。「深度學習」的大名便源自與此。機器學習
爲何要用這個新名詞呢?聽說是神經網絡的發展遇到過一些波折,後來爲了圖個吉利,從新開始,就換了個更逼格的名字。並且後來深度學習的內涵不斷拓展,也不單單侷限於神經網絡這一個部分,並的的確確取得了不凡的進展,看來即使是搞技術,也要有一些當心機,注重一些形式才行呀。學習
至今,深度學習框架主要包含如下幾種:動畫
深度神經網絡、卷積神經網絡、深度置信網絡和遞歸神經網絡。google
這些框架已被普遍應用在計算機視覺、語音識別、天然語言處理、音頻識別與生物信息學等領域,並獲取了極好的效果。人工智能
和機器學習的其它方面同樣,深度學習也須要兼顧理論與實踐。有了以前機器學習內容的實踐經驗,在深度學習算法實現上應該沒有什麼困難。spa
理論部分,入門階段推薦看一下 3Blue1Brown 的深度學習視頻:B 站播放地址
這個真的是我看過的最好的教程了,沒有之一。做者作的極其用心,把複雜的過程演繹成動畫,進行了深刻淺出的講解。不單單是深度學習,做者還作了線性代數、微積分等數學知識的專題視頻,相信你們也會感興趣的。
大名鼎鼎的 MNIST 數據集由不一樣人手寫的數字圖片及其對應的數字標註構成。它爲咱們提供了絕佳的實戰素材。咱們能夠利用它和神經網絡算法,訓練出能夠識別手寫數字的深度學習模型。
數據集中的每一個圖片由 28x28 = 784 個像素點構成,像素的值爲 0 或 1 。這 784 個像素點,即是神經網絡的輸入。
MNIST 數據集能夠從如下地址下載:
https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
從下一篇開始,咱們將逐步實現這個模型。
歡迎關注 Evan 的博客