序员要开始学习深度学习,该如何入手?

看网上搜集的各种庞杂的DL学习资料列表,你可能会被吓死。但实际上大部分学习资料都包含了相当多重复的内容,下面是我个人总结的一些学习经验,希望能去芜存菁,帮助程序员快速进入深度学习的圣殿。

数学基础。如果你去读深度学习的论文,会发现数学对于DL非常重要,线性代数、概率论、甚至微积分都有用武之地。这些知识都还给学校了怎么办?难道要把所有这些课程再学一遍?大可不必。只要把DL需要用到的部分好好复习一下就好。这里推荐《Deep Learning》这本权威著作的第一部分,详述了机器学习需要的数学基础,另外也讲了机器学习领域的很多基本概念。

一本入门教材。虽然上面提到的《Deep Learning》是公认的DL最权威教材,但是一般人会觉得过于艰深,包含太多数学方面的论证。如果你对数学公式不太感冒,建议不要用这本书入门。我推荐一本《Hands on Machine Learning》。不要被书的名字欺骗了,本书的内容其实一点也不初级,讲述的很全面深入。但是语言非常流畅,容易读懂。这本书分为两部分,第一部分讲述了机器学习的各种传统算法,第二部分才是深度学习的内容。传统算法的学习很有必要,一方面帮助我们理解ML发展的脉络,另一方面,很多传统算法其实并没有被淘汰,比如RandomForest这种基于决策树的算法,在结构化数据的挖掘方面非常有效。

一个入门课程。这里我提供两个选项:

第一推荐Andrew Ng刚刚上线的Deeplearning.ai。Andrew Ng的课,品质应该不会差,而且估计他会加入很多最前沿的研究。这门课刚刚开课,应该会持续几个月的时间。所以要做好长期学习的准备。

第二个是我上过的fast.ai。这门课的讲师Jeremy也是个牛人,曾负责Kaggle平台的研发。这个课程的教学理念更加注重实践,在讲解概念的同时,用Keras+Jupyter Notebook直接演示模型的训练。总共只有7节课,每课时两个小时,但是每节课的Notes里面附带大量的参考资料,需要花很多时间去自学、消化。这门课现在开始了第二学期,讲DL最前沿的研究进展,也是7节课。另外,需要习惯一下讲师的澳洲英语。

一个方向。深度学习可应用的领域很多,我们需要选择其中一个深入研究。方向包括:计算机视觉(图像、视频处理,主要用CNN)、自然语言处理NLP(包括文本、语音处理,序列数据往往需要RNN)、增强学习(用在机器人、自动驾驶等方面),此外对于生成模型(GAN、VAE等等)的研究也是一个热点。

CV推荐学一下Stanford的CS231, 李飞飞的课,讲的很清楚;NLP可以听Stanford的CS224,Manning教授的,NLP的泰斗,从传统算法到DNN一路走过来的;或者牛津的这个课也可以:oxford-cs-deepnlp-2017/lectures,请到了DeepMind的大牛来讲。斯坦福的课油管上都有视频,搜课程号就能找到。

一些论文。在选定方向以后,我们可以去读一下这个方向的经典论文。说是经典,但是深度学习这个方向真正爆发也就是最近几年的事情,所以很多东西其实都是前两年的论文结果。推荐一个Awesome Deep Learning Papers的论文列表,个人觉得整理得不错,有参考价值。DL这个领域进展特别快,前几年的研究结果可能早已经被超越了,所以读论文要保持开放心态。不过,论文有的时候真的很啰嗦,幸好有网友总结了一下:aleju/papers,先读这个总结,带着问题再去读论文效果好很多。

一个框架。DL现在有很多非常成熟的框架了,每个科技公司都有自己的一套东西,Google系的TensorFlow现在似乎风头更劲一些。他们之间的比较可以看看这篇文章。我觉得这个跟编程语言之争一样,没必要太纠结,选一个自己喜欢的就好。各个框架训练出来的模型一定可以互相转换的。PyTorch方便构造动态的网络结构,似乎很多人看好。

动手做一些深度学习项目。网上有很多开放的数据集,可以拿来做训练,先做些简单的,比如MNIST,IMDB影评的情感分析等。然后可以去Kaggle上做一些以前的的竞赛项目,比如Cats VS Dogs一类的。如果你足够厉害,可以参加当前的Kaggle挑战,说不定顺便赢个几十万美金呢:)

最后,关注一下DL最新的研究动向。这方面的媒体非常多,公众号、知乎专栏,一搜一大把,还有很多科技博客也是频繁更新,我个人推荐Joy老师858288017,是很不错的导师

所以你看,深度学习其实没有那么难学,不需要你制定几年计划。但是要有一定自学的能力,尽快动手写程序出来,就能建立自信突破心理障碍,再学下去就非常自如了。

Keep Calm and Carry On!

P.S. 我提到的很多资料都要翻墙,相信这对于程序员不是问题。另外建议书籍、文章读英文原版,我个人做过技术书的翻译,对中文技术译作没什么好感,大部分技术书翻译以后都难以表达原意,甚至包含错误,读起来比原版费劲。

我个人对DL也是在自学摸索,大家可以一块交流、共同进步。群231158925

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值