最优化
策略1:随机搜寻(不太实用)
策略2:随机局部搜索
策略3:顺着梯度下滑
计算梯度
反向传播
下图中,从左到右,输入到输出,就是正向传播过程
假如:输入x = -2,y=5,则q的位置是加号,他俩相加,得出q = 3,则同理,f就得出来-12的结果,该过程称之为正向传播
那么什么是反向传播呢?反向传播一定是建立在正向传播的基础上的,反向传播我们应该从右往左看,依次求得他们的偏导,我们的目的是求出来,f对x,y,z的偏导数,并且根据已知进行赋值。下图中每个字母旁边红色的字就是反向传播的结果
首先我们看f,f对f的偏导,那就是1,因此得出1
其次是f对于q的偏导,求得结果是z,而z的值是-4,因此,q的位置就是-4
然后我们求得f对z的偏导,求得结果是q,而q的值是3,我们就把3的值赋给z
然后我们求f对x的偏导,需要用到链式法则,先求f对q的偏导,再乘以q对x的偏导,求得结果是1*(-4),因此,f对x的偏导结果是-4,同理可得y也是-4
因此不管多么复杂的神经网络,本质都是一个链式法则,都是先进行正向传播,然后一层层利用偏导数计算反向传播的每一个参数的值。
Sigmoid例子
由上边的进行计算正向传播和反向传播例子