pytorch学习笔记(三)

批量归一化和残差网络:

批量归一化能让较深的神经网络的训练变得更加容易。批量归一化的提出正是为了应对深度模型训练的挑战。在模型训练过程中,批量归一化利用小批量上的均值和标准差,不断调整神经网络中间输出,从而使整个神经网络在各层的中间输出的数值更稳定。

  • 全连接层的批量归一化:

批量归一化层置于全连接层中的仿射变换和激活函数之间,设全连接层的输入为u,权重参数和偏差参数分别为W和b,激活函数为O,批量归一化的运算符为BN。那么,使用批量归一化的全连接层的输出为O(BN(x)),其中批量归一化输入x由仿射变换x=Wu+b得到。

  • 对卷积层做批量归一化:

对卷积层来说,批量归一化发生在卷积计算之后、应用激活函数之前。如果卷积计算输出多个通道,我们需要对这些通道的输出分别做批量归一化,且每个通道都拥有独立的拉伸和偏移参数,并均为标量。设小批量中有m个样本。在单个通道上,假设卷积计算输出的高和宽分别为p和q。我们需要对该通道中m x p x q个元素同时做批量归一化。对这些元素做标准化计算时,我们使用相同的均值和方差,即该通道中m x p x q个元素的均值和方差。

  • 残差网络(ResNet):

网络的层数越多,得到的特征信息就会越多,但是一位的增加网络层数求得更佳的特征信息,会产生梯度消失或者梯度爆炸的问题,所以提出残差网络来解决这个问题。ResNet沿用了VGG全3x3卷积层的设计。残差块里首先有2个有相同输出通道数的3x3卷积层。每个卷积层后接一个批量归一化层和ReLU激活函数。然后我们将输入跳过这两个卷积运算后直接加在最后的ReLU激活函数前。这样的设计要求两个卷积层的输出与输入形状一样,从而可以相加。如果想改变通道数,就需要引入一个额外的1x 1卷积层来将输入变换成需要的形状后再做相加运算。

凸优化:

凸优化问题的优化目标为凸函数,凸函数有一个性质,就是梯度为0的点就对应着凸函数的极值点。一般情况下的优化目标不是凸函数的情况下,会存在多个梯度为零的点,通过梯度下降的一些方法,我们得到的是局部最小值,如想得到全局最小值,需要将这些极点对应的函数值进行比较,这样的话,计算量很大,计算成本较高。所以如果对问题加以限定,使得优化目标为凸函数,将不会存在局部极小值的困扰

梯度下降:

梯度下降法,即沿着梯度的反方向也就是坡度最陡的地方进行下降,能最快的走到低谷。梯度下降法是由泰勒公式推导展开得到。

优化算法进阶:

常见的优化算法有牛顿法,共轭梯度法,牛顿下山法等。Adam应该是最常用的优化器,它和传统的随机梯度下降不太一样,SGD保持单一的学习率更新所有权重,学习率在训练过程中并不会改变,Adam通过计算梯度的一阶据估计和二届据估计,为不同的参数设计独立的自适应性学习率。

word2vec:

word2vec 主要有两种方法,其一是skip-gram ,他的主要思想是通过中间词预测周围词,另外一种是CBOW,它的主要思想是通过周围词预测中间词。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值