老司機發車:深度學習乾貨速取!

點擊上方關注,All in AI中國

作為一名人工智能領域方面的新手,上網課是一個不錯的選擇。你可以選擇上斯坦福大學的cs221(http://cs231n.stanford.edu/)或cs224(http://cs224d.stanford.edu/ )課程,以及AI快速入門課程(https://www.deeplearning.ai/ )或者深度學習課程。除了深度學習課程,其他都是免費的,並且由於是網課,你可以選擇在家裡學習。所有你唯一需要準備的可能就是一臺性能不錯的電腦。

老司機發車:深度學習乾貨速取!

然而,世界上沒有絕對的初學者。當你對深度學習算法的工作方式有了一定的理解後,你可能會想要了解深度學習算法的背後是怎樣的一套工作原理。人們對深度學習的應用無非是添加諸如Conv2d層,在不同類型的優化策略中(如ADAM)更改超參數,或者僅僅通過用Python編寫一行命令來改變超參數(多虧了我們有那麼多可用的框架),許多人對此表示驚異的同時也可能會非常想知道這一系列驚人的成果背後究竟發生了什麼。這也是作者寫本文的目的所在。閱讀本文,你會知道在Theano中放置一個conv2d層或調用T.grad時,“引擎蓋”內部發生了什麼。

常用書目

《Deep Learning》是每一個深度學習愛好者/工作者都不能錯過的書目(http://www.deeplearningbook.org/ )。Charniak教授的課程和論文也很不錯,它們大多是對深入學習技術方面的介紹(https://cs.brown.edu/courses/csci1460/assets/files/deep-learning.pdf )。如果你的腦海中對深度學習已經有了一個基本的框架,想從一個特定的角度來了解深度學習。那麼下面的推薦,一定可以滿足你的需要。《深度學習與應用數學》是從數學的角度編寫的。又或者你只想進行編碼,不想深究理論的話,請點擊: https://arxiv.org/abs/1703.05298。另一個推薦的資源是PyTorch的深度學習課程。閱讀它,你能獲得更大的視野(https://documents.epfl.ch/users/f/fl/fleuret/www/dlc/ )。

關於誤差反向傳播

很多人對這兩處都存在誤區,即“梯度下降和誤差反向傳播有什麼關係”,“鏈式法則和反向傳播的實質是什麼?”。在這裡,作者給出的建議是閱讀Rumelhart、Hinton和Williams 這三位的論文。論文鏈接: https://web.stanford.edu/class/psych209a/ReadingsByDate/02_06/PDPVolIChapter8.pdf 其他一些非常有用的資源,你可以閱讀Karpathy的博客(鏈接:https://medium.com/@karpathy/yes-you-should-understand-backprop-e2f06eab496b https://www.youtube.com/watch?v=gl3lfL-g5mA )。

線性代數等數學方法

任何一個老手都會對那些渴望學習線性代數的人說,Strang教授的課程你一定不能錯過。這可能是地球上最好的線性代數資源(https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/ )。Boyd教授所講的流行上的微積分也是線性代數學習者不容錯過的課程(你可以在谷歌上搜索“Calculus on Manifolds”,你將搜索到Boyd講述內容的PDF版。)然而,如果你只是想有所涉獵的話,你不必對他們的內容投入過多的精力。你可以點擊這裡,進行快速的瞭解:https://arxiv.org/abs/1802.01528

關於凸優化在深度學習上的應用,你可以點擊這裡:http://people.eecs.berkeley.edu/~elghaoui/Teaching/EE227BT/lectures.html 。其中佼佼者Sebastian Reuder的論文請點擊:https://arxiv.org/abs/1609.04747

如果你對張量感興趣,點擊:https://github.com/mtomassoli/tensor-differential-calculus/blob/master/tensor_diff_calc.pdf

老司機發車:深度學習乾貨速取!

自動微分與深度學習庫

當你做深度學習時,你不需要知道自動微分。大多數框架,如Torch、Theano或TensorFlow,都是自動為你完成的。在大多數情況下,你甚至不需要知道它們之間有沒有區別。也就是說,如果你決心瞭解深度學習框架是如何工作的,你可能需要了解自動微分是如何工作的。如果你對這些真的感興趣,請點擊:https://arxiv.org/abs/1502.05767

http://blog.christianperone.com/2018/03/pytorch-internal-architecture-tour

卷積神經網絡

當你對深度學習有了一定的瞭解後,你可能會發現弄清楚卷積神經網絡的工作原理是非常重要的。作者在這裡會幫你弄清楚,“輸入中使用了某種卷積後,輸出會是怎樣的?”“跨步(stride)是如何影響卷積的?”“什麼是Batch Normalization?”現在,附上與此相關的鏈接:https://arxiv.org/abs/1603.07285 https://www.youtube.com/watch?v=Xogn6veSyxA https://arxiv.org/abs/1803.08834 https://towardsdatascience.com/deep-learning-for-object-detection-a-comprehensive-review-73930816d8d9

NPL中的深度學習

前文提到,作者認為斯坦福CS 224課程對初學者而言是一個非常好的起點。而關於NPL,作者認為,YouTube上Graham Neubig(使用dynet)的課程非常不錯(鏈接:https://www.youtube.com/watch?v=Sss2EA4hhBQ)

關於NPL的書目推薦:https://u.cs.biu.ac.il/~yogo/nnlp.pdf

以及是否在文本上使用convnets或RNNs (LSTMs/GRUs)的一些概述,點擊這裡:https://arxiv.org/pdf/1803.01271.pdf

強化學習

老司機發車:深度學習乾貨速取!

對於每個學習強化學習的人而言,這幾本書不能錯過。鏈接:http://incompleteideas.net/book/the-book-2nd.html

有關強化學習的一些方法指南:https://arxiv.org/abs/1708.05866 。這是一個關於強化學習非常有趣的教程:https://hackernoon.com/intuitive-rl-intro-to-advantage-actor-critic-a2c-4ff545978752。

蒙特卡洛樹搜索(Monte Carlo Tree Search )作為AlphaGo算法的一部分,瞭解它請點擊 http://mcts.ai/pubs/mcts-survey-master.pdf。如果你時間有限,你可以點擊http://jeffbradberry.com/posts/2015/09/intro-to-monte-carlo-tree-search/?utm_source=top.caibaojian.com/19271

其他一些好的教程

關於生成對抗性網絡和相關模型教程:https://www.youtube.com/watch?v=HGYYEUSm-0Q

神經網絡在風格轉換方面的應用:https://arxiv.org/abs/1705.04058

相關補充:https://arxiv.org/abs/1706.05098

批評

俗話說,好的批評能讓人更快的進步。放到深度學習中也不例外。儘管深度學習在各個領域扮演著越來越重要的角色,但它的問題也是不容忽視的。

相關鏈接:

https://arxiv.org/abs/1703.07950 https://www.youtube.com/watch?v=rTawFwUvnLE https://arxiv.org/pdf/1703.06857.pdf

關於深度學習被惡意使用的報道:https://arxiv.org/abs/1802.07228

老司機發車:深度學習乾貨速取!


分享到:


相關文章: