目录
1.数值稳定性
层记为t,这里的y不是预测,还包括了损失函数,y是优化函数,不是预测的结果y。第t层是输出。所有的h都是一些向量,向量关于向量的导数是一个矩阵,所以用了很多次的矩阵乘法,出问题就在这里。
1.1梯度爆炸
多层感知机对于 t层的导数是这样子的连乘公式
h是向量,w也是向量,他们乘起来也是向量。则向量对向量h求导是一个矩阵。(对角矩阵是因为F(X)对X求导是对角矩阵,o(WtHt-1) 对Ht-1求导可以化为 o(WtHt-1)对WtHt-1求导乘上 WtHt-1对Ht-1求导。而 o(WtHt-1)对WtHt-1求导就是F(x)对x求导。 为什么F(X)对X求导是对角矩阵呢,因为X是向量,且激活函数这个F是对X里每个元素的操作,例如【f(x1), f(x2), f(x3)】对【x1,x2,x3】求导运用向量求导公式就是对角矩阵)。
其次就是公式里的,为什么对
求导等于
,因为这是使用了分母布局,意思是结果的行等于分母的大小,也就是和h的大小相等。
则对角阵就是由0或1的元素组成的,把这个对角阵和w的转置相乘,结果就是要么把某个w留下来,要么就是把某个w删去了。把w看成行向量的话,就相当于把某一列全部变成0,或者把某一列留下等于原来的值。
d-t很大的意思是网络比较深(假设w全是大于1,且层数比较大的话,多层感知机的导数就会非常大)。
如果学习率太大,那么一步就走的比较远,则梯度的变化就会很大。