前言
在这个岗位不知不觉数十年了,每年大大小小的面试已经数不清了,这些问题当然也是我最喜欢问他们的问题,要说难,肯定不会出那些都不会的难题,但是说每个人都会那肯定也是不可能的。那这些面试题又有多少人能够清楚的表达出来。
1、神经网络基础问题
(1)BP,Back-propagation(要能推倒)
后向传播是在求解损失函数L对参数w求导时候用到的方法,目的是通过链式法则对参数进行一层一层的求导。这里重点强调:要将参数进行随机初始化而不是全部置0,否则所有隐层的数值都会与输入相关,这称为对称失效。
大致过程是:
首先前向传导计算出所有节点的激活值和输出值,
计算整体损失函数:
然后针对第L层的每个节点计算出残差(这里是因为UFLDL中说的是残差,本质就是整体损失函数对每一层激活值Z的导数),所以要对W求导只要再乘上激活函数对W的导数即可
(2)梯度消失、梯度爆炸
梯度消失:这本质上是由于激活函数的选择导致的, 最简单的sigmoid函数为例,在函数的两端梯度求导结果非常小(饱和区