AdaGrad、RMSProp和Adam
AdaGrad、RMSProp
以及Adam
都是逐元素的自适应学习率方法(per-parameter adaptive learning rate methods
),根据每个神经元的梯度变化进行权重调整,能够有效的提高模型精度
AdaGrad、RMSProp
以及Adam
都是逐元素的自适应学习率方法(per-parameter adaptive learning rate methods
),根据每个神经元的梯度变化进行权重调整,能够有效的提高模型精度
文章very deep convolutional networks for large-scale image recognition对卷积网络深度进行了详细研究,证明了增加模型深度能够有效提高网络性能,其实现的VGGNet
在2014
年ImageNet
的定位(localisation
)和分类(classification
)比赛中获得第一和第二名
VGGNet
在AlexNet模型配置和学习的基础上,参考ZFNet使用更小的感受野和更小的步长,参考OverFeat在整个图像和多个尺度上对网络进行密集的训练和测试。最终,VGGNet
使用\(3\times 3\)大小卷积核进行模型深度的研究,在学习过程中使用多尺度图像进行训练和测试
主要内容如下:
文章Network In Network提出一种新的深度网络结构mlpconv
,使用微神经网络(micro neural network
)代替传统卷积层的线性滤波器,同时利用全局平均池化(global average pooling
)代替全连接层作为分类器,在当时的CIFAR-10
和CIFAR-100
上实现了最好的检测结果
文章Visualizing and Understanding Convolutional Networks提出一种可视化方法来观察中间层特征,以此发现不同模型层的性能分布,调整AlexNet
参数的得到的ZFNet
模型在ImageNet
上得到了更好的分类性能;通过预训练ImageNet
模型测试发现预训练大数据库能够提高模型的泛化能力
使用pytorch
实现AlexNet
,并进行cifar-10
训练和测试
AlexNet
在ImageNet LSVRC-2010
的1000
类分类比赛上实现了37.5% top-1
和17.0% top-5
的最小误差率,在LSVRC-2012
上实现了15.3% top-5
的最小误差率,这些数据是当时最好的识别结果,其实现代码也在google code
上公开:cuda-convnet
本文学习AlexNet
网络结构及其训练方法
pytorch
提供了多种失活函数实现
下面首先介绍Dropout
和Dropout2d
的使用,然后通过LeNet-5
模型进行cifar-10
的训练
使用前馈神经网络进行检测,测试集的检测率总是低于训练集,尤其是训练集数量不大的情况下,原因在于神经网络在训练过程中不断调整参数以拟合训练数据,在此过程中也学习了训练集噪声,导致泛化能力减弱
随时失活(dropout)是一种正则化方法,其动机来自于进化中的性别作用理论(a theory of the role of sex in evolution
),它通过训练多个不同网络模型,模拟模型组合的方式来提高网络性能,防止网络过拟合
主要内容如下: