目录

1.深层神经网络基础(4NN为例)

(1)图示

(2)符号

2.正向传播与反向传播过程

(1)正向传播

(2)反向传播

(3)各层W, b初始化

(4)正向传播与反向传播过程 

2.为什么需要深层(为什么需要多个隐藏层)


1.深层神经网络基础(4NN为例)
(1)图示
  • 图示
(2)符号
L:神经网络层数
n[l]:l层的计算单元数
eg:n[0]=3,n[1]=5,n[2]=5,n[3]=3,n[4]=1

W[l]:第l层的W
z[l]:第l层的b
a[l]:第l层的激活函数
2.正向传播与反向传播过程
(1)正向传播
对于l层,输入A[l-1]; 输出A[l],缓存Z[l]

Z[l] = W[l]A[l-1]+b[l]
A[l] = g[l](Z[l])

(2)反向传播
对于l层,输入dA[l], Z[l]; 输出dW[l], db[l], dA[l-1]
  
dZ[l] = dA[l] * g[l]'(Z[l])
dW[l] = (1 / m) * np.dot(dZ[l], A[l-1].T)
db[l] = (1 / m) * np.sum(dZ[l], axis = 1, keepdims = True)
dA[l-1] = np.dot(W[l].T, dZ[l])
(3)各层W, b初始化
  • 图示
W[l] = np.random.randn((n[l], n[l-1]))
b[l]  = np.zeros((n[l], 1))
(4)正向传播与反向传播过程 

2.为什么需要深层(为什么需要多个隐藏层)
  • 面对复杂问题,通过多层隐藏层的非线性叠加,就能逼近 y = x^2的曲线(梯度下降用),从而训练神经网络能力,解决问题
  • 从电路理论的角度看(异或问题):要拟合复杂函数,浅层网络可能需要指数级数量的神经元,而深层网络只需增加层数即可高效实现。

更多推荐