计算机视觉———深度学习基础

1146-陶同学

发表文章数:37

首页 » 算法 » 正文

深度学习基础

与神经网络的区别

传统一般三层以内,深度可达上千层

传统通常是全连接,深度形式多样:共享权值,跨层的反馈等

目标函数

均方误差—–>交叉熵

交叉熵能在深度学习模型下快速提高精度

为了避免交叉熵出现0,使用softmax层来突出最大值并转换成概率

激励函数

sigmoid——->ReLU

当神经元一层层叠加之后,会不断叠加激励函数的导数和权重,导致梯度消失

ReLU能解决梯度消失问题,将有些输出为0的神经元看作直线

改进的梯度下降

Momentum:前几次的梯度也会参与运算

Nesterov Momentum: 先对参数进行估计,然后使用估计后的参数来计算误差

Adagrad:应该为不同的参数设置不同的学习步长,梯度越小则学习步长越大,反之亦然

RMSprop:一种改进的Adagrad,通过引入一个衰减系数,让r每回合都衰减一定比例,解决了Adagrad过早结束的问题,适合处理非平稳目标,对于RNN效果很好

Adam:adaptive moment estimation,自适应矩阵估计,利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率

总结:

如果数据是稀疏的,就用自适用方法,即Adagrad,Adadelta,RMSprop,Adam,通常Adam是最好的选择

SGD缺点是算法用的时间长,容易被困在鞍点,但是相对稳定

Batch Normalization:

对数据先进行预处理(标准化处理),CNN训练绝大多数都采用基于mini-batch的随机梯度下降算法为基础的算法进行训练操作是:在每次SGD时,通过mini-batch来对相应的activation做规范化造作,使得结果的均值为0,方差为1

避免过适应

过适应的根本原因:权重参数太多,而样本量不足

通过早期停止训练,权重衰减,dropout来避免过适应

早期停止训练:

当目标函数在验证集上不再减少时,训练就应该停止了,不能一味追求训练集的误差减小

权重衰减:

删除一些无用的权重

Dropout:

每次更新参数前,按一定比例删除部分神经元,是集成学习的一种

CNN初步介绍

Cnn基本组件:

cnn卷积层:

3D滤波器/卷积核:由机器自己学习出来得到的(权重)

卷积步长大于1,有降维的作用

cnn池化层:

作用:特征融合,降维,无参数需要学习,通常使用最大池化

cnn-Softmax层:

指数归一化函数:将一个实数值向量压缩到(0,1),所有元素和为1,最后一个全连接层对接1000-way的softmax层,得出1000类标签的概率值,用于构建LOSS

池化层的误差反向传播

如果采用平均池化,就先复制还原成之前的大小,然后除以最大值则得到和原来一样的残差值

如果采用最大池化,需要记录前向传播过程中池化区域中最大值的位置,用0填充多余的位置

卷积层的误差反向传播

将卷积核旋转180°和池化后的矩阵相乘得到的矩阵就是残差,若有多个卷积核,则需要把所有相乘后的矩阵相加得到残差值

未经允许不得转载:作者:1146-陶同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《计算机视觉———深度学习基础》 发布于2020-07-31

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录