1. 为什么必须在神经网络中引入非线性?
2. ReLU在零点不可导,那么在反向传播中怎么处理?
3. ReLU的优缺点
4. 激活函数有什么作用,常用的的激活函数有哪些?
5. Softmax的原理是什么?有什么作用?
1. 为什么必须在神经网络中引入非线性?
神经元之间的连接本质上是矩阵相乘,是线性变换。线性组合的线性组合依旧是线性组合,引入非线性提升模型的表达能力。
没有引入非线性,神经网络就变成了线性层的堆叠,表现能力有限
带有非线性层的神经网络被证明可以表示任何函数,加入非线性提升拟合模型表达能力
2. ReLU在零点不可导,那么在反向传播中怎么处理?
对导数分段处理,0点出设置为0或1
3. ReLU的优缺点
优点:
(1)计算简单
(2)非饱和性有效解决梯度消失的问题,不会出现梯度消失和梯度饱和问题
缺点:
(1)Dead ReLU problem(ReLU神经元坏死现象) 会存在负梯度值清零的问题,导致这些神经元不可逆的死亡(参数永远不会更新)
(2)ZigZag现象,参数更新方向都相同
(3)不会对数据做幅度压缩,数据幅度会随模型层数的增加而不断扩充
4. 激活函数有什么作用,常用的的激活函数有哪些?
增加模型的非线性,提升表达能力
ReLU、 Leaky ReLU、GeLU、sigmoid(同样有ZigZag现象)、tanh(没有ZigZag现象)等
5. Softmax的原理是什么?有什么作用?
将输入x1, x2...xn做如下变换:
归一化输入,拉开最大值与最小值的比例,作为分类模型最后一层分类器输出概率分布