机器学习基础知识

本文介绍了DnCNN中的关键概念,包括梯度下降算法(GD和SGD)、动量与自适应学习率(如Adam),反向传播算法(BP)以及激活函数(ReLU、LeakyReLU)。此外,还讨论了参数初始化策略(Xavier和Kaiming)和批量归一化及其变种在神经网络训练中的作用。
摘要由CSDN通过智能技术生成

背景

最近在看一篇讲解DnCNN的文章,发现自己有好多基础概念都不明白,于是特地去学习了一下

梯度下降算法

梯度下降算法(Gradient Descent简称GD)就是找到最拟合函数的调参方式,考虑到内存限制和迭代速度,一般用随机梯度下降算法(Stochastic Gradient Descent简称SGD),为了在非凸问题中更好的找到损失函数最小值,引入了动量,为了在训练过程中保持好的学习率又发明了自适应学习AdaGrad和RMSPorp算法,结合动量和自适应算法,得到了目前应用最广的Adam算法

反向传播算法

反向传播算法(Back-Propagation简称BP),可以快速计算神经网络中的梯度值,再利用梯度下降算法快速训练整个神经网络

激活函数

激活函数必须是非线性函数,如sigmoid、tanh、ReLU
其中前两都是饱和函数,ReLU是非饱和函数,但是sigmoid函数的缺点是不易收敛、会出现梯度消失,tanh也会出现梯度消失,而ReLU算法就没有以上问题,我学习的U-Net实现图像分割和DnCNN的代码中都是用的ReLU算法。不过ReLu函数也有缺点,会出现神经元坏死现象,于是科学家又提出了Leaky ReLU、Parametric ReLU
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

参数初始化

参数初始化可以减缓梯度爆炸和梯度消失的问题,tanh一般用Xavier初始化方法,ReLU和其变种,用Kainming初始化方法

批量归一化

批量归一化(Barch Normalization检测BN)可以加速神经网络收敛,使训练过程中对学习率的参数初始化更加鲁棒,BP算法缺点是在Batch中包含数据量较多才有效,对循环网络(RNN)或序列数据(Sequence)性能较差,分布式运算时影响效率,针对这些问题,又提出了Layer Normalization、Instance Normalization算法,不过由于我使用的是U-Net且地震数据不属于序列化数据,因此,我可以使用BP进行数据归一化

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值