或許你第一個想弄明白的問題是 人工智能(AI),機器學習(ML),深度學習(DL)三者的區別和聯繫,下圖清晰明瞭地告訴你,git
1什麼是機器學習github
從小學開始,咱們便一直和「函數」打交道,好比一條直線 ,若輸入爲 ,很容易獲得
若輸入爲一段音頻,你須要去模擬出一個相似與函數的東西,它的輸出即是音頻的內容算法
若輸入爲一張圖片,你但願模擬一個複雜的函數,使得它的輸出爲這張圖片是什麼網絡
若輸入爲一個圍棋盤面,你但願模擬一個複雜的函數,讓它告訴你下一步該走哪裏架構
是的,你能夠認爲,機器學習,就是在尋找這個複雜的「函數」,由於它複雜,它不肯定,它是非線性的,因此你須要設計一些算法,讓機器去學習這個複雜的「函數」到底是什麼。
對,這就是機器學習,人會作出一些決策,一些判斷,你但願,用一些已有的數據,對機器進行訓練,使得機器也能學會如何決策,甚至作得更好app
2什麼是深度學習機器學習
深度學習,是機器學習的一個子類。換句話說,它其實是實現機器學習的一種方法,隨着計算機軟硬件的飛速發展,人們意識到能夠經過神經網絡(Neural Network)來模擬人的大腦,而深度一詞,意味着神經網絡擁有衆多的層數。ide
回過頭想一想,你的大腦是如何思考的?你的生物老師,是如何告訴你信號在大腦中是如何傳遞的。函數
目前來看,深度學習主要有學習
卷積神經網絡(Convolutional Neural Network)
循環神經網絡(Recurrent Neural Network)
生成對抗網絡(Generative Adversarial Networks)
深度強化學習(Deep Reinforcement Learning)
這幾個大研究方向。
頭懸樑,錐刺股,如何開始學習深度學習?
學什麼?無論你是屬於哪一個方向,我認爲你首先應該學習的即是CNN,本系列文章,也正式經過介紹卷積神經網絡的各類架構,來達到讓你入門的目的
怎麼學?
書籍?經過書籍來學習,這是自古以來不會有太大差錯的方式,
首先我要推薦的是深度學習的第一本權威教科書《Deep Learning》
此外,本書的中文翻譯,也在幾個星期前開始銷售。
更值得慶幸的是,你能夠從deeplearningbook-chinese獲取本書的PDF。
固然,若是你以爲你的機器學習知識須要提升,能夠嘗試周志華老師的《機器學習》,或是經過李航的《統計學習方法》惡補一下?
另外,請支持正版,請不要傳播非法的PDF文檔。
課程?傳道授業解惑,自古以來人們便習慣經過面對面授課的方式來進行學習,現在,發達的網絡,更是帶來了大量可供學習視頻資源。
我最推薦的是 Fei-Fei Li 的 CS231n,課程完備,資料齊全,授課內容始終處在最前沿。課程的視頻,在YouTube上面也能輕鬆找到。
CS231n: Convolutional Neural Networks for Visual Recognition
此外,知乎還有對本課程筆記的翻譯。
賀完結!CS231n官方筆記受權翻譯總集篇發佈
另外一個強力推薦的是臺大 李宏毅 老師的課程
Machine Learning (2017,Spring)
Machine Learning (2016,Fall)
Machine Learning and having it deep and structured (2017,Spring)
這門課叫作MLDS,其實就是在講Deep Learning,並且homework很是有意思,有GAN也有RL,值得推薦
此外,李宏毅老師的《一日搞懂深度學習》,其 連接 也在老師的我的網站上,8月13號在臺北還有他的talk《一日搞懂生成對抗網絡》,以後應該也能在它的主頁上找到
一樣,還有 林軒田 老師的公開課《機器學習基石》和《機器學習技法》
也是中文授課。
講得很好,PDF作得也很棒,畢竟老師曾是多屆 KDD Cup 的冠軍
Machine Learning Techniques, Spring 2017
Machine Learning Foundations, Fall 2016
就在前段時間,Andrew Ng教授彷佛又有了新動做,
若是你願意,也能夠嘗試一下
實踐?只有理論沒有實踐,俗稱花把式。
我的認爲比較好的方式就是寫做業,好比上面課程的做業,好比從新實現github上的一些優秀代碼,必定要花時間去實踐,這和你要刷題才能領悟真諦是一個道理!
尋求幫助?上知乎,上github,上google,上stackoverflow,上jizhi
上CrossValidated,你須要專業的解答。
機器?工欲善其事,必先利其器,請務必準備一張GPU,這樣你才能愉快地玩耍!
好,接下來講一說,你須要走過的戰場。
你開始瞭解什麼是圖片的分類(Image Classification)
你開始用一些簡單的線性模型來進行預測(SVM,KNN)
你開始研究什麼是最優化,什麼是損失函數(Loss function)和梯度降低
你開始研究什麼是反向傳播(Backpropagation)
你開始研究什麼是神經網絡(NN)
終於,你踏入了卷積神經網絡的戰場
你開始學習卷積層,池化,歸一化等等
你開始研究 Tensorflow,Keras,Pytorch,Caffe
你開始讀別人的代碼,你開始本身寫代碼
你開始知道cifar10,知道ImageNet
你開始研究第一個CNN model: LeNet-5 - Yann LeCun
最開始你有必要研究一下CNN之父LeCun發明的LeNet,雖然如今已經沒有用武之地,可是CNN即是從這裏開始的。
緊接着是一個突破性的架構 「AlexNet」:ImageNet Classification with Deep Convolutional Neural Networks
2012 ImageNet的冠軍,真正讓CNN開始流行起來
而後是它的改進 「ZF Net」: Visualizing and Understanding Convolutional Networks
以及「Network in Network」: Network In Network
你開始逐漸知道一些CNN 訓練經常使用的 「trick」
數據預處理(Data Augmentation)
權重初始化(Xavier/He Weight initial)
批量歸一化(Batch Normalization)
正則化(L2/L1/Maxnorm/Dropout)
以及震驚一時的「Vgg Network」: Very Deep Convolutional Networks for Large-Scale Image Recognition
而後進入「GoogleNet」家族:
[v1] Going Deeper with Convolutions
[v2] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
[v3] Rethinking the Inception Architecture for Computer Vision
[v4] Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
你開始知道微調(Fine-tune),你開始不斷改善你的代碼
再入殘差家族 「Residual Network」:
Deep Residual Learning for Image Recognition
Identity Mappings in Deep Residual Networks
「Wide Residual Network」: Wide Residual Networks
「ResNeXt」: Aggregated Residual Transformations for Deep Neural Networks
最後是 「DenseNet」 Densely Connected Convolutional Networks
至此,你的CNN學得就還算過得去了。
繼續前行吧,世界是廣闊的,你會達到遠方美麗的綠洲!必定會的!
推薦閱讀:
精選乾貨|近半年乾貨目錄彙總----全是通俗易懂的硬貨!歡迎閱讀!
乾貨|臺灣大學林軒田機器學習基石課程學習筆記2 -- Learning to Answer Yes/No
幹貨|臺灣大學林軒田機器學習基石課程學習筆記3 -- Types of Learning
歡迎關注公衆號學習交流~