就像修炼武功一样,都有武林秘籍,按照步骤一步一步修炼,练好基础,然后再举一反三,最终就可修炼绝世武功。在深度学习领域进行学习的过程中也是一样,先把基础功训练扎实,深入理解原理及步骤,后面不管是各种算法的变种都可以通过基础算法举一反三。今天就来讲解下深度神经网络训练的三部曲,也就是神经网络是怎么训练的。
这里的训练三部曲就分为正向传播、反向传播、梯度下降。
那么我们分开来讲解每一步做了啥以及这样的做的作用是什么。
1.正向传播
首先来深入解析正向传播,正向传播指的就是由输入计算预测值的过程就是正向传播的过程。
但是在这里我们可能很快就会发现,上章讲过神经元必须会做的一个操作就是线性变换和非线性变换这2步,而在看这2步的时候,我们会发现有参数w, b ;那么一开始的时候我们要想得到预测值,就一定会带着这个w,b进去计算才能得到最终的预测值。所以这里我们需要做的就是初始化参数,这也是为啥不管我们在实践中使用哪个神经网络结构的时候都会需要对参数初始化,原因就在于此。既然一开始要对参数人为的进行初始化,那么初始化为何值合适呢,这里我们并不能直接说一定用某个值就一定是万金油,只能够给出个理论指导方向,那就是在初始化的时候,我们的w一般都设置到0的左右,但是不能太大,而b 则一般可以置为0 。通过初始化的w,b 然后就可以得到线性变换后的值,后面还需要对这个值进行非线性变换,上面讲过我们的非线性变换会使用g函数,这里指的就是激活函数。
下面介绍下常用的激活函数以及使用范围。
1. sigmoid函数
sigmoid 函数可将实数映射到[0,1]之间,通常用来做二分类,比如是否的分类问题&