C1 - week4 - part1 神经网络的深度代表了什么?Why deep representations?

一、以人脸识别为例

我们都知道深度神经网络能解决很多问题,其实并不需要很大的神经网络,但是得有深度,得有比较多的隐藏层,我们现在来了解一下究竟是为什么。

首先神经网络究竟在计算什么?如果你在建一个人脸识别系统,深度神经网络所做的事就是,当你输入一张脸部的照片,然后你可以把深度神经网络的第一层,当成一个特征探测器或者边缘探测器。

在上图的例子中,建立了一个大概有20个隐藏单元的深度神经网络。隐藏单元就是图中的小方块(三张图中的左图),这个小方块(第一行第一列)就是一个隐藏单元,它会去找这张照片里“|”边缘的方向。另一个隐藏单元(第四行第四列),可能是在找“—”水平方向的边缘的位置。

对于第二层网络,可能会有一个神经元去找眼睛的部分,另外的在找鼻子的部分,把第一层网络中的多个边缘部分结合在一起。而第三层网络,把第二层的部分组合,就可以识别不同的人脸。

你可以直觉上把这种神经网络的前几层当做探测的简单函数,比如边缘,之后的基层便是将前几层结合起来,总体上就能学习更多复杂的函数。上图只是一个代表性的举例,主要的概念就是,神经网络会从更小的细节入手,然后一步步到更大更复杂的区域,最终组成复杂的系统。

深度神经网络的这许多隐藏层中,较早的前几层能学习一些低层次的简单特征,等到后几层,就能把简单的特征结合起来,去探测更加复杂的东西。

二、电路理论

另外一个,关于神经网络为何有效的理论,来源于电路理论,它和我们能够用电路元件计算复杂函数有着分不开的联系。根据不同的基本逻辑门,如与门、或门、非门,在非正式的情况下,这些函数都可以用相对较小(隐藏单元较少),但很深的神经网络来计算。但如果你用隐藏层较少的神经网络计算同样的函数,你会需要成指数增长的单元数量才能达到同样的计算结果。

我们再来看个例子,假设你想要对输入特征计算异或或奇偶性,你需要计算 x 1 ⊕ x 2 ⊕ x . . . ⊕ x n x_{1} \oplus x_{2} \oplus x...\oplus x_{n} x1x2x...xn,假如你有 n n n个特征,如果你画一个异或的树图,你需要计算 x 1 , x 2 x_1,x_2 x1,x2的异或,然后是 x 3 , x 4 x_3, x_4 x3,x4,我们可以搭建这样一个异或树图(下图左)。这种树图对应的网络深度应该是 O ( l o g ( n ) ) O(log(n)) O(log(n)),节点的数量(对应电路部件)不会很大。

但如果你不使用多隐藏层的神经网络的话,比如说使用单隐藏层,那么所需要的单元数就会呈指数增长才行,因为本质上说你需要穷举尽 2 n 2^n 2n中可能的配置了(如下图右)。


希望以上能够帮助你从直觉上了解神经网络的深度这一概念,但当你开始解决一个新问题的时候,不妨试试从简单的逻辑回归开始,再试试一到两个隐藏层,把隐藏层数量当做参数一样去慢慢调试,去寻找比较合适的深度。
至此,course1就暂时告一段落,我们会在course2来如何改善深度神经网络:超参数调试、正则化以及优化问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值