Hardy's Mind Hacks

Hope is a good thing, maybe the best of things, and no good thing ever dies.

Deep Learning Roadmap

Step 1:深度学习算法

在学习深度学习之前,首先还是需要有一定的机器学习基础。可以参考我的Machine Learning Roadmap,然后,可以看吴恩达在Coursera上面的Deep Learning专项系列,看完之后会对深度神经网络,卷积神经网络(CNN),和循环神经网络(RNN)有一定了解,接下来可以看fast.ai出品的深度学习课程的part1,在了解算法的同时学会使用深度学习框架实现神经网络。

Step2:深度学习框架PyTorch

入门一个框架最好的方式还是通过在项目中自己敲打代码,从而逐渐做到熟练地运用框架。我自己入门PyTorch的时候,刚开始也是去看的官方文档的 PyTorch 60min Blitz ,英文版的看起来并不费力,当然,中文版也翻译得很好:PyTorch 60分钟快速入门。但是我个人觉得,对我帮助不大,看完之后还是不会用,而且完全没必要从最基础的autograd和numpy实现开始讲,不如直接开始最佳实践。因此后来我直接自己开始上手CNN,参照了一些别人的例子,很快就完成了我用PyTorch做的第一个验证码识别的项目:SEU-captcha-recognition

上手CNN的第一步当然是最经典的MNIST数据集,代码网上有很多,可以参考:

pytorch-handbook

但是这是不够的,你还需要使用CNN训练一个自己的数据集,你才知道PyTorch如何加载数据集,以及如何将图片信息和标签对应。可以上网去搜“PyTorch验证码识别”,可以用我的那个小项目,也可以自己想一个。除此之外,对于理解CNN的结构以及最佳实践,推荐一个免费的视频课程(直接跳到课程中的CNN部分):

Intro to Deep Learning with PyTorch

还有一个代码导向的入门资料:

code-of-learn-deep-learning-with-pytorch

Step 3:深度学习进阶

以下是一些进阶内容:

  • fast.ai的part2
  • 李弘毅教授视频课程中的GAN(生成对抗网络)部分
  • 深度学习经典书籍“花书”《深度学习》(Ian Goodfellow)
  • 强化学习(Reinforcement Learning):斯坦福CS234强化学习;伯克利CS294深度强化学习

Step 4:深度学习不同领域

掌握了深度学习技能之后,接下来就需要选择一个你感兴趣的方向进行深入学习了,比如:

  • 计算机视觉(Computer Vision):斯坦福CS231N
  • 自然语言处理(Natural Language Processing):斯坦福CS224N

Step 5:深度学习实战

到哪里去找实战项目练习呢,深度学习领域一个大家耳熟能详的平台就是Kaggle,能够在里面的比赛中拿到好名次对找工作非常有帮助。还有一个难度更大一点的,叫Wider Challenge

通过 WordPress.com 设计一个这样的站点
从这里开始