深度学习入门~为什么使用深层表示

为什么使用深层表示

在这里插入图片描述
如上图所示,上图是一个简化的进行人脸识别的神经网路,我们可以将它看作:

  • 在前几层进行简单的探测。
  • 在后几层进行复杂的操作和分析。
  • 生理学上认为,人类的🧠貌似也是从简单的试探入手,再逐渐组合成复杂的信息。因此更深层的神经网络更能对人类的🧠进行模拟。

另一种理解:如果要将x1 ~ xn进行异或XOR运算,如果使用深层神经网络,可以将时间复杂度降低到O(logn),但是如果使用浅层神经网络,隐藏层中神经元的数量会大幅度上升,使时间复杂度变为O(2n)。

搭建深层神经网络块

这是一个较浅的神经网络,我们随机选择一层,曾这一层的计算着手。
在这里插入图片描述

  • 在第l层,我们有参数W^[l],b^[l],正向传播里有输入的激活函数,输入是前一层的激活函数值a^[l-1],输出是a^[l]。即:Z^[l] = W^[l]*a^[l-1] + b^[l];a^[l] = g^[l](z^[l])。这两个算式是每一层神经网络要做的,它们使用向量化实现。之后将z^[l]放入缓存中,这对正向传播和之后的反向传播都有好处。
  • 之后是反向传播。输入是da^[l],输出是da^[l-1]。注意,此处的输入实际是da^[l]以及缓存中的z^[l],而输出除了da^[l-1]还有dW^[l],db^[l]以用于实现梯度下降。
  • 正向传播和反向传播所做的事情和二者之间的关联如图:
    在这里插入图片描述
    因此,如果我们能够实现方框中所描述功能的函数,那么我们就能成功实现神经网络。
    在这里插入图片描述

实现前向传播和反向传播

  • 从前向传播说起:
    在这里插入图片描述
    在缓存z^[l]的同时,同时缓存w^[l]和b^[l]也可使后续的反向传播更便捷。
    有了这些参数,我们就可以得到每一步正向传播的输出:z^[l] = w^[l]*a^[l-1] + b^[l];a^[l] = g^[l](z^[l]),向量化的版本为:Z^[l] = W^[l]*A^[l-1] + b^[l];A^[l] = g^[l](Z^[l])
  • 之后是反向传播:
    在这里插入图片描述
    输入为da^[l],输出为da^[l-1],dW^[l],db^[l]
    计算的过程为:dz^[l] = da^[l]*g^[l]'(z^[l]),注意,此处是g^[l]的导数g^[l]'。而dW^[l] = dz^[l]*a^[l-1];db^[l] = dz^[l];da^[l-1] = w^[l]T * dz^[l],注意此处是w^[l]的转置w^[l]T。向量化的版本为把这些向量都换成对应的矩阵,注意对于dW和db都需要乘以1/m,因为训练集的容量为m。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值