深度学习week1_4

版权申明:本文为原创文章,转载请注明原文出处

原文链接:http://example.com/post/bb71978.html

深度学习week1_4

深层神经网络

更多的层数,更多的隐藏节点

新的参数:L->层数 n[i]第i层的节点数,输入层是第0层 X=a[0] a[i]表示激活函数->a[i]=g(z[i]``) a[L]=y_hat

每一层完成的工作:input a[i-1] output a[i] cache z[i]

z[i]=W[i] * a[i-1] + b[i]

a[i]=g(z[i])

反向传播:

da[L]=-y/a+(1-y)/(1-a)

dz[L]=da[L] * g(z[L])`

dW[L]=dz[L] * a[L-1].T

db[L]=np.sum(dz[L],axis=1,keepdim=True)

da[L-1]=W[L].T * dz[L]

dz[L-1]=da[L-1] * g(z[L-1])`

深层网络中的前向传播

正向传播时:

Z[1]=W[1] * A[0] + b[1]

A[1]=g(Z[1])

Z[2]=W[1] * A[1] +b[1]

A[2]=g(Z[2])

……

上述使用for循环

核对矩阵的维数

Z[i]的横向量:第i层的节点数,纵向量:样本数 (n[i],m)

W[i]的横向量:第i层的节点数,纵向量:A[i-1]的横向量,即第i-1层的节点数 (n[i],n[i-1])

b[i]:(n[i],1)

dW[i]和W[i]的维度一样

db[i]和b[i]的维度一样

为什么使用深层表示

深度即更多的隐藏层,为什么需要这么多的隐藏层呢(输入层和输出层不算隐藏层)

深度神经网络结构:第0层即输入层,比如输入的一张图片,输入层就相当于特征提取器,假设建立20个隐藏单元的深度神经网络,隐藏单元就是图里的一些小单元,然后将照片里组成边缘的像素们放在一起看,然后它可以把探测到的边缘组合成面部的不同部分

搭建深层神经网络块

上面是正向传播,下面是反向传播

image-20230706093807182

参数VS超参数

参数:比如W,b

超参数:比如α(学习率),梯度下降法循环的数量,隐层数L,隐藏单元数(n[0],n[1],n[2]……),激活函数的选择 ——>这些数字实际上是由我们自己设置的,并且会影响参数W和b的值,所以称为超参数

如果无法确定选择什么α,可以先用不同的α来测试cost的大小,找到最适合的α

测试

【★】The deeper layers of a neural network are typically computing more complex features of

the input than the earlier layers. (神经网络的更深层通常比前面的层计算更复杂的输入特征。)

使用浅网络电路计算函数时,需要一个大网络,因为浅网络的表达能力有限,需要更多的神经元来拟合复杂的函数。但是使用深网络电路来计算它,只需要一个指数较小的网络,因为深网络可以通过多层的结构来学习更高层次的特征和抽象,从而减少了神经元的数量。 深网络和浅网络的区别可以类比于人类的大脑。人类的大脑通过多层的神经元来处理信息,从低级的特征到高级的概念。例如,在视觉系统中,第一层神经元可以检测边缘和线条,第二层神经元可以检测形状和纹理,第三层神经元可以检测物体和场景等等。这样,人类可以通过多层的抽象来理解复杂的视觉信息。如果只用一层神经元来处理视觉信息,那么就需要非常多的神经元来覆盖所有可能的输入情况,而且无法捕捉到高级的特征和抽象。这就像用一本书的封面来理解书中的内容一样,是不够的。

Author

yyyyyyxnp

Posted on

2023-07-19

Updated on

2024-09-29

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.