1.基本概念

BP(Back Propogation)算法是一种最有效的学习方法,主要特点是信号前向传递,而误差后向传播,通过不断调节网络权重值,使得网络的最终输出与期望输出尽可能接近,以达到训练的目的。前向过程中通过与正确标签计算损失,反向传递损失,更新参数,优化至最后的参数。

而面试的过程中,我们可以拿出一支笔,给面试官直接说,“老师,我来直接写一个吧,您看看呗?”

“你看哈,我这一个两层的神经网络。其中质量BMES是什么意思_神经网络是网络的输入,质量BMES是什么意思_网络_02是网络的输出,质量BMES是什么意思_深度学习_03是网络学习到的参数。"

质量BMES是什么意思_质量BMES是什么意思_04

“在这里,质量BMES是什么意思_深度学习_03的值就是我们需要更新的目标,但是我们只有一些质量BMES是什么意思_神经网络与跟它对应的真实质量BMES是什么意思_神经网络_07的值,所以呢?我们需要使用这两个值来计算质量BMES是什么意思_深度学习_03的值了,整个问题就转变成了下面的优化问题了,也就是我们需要求函数的最小值。”

质量BMES是什么意思_神经网络_09

在实际中,这类问题有一个经典的方法叫做梯度下降法。意思是我们先使用一个随机生成的质量BMES是什么意思_深度学习_03,然后使用下面的公式不断更新质量BMES是什么意思_深度学习_03的值,最终逼近真实效果。

质量BMES是什么意思_神经网络_12

这里质量BMES是什么意思_深度学习_03 是一个随机初始化的权重,质量BMES是什么意思_质量BMES是什么意思_14是表示当前误差对权重质量BMES是什么意思_深度学习_03的梯度。质量BMES是什么意思_质量BMES是什么意思_16是表示的学习率,通常不会很大,都是0.01以下的值,用来控制更新的步长。

2. BP基础之链式求导

质量BMES是什么意思_神经网络_17, 质量BMES是什么意思_质量BMES是什么意思_18,那么质量BMES是什么意思_深度学习_19,其中 质量BMES是什么意思_质量BMES是什么意思_20。其中质量BMES是什么意思_深度学习_21

当我们需要求质量BMES是什么意思_质量BMES是什么意思_22质量BMES是什么意思_神经网络的导数质量BMES是什么意思_网络_24就需要使用链式求导了。根据我们之前学过的知识:

质量BMES是什么意思_网络_25

这里说的都还是以单变量作为例子,实际中,多维变量就是变成了求偏导数了。

OK!基本上面试的时候,答到这个份儿上了,就已经够了!!

3. 参考

  • https://zhuanlan.zhihu.com/p/40378224
  • https://zhuanlan.zhihu.com/p/21407711