深度学习理论入门——网络构建

网络模型构建

想要性能构建良好的网络模型,需要选择合适的神经网络

  1. 对特征提取具有高效性
  2. 数据格式具有简易性
  3. 参数数目具有少量性

其中,对于图像和视频数据,选择卷积神经网络较为合适;对于语音和文本数据(序列数据),选择循环神经网络较为合适

超参数设置

超参数

无法从学习中得到,需要由人根据经验而定,如算法学习率、梯度下降法循环数量、隐藏层数目、单元数目等

调参策略

网络调参方向:更深的网络和更加复杂的结构
目的:提高泛化能力

  1. 正则化
  2. 增加神经网络层数
  3. 使用正确的代价函数
  4. 使用好的权重初始化技术
  5. 人为拓展训练集
  6. 弃权技术

提升CNN泛化能力:

  1. 使用更多数据
  2. 使用更大批次
  3. 调整数据分布
  4. 调整目标函数
  5. 调整网络结构
  6. 数据增强
  7. 权值正则化

激活函数和损失函数选择

CNN激活函数


ReLU:

  1. 对线性函数,表达很强;对非线性函数,梯度为常数,无梯度消失
  2. 增大了网络的稀疏性(单侧抑制)
  3. 运算量小

注意事项
若后层某层梯度较大,则导致权重更新后较大,该层输入为负且输出为0,该层死亡则应对学习率有适当设置

Leaky ReLu:
损失了一定的稀疏性,增加了一个超参数a,以达到优化ReLU死亡特性
Max Out:
大大增加了参数量

RNN激活函数

在RNN中,若采用ReLU,则会导致输出值过大,且无法解决梯度在长时间传递的问题,于是采用Tanh函数
在这里插入图片描述

CNN损失函数

分类:交叉熵损失函数
回归:L1,L2损失函数
作用:逐像素比较差异,避免正负值相互抵消,可对像素之差取绝对值或平方
在这里插入图片描述

RNN损失函数

交叉熵损失函数:

  1. t t t时刻的损失函数如下:
    L o s s t = − [ y t ln ⁡ ( O t ) + ( 1 − y t ) ln ⁡ ( 1 − O t ) ] Loss_t=-[y_t\ln(O_t)+(1-y_t)\ln(1-O_t)] Losst=[ytln(Ot)+(1yt)ln(1Ot)]
  2. 全部 N N N个时刻(全局)损失函数:
    L o s s = ∑ t = 1 N L o s s t = − ∑ t = 1 N [ y t ln ⁡ ( O t ) + ( 1 − y t ) ln ⁡ ( 1 − O t ) ] Loss=\sum^N_{t=1}Loss_t=-\sum^N_{t=1}[y_t\ln (O_t)+(1-y_t)\ln(1-O_t)] Loss=t=1NLosst=t=1N[ytln(Ot)+(1yt)ln(1Ot)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值