深度前馈⽹络与Xavier初始化原理
原创
⼣⼩瑶
2017-07-17⼣⼩瑶的卖萌屋
来⾃专辑
卖萌屋@深度学习炼丹技巧
基本的神经⽹络的知识(⼀般化模型、前向计算、反向传播及其本质、激活函数等)⼩⼣已经介绍完毕,本⽂先讲
⼀下深度前馈⽹络的BP过程,再基于此来重点讲解在前馈⽹络中⽤来初始化model参数的Xavier⽅法的原理。
前向过程很简单,每⼀层与下⼀层的连接边(即参数)构成了⼀个矩阵(即线性映射),每⼀层的神经元构成⼀个激活函
数阵列(即⾮线性映射),信号便从输⼊层开始反复的重复这两个过程直到输出层,也就是已经在《神经⽹络激活
函数》中详细讲过的线性与⾮线性交替映射的过程:
误差反向传播的过程也很简单,其本质就是基于链式求导+梯度下降,原因已在《BP算法的本质》中讲解,这⾥就
重点讲解⼀下BP算法的过程。
⾸先往上翻⼀翻,记住之前说过的前馈⽹络⽆⾮就是反复的线性与⾮线性映射。然后:
⾸先,假设某个神经元的输⼊为z,经过激活函数f1(·)得到输出a。即函数值a=f1(z)。如果这⾥的输⼊z⼜是另⼀个函
数f2的输出的话(当然啦,这⾥的f2就是线性映射函数,也就是连接某两层的权重矩阵),即z=f2(x),那么如果基于
a来对z中的变量x求导的时候,由于
显然只要乘以激活函数f1的导数,就不⽤操⼼激活函数的输出以及更后⾯的事⼉了(这⾥的“后⾯”指的是神经⽹络的