深度学习常用的激活函数有哪些?
1⃣Sigmoid函数: f(x) = 1 /(1 + exp(-x))
2⃣ReLU函数: fx) = max(0,x)
3⃣Leaky ReLU函数: f(x) = max(0.01x,x)
4⃣Tanh函数: f(x) = (exp(x) - exp(-x)) /(exp(x)+exp(-x))
5⃣Softmax函数: f(x i) = exp(x i) / sum(exp(x_j))
6⃣Swish函数: f(x) = x* sigmoid(x)
7⃣Softplus函数: f ( x ) =In ( 1 + exp x )
深度学习有哪些优化器? 各自的优缺点?
1⃣Stochastic Gradient Descent ( SGD ): 迭代速度快,但是容易陷入局部解
2⃣SGD with momentum: 加速SGD,但可能跳出最优解
3⃣AdaGrad: 考虑历史梯度的数据,动态调整参数
4⃣RMSprop: 相比AdaGrad增加了衰减因子,提高计算速度
5⃣Adam: 结合动量和RMSProp优点,使用较多
6AdamW: Adam结合weight decay,提高计算速度,通常用此方法
梯度消失和梯度爆炸如何理解? 怎么解决?
梯度消失: 梯度变得趋近于零,导致网络无法更新权重
梯度爆炸: 梯度变得非常大,导致网络的权重更新失控
解决梯度消失方法:
1⃣恰当的激活函数: ReLU、LeakyReLU
2⃣使用归一化方法,Batch Normalization
3⃣使用残差方法: Residual Connection
解决梯度爆炸方法:
1⃣梯度裁剪,限制梯度范围
2⃣使用归一化方法,Batch Normalization
3⃣合理的权重初始化,如Xavier方法