小夕还记得几年前刚入坑的时候,老师给的入门资料就是一堆论文!害的小夕差点放弃。。。
如今深度学习应用的开发成本越来越低,学习资料越来越多,于是对初学者来说进入了另一个相反的困境——资料过多,让人眼花缭乱!哪怕是最最经典、顶尖的公开课。也是有好多门(斯坦福的、coursera的、MIT的、Berkeley的……)。更不必说眼花缭乱的纸质书籍,更更不用说铺天盖地的订阅号(比如夕小瑶的卖萌屋)
如果你正在纠结如何去选择,不妨先看看小夕的推荐~
首先,小夕没有提到的资料,要么就是小夕没有看过的,要么就是难以说好坏的,所以没提到的资料要自己判断哦,不代表资料不好~
另外严正声明!小夕没有收一分广告费!这!不!是!广!告!文!没认真看过的资料小夕是不会瞎推的!
下面小夕就从视频资料、书籍资料、其它资料给大家分别推荐啦。
视频资料方面,小夕就不多推荐啦,因为看视频真的是很磨时间的学习方式。就提一下三门课:
1、coursera上Ng开设的机器学习。
https://www.coursera.org/learn/machine-learning/
如果在入门深度学习之前都没有接触过机器学习的话,那么这门课是小夕建议十分有必要听的~尤其是课程的好几个大作业,Ng已经给你写好的框架也要好好看,这对于摸清行业基本工程框架是十分有帮助的~可以说是理论与工程双收的入门教程。当然,已经入门的就忽略吧。
2、斯坦福大学的公开课CS231n(深度学习与计算机视觉)。
http://cs231n.stanford.edu/
小夕是做自然语言处理(NLP)的,所以早就听说了这门课但是一直也没有去看。最近也是刷了几节,感觉非视觉方向的小伙伴听一听也是有帮助的~不过个人觉得非视觉方向的,又不是有大把时间的,就不用太心心念这门课啦,这门课的更高效的替代品还是蛮多的。视觉方向的刚要入门的去刷就非常合适了。
3、斯坦福大学的公开课CS224d(深度学习与自然语言处理)。
http://cs224d.stanford.edu/syllabus.html
这门课是深度学习与自然语言处理的结合,开课老师是NLP领域的天才级大牛Richard Socher,几乎各种递归网络的提出者。NLP方向的小伙伴要入门深度学习的话,看这门课是很合适的,小夕也刷完了,毕竟词向量这些概念的特性理解不透的话,CNN、RNN理解的再好也很容易瓶颈了。不过这门课对CNN在NLP领域的应用讲的不多,还是建议刚入门的初学者刷一刷,已经入门的就不用啦,太浪费时间。
4、coursera上Ng开设的Neural networks and deep learning。
https://www.coursera.org/specializations/deep-learning
这门课实在太太太火,小夕也是前几天抽出时间来挑着看了些,主要集中在第二、三章节上。发现这门课第二章节的内容跟Ng的《machine learning yearning》好好好像啊,甚至插图都没有变太多 =.= 对于初学者来说,这门课的内容是以后进行工程所不可或缺的,十分建议这门课和《machine learning yearning》最少要挑一个看!尤其是bias-variant trade-off理论,没有人比Ng讲的更清楚了。
对视频资料总结一下,如果是一个完全态的新手,那么Ng的机器学习是十分有必要认真看的(是说认真看大作业的代码!不仅仅是视频!)。如果有机器学习基础了,但是深度学习是个小白,神经网络也理解很少,数学也不怎么样,那么Ng的Neural networks and deep learning刷了绝对大有收获的~如果机器学习和深度学习的基础都有了,但是缺乏某一应用领域的应用套路,那么有时间可以刷CS231n或者cs224d,没时间也无所谓的,继续往下看啦~
纸质书籍方面,由于我们目标是深度学习的应用!而且精力有限!所以在书籍上的功夫一定要少而精。小夕力推两本,这两本也是小夕除了论文外,80%的知识来源~(算上论文也能占40%啦)
1、《Deep learning》,中文叫《深度学习》,已经开售了(应该没有人不知道吧)。
这本书的价值和权威性不用我啰嗦。但是!我要吐槽一下,我觉得这本书除了主流的深度学习模型讲的很一般以外,其它大部分章节还是挺好的!如果你看这本书的第9、10章学习CNN、RNN的时候感觉乱糟糟的,要么感觉太过啰嗦缺乏核心,要么感觉“天呐怎么一带而过了”,那么不要怀疑自己的智商,因为小夕也怀疑过自己的智商了 =.= 。这些章节主要就用来索引论文吧。(当然如果你觉得讲的棒呆了,恭喜你跟作者心有灵犀)
但是,这本书的6、7、8章还是很棒的!第一部分写数学基础的那几章也是言简意赅,恰到好处。总之“深度前馈网络”、“正则化”、“优化”这几章值得细细读的~
另外,不要以为看完这本书你就对深度学习无所不能了,实际上还差很远呐。这本书的价值在于让你低成本(高效率)的补上最近几年的主要理论成果,免得自己面对数百篇重要论文无从下手。顺便提供了一个论文索引。工程能力的get要看下面这本神书!
2、《Hands On MachineLearning with Scikit Learn and TensorFlow》。
这本书是小夕秘藏好久的书籍!遇到它时也是缘分啦,有一次在Google瞎搜,结果出来一个“safari books online”的神奇网站,宝宝用了多年Safari,都没有发现它还有这种地方!于是点进去,
噫?果然是个神奇的地方!然后就习惯性的去找人工智能、机器学习、深度学习等分类的书了。然后当时看到了相关主题的热搜,当时的top1就是这本书!好奇之下点进去试读,然后就中毒了。。。
不过不用担心价格问题,只要你有书名,你懂嗒( ̄∇ ̄)
这本书真的是深度学习在工程应用上的神器!有很多工程tricks,比如工程上怎么初始化啦、怎么选择激活函数啦、批量归一化什么时候用之类的很现实的问题基本都能在这里找到答案!它又不同于《机器学习实战》这种堆砌代码的书籍,它的理论讲解也很棒!整本书的组织也是循循善诱,代码什么的与理论和实验融为一体,而且最重要的是它也会给出大量的参考论文!论文都会在当页的下方给出,简直发现新大陆不能更方便了!
哦对了,这本书的前半部分是统计机器学习,后半部分是深度学习。小夕只看了深度学习部分。对于还没有用过统计机器学习模型如SVM解决过工程问题的同学来说,前半部分也是神器了!所以超级初学者上完Ng的机器学习后,来这本书的前半部分深入学习简直不能更高效了。
对书籍资料总结一下,只要你要做深度学习了,理论书方面目前最佳还是《deeplearning》。但是不要迷信部分章节的讲解力,该啃参考论文就啃论文!大部分论文会比书上讲的清晰很多(除了某些思维实在难以让人理解的大牛的论文)。工程上的主力书,小夕只推《Hands On Machine Learning with Scikit Learn and TensorFlow》。超级新手顺便把前半部分也挑着看一下,一般性初学者和工程经验不太丰富的小伙伴好好看后半部分吧(尤其"training deep neural nets"那一章)
其它资料方面,力推两个。
1、Udacity的深度学习课程里的projects。
https://github.com/udacity/deep-learning
如果深度学习工程能力仅仅停留在demo层面,还没有自主做过大型demo或者说小型project,然后又觉得没有人带着无从下手,那么Udacity里的这些projects会把你感动哭的!
project从计算机视觉到自然语言处理,都有很典型的应用场景。而且每个project都是已经给定了框架,说明文档非常详细,大部分工程的代码组织的也很棒,小夕前不久(前好久)说的闭关修炼就是指的在这里刷projects!收获非常非常大!而且小夕有幸听了这个课程配套的几节课,简直不要太友好,有经济条件的同学来刷一下Udacity的《deep learning》课程收获或许比CS231和CS224多。(Udacity是不是该给我点广告费(。 ́︿ ̀。))
2、各类知识分享平台和企业媒体。(2020年更新:此节内容已过时
有很多各种推荐AI领域新闻的订阅号大V我就不说啦,自己取舍~最后留在小夕手机里的,最常刷的,一个是之前在知乎上已经写过的Quora,还有一个是“雷锋网”APP。发现这个确实存在干货的媒体也是通过某个大神的一篇文章(过一阵子的推送中就会提到这篇文章)然后就连带着在这个媒体的APP里刷出来很多确实存在良心干货的文章!这跟那些一谈技术就满篇浮夸和错误的媒体比起来简直不能要求更多了。
也有很多专注写干货的微信订阅号,小夕觉得很良心的有忆臻小哥哥的《机器学习算法与自然语言处理》、还有《哈工大SCIR》(自然语言处理的多一些),有时还会去周立“小叔叔”的《交互设计前端开发与后端程序设计》玩耍( ̄∇ ̄)
其它资料总结:Udacity的deeplearning课程projects会给已经入门的小伙伴带去惊喜的~闲暇时间刷刷Quora、雷锋网还有上述几个良心订阅号容易撞到停不下来的干货哦。
大总结:坚持看到最后的一定是真爱 \(//∇//)\