摘要:

深度学习 CFD 深度学习基础教程_神经网络

学习深度学习的四个步骤

一个手写资源列表帮助你变成一个深度学习专家

首先,如果你需要一些基本的信息或者令人信服的关于深度学习为什么有非常大的影响,可以检验下面由Andrew Ng制作的视频。

深度学习 CFD 深度学习基础教程_深度学习_02

              https://www.youtube.com/watch?v=n1ViNeWhC24

 

步骤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撰写:在线书籍并有几个交互式的     JavaScript元素可以玩。

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。

4.深度强化学习

   由AlphaGo出名,围棋系统在历史上击败了最强围棋选手,David Sliver的(谷歌深度思维)视频课程和教授Rich Stutton的书籍是很好的起步。对于关于LSTM的一般介绍可以看Christopher的文章Understand LSTM nework和Andrej karpathy的The Unreasonable Effectiveness of Recurrent Neural Networks。

5.一般模型

    虽然有辨识率模型试着去检测、区分和分类,它们最终是在一个基本层面上寻找功能分化并不理解数据。除了短期应用之外,生成模型提供了潜在的自动学习的自然特性;类别、维度或者完全不同的东西。三个常用的生成模型——Generative Adversarial Networks(GANs),

Variational Autoencoders (VAEs) 和Autoregressive models(比如像素RNN),GAN是最流行的。想进一步深入阅读

  1.Original GAN paper.

  2.The Laplacian Adversarial Networks (LAPGAN) Paper.

  3.The Deep Convolutional Generative Adversarial Networks (DCGAN)paper和DCGAN Code(可以被用来学习层次特征而不需要任何监督),也可以参考DCGNN used for Image Superresolution.

步骤4.建立一些东西

   动手制作是成为一个专家的关键,试着去建立一些吸引你的并匹配你技能等级的。这里有一些建议去启发你。

1.作为传统,开始是从分类手写数据库MNIST dataset.

2.试着在数据库ImageNet上进行人脸识别和分类,如果你一直在做这个,可以参加ImageNet Challenge 2016.

3.使用RNNs或者CNNs做一个Twitter情绪分析。

4.训练一个神经网络去复制著名画家的艺术风格(A Neural Algorithm of Artistic Style)。

5.使用RNN制作音乐:Compose Music With Recurrent Neural Networks。

6.使用深度强化学习打乒乓球:Play ping-pong using Deep Reinforcement Learning。

7.使用神经网络自拍:Use Neural Networks to Rate a selfie。

8.使用深度学习自动着色黑白照片:Automatically color Black & White pictures using Deep Learning。

   想获得更多的启示,可以看下CS231n在冬天2016以及冬天2015的项目,也可以看下Kaggle 和HackerRank为了有趣的东西以及竞争和学习的机会而比赛。

附加资源

  这里有一些指示来帮助你持续学习

1.阅读一些极好的博客:Christopher Olah 和Andrew Karpathy博客很好的解释基本原理和最近突破

2.在Twitter上关注一些有影响的人,@drfeifei, @ylecun, @karpathy, @AndrewYNg, @Kdnuggets, @OpenAI, @googleresearch.(Who to follow on Twitter for machine learning

information ?)

3.Google + Deep Learning Community页面,是一个很好的方式与深度学习中的创新保持联系,同时也与其他深度学习的专家和爱好者交流。

参看ChristosChristofidis/awesome-deep-learning,关于深度学习课程、项目和社区的策划表是为了更多的乐趣。