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

深度学习基础

与神经网络的区别

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

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

目标函数

均方误差----->交叉熵

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

为了避免交叉熵出现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°和池化后的矩阵相乘得到的矩阵就是残差,若有多个卷积核,则需要把所有相乘后的矩阵相加得到残差值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值