=================第2周 神经网络基础===============
===4.1 深层神经网络===
Although for any given problem it might be hard to predict in advance exactly how deep a neural network you would want,so it would be reasonable to try logistic regression,try one and then two hidden layers,and view the number of hidden layers as another hyper parameter。我们用上标 [ ] 表示层数。
===4.2 深层网络中的前向传播===
===4.3 核对矩阵的维数===
非常仔细和系统化地去思考矩阵的维数是一个减少bug的好方法。变量导数的维度应该和变量自身维度一致,特别注意向量化时,m个样本同时输入时,对各层的Z和A的导数维度依然包含m个样本,但是它们对各层的W和b的导数维度依然和W,b本身一样,m个样本对它们的导数要集合起来哦!
===4.4 为什么使用深层表示===
深层神经网络可以实现 simple to complex hierarchical representation or compositional representation,例如对图像,对语音。
另外一个关于神经网络为何有效的理论来源于电路理论,which pertains to thinking about what types of functions you can compute with different and gates and or gates。如果不适用多层而只是用一层解决ppt中的异或问题,那么隐层神经元的个数是指数增加的(每个神经元代表x1-xn的所有二进制情况中的一种,如10010)。我希望这能让你有点概念,意识到有很多数学函数用深度网络计算比浅网络要容易得多。我个人觉得电路理论不是那么直观,但人们在解释深度为什么好时还是会经常提到。
说真心话,其实深度学习这个名字挺唬人的,本来就叫多隐层的神经网络,包装了一下后顿时高大上,激发了大众的想象力。但是当我开始解决一个新问题时,我通常会从logistic回归开始,再试试一到两个隐层,把层数作为调参参数找到合适的深度。但是近几年以来,there has been a trend toward people finding that for some applications very very deep neural networks can sometimes be the best model for a problem。
===4.5 搭建深层神经网络块===
Cache z,因为缓存的z^[l]对以后的正向反向传播的步骤非常有用。ppt中的图示很清晰,希望你在实际的编程练习中有更深的体会。


===4.6 前向和反向传播===
I didn't explicitly put that (a^[l]) in the cache, where it turns out you need this as well(PS:个人感觉这方面课程讲得很抽象,到底要缓存什么?自己动手实现以下吧!亲自实现一下肯定就清楚了,另外之前说缓存 z,那么再加个激活函数不就也相当于缓存了 a吗^_^)。注意符号 * 代表 逐元素相乘。另外,看到ppt中向量化的 dW 式子里有个 1/m 吗?就像前面4.3节提示你要注意的,哈哈:)。
注意Summary的ppt中dA的计算,这是以最后一层为Logistic回归为例子的,注意dA的大小!m个样本中的每一个是对应一个导数的,而不是融合在一起!我的建议还是,做做编程作业,你会觉得神清气爽。虽然我必须要说 ,即使现在我在实现一个算法,有时我也会惊讶,怎么莫名其妙就成功了。那是因为机器学习里的复杂性是来源于数据本身,而不是一行行的代码。所有有时候,you implement a few lines of code not quite sure what it did,but it almost magically work. And it's because of all the magic is actually not in the piece of code you write. 即使是我有时当算法works时也会有点惊讶,because lots of complexity of your learning algorithm comes from the data rather than the code。
===4.7 参数 VS 超参数===
what I've seen is that first I've seen researchers from one discipline try to go to a different one and sometimes the intuitions about hyper parameters carries over (可以推广), and sometimes it doesn't. 所以我经常建议人们,特别是刚开始应用于新问题的时候,to just try out a range of values and see what works。在课程Part.2,we'll see some systematic ways for trying out a range of values all right.
其次,even if you're working on one application for a long time, as you make progress on the problem, it is quite possible there the best value for the learning rate or number of hidden units and so on might change. So even if you tune your system to the best value of hyper parameters today, if possible you find that the best value might change a year from now. Maybe because the computer infrastructure, CPUs or the type of GPU running on or something has changed.
所以有一条经验规律, you know every now and then maybe every few months if you're working on a problem for an extended period of time for many years, just try a few values for the hyper parameters and double check (勤于检查) if there's a better value for the hyper parameters. And as you do, 相信你慢慢会获得设定最适合你问题的超参数的直觉。
这也是深度学习让人不满的一部分原因,你必须尝试很多次不同可能性,深度学习的这个领域还在发展,也许过段时间后会有更好的调参指导建议出来。But it's also possible that because CPUs and GPUs and networks and datasets are all changing, and it is possible that the guidance won't to converge for some time and you just need to keep trying out different values and evaluate them on a hold out cross-validation set or something and pick the value that works for your problems.
===4.8 这和大脑有什么关系====
我觉得关联不大。我认为至今为止甚至连神经科学家们都很难解释究竟一个神经元在做什么,一个小小的神经元其实却是极其复杂的,以至于我们无法在神经科学的角度描述清楚。这种类比已经逐渐过时了,我自己尽量不会这么说。
- 吴恩达《深度学习》-第一门课 (Neural Networks and Deep Learning)-第四周:深层神经网络(Deep Neural Networks)-课程笔记
第四周:深层神经网络(Deep Neural Networks) 4.1 深层神经网络(Deep L-layer neural network) 有一些函数,只有非常深的神经网络能学会,而更浅的模型则 ...
- Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 1. 深度学习概论)
=================第1周 循环序列模型=============== ===1.1 欢迎来到深度学习工程师微专业=== 我希望可以培养成千上万的人使用人工智能,去解决真实世界的实际问 ...
- 百度首席科学家 Andrew Ng谈深度学习的挑战和未来(转载)
转载:http://www.csdn.net/article/2014-07-10/2820600 人工智能被认为是下一个互联网大事件,当下,谷歌.微软.百度等知名的高科技公司争相投入资源,占领深度学 ...
- 《Andrew Ng深度学习》笔记1
深度学习概论 1.什么是神经网络? 2.用神经网络来监督学习 3.为什么神经网络会火起来? 1.什么是神经网络? 深度学习指的是训练神经网络.通俗的话,就是通过对数据的分析与计算发现自变量与因变量的映 ...
- 《Andrew Ng深度学习》笔记4
浅层神经网络 1.激活函数 在神经网络中,激活函数有很多种,常用的有sigmoid()函数,tanh()函数,ReLu函数(修正单元函数),泄露ReLu(泄露修正单元函数).它们的图形如下: sigm ...
- 《Andrew Ng深度学习》笔记5
深层神经网络 深层神经网络的组成如图,这里主要是深层神经网络符号的定义. 为什么要用深层神经网络,有什么好处?这里主要是分层的思想.在软件工程中,如果问题遇到困难,一般是通过“加多”一层的方法来解决, ...
- 《Andrew Ng深度学习》笔记3
浅层神经网络 初步了解了神经网络是如何构成的,输入+隐藏层+输出层.一般从输入层计算为层0,在真正计算神经网络的层数时不算输入层.隐藏层实际就是一些算法封装成的黑盒子.在对神经网络训练的时候,就是对神 ...
- 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】
[吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [ ]AI为我们的家庭和办公室的个人设备供电 ...
- DeepLearning.ai学习笔记(一)神经网络和深度学习--Week3浅层神经网络
介绍 DeepLearning课程总共五大章节,该系列笔记将按照课程安排进行记录. 另外第一章的前两周的课程在之前的Andrew Ng机器学习课程笔记(博客园)&Andrew Ng机器学习课程 ...
随机推荐
- 上位机开发之三菱FX3U以太网通信实践
上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章:上位机开发之三菱Q系列PLC通信实践(←戳这里) 今天以三菱FX3U PLC为例,跟大家介绍一下,如何实现上位机与其之 ...
- JVM调优总结(二)-基本垃圾回收算法
可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数. ...
- 前端星计划笔记-day1
前端 功能,美观,安全,无障碍,性能,兼容,体验 前端编程思想 WA doctype: 文档版本 浏览器决定渲染模式 语义化: 所有的标签都有自己的含义,属性 可读性 前端规范 whatwg css显 ...
- eatwhatApp开发实战(十四)
之前我们就输入框EditText做了优化,而这次,我们为app添加拨打电话的功能. 首先是布局,将activity_shop_info.xml中对应的电话那一栏进行重新设计: <Relative ...
- super调用父类的属性方法
super:可以用来修饰属性 方法 构造器 当子类与父类中有同名的属性时,可以通过 super.此属性 显式的调用父类声明的属性 若想调用子类的同名的属性“this.此属性” 2.当子类重 ...
- HFish开源蜜罐搭建
简介 Hfish是一款开源的蜜罐,包含了多种仿真服务,如:redis.ssh.telnet.web服务等,支持单机部署.docker部署.集群部署等形式.不属于高交互蜜罐的范畴,只是用来体验一把.放在 ...
- Yii Framework 漏洞整理
一 Yii Framework 2.0.9 - Cross Site ScriptingPublished # Exploit Title: Yii Framework 2.0.9 - Cross S ...
- 使用RTL进行硬件模型编程的局限性
https://mp.weixin.qq.com/s/Nj_d3hwgNX4kWVtKsqMSWg 硬件模型编程,即Hardware Model Programming.在RTL抽象级别 ...
- Rocket - decode - Term
https://mp.weixin.qq.com/s/CbBWdTlc_DESlUzd8KFcSg 介绍Term类各方法的实现. 1. prime 表示一个项是否是质项,即这 ...
- (Java实现)蓝桥杯Excel地址
历届试题 Excel地址 原题地址 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, ...