吴恩达 —— 深度学习 Course 1 笔记

Course1:神经网络和深度学习,包括:


[1] Week1:深度学习概述
[2] Week2:神经网络基础
[3] Week3:浅层神经网络
[4] Week4:深层神经网络
[5] 深度学习的基本流程


[1] Week1:深度学习概述

1.2 什么是神经网络?

一种强有力的学习算法,受大脑如何工作的启发而得到的。

Example1:单神经网络


Example2:多神经网络

1.3 什么是监督学习?机器学习的数据分为哪两类?
  1. 在监督学习中,给出一个数据集,我们已经知道正确的输出是什么样子的,由此想要知道输入和输出之间存在什么关系。
  2. 监督学习可以看成“回归”或者“分类”问题。“回归”问题尝试把输入变量映射到一些连续的函数上,预测连续的输出结果;“分类”问题尝试把输入变量映射到离散的类别当中,预测离散的输出结果。

以下是一些监督学习的例子:

神经网络有不同的类型,例如standard NN(标准神经网络)用于房价预估和广告点击;CNN(卷积神经网络)经常用于图像处理;RNN(递归神经网络)用于处理一维序列数据,例如语音识别和机器翻译;而自动驾驶则是混合的神经网络结构。

机器学习的数据分为结构化数据非结构化数据。非结构化数据包括音频、图片、文本等等。

1.4 为什么深度学习会兴起?

深度学习兴起的原因有:大数据时代,数据的爆炸性增长;计算机硬件技术的发展,计算成本下降,速度提高;神经网络算法的变革等。

影响性能的两大因素:能够训练一个大的神经网络;拥有很多标记的数据。

训练一个神经网络是可迭代的:


[2] Week2:神经网络基础

2.2 二分分类

Cat vs No-Cat 问题,目标是训练一个分类器,输入是一张图片,图片被表示成一个特征向量 x ,并且预测标签 y 是1(Cat)还是0(No-Cat)。

吴恩达的矩阵表示法:用列向量表示一个样本,因此 X.shape==(n_x,m)n_x 表示特征数,m 是样本大小。


2.3 logistic回归

logistic回归是一种监督学习下的学习算法,使得输出 y 要么都是0或者要么都是1。logistic回归的目标是使预测和训练数据之间的误差最小化。

对于 Cat vs No-Cat 问题,给定一张图的特征向量 x,这个算法将会评估这幅图是猫的概率:



通过计算, W^T+b 是一个线性函数 ax+bW^T 计算出来是一个具体的数值 a),因为我们期待一个在[0,1]区间的概率约束,所以 sigmoid 函数被使用。

sigmoid函数的性质

2.3 logistic回归的损失函数
  1. 损失函数 Loss:单个样本的估计值与真实值的误差。
  2. 成本函数 Cost:所有样本的误差总和的平均值。
2.4 梯度下降法
2.9 用导数流程图计算logistic回归中的梯度

对于单个训练样本的梯度计算:


假设有两个特征 x1x2α是学习率,红色箭头代表反向传播

2.10 m个样本的梯度下降

运用一次梯度下降法,其中 dz^(i) 是第 i 个训练样本的偏导数dzα是学习率:


总结起来步骤如下:参数初始化 -> 前向传播 -> 计算成本 -> 反向传播 -> 更新参数

2.11 向量化
  1. 向量化的好处: 不必显示地使用for循环,用矩阵运算来替代循环,如numpy中的内置函数np.dot(w,t)。充分利用了GPU或CPU的SIMD(单指令流多数据流)的优势,进行并行化计算,明显地提高了计算效率。
  2. 因此,神经网络编程中,尽可能避免显示地使用for循环。
2.13 向量化实现正向传播:

下图有两个注意点:

  1. w^T 是一个 (nx,1) 维的矩阵,无论训练数据中是一个样本 x 还是 m 个样本组成的 X
  2. Z=np.dot(w.T,X)+b 中,numpy 会把 b 拓展成一个 (1,m) 矩阵,这种方法叫广播
2.14 向量化实现logistic回归的完整流程:

左边是for循环的一次梯度下降,右边是向量化的1000次梯度下降:
注意点:在右边的向量化中,np.dot(a,b) 是按照矩阵乘法的运算进行的,而 X*(dz)^T 是按照矩阵对应位置元素相乘进行的。同时再次注意,w 是一个 (nx,1) 的矩阵,因此 dw 也是一个 (nx,1) 的矩阵。


[3] Week3:浅层神经网络

3.3 计算神经网络的输出

神经网络的表示如下:


注意: 这里的输入层算作第0层,故这是一个two-layer的神经网络。W[1] 是隐藏层的一个 (4,3) 矩阵,其中4代表隐藏层有4个单元,3代表来自输入层的3个特征。W[2] 是输出层的一个 (1,4) 矩阵,同理。

隐藏层的计算过程,目的是得到 a[1]

输出层的计算过程,目的是得到 y(^) = a[2]

3.6 激活函数

常见的 4 种激活函数(σ、tanh、ReLU、Leaky ReLU):


4 种激活函数的优缺点:
σ: 优点:适合二元分类,因为预测值在[0,1]之间,比如在输出层使用;缺点:当z很大,梯度接近0,下降速度缓慢。
tanh: 比σ要好,因为预测值在[-1,1]之间,可以使均值为0,比如在隐藏层使用;缺点:当z很大,梯度接近0,下降速度缓慢。
ReLU(修正线性单元): 优点:当z很大,梯度为1,下降速度很快,最常用的激活函数;缺点:z有一半梯度为0。
Leaky ReLU(带泄露的修正线性单元): 优点:解决了ReLU的有一半梯度为0的问题;缺点:需要调参来找到一个好的缓慢下降的参数,不常用。

3.9 神经网络的梯度下降法

以下是单隐层神经网络的梯度下降法的流程:


参数解释:nx=n[0]n[1],n[2] = 1 分别代表输入层特征数量、隐藏层和输出层的单元数量,因此隐藏层 w[1] (n[1],n[0])、 b[1] (n[1],1),输出层的 w[2] (n[2],n[1]) 、b[2] (n[2],1)。

使用梯度下降法重复以下过程(一次迭代):

  1. 正向传播,计算预测值 y(^) = a[2]
  2. 反向传播,计算导数 dw[1] db[1] dw[2] db[2]
  3. 计算成本(未写出)
  4. 更新参数

所用公式(注意:正向传播就4个公式,反向传播先计算的是 dz[2] dw[2] db[2] ,再计算的是 dz[1] dw[1] db[1],共6个公式):

3.11 随机初始化

如果将 w[1]w[2] 初始化为全0矩阵,会导致隐藏单元在计算完全一样的函数,即所有隐藏单元的计算都是对称的。b[1]b[0]不存在对称性问题。

正确的做法:随机初始化参数


解释:w[1]w[2] 初始化为高斯分布随机变量,再乘以一个小因子(如0.01),使得 w[1]w[2] 中的值尽可能小,原因是可以使得计算出来的 z[1]z[2] 尽可能小,这样在反向传播过程中求梯度 dz[1]dz[2] 就不会接近0,使得梯度下降的速度加快。


[4] Week4:深层神经网络

4.1 深层神经网络的表示
4.2 深层网络中的前向传播
4.3 核对矩阵的维数

核对矩阵维数可以帮助我们检查算法是否正确:

4.4 为什么使用深层表示

以人脸识别为例,浅层的神经网络可能只能做的是一些简单的边缘检测,而深层的神经网络可以将边缘特征组合成人脸特征,进行面部检测。

事实上,深层表示可以用电路理论来解释,如下:


比如我们要实现一个异或操作,使用深层的神经网络可以减少异或门的数量,时间复杂度也会降低,而浅层的神经网络需要更大的计算量,进行指数级操作。

4.5 搭建深层神经网络块

深层网络前向传播后向传播流程:

4.6 前向和反向传播

举例,总结:
L 层的前向传播:输入 a[L-1],输出 a[L],并缓存 z[L]、w[L]、b[L],用于反向传播过程;
L 层的反向传播:输入da[L],输出 da[L-1]、dw[L]、db[L],用于更新参数 w[L]、b[L]


4.7 参数 VS 超参数

超参数:控制参数的参数


参数: w[1] b[1] w[2] b[2] w[3] b[3] ...
超参数: 学习率 α 、梯度下降迭代次数、隐藏层数 L 、隐藏单元数 n[1] n[2]、激活函数等等。

调参是深度学习中很常见的一环,最优参数的取值还会随着GPU或CPU的变化而变化。所以经常调试,探索最优参数取值,逐渐地就会掌握一些调参的规律。

4.8 深度学习和大脑的关系

当我们提及正向传播和反向传播时,很多人可能不明白那些公式在做什么,为什么就可以行之有效?但是,如果把深度学习比喻成就像大脑一样,这样大众更乐于接收,也方便媒体报道。

一个简单的类比:


事实上,深度学习和大脑到底有多少联系,这也无法衡量,毕竟人类对大脑的认知还是有限的。


[5] 深度学习的基本流程

最后,深度学习的基本流程总结如下:


至此,Course1 的总结就到这里。由于本人也在自学此系列课程,故该系列会持续更新,See You Course2!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 所谓坚持不懈,其本质是时间的投入。因为人们在做一件事,为了成功坚持不懈的时候,最终会发现大多的努力其实不过是简单而...
    高刚高刚阅读 226评论 0 0
  • 杰伦要结婚了。这个陪伴包括自己在内的很多80、90后度过初中、高中、大学直至研究生的音乐才子终于找到了一辈子的...
    迷途小薯片阅读 164评论 0 1