前言

为什么我们要使用NN?因为任何函数都可以用NN来无限逼近,小到最基础的逻辑函数,可以通过调整权重,用一层NN实现,大到复杂的函数,可以通过多层NN,每层多个cells的深度神经网络来实现



概念介绍

1、常见的**函数

【深度学习1】神经网络NN原理介绍

2、最简单的一层NN

【深度学习1】神经网络NN原理介绍

3、何谓“训练”NN?如何训练?

3.1 Intuition

1)定义:我们训练/学习的是NN每一层的weights
2)训练方法:Forward pass then backward pass
【深度学习1】神经网络NN原理介绍

  • 先向前计算出每一层的误差
    【深度学习1】神经网络NN原理介绍
  • 再从后向前通过梯度下降更新每一层的weights
    【深度学习1】神经网络NN原理介绍
    3)权重更新原则
    【深度学习1】神经网络NN原理介绍
    上面这个公式我们一般也写作
    【深度学习1】神经网络NN原理介绍
    Ps. ????是学习率, E(W)是关于权重W的误差函数, s是加权和
    因为:
    • Assume
      【深度学习1】神经网络NN原理介绍
    • Facts
      【深度学习1】神经网络NN原理介绍
    • => Combining the assumption and fact, we can have that
      【深度学习1】神经网络NN原理介绍

4)???? 的计算

  • 最后一层L
    【深度学习1】神经网络NN原理介绍
  • 非最后一层l
    【深度学习1】神经网络NN原理介绍
    Proof.(注意proof需要用到上面的assumption,g(x)是**函数,是上一层的output
    【深度学习1】神经网络NN原理介绍

3.2 训练步骤

Step1. 随机初始化化权重w
Step2. 重复下面三个算式直至收敛

    1)Forward pass:计算出每一层的x
    2)Backward pass:计算出每一层的????
    3)更新权重
    【深度学习1】神经网络NN原理介绍
Step3. 得到最后的权重

相关文章: