步骤1.学习深度学习的基本知识
(可选的,但是建议你这样做)
由Andrew Ng的机器学习课程开始https://www.coursera.org/learn/machine-learning.他的课程提供了一些关于各种机器学习算法的介绍,更重要的是,一般的程序/机器学习的方法,包括数据预处理,大参数调优等。
阅读由Geoff Hinton、Yoshua Bengio和Yann LeCun写的NIPS 2015 深度学习教材,是一个以通俗易懂的介绍。
步骤2.深入专研深度学习
我学习的偏好是观看讲座视频,并感谢几个优秀的网上课程,这里有我喜欢的几个课程:
1.Deep learning at Oxford 2015,Nando de Freitas没有过于复杂的熟练解释基本原理。从讲座9开始,如果你熟悉神经网络并想要再深一点,他在他的例子中使用了火炬框架(Video on Youtube)。
2.Neural Network for Machine Learning :这是Geoff Hinton的课程。Hinton是一个杰出的研究者,他证明了一般的BP算法的使用并对于深度学习的发展起着至关重要的作用。我尊重他,但是我发现该课程没有组织。更进一步的,课程会由于布置的测试陷入困境。
3.Neural Networks Class,是由Hugo Larochelle 教授:另外一个极好的课程。
4.Yaser Abu-Mostafa’s machine learing course:如果你感兴趣更多的理论的话。
如果你更倾向于书籍,这里有一些极好的资源。
1.Neural Networks and Deep Learning Book,是由Michael Nielsen撰写:在线书籍并有几个交互式的 Java元素可以玩。
2.Deep Learning Book,是由Ian Goodfellow, Yoshua Bengio和Aaron Courville撰写:有一些密集。
步骤3.挑选一个专注领域并深入研究
确定你所热爱的并深入研究,领域是宽广的,所以列表是一个全面的列表。
1.计算机视觉
深度学习已经改变了这一领域。斯坦福CS231课程是我最经历的最好课程,它教会你基础知识和卷积,同时也帮助你在AWS上建立GPU实例,同时,也可以看由Mofstafa S,Ibrahimz制作的课程Getting Started in Computer Vision。
2.自然语言处理(NLP)
用于机器翻译,提问和回答,以及情感分析。为了掌握这一领域,深度理解自然语言的算法和基础计算属性是必须的。CS224N/Ling284课程是一个很好的起步课程。CS224d:Deep Learning for Natural Language Processing,是由David Socher教授的另外一门极好的课程,回顾了所有关于自然语言的最新深度学习的研究。更细节的可以看How do I learn Natural Language Processing?
3.记忆网络(RNN-LSTM)
最近的工作是将在LSTM复发神经的注意机制与外部可写内存相结合,这意味着在建筑系统中有一些有趣的工作,可以被理解、存储并在以问答的方式检索。这个研究领域是由Dr.Yann Lecun的facebook实验室起步的,原始文字是在arxiv上:Memory Network。这里有许多研究变体、数据集、标准等,比如,Metamind的Dynamic Memory Networks for Natural Language Processing。
下一篇:什么是六好课堂?