深度学习-程序员的学习路径

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

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

    数学基础。如果你去读深度学习的论文,会发现数学对于DL非常重要,线性代数、概率论、甚至微积分都有用武之地。这些知识都还给学校了怎么办?难道要把所有这些课程再学一遍?大可不必。只要把DL需要用到的部分好好复习一下就好。这里推荐《Deep Learning》这本权威著作的第一部分,详述了机器学习需要的数学基础,另外也讲了机器学习领域的很多基本概念。
一本入门教材。虽然上面提到的《Deep Learning》是公认的DL最权威教材,但是一般人会觉得过于艰深,包含太多数学方面的论证。如果你对数学公式不太感冒,建议不要用这本书入门。我推荐一本《Hands on Machine Learning》。不要被书的名字欺骗了,本书的内容其实一点也不初级,讲述的很全面深入。但是语言非常流畅,容易读懂。这本书分为两部分,第一部分讲述了机器学习的各种传统算法,第二部分才是深度学习的内容。传统算法的学习很有必要,一方面帮助我们理解ML发展的脉络,另一方面,很多传统算法其实并没有被淘汰,比如RandomForest这种基于决策树的算法,在结构化数据的挖掘方面非常有效。
   一个入门课程。
    如果你想学好JAVA这门技术,也想在IT行业拿高薪,可以参加我们的训练营课程,选择最适合自己的课程学习,技术大牛亲授,7个月后,进入名企拿高薪。我们的课程内容有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,q群号为:230419550

注:加群要求

1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!
     读一些论文。在选定方向以后,我们可以去读一下这个方向的经典论文。说是经典,但是深度学习这个方向真正爆发也就是最近几年的事情,所以很多东西其实都是前两年的论文结果。推荐一个Awesome Deep Learning Papers的论文列表,个人觉得整理得不错,有参考价值。DL这个领域进展特别快,前几年的研究结果可能早已经被超越了,所以读论文要保持开放心态。不过,论文有的时候真的很啰嗦,幸好有网友总结了一下:aleju/papers,先读这个总结,带着问题再去读论文效果好很多。
    选一个框架。DL现在有很多非常成熟的框架了,每个科技公司都有自己的一套东西,Google系的TensorFlow现在似乎风头更劲一些。他们之间的比较可以看看这篇文章。我觉得这个跟编程语言之争一样,没必要太纠结,选一个自己喜欢的就好。各个框架训练出来的模型一定可以互相转换的。PyTorch方便构造动态的网络结构,似乎很多人看好。
    动手做一些深度学习项目。网上有很多开放的数据集,可以拿来做训练,先做些简单的,比如MNIST,IMDB影评的情感分析等。然后可以去Kaggle上做一些以前的的竞赛项目,比如Cats VS Dogs一类的。如果你足够厉害,可以参加当前的Kaggle挑战,说不定顺便赢个几十万美金呢:)
最后,关注一下DL最新的研究动向。这方面的媒体非常多,公众号、知乎专栏,一搜一大把,还有很多科技博客也是频繁更新。我推荐一个newsletter:import AI,很多人都觉得不错,一周一次,读起来也不会有太大负担。

猜你喜欢

转载自blog.csdn.net/weixin_41875978/article/details/79819824