0
点赞
收藏
分享

微信扫一扫

AI深度学习

晚熟的猫 2022-04-24 阅读 210
python

损失函数:
1、绝对值损失函数
2、平方损失函数 (回归任务)
3、指数损失函数
4、交叉熵损失函数  (分类任务)

正则化:
L1正则化是指权值向量中各个元素的绝对值之和,可以实现让参数矩阵稀疏,让参数稀疏的好处,可以实现对特征的选择
L2正则化是指权值向量中各个元素的平方和然后再求平方根,解决过拟合问题。
 
1*1卷积: 实现跨通道交互、升降维、增加非线性

过拟合: 泛化能力差,原因:
    网络太复杂,数据量不够; ---调小模型,增加数据集
    训练集与测试集特征分布不一致;--正则化,dropout
    样本中噪声数据干扰太大,
    迭代次数太多了 -----提前停止
    
BN以及BN在测试阶段如何处理 ?
 对每一个batch的数据根据求得的均值和方差进行归一化处理,主要作用是加速训练收敛,防止过拟合。
 测试阶段,可以根据训练数据机每一个batch的均值和方差做平滑处理或者求均值,得到全局的均值和方差。

dropout在测试阶段如何处理 ?
  Dropout 是在训练过程中以一定的概率的使神经元失活,即输出为0,以提高模型的泛化能力,减少过拟合。
  在测试时,应该用整个训练好的模型,因此不需要dropout。在测试的时候没有神经元被丢弃,因此输出值需要按dropout比率缩小。


BN和Dropout单独使用都能减少过拟合并加速训练速度,但如果一起使用的话并不会产生1+1>2的效果,相反可能会得到比单独使用更差的效果

为什么会出现梯度消失和梯度爆炸 ?
梯度消失:在神经网络中,当前面隐藏层的学习速率低于后面隐藏层的学习速率,即随着隐藏层数目的增加,分类准确率反而下降了。 这种现象叫梯度消失。
梯度爆炸:由于初始化权值过大,前面层会比后面层变化的更快,就会导致权值越来越大,梯度爆炸的现象就发生。 这种现象叫梯度爆炸

因为通常神经网络所用的激活函数是sigmoid函数,这个函数有个特点,就是能将负无穷到正无穷的数映射到0和1之间,并且对这个函数求导的结果是f′(x)=f(x)(1-f(x))。
因此两个0到1之间的数相乘,得到的结果就会变得很小了。神经网络的反向传播是逐层对函数偏导相乘,因此当神经网络层数非常深的时候,最后一层产生的偏差就因为乘了很多的小于1的数而越来越小,最终就会变为0,从而导致层数比较浅的权重没有更新,这就是梯度消失

1、选择合适的激活函数
一般使用 Relu函数,Relu的导数为1.不建议使用Sigmoid函数和tanh函数,因为二者的导函数的区域小,容易梯度消失。
2、选择合适的参数初始化方法
3、使用权重参数正则化
4、使用Batch Normalization
5、使用残差结构

分类有哪些评估指标: 
1、正确率 = 实际为正例/(预测为正例)   检索出来的条目有多少是正确的
2、召回率 = 预测为正例且实际为正例 /实际为正列    所有正确条目有多少被检索出来了
F1Score = 2*PR/(P +R)

讲一下SOFTMAX ?
该元素的指数与所有输出元素指数和的比值。通过Softmax函数就可以将多分类的输出值转换为范围在[0, 1]和为1的概率分布


 

举报

相关推荐

0 条评论