吴恩达深度学习笔记(22)-深层神经网络说明及前后向传播实现

深层神经网络(Deep L-layer neural network)

目前为止我们已经学习了只有一个单独隐藏层的神经网络的正向传播和反向传播,还有逻辑回归,并且你还学到了向量化,这在随机初始化权重时是很重要。

目前所要做的是把这些理念集合起来,就可以执行你自己的深度神经网络。

复习下前面21个笔记的内容:

逻辑回归,结构如下图左边。一个隐藏层的神经网络,结构下图右边:


注意,神经网络的层数是这么定义的:从左到右,由0开始定义,比如上边右图,x_1、x_2、x_3,这层是第0层,这层左边的隐藏层是第1层,由此类推。

如下图左边是两个隐藏层的神经网络,右边是5个隐藏层的神经网络。(也就是说刚输入层不算一层神经网络,这个概念也记住哦,再次说明)

严格上来说逻辑回归也是一个一层的神经网络,而上边右图一个深得多的模型,浅与深仅仅是指一种程度。

记住以下要点:

有一个隐藏层的神经网络,就是一个两层神经网络。记住当我们算神经网络的层数时,我们不算输入层,我们只算隐藏层和输出层。

但是在过去的几年中,DLI(深度学习学院 deep learning institute)已经意识到有一些函数,只有非常深的神经网络能学会,而更浅的模型则办不到。尽管对于任何给定的问题很难去提前预测到底需要多深的神经网络,所以先去尝试逻辑回归,尝试一层然后两层隐含层,然后把隐含层的数量看做是另一个可以自由选择大小的超参数,然后再保留交叉验证数据上评估,或者用你的开发集来评估。

我们再看下深度学习的符号定义:


上图是一个四层的神经网络,有三个隐藏层。我们可以看到,

第一层(即左边数过去第二层,因为输入层是第0层)有5个神经元数目,第二层5个,第三层3个。

我们用L表示层数,上图:L=4,输入层的索引为“0”,第一个隐藏层n^([1])=5,表示有5个隐藏神经元,同理n^([2])=5,n^([3])=3,n^([4])=n^([L])=1(输出单元为1)。而输入层,n^([0])=n_x=3。

在不同层所拥有的神经元的数目,对于每层l都用a^([l])来记作l层激活后结果,我们会在后面看到在正向传播时,最终能你会计算出a^([l])。

通过用激活函数 g 计算z^([l]),激活函数也被索引为层数l,然后我们用w^([l])来记作在l层计算z^([l])值的权重。类似的,z^([l])里的方程b^([l])也一样。

最后总结下符号约定:

输入的特征记作x,但是x同样也是0层的激活函数,所以x=a^([0])(你可以想象成输入层就是一个激活函数)

最后一层的激活函数,所以a^([L])是等于这个神经网络所预测的输出结果

前向传播和反向传播(Forward and backward propagation)

之前我们学习了构成深度神经网络的基本模块,比如每一层都有前向传播步骤以及一个相反的反向传播步骤,这次我们讲讲如何实现这些步骤。

先讲前向传播,输入a^([l-1]),输出是a^([l]),缓存为z^([l]);

从实现的角度来说我们可以缓存下w^([l])和b^([l]),这样更容易在不同的环节中调用函数。


所以前向传播的步骤可以写成:

z^([l])=W^([l])⋅a^([l])+b^([l])

 a^([l])=g^([l]) (z^([l]) )

向量化实现过程可以写成:

z^([l])=W^([l])⋅A^([l-1])+b^([l])

A^([l])=g^([l]) (Z^([l]))

前向传播需要喂入A^([0])也就是X(输入特征),来初始化;

初始化的是第一层的输入值。a^([0])对应于一个训练样本的输入特征,

而A^([0])对应于一整个训练样本的输入特征,所以这就是这条链的第一个前向函数的输入,重复这个步骤就可以从左到右计算前向传播。

下面讲反向传播的步骤:

输入为da^([l]),输出为da^([l-1]),dw^([l]), db^([l])

所以反向传播的步骤可以写成:

(1)dz^([l])=da^([l])*g^([l])'(z^([l]))

(2)dw^([l])=dz^([l])⋅a^([l-1]) 

(3)db^([l])=dz^([l])  

(4)da^([l-1])=w^[l]T⋅z^([l])

(5)dz^([l])=w^([l+1]T) dz^([l+1])⋅ g^([l])'(z^([l])) 

式子(5)由式子(4)带入式子(1)得到,前四个式子就可实现反向函数。

向量化实现过程可以写成:

(6)dZ^([l])=dA^([l])*g^[l] '(Z^([l]) )  

(7)dW^([l])=1/m dZ^([l])⋅A^[l-1]T

(8)db^([l])=1/m np.sum(dz^([l]),axis=1,keepdims=True)

(9)dA^([l-1])=W^[l]T.dZ^([l])

总结一下:


第一层你可能有一个ReLU激活函数,

第二层为另一个ReLU激活函数,

第三层可能是sigmoid函数(如果你做二分类的话),输出值为y^,L(y^, y)用来计算损失;这样你就可以向后迭代进行反向传播求导来求dw^([3]),db^([3]) ,dw^([2]) ,db^([2]) ,dw^([1]) ,db^([1])。

在计算的时候,缓存会把z^([1]) z^([2]) z^([3])传递过来,然后回传da^([2]),da^([1]) ,可以用来计算da^([0]),但我们不会使用它,这里讲述了一个三层网络的前向和反向传播,还有一个细节没讲就是前向递归——用输入数据来初始化,那么反向递归(使用Logistic回归做二分类)——对A^([l]) 求导。

上面可能有点晦涩难懂,猛地一看可能看不出什么来,但是仔细看几篇推导下还是有效果的,加油!

忠告:补补微积分和线性代数,多推导,多实践。

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

推荐阅读更多精彩内容