深度学习成为主流是近十年的事,且涉及的知识很多,即使是资深工程师也很难在短时间内学会。学习过程中也有很多弯路,从复习大学数学开始,学习算法原理,工具和框架,看论文,参考别人写的代码,参加大数据比赛。能坚持把以上步骤认真做完已经很难得,但似乎仍然很难建立对深度学习的“直觉”,很难把这些知识融合到自己的架构和代码里,实际应用中看着都眼熟,细看全是盲点,修改结构的时候一改就错,最终成长为“调包侠”。
识字+读书≠会写作文,在原理、语法和代码之间似乎有一道沟;从论文、比赛、技术博客之中学到的又往往是琐碎的点,很难连成知识面。
推荐吴恩达老师的《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
网友评论