前言
为什么我们要使用NN?因为任何函数都可以用NN来无限逼近,小到最基础的逻辑函数,可以通过调整权重,用一层NN实现,大到复杂的函数,可以通过多层NN,每层多个cells的深度神经网络来实现
概念介绍
1、常见的激活函数
2、最简单的一层NN
3、何谓“训练”NN?如何训练?
3.1 Intuition
1)定义:我们训练/学习的是NN每一层的weights
2)训练方法:Forward pass then backward pass
- 先向前计算出每一层的误差
- 再从后向前通过梯度下降更新每一层的weights
3)权重更新原则
上面这个公式我们一般也写作:
Ps. 𝛼是学习率, E(W)是关于权重W的误差函数, s是加权和
因为:- Assume
- Facts
- => Combining the assumption and fact, we can have that
- Assume
4)𝛿 的计算
- 最后一层L
- 非最后一层l
Proof.(注意proof需要用到上面的assumption,g(x)是激活函数,是上一层的output)
3.2 训练步骤
Step1. 随机初始化化权重w
Step2. 重复下面三个算式直至收敛
1)Forward pass:计算出每一层的x
2)Backward pass:计算出每一层的𝛿
3)更新权重
Step3. 得到最后的权重