Andrew Ng深度学习课程笔记

摘要: 本文对Andrew Ng深度学习课程进行了大体的介绍与总结,共包括21个课程。

我最近在Coursera上完成了Andrew Ng导师关于新深度学习的所有课程。Ng在解释术语和概念方面做得非常出色。例如,Ng指出,监督深度学习只不过是一种多维曲线拟合过程。

以下是我对课程的简单回顾:

第1课:为什么深度学习会兴起?

因为在过去的几年里科学家收集了90%的数据,而深度神经网络(DNN)需要大量的数据。因此,DNN可以支配较小的网络和传统的学习算法。

此外,还有许多算法的创新使得DNN的运行速度越来越快。例如,sigmoid激活函数进化到Relu激活函数,这对如梯度下降类的优化过程产生了巨大影响。这些算法的改进使得研究人员更快速地对新想法进行迭代->实验->编码周期循环,从而实现更多的创新。

第2课:深度学习中的矢量化

在上这门课之前,我没意识到在不需要对循环进行明确操作的前提下,可以实现一个神经网络。Ng出色的表达了Python矢量化代码设计的重要性。他提供了一个样板化的代码设计,你可以轻松地将其转移到你自己的应用程序中。

第3课:深入了解DNN

第一个课程实际上是让你能够了解,如何从头开始实现numpy的向前和向后传播的步骤。通过该课程,使得我对TensorFlow和Keras等高层框架的内部工作有了更深入的了解。Ng解释了计算图背后的想法,让我理解了TensorFlow是如何执行“神奇的优化”的。

第4课:为什么使用深层表达

Ng对DNN的分层方面给出了直观地理解。例如他对人脸识别的解释,神经网络第一层所做的事就是从原始图片中提取出人脸的轮廓与边缘,即边缘检测。这样每个神经元得到的是一些边缘信息。神经网络第二层所做的事情就是将前一层的边缘进行组合,组合成人脸一些局部特征,比如眼睛、鼻子、嘴巴等。再往后面,就将这些局部特征组合起来,融合成人脸的模样。他还解释了存在一些函数,这些函数需要指数数量的隐藏单元来适应浅层网络中的数据。

第5课:处理偏差和方差的工具

Ng讲解了研究人员为识别和解决与偏差和方差相关问题而采取的步骤。他还谈到了偏差和方差之间的“权衡”。他解释说,在现代的深度学习时代,我们有工具来单独解决每个问题,不在需要“权衡”了。

第6课:规范化的直觉

为什么将惩罚因子添加到成本函数可以减少方差效应?Ng给出了另外一种涉及tanh激活函数的解释。即,较小的权重矩阵产生较小的输出,然后将输出集中于tanh函数的线性部分。

他还为dropout提供了一个有趣的解释。在选修这门课程之前,我认为dropout基本上都是在每次迭代过程中随机杀死神经元,导致我们好像是在用一个更小更线性的网络。而他是从单个神经元的角度看待问题。

由于dropout是随机杀死连接,神经元被激励将其权重更平均地分布在其父母之间。通过扩展权重缩小全中的平方规范。他还解释说,dropout只不过是L2正规化的一种自适应形式,这两种方法都有相似的效果。

第7课:为什么规范化工作?

Ng通过一个在归一化和非归一化轮廓图上遍历逐渐下降的例子证明了一个问题,即,为什么归一化倾向于通过绘制登高线图来提高优化过程的速度。

第8课:初始化的重要性

Ng表示参数的初始化失误会导致渐变的消失或爆炸。他演示了几种解决这些问题的程序,基本思想都是确保每一层的权重矩阵在方差1以内,而且他还讨论了tanh激活函数的Xavier初始化。

第9课:为什么使用小批量梯度下降法?

Ng使用等高线图解释了小尺寸和大尺寸mini-batch的权衡。基本思想是,大尺寸的会在每次迭代中变慢,而小尺寸的允许你更快的取得进展,但是不能对收敛做出相同的保证。最好的方法是在两者之间做一些措施,使你能够更快地处理整个数据集,同时还可以利用矢量化技术。

第10课:对高级优化技术的直观理解

Ng解释了动量(momentum)和RMSprop等技术如何用梯度下降来减少它通向最小值的路径。

他还用滚下山的球给出了很好的物理解释。他将这些方法联系起来解释著名的亚当优化程序。

第11课:基本后端TensorFlow的理解

Ng不仅解释了如何使用TensorFlow实现一个神经网络,还解释了如何在优化过程中使用一些后端程序。其中的一项作业是鼓励你用TensorFlow实现dropout和L2正则化,这进一步增强了我对后端流程的理解。

第12课:正交化

Ng论述了正交化在机器学习策略中的重要性。基本思想是,希望实现的控件每次只影响算法的单个组件。例如,为了解决偏差问题,你可以使用更大的网络或更健壮的优化技术。你希望这些控件只影响偏差,而不是例如泛化等其他问题。缺乏正交化的控件的一个例子是提前终止优化过程。这是因为它同时影响模型的偏差和方差。

第13课:单个数字评估指标的重要性

Ng强调了用单个数字评价指标评估算法的重要性。如果你的目标更改,则只需在模型开发过程中更改评估指标。Ng给出了一个在猫分类应用程序中识别色情照片的例子!

第14课:测试/开发分布

在过程中需要保持开发和测试集具有相同的分布,这能确保你的团队在迭代过程中针对正确的目标。不过这也意味着,如果你再测试集中纠正错误数据,那么也必须在开发集中纠正。

第15课:处理不同的培训和测试/开发分配

为什么团队会对培训和测试/开发分配不同感兴趣呢?Ng给出了相应的解释。他的观点是,你希望评估指标可以根据你真正关心的比例进行分配。例如,你可能希望使用与你的问题不相关的示例来进行培训,但是你不希望你的算法对这些示例进行评估。这样你的算法就可以得到更多的数据。经验表明,这种方法在许多情况下会给你带来更好的性能。缺点是你的训练和测试/发布集有不同的发布。解决方案是忽略训练集的一小部分,并确定训练集的泛化能力。然后,你可以将此错误率与实际开发错误进行比较,并计算“数据不匹配”指标。然后,Ng解释了处理这种数据不匹配问题的方法,例如人工数据合成。

第16课:训练/发布/测试尺寸

在深度学习时代,设置训练/发布/测试分离的指导方针发生了巨大变化。在上这门课之前,我知道通用的60/20/20分组比例。然而,Ng强调,对于一个非常大的数据集,应该使用大约98/1/1甚至99/0.5/0.5的分割。这是因为开发和测试集大小只需要能够确保团队提供的置信区间内。如果你使用10,000,000个训练示例,那么可以100,000个示例就能保证你的开发和测试集的某些信任范围。

第17课:近似贝叶斯最优误差

Ng解释了在某些应用中,人类级别的误差如何用作贝叶斯误差的代理。例如,在视觉和音频识别之类的任务中,人类的误差水平非常接近贝叶斯误差。因此可以通过量化人类模型来避免偏差量。如果没有贝叶斯误差的基准,很难理解网络中的变化和可避免的偏差问题。

第18课:错误分析

Ng讲述了一种显而易见的技术:通过错误分析大幅提高算法性能。基本的思路是手动给错误分类的例子贴上标签,这样就能重点关注在错误上,这对错误分类数据是最重要的。

例如,在猫识别任务中,Ng确定模糊图像出现错误的几率最大。而这种敏感性分析可以让你看到可以减少总错误数量。敏感性和近似工作将被纳入决策过程。

第19课:何时使用转移学习?

转移学习允许你将知识从一个模型转移到另一个模型。例如,你可以将图像识别知识从cat识别应用转移到放射诊断。实现迁移学习需要重新训练网络的最后几层,用于类似的应用程序域并提供更多的数据。这个思路是,网络中较早的隐藏单元具有更广泛的应用程序,它通常不是特定于你正在使用网络的确切任务。总之,当两个任务都有相同的输入特性,并且当你要学习的任务比你想要训练的任务数据更多时,转移学习是有效的。

第20课:何时使用多任务学习?

多任务学习迫使单个神经网络同时学习多个任务(而不是每个任务都有一个单独的神经网络)。Ng解释说,当一组任务可以从共享较低级别的特性中受益,并且当每个任务的数据量大小相似时,这种方法很有效。

第21课:何时使用端到端深度学习?

端到端的深度学习需要进行多个阶段的处理,并将它们组合成一个单一的神经网络。这使得数据可以为自己说话,而无需在优化过程中使用人工操作。但相应的缺点为,这种方法需要更多的数据,并且可能会排斥手动设计的组件。


文章原标题《Deep Learning Specialization by Andrew Ng  –  21 Lessons Learned》

作者: Ryan Shrott

译者:奥特曼,审校:袁虎。


原文链接


干货好文,请关注扫描以下二维码:



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工作流实战_05_flowable 流程定义的挂起与激活

由于群里有些朋友对这个flowable还不是 很熟悉,在群里的小伙伴的建议下,师傅(小学生05101)制作一个开源的项目源码,一共大家学习和交流,希望对有帮助,少走弯路 如果有不懂的问题可以入群:633168411 里面都是…

技嘉注入usb 3.0工具_技嘉怎么安装win10系统 技嘉安装win10系统步骤【图文介绍】...

技嘉笔记本性能配置高端,质量一流,技嘉科技在主板方面也及其出色,因此自身生产的电脑配置也相当专业。若要用技嘉 安装win10系统 要怎么做比较快呢?最简单的方法便是用u盘装系统了,u盘装系统可谓是傻瓜式一键装机,让装…

为什么深度学习没有取代传统的计算机视觉?

摘要: 深度学习大潮为什么淹没传统的计算机视觉技术?听听大牛怎么说~这篇文章是受到论坛中经常出现的问题所创作的:深度学习是否可以取代传统的计算机视觉?这明显是一个很好的问题,深度学习(DL)…

赋能网安生态通信服务器操作系统,紫光展锐打造操作系统生态,赋能万物互联智能时代...

本周,以“象由芯生科技服务人民”为主题的2020紫光展锐市场峰会重磅开启,广大生态合作伙伴共聚一堂,共话数字世界新未来。在今天举办的“操作系统OS研讨会”上,来自紫光展锐工程一线的架构师带来了一场整个操作系统领域的饕餮盛宴…

如何利用秒级监控进行mongodb故障排查

摘要: 在我们平时的数据库使用当中,监控系统,作为排查故障,告警故障的重要辅助系统,对dba、运维、业务开发同学进行问题诊断、排查、分析有着重要的作用。并且一个监控系统的好坏,也很大程度上影响了能否精…

工作流实战_06_flowable 流程定义的删除

List item 由于群里有些朋友对这个flowable还不是 很熟悉,在群里的小伙伴的建议下,我师傅(小学生05101)制作一个开源的项目源码,一共大家学习和交流,希望对有帮助,少走弯路 如果有不懂的问题可以入群:63316…

百度Q2智能云增长强劲;据悉史上最大 AI 芯片诞生!中兴与奇瑞成立合资公司一起加快开发5G汽车……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 华为推出旗下第一款可穿戴智…

python的简单程序代码_小白学编程?从一个简单的程序开始学习Python编程

笔者思虑再三还是决定选择图文(因为百家的视频发布画质真不怎么样【囧】)。 笔者学习编程的时间也挺长的,因为业余,因为时间不多,各种原因,自学编程的路特别难走。然后笔者发现,自己能为小白贡献…

从事数据科学前必须知道的五件事儿

摘要: 本文讲解了从事数据科学前应该了解的五件事情,主要是关于学习数据科学时候应该注意的一些事项。目前,人工智能行业非常火热,对应的数据科学分析岗位需求也非常大。很多程序员纷纷转行从事人工智能相关岗位,那么对…

工作流实战_07_flowable 流程定义查看流程图和xml

由于群里有些朋友对这个flowable还不是 很熟悉,在群里的小伙伴的建议下,我师傅(小学生05101)制作一个开源的项目源码,一共大家学习和交流,希望对有帮助,少走弯路 如果有不懂的问题可以入群:633168411 里面都…

这项技术:华为、BAT要力捧!程序员:我彻底慌了... ​

人工智能离我们还遥远吗?海底捞斥资1.5亿打造了中国首家火锅无人餐厅;阿里酝酿了两年之久的全球首家无人酒店也正式开始运营,百度无人车彻底量产。李彦宏称,这是中国第一款能够量产的无人驾驶乘用车。而阿里的这家无人酒店&#x…

手把手教你理解卷积神经网络

摘要: 卷积神经网络是一种识别和理解图像的神经网络。本文将从不同的层次来介绍卷积神经网络。手把手教你理解卷积神经网络(一)本文将继续为你介绍关于卷积神经网络的知识。为了保持文章的简洁性和全面性我将为你提供研究论文的链接&#xff…

工作流实战_09_flowable 流程实例挂起与激活

由于群里有些朋友对这个flowable还不是 很熟悉,在群里的小伙伴的建议下,我师傅(小学生05101)制作一个开源的项目源码,一共大家学习和交流,希望对有帮助,少走弯路 如果有不懂的问题可以入群:633168411 里面都…

2018深圳云栖拉开帷幕,飞天技术汇五大专场邀你参加~

摘要: 感受万物互联的智能时代,洞察数字化转型的全新未来。云栖大会将情景化展示智能城市、智能生活、智能制造、智慧门店等阿里云IoT生态全景,20专场,覆盖AI、新零售等全行业数字化转型解决方案。 飞天技术汇作为阿里云的技术传播…

学了阿里中台,却依然做不好系统? 聊聊阿里的项目管理

戳蓝字“CSDN云计算”关注我们哦!作者 | 墨玖来源| 阿里技术导读:在技术公司、尤其是互联网公司,技术人员作为PM(项目经理)是非常常见的。有些同学得心应手,有条不紊,能得到清晰稳定的预期结果;有些同学则…

视频直播常见问题与解决办法汇总【系列三—直播推流】

摘要: 直播推流初始化设置 要进行直播推流,您必须开启直播加速 > 配置直播域名 > 直播推流,详情参考 快速开始。 如何获取推流地址 直播加速配置成功后,您可以通过以下方式获取对应的推流地址。 登录 视频直播控制台。 直播…

工作流实战_10_flowable 流程实例的删除

项目地址https://gitee.com/lwj/flowable.git代码分支flowable-base视频讲解地址https://space.bilibili.com/485524575/channel/detail?cid94579 用户名密码0000001test0000002test0000003test0000004test文章目录1. 演示2. 代码2.1. 删除实例命令2.2. 执行删除动作1. 演示 …

深入了解机器学习

摘要: 了解机器学习发展史、机器学习是什么?机器学习有什么?看看本文就够了。如今机器学习已经成为了这个时代的热门话题。机器学习已经存在了几十年,但直到最近我们才得以利用这项技术。接下来,让我们一起回顾一下机器…

python程序设计的基本步骤_Python程序设计课程教与学(54、72、80学时教学大纲)...

原标题:Python程序设计课程教与学(54、72、80学时教学大纲)《算法与程序设计》课程教学大纲 Programming and Algorithm Fundamentals (Python-based) 一.基本信息 课程学分:4 ; 面向专业:计算机…

百分点10周年乔迁新址 数据智能服务更上一层楼

戳蓝字“CSDN云计算”关注我们哦!作者 | 刘丹2019年8月,是百分点值得纪念和庆祝的日子,随着百分点团队的迅速扩大与蓬勃发展,全国各地业务开展的有声有色,业绩快速增长,在企业成立十周年之际,更…