深度学习资源

深度学习成为主流是近十年的事,且涉及的知识很多,即使是资深工程师也很难在短时间内学会。学习过程中也有很多弯路,从复习大学数学开始,学习算法原理,工具和框架,看论文,参考别人写的代码,参加大数据比赛。能坚持把以上步骤认真做完已经很难得,但似乎仍然很难建立对深度学习的“直觉”,很难把这些知识融合到自己的架构和代码里,实际应用中看着都眼熟,细看全是盲点,修改结构的时候一改就错,最终成长为“调包侠”。

识字 + 读书≠会写作文,在原理、语法和代码之间似乎有一道沟;从论文、比赛、技术博客之中学到的又往往是琐碎的点,很难连成知识面。

推荐吴恩达老师的《Deep Learning》线上课程,网易云课堂上有免费课程视频(带中文字幕),课程比较系统,讲解了从线性层的实现到深度学习技巧,再到视觉和自然语言处理等实际的应用。

这门课最大的亮点是:没有太复杂的数学,用直觉代替推导,大家都能听懂;作业难度适中,上课讲原理,下课通过编程实现各种原理,不再是只会调库。作业主要是选择题和程序填空,题量不算小,也不算容易。

比如第一个编程习题:自己写神经网络用于判断图片中是否包含猫,其中涉及优化、前向后向传播,数据处理。但代码不多,以程序填空的方式提供,并且可以找到参考答案。即使实在做不出来,完全抄一遍答案也有收获。慢慢地,可以从中打磨出一些经验,比如根据问题的难度估计神经网络的规模、数据量、以及训练时间、超参数等等。

除了建立知识体系,也适合查缺补漏,在实践过程中遇到的问题,很多都能在这里得到启发;明白别人的程序为什么会这么写。与算法开发者的想法相互印证。另外,还有很多经验性知识,比如超参数有 N 个,最重要的是 xxx,其次是 xxx,一般使用默认值是 xxx;yyy 原理很重要,但一般实现时常常用不到等等。不像有些书上为了完整性列出所有选项,却没有重点。另外,吴恩达老师声音很好听,有点像纪录片的配音效果,引用弹幕“引起极度舒适”。

课程共包括五个专题,每个专题 2-4 课,每课视频时间约 1-2 小时(有些片断需反复琢磨),作业时间约 3 个小时(视个人程度而定,主要基于 TensorFlow1.0 版本)。每周 1 课,约 17 周完成。完全 Full time 学习,也需要至少半个月时间。

下面列出课程目录

  • 神经网络和深度学习

深度学习概论

神经网络基础

浅层神经网络

深层神经网络

  • 改善深层神经网络:超参数调试、正则化以及优化

深度学习的实用层面

优化算法

超参数调试、Batch 正则化和程序框架

  • 结构化机器学习项目

机器学习策略 1

机器学习策略 2

  • 卷积神经网络

卷积神经网络

深度卷积网络:实例探究

目标检测

特殊应用:人脸识别和神经风格转换

  • 序列模型

循环序列模型

自然语言处理与词嵌入

序列模型和注意力机制

分享一些课程相关链接

  • coursera 在线课程

https://www.coursera.org/specializations/deep-learning

  • 网易云课堂

https://mooc.study.163.com/smartSpec/detail/1001319001.htm

https://mooc.study.163.com/course/2001281003#/info

  • B 站视频地址

https://www.bilibili.com/video/av87840460/

  • 中英文对照的作业及答案分析(含习题数据下载)

https://blog.csdn.net/u013733326/article/details/79827273?tdsourcetag=s_pcqq_aiomsg

  • 其它作业资源

https://github.com/Kulbear/deep-learning-coursera
https://github.com/greebear/deeplearning.ai-notes
https://github.com/Wasim37/deeplearning-assignment