吴恩达的21节Deeplearning.ai课程学习经验总结

截止到2017年10月25日,吴恩达在Coursera上目前有3门新的深度学习课程:

1.神经网络和深度学习(Neural Networks and Deep Learning)
2.改善深度神经网络:调优超参数,正则化和优化(Improving Deep Neural Networks: Hyperparamater tuning, Regularization and Optimization)
3.构建机器学习项目(Structuring Machine Learning Projects)

这三门课程都非常有用,大家能从吴恩达那里学到了很多实用的知识。他在课程上的讲解上非常出色地过滤掉了行业中的各种流行语,并以一种清晰简洁的方式解释了这些概念。例如,吴恩达明确指出,监督深度学习只不过是一个多维曲线拟合过程,而任何其他的代表性的理解,如对人类生物神经系统的通用参照,都是最宽松的。专门化只需要在Python中使用基本的线性代数知识和基本的编程知识。

第1课:为什么深度学习越来越热门?
在过去的两年中,90%的数据都是被收集的。深度神经网络(DNN)能够利用大量的数据。因此,深度神经网络可以在较小的网络和传统的学习算法中占据主导地位。

Scale如何在深度神经网络中推动性能

此外,有许多算法的创新使深度神经网络的训练速度变得更快。例如,从一个sigmoid激活函数转换成一个RELU激活函数,对梯度下降这样的优化过程产生了巨大的影响。这些算法的改进使得研究人员可以更快速地迭代代码周期,从而带来更多的创新。

深度学习开发循环

第2课:深度学习中的矢量化
在上这门课之前,我没有意识到一个神经网络可以在没有任何明确的循环的情况下实现(除了层之间)。吴恩达在表达Python中一个矢量化代码设计的重要性方面做得非常出色。课程中的作业为你提供了一个样板化的代码设计,你可以轻松地将其转移到你自己的应用程序中。

第3课:对深度神经网络的深刻理解
第1课的方法实际上是让你从头开始实现numpy中的正向和反向的传播步骤。通过这样做,你可以对诸如TensorFlow和Keras等高级框架的内部工作原理有了更深入的了解。吴恩达解释了一个计算图背后的想法,这让大家可以更容易理解TensorFlow是如何执行“神奇的优化”的。

第4课:为什么要深度?
吴恩达对深度神经网络的分层方面有一个直观的理解。例如,在人脸检测方面,他解释道,先处理的层用于将面部的边缘集合,其后的层用于将这些边缘识别为面部组件(如鼻子、眼睛、嘴巴等等),然后更进一步的层用于把面部组件聚集到一起识别人的身份。吴恩达还解释了“电路理论”的概念,这个理论基本上描述了:一些存在的函数,需要一个指数级的隐藏单元来匹配一个浅网络中的数据。指数问题可以通过添加有限数量的额外层来得到缓解。

第5课:处理偏差和方差的工具
吴恩达描述了一个研究人员如何采取相对应的步骤来识别和处理偏差和方差的问题。下面这张图给出了一个系统性的答案:

解决偏差和方差问题的方法

他还提到了偏差和方差之间通常被引用的“权衡(tradeoff)”。他解释说,在现代的深度学习时代,我们有分别处理每一个问题的工具,这样就不再存在这种权衡。

第6课:正则化
为什么在成本函数中加入一个惩罚项会减少方差效应呢? 在上这门课之前,我认为的是它迫使权重矩阵更接近于零,产生一个更“线性”的函数。但是,吴恩达给出了另一种涉及tanh激活函数的解释:较小的权重矩阵产生较小的输出,它将输出集中围绕在tanh函数的线性区域上。

tanh 激活函数

他还对dropout给出了一个有趣的解释。在上这门课之前,我认为dropout基本上是在每次迭代中杀死随机的神经元,所以就像越小的网络线性程度就越强一样。吴恩达却认为应该从一个神经元的角度来看待生命。

单个神经元的角度

由于dropout随机地杀死了连接,神经元被鼓励在其父系神经元中更均匀地分布它的权重。通过扩散权重,它可以减少权重的 平方范数(squared norm)的收缩效果。他还解释说,dropout只不过是L2正则化的一种适应性形式,这两种方法都有相似的效果。

第7课:为什么要将工作标准化?
通过绘制等高线图,吴恩达描述了为什么标准化倾向于提高优化过程的速度。他明确地举例说明了一个在标准化和非标准化等高线图上的梯度下降例子。

第8课:初始化的重要性
吴恩达表示,参数的初始化可能会导致梯度的消失或爆炸。他演示了几个程序来解决这些问题。基本思想是确保每一层的权重矩阵都有一个大约为1的方差。他还讨论了用于tanh激活函数的Xavier初始化。

第9课:为什么使用小批量梯度下降法?
通过使用等高线图,吴恩达解释了小批量和大批量训练之间的权衡。基本的原则是,一个较大的批量会使每一次迭代变慢,而较小的批量能加快进展,但不能对收敛效果做出相同的保证。最好的方法是在两者之间做一些使你能够更快地取得进展的事情,而不是立刻处理整个数据集。这种方法同时还利用了矢量化技术。

第10课:对高级优化技术的理解
吴恩达解释了像动量(momentum)和RMSprop这样的技术是如何允许梯度下降控制它的路径逼近最小值的。他还对这个过程给出了一个很好的物理解释(球滚下了山坡)。他把这些方法联系起来解释了著名的亚当(Adam)优化。

第11课:基本的TensorFlow后端理解
吴恩达解释了如何使用TensorFlow实现神经网络,并解释了一些在优化过程中使用的后端过程。课程中的一项作业鼓励你使用TensorFlow来实现dropout和L2正则化。这进一步增强了大家对后端进程的理解。

第12课:正交化
吴恩达论述了正交化在机器学习策略中的重要性。基本的原则是,我们希望实现那些只影响算法性能的单一组件的控制。例如,为了解决偏差问题,你可以使用更大的网络或更鲁棒的优化技术。我们希望这些控制只会影响偏差,而不是其他问题,比如泛化。一个缺乏正交性的控制的例子是提前停止优化过程(早期停止)。这是因为它同时影响了模型的偏差和方差。

第13课:单一数字(single number)评估指标的重要性
吴恩达强调选择一个单一数字评估指标来评估你的算法的重要性。如果你的目标发生了变化,那么你应该在模型开发过程中较晚地更改评估指标。吴恩达给出了一个在猫咪分类应用中识别色情图片的例子。

第14课:测试/开发分布
始终确保开发集和测试集具有相同的分布。这确保了你在迭代过程中瞄准了正确的目标。这也意味着,如果你决定在测试集中纠正错误的数据,那么你还必须更正开发集中的错误标签数据。

第15课:处理不同的训练和测试/开发分布
吴恩达给出了为什么我们对在训练集和测试集/开发集没有相同的分布这个问题感兴趣的原因。他的想法是,因为你希望评估指标能在你真正关心的实例中计算出来。例如,你可能希望使用与你的问题不相关的示例,但是你不希望你的算法对这些示例进行评估。这使得你的算法能够得到更多的数据。从经验上看,这种方法在很多情况下会给你带来更好的性能。缺点是你的训练集和测试集/开发集有不同的分布。解决的办法是,在你的训练集里留下一小部分,并确定训练集的泛化能力。然后,你可以将这个误差率与实际的开发误差进行比较,并计算一个“数据不匹配”度量。吴恩达接下来解释了解决数据不匹配问题的方法,例如人工数据合成。

第16课:训练集/开发集/测试集大小
在深度学习的时代,设置训练集/开发集/测试集的分割(split)的指导方针已经发生了巨大的变化。在上这门课之前,我通常知道的是60/20/20的分割。吴恩达强调,对于一个非常大的数据集,你应该使用大约98/1/1,甚至是99/0.5/0.5的分割。这是因为开发集和测试集只需要足够大能确保团队提供的置信区间即可。如果你正在使用1000万个训练示例,那么可能100,000个示例(或1%的数据)就足够可以保证你的开发集和/或测试集的置信区间了。

第17课:近似贝叶斯最优误差
吴恩达解释了在某些应用中,人类的等级性能如何被用来作为贝叶斯误差的替代物。例如,对于像视觉和音频识别这样的任务,人类的水平误差将非常接近贝叶斯误差。这使你能够量化你的模型所具有的可避免偏差的数量。如果没有像贝叶斯这样的基准,就很难理解你的网络中存在的方差和可避免的偏差问题。

第18课:误差分析
吴恩达展示了一种很明显的技术,可以通过误差分析极大地提高算法性能的有效性。基本的想法是手动给你的错误分类的例子进行标注,并把你的精力集中在误差上,这是造成你错误分类数据的最大来源。

猫咪识别应用误差分析

例如,在猫咪识别中,吴恩达判断模糊的图像对误差的影响最大。这种敏感性分析可以让你看到你的努力在减少总误差方面有多大价值。还有一种可能是,修复模糊的图像是一项极其艰巨的任务,而其他的误差则是显而易见并且易于修复的。在决策过程中,敏感性和近似的工作都会被考虑进去。

第19课:什么时候使用迁移学习?
迁移学习允许你将知识从一个模型转移到另一个模型。例如,你可以将图像识别知识从猫识别应用转移到放射诊断。实现迁移学习要对网络的最后几层进行再次训练,用于相似的带有更多数据的应用领域。迁移学习的想法是,在网络早期的隐藏单元有一个更广泛的应用,它通常不针对你使用网络的具体任务。总而言之,当两个任务都有相同的输入特性,并且当你想要学习的任务比你要训练的任务有更多的数据时,迁移学习就会起作用。

第20课:何时使用多任务学习?
多任务学习迫使单个神经网络同时学习多个任务(而不是为每个任务建立一个单独的神经网络)。吴恩达解释说,当一组任务可以从共享的低级别特性中受益,并且当每个任务的数据量大小相似时,这种方法可以很好地工作。

第21课:什么时候使用端到端深度学习?
端到端深度学习需要多个阶段的处理,并将它们组合成一个单一的神经网络。这使得数据能在没有人工设计步骤引进偏差的前提下自主进行优化过程。相反,这种方法需要更多的数据,并且可能排除潜在的手工设计的组件。

Deeplearning.ai课程地址:https://www.coursera.org/specializations/deep-learning

时间: 2024-09-20 14:53:43

吴恩达的21节Deeplearning.ai课程学习经验总结的相关文章

吴恩达团队最新成果:用深度学习预测死亡概率,改善临终关怀

用过去1年的医疗记录就能预测一个人未来1年中的死亡概率?这听起来像是<黑镜>中才有的可怕黑科技,但是这对于疗养院和临终关怀工作者,意义重大. 在美国,超过60%的死亡发生在重症监护病房,多数人在弥留之际仍接受侵入性的治疗.进入重症监护病房的病人通常会提前记录自己的临终心愿,"再和爱人吃一顿晚餐","参加子女的婚礼".而提前知道临终日才能让他们在仍然有行动能力的时候达成心愿,更有尊严的过完最后的日子. 近期,吴恩达团队用深度学习建立了一个项目,利用病人的电

科技圈自媒体达人吴恩达又双叒叕刷屏了 这次是因为Deeplearning.ai

雷锋网(公众号:雷锋网)导读:吴恩达离职百度后的动向一直受到各方关注.今日,他在博客上宣布目前在做三个项目.此前雷锋网报道的 deeplearning.ai 便是第一个--deeplearning.ai 是一套由五门课组成的深度学习系列课程,旨在推广普及深度学习知识.这会不会是又一个像 2011 年 "Machine Learning" 那样的传奇课程?吴恩达是否会重拾"老师"的身份? 推特达人 美国太平洋时间 8 点 16 分,吴恩达在推特上发布了重磅消息:dee

TechCrunch炉边对话吴恩达:不回应70hr招聘要求,看好小公司AI驱动

本文讲的是TechCrunch炉边对话吴恩达:不回应70hr招聘要求,看好小公司AI驱动,我不会用AI治理污水,所以我决定提供给更多人AI教育! --吴恩达 TechCrunch Disrupt San Francisco 是由著名科技媒体Tech Crunch主办的年度活动.作为世界上最具影响力的初创公司活动之一,Disrupt每年吸引来自硅谷最好的投资人.创业者.企业家.科技人员和 科技爱好者,以及来自"创业竞技场"(Startup Battlefield competition)

吴恩达deeplearning.ai将于11月6日开放第四课,主讲卷积神经网络

截止到2017年10月25日,吴恩达在Coursera上有3门深度学习课程: 第一课:神经网络和深度学习(Neural Networks and Deep Learning) 第二课:改善深度神经网络:调优超参数,正则化和优化(Improving Deep Neural Networks: Hyperparamater tuning, Regularization and Optimization) 第三课:构建机器学习项目(Structuring Machine Learning Projec

别人在刷屏而我在读书!吴恩达这本书是你踏入deeplearning.ai的必修课

今天,雷锋网(公众号:雷锋网)雷锋字幕组一不小心又双叒叕被前百度首席科学家吴恩达刷屏了,万万没想到万众期待的DeepLearning. ai竟然是一套深度学习课程. 认真地说一句,如果你的硬盘里藏有几百个G的学习资料,你绝对知道什么叫做从入门到放弃. 如今书籍.资料满天飞的时代,拥有江湖失传已久的资料全集,早已不是闯入学霸界的入场门票. 这个时候还在 All in ,你就输了.港真,如果有心,经典书籍一本从头看到尾,即使不能秒变大牛,也能妥妥变个大白. 不过,话说回来,对于选书这个话题,我们CV

吴恩达成立1.5亿美元基金,专注AI投资

上周,吴恩达宣布了一系列深度学习的课程,这也是他deeplearning.ai项目的一个开始.雷锋网消息,在美国时间15日晚,外媒TC报道称他又有新动作了,即成立一个1.5亿美元规模的风险投资基金AI Fund,主要做AI领域的投资. 吴恩达曾创立了Google大脑团队,后担任过百度首席科学家,他长期以来一直希望AI技术能更为普及,推动他AI的民主化.通过深度学习课程的教育应该是其中一步,而为AI创业提供资金和其他资源则应该是另一件. 目前还不清楚吴恩达的AI基金会如何从众多基金中脱颖而出. 2

吴恩达最新动态:新公司极有可能做AI医疗

雷锋网AI科技评论按:吴恩达的新公司宣布成立快一个月了,一直没有新动静.不过从最近几天他的推特动态上看,未来新公司的研究方向很可能是AI医疗. 吴恩达在离开百度后的92天,发布推文宣布成立新公司deeplearning.ai,他并没有过多透漏新公司的业务发展方向,目前关于新公司的信息也只是一个域名和公司logo. 不过,据雷锋网观察,新公司很可能会进军AI医疗领域.比如最近推特上的几条动态,都是关于AI医疗.   从百度离职后,吴恩达博士重新回到斯坦福大学继续进行学术研究.他所带领的斯坦福研究人

吴恩达成立新公司,签约富士康,专注制造业AI变革(附视频)

今年六月份,从百度离职三个月后的吴恩达宣布成立新公司Deeplearning.ai,专注AI领域的教育培训(戳这里了解大数据文摘相关报道).六个月后,就在刚刚,他在twitter上宣布了另一家新公司的成立:Landing.ai. 吴恩达通过一封名为<用人工智能振兴制造业(Revitalizing manufacturing through AI)>的公开信宣布了这一消息.公开信中,他表示这一公司将专注用人工智能辅助制造业领域的转型,并解释了选择制造业这一传统行业的原因:"通过制造业,

吴恩达:比起争论AI会否超越人类,倒不如先担心你的饭碗能否保住

雷锋网 AI科技评论按:Facebook CEO 马克·扎克伯格和特斯拉CEO 伊隆·马斯克刚刚在网上掀起一场关于AI威胁论的争辩,Coursera联合创始人.中国科技巨头百度的前首席科学家吴恩达就表达了他自己的观点:比起争论AI是否会在不远的将来超越人类,倒不如关心眼前的问题来得实在,比如说失业问题. VentureBeat上的一篇文章阐述了吴恩达的观点.雷锋网 AI科技评论将其编译如下: 近来有很多关于超级人工智能的讨论,该领域的一位领军人物认为,比起讨论这些问题,对人类来说,当前还有更紧迫