「深度学习」深度神经网络DNN

 一、描述 DNN 的符号

L:层数 (=4)

n^{[l]}:第 l 层的单元数

a^{[l]}:第 l 层的激活 (a^{[l]} = g^{[l]}(z^{[l]}))

w^{[l]} 、b^{[l]}:计算 z^{[l]} 的权重 (z^{[l]} = w^{[l]} a^{[l-1]} +b^{[l]} )

深度学习其实就是多隐层的神经网络。

二、前向和反向传播

1. 前向传播

input: a^{[l-1]}

output: a^{[l]}, cache(z^{[l]})

z^{[l]} = w^{[l]} * a^{[l-1]} + b^{[l]}

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

2. 反向传播

目的:计算梯度

(1) 算法

input: da^{[l]}

output: da^{[l-1]}, dW^{[l]}, db^{[l]}

dz^{[l]} = da^{[l]} * g^{[l]}\prime(z^{[l]})

dw^{[l]} = dz^{[l]} * a^{[l-1]}

db^{[l]} = dz^{[l]}

da^{[l-1]} = w^{[l]} * dz^{[l]}

总公式: dz^{[l]} = w^{[l+1]} * dz^{[l+1]} * g^{[l]}\prime(z^{[l]})

(2) 激活函数的导数

a. Sigmoid 激活函数

b. tanh 激活函数

g(z) = tanh(z) = \frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}

c. ReLU 激活函数

f(x) =\left\{ \begin{matrix} x, x>=0 \\0, x<0 \end{matrix} \right.

d. Leaky ReLU 激活函数

LeakyReLU(x) = =\left\{ \begin{matrix} x,x>0 \\ \gamma x,x<=0 \end{matrix} \right.

3. 总结

三、搭建深层神经网络

1. 过程

2. 参数 vs 超参数

  • 参数:W^{[1]}, b^{[1]}, W^{[2]}, b^{[2]}, W^{[3]}, b^{[3]} ...

  • 超参数:学习率\alpha, 梯度下降循环次数, 隐藏层数L, 隐藏层单元n^{[1]}, n^{[2]}..., 选择的激活函数,momentum, mini batch, 正则化参数....

超参数最终决定了参数

3. 确认矩阵的维数

检查维数,用于排查 bug

w^{[l]}: (n^{[l]}, n^{[l-1]})

b^{[l]}: (n^{[l]}, 1)

dw^{[l]}: (n^{[l]}, n^{[l-1]})

db^{[l]}: (n^{[l]}, 1)

四、为什么使用深度神经网络?

1. 由浅入深

低层次 (较早的前几层) 可以学习一些简单特征,后几层将这些简单特征结合起来 ,去探测更复杂的东西。

2. 电路理论

深层比浅层的实现更容易。

3. 和大脑的关系

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值