深度学习一些细节

仅供个人学习记录

1、过拟合解决方法

dropout、bn、数据增强、更多的数据集、早停、正则化

2、bn层

防止梯度消失和梯度爆炸,将数据调整为均值为0,方差为1的分布。

其跟在卷积层后,激活层前,也是因为卷积后的数据有很多是小于0的,在直接进行relu后,会造成神经元死亡。

存在两个γ、β,偏移和缩放因子。

3、梯度消失和梯度爆炸

权重初始化过大或过小

sigmoid函数的特性,中间变化明显,两边变化较小,且梯度趋近于0

 4、relu函数的优缺点

让一些神经元输出置0,减少计算,减少参数之间的相互依赖,解决了梯度消失爆炸问题。

但也会导致一些神经元坏死。通常前一层要做bn操作。

5、SGD

随机选取1个样本、更多为batch个样本进行梯度下降,加入动量的SGD为指数平均

vt​=β * vt−1​+(1−β)θt

β通常为0.9

6、Adam

Adam定义了一阶动量mt和二阶动量vt,分别为当前次迭代时梯度的一次函数与二次函数,超参数,设置为0.9与0.999。

    m = beta1*m + (1-beta1)*dx
    v = beta2*v + (1-beta2)*(dx**2)
    x += - learning_rate * m / (np.sqrt(v) + eps)

7、卷积核与padding后的图片尺寸公式

      假设输入大小为(H,W),滤波器大小为(FH,FW),输出大小为(OH,OW),填充为P,步幅为S。
此时,输出大小公式:

        h = (H + 2P - FH)/S +1

8、FLOPs

floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

CNN : 2*k*k * Cin *Cout * H * W考虑bias ,(2 * Cin * K*K-1) * Cout*H*W

        k为卷积核大小,C为通道数,HW为输出层宽高

FC :(2*I -1)*O不考虑bias 

I输入神经元数,O输出神经元数

9、L1和L2正则化

在最后损失函数上,加上对权重w的惩罚

loss = y - (wx+b) + |w|/w**2

L1就是绝对值,L2是平方

L1正则化可以获得稀疏的矩阵,L2可以改善过拟合。

L1loss : J = J0 + a*|w|

二维情况下,J0是曲线,L1是菱形,其相交点是最优解,由于L1是多边形,顶点在坐标轴上,所以相交点也多为0,所以导致L1正则化可以产生稀疏矩阵。

 L2loss:J = J0 + a*W**2

二维情况下,L2是圆形,可以让解更靠近0,而不直接等于0,减少复杂性

 

正则化之所以能够降低过拟合的原因在于,正则化是结构风险最小化的一种策略实现。

给loss function加上正则化项,能使得新得到的优化目标函数h = f+normal,需要在f和normal中做一个权衡(trade-off),如果还像原来只优化f的情况下,那可能得到一组解比较复杂,使得正则项normal比较大,那么h就不是最优的,因此可以看出加正则项能让解更加简单,符合奥卡姆剃刀理论,同时也比较符合在偏差和方差(方差表示模型的复杂度)分析中,通过降低模型复杂度,得到更小的泛化误差,降低过拟合程度。

L1正则化和L2正则化:

L1正则化就是在loss function后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多)。L2正则化就是loss function后边所加正则项为L2范数的平方,加上L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。

 10、triplet loss

 三元组损失,分别获取anchor、positive、negative三个样本,

loss = max(d(a,p)-d(a,n) + margin) , 0)

根据d不同,划分为easy , hard ,semi-hard

 ap距离小于 an距离 ,损失为0

ap距离大于an距离+margin,有损失

11、为什么MSE不能作为分类损失函数

MSE衡量的是两个数据之间的欧式距离,在回归问题中可以使用。但在分类问题中,标签的0-1本身不是一个距离的含义,在欧式空间无意义。

MSE关注每一个类别上的概率,无论对错。CE更关注正确样本。

MSE(y,a(w*x+b))是非凸函数,存在很多局部极小值,不容易优化。

存在梯度消失的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值