超参数设定及训练技巧

一、网络超参数的设定

1.输入数据像素大小的设定:

为便于GPU并行计算,一般将图像大小设置为到2的次幂。

2.卷积层参数的设定:

(1)卷积核大小一般使用1*1,3*3 或 5*5。

(2)使用zero padding,可以充分利用边缘信息、使输入大小保持不变。

(3)卷积核的个数通常设置为2的次幂,如64,128,256,512,1024等。

3.池化层参数的设定:

一般采用卷积核大小2*2,步长为2.

4.全连接层参数的设定(可使用Global Average Pooling来代替):

主要是用来解决全连接的问题,是将最后一层的特征图进行整张图的一个均值池化,形成一个特征点,将这些特征点组成最后的特征向量,然后进行softmax中进行计算。

备注:

(1)Global Average Pooling和Average Pooling(Local)的差别就在“Global”这个字眼上。Global和Local在字面上都是用来形容pooling窗口区域的。Local是取Feature Map的一个子区域求平均值,然后滑动。

(2)Global显然就是对整个Feature Map求均值了(kernel的大小设置成和Feature Map的相同)。所以,有多少个Feature Map就可以输出多少个节点。一般可将输出的结果直接喂给softmax层。

举例:

Global Average Pooling:是将最后一层的特征图进行整张图的一个均值池化,形成一个特征点,将这些特征点组成最后的特征向量,在softmax中进行计算。

例:假如,最后一层的数据是10个6*6的特征图,global average pooling是将每一张特征图计算所有像素点的均值,输出一个数据值,这样10个特征图就会输出10个数据点,将这些数据点组成一个1*10的向量的话,就成为一个特征向量,就可以送入到softmax的分类中计算了。

5.卷积的选取:

(1)卷积核尺寸方面:

①大卷积核用多个小卷积核代替;

②单一尺寸卷积核用多尺寸卷积核代替;

③固定形状卷积核趋于使用可变形卷积核;

④使用1x1卷积核(瓶颈结构)

(2)卷积层连接方面:

①使用跳跃连接,让模型更深;

②密集连接都是不错的优化方法;

③使每一层都融合上其它层的特征输出(例如:DenseNet)

6.遇到模型过拟合问题怎么解决?

举个例子:

在上学的时候,有人采取题海战术,把每个题目都背下来。但是题目稍微一变,他就不会做了。因为他非常复杂的记住了每道题的做法,而没有抽象出通用的规则。

所以过拟合有两种原因:

(1)训练集和测试集特征分布不一致;

(2)或者模型太过复杂(记住了每一道题)而样本不足;

欠拟合:欠拟合是由于学习不足;解决办法:可以考虑添加特征,从数据中挖掘出更多的特征,有时候还需要对特征进行变换,使用组合特征和高次特征。

两种解决过拟合的方法:

(1)L0、L1、L2:在向前传播、反向传播后面加个小尾巴;

(2)DropOut:训练时随机“删除”一部分神经元;

介绍的优化方法叫mini-batch,它主要解决的问题是:实际应用时的训练数据往往都太大了,一次加载到电脑里可能内存不够,其次运行速度也很慢。那自然就想到说,不如把训练数据分割成好几份,一次学习一份不就行了吗?前辈们试了试发现不仅解决了内存不足的问题,而且网络“收敛”的速度更快了。由于mini-batch这么棒,自然是神经网络中非常重要的一个技术,但是实际实现时你会发现“真的太简单了”。

mini-batch的操作:

洗牌:是mini-batch的一个操作,因为我们是将训练数据分割成若干份的,分割前将图片的顺序打乱就是所谓的“洗牌”了,这样每一次mini-batch学习的图片都不一样为网络中增加了一些随机的因素。优化了网络。

另外注意:

batch size太小会使训练速度很慢;

太大会加快训练速度,但同时会导致内存占用过高,并有可能降低准确率。

所以32至256是不错的初始值选择,尤其是64和128

问题,为什么选择2的指数倍?

因为计算机内存一般为2的指数倍,采用2进制编码。

 

 

 

 

1. 学习率调节:学习率是控制模型优化过程中参数更新的速度的一个重要超参数。如果学习率设置过高,可能会导致模型无法收敛;如果学习率设置过低,模型收敛速度会变慢。因此,需要根据训练数据和模型的复杂度进行学习率的调节。 2. 批次大小调节:批次大小是指每个训练步骤中输入模型的训练样本数量。批次大小的设置对模型的性能和训练速度都有重要影响。一般来说,批次大小越大,模型的训练速度越快,但是可能会导致模型过度拟合训练数据。 3. 迭代次数调节:迭代次数是指模型训练过程中重复执行的次数。迭代次数的设置取决于训练数据的大小和模型的复杂度。如果迭代次数设置过少,可能会导致模型欠拟合;如果迭代次数设置过多,可能会导致模型过拟合。 4. 正则化调节:正则化是一种用于减少模型过拟合的技术。在训练过程中,可以通过调节正则化参数来控制模型的复杂度。如果正则化参数设置过高,可能会导致模型欠拟合;如果正则化参数设置过低,可能会导致模型过拟合。 5. 激活函数调节:激活函数是一种用于在神经网络中引入非线性变换的函数。在训练过程中,可以通过调节激活函数的类型和参数来控制模型的复杂度和表达能力。常用的激活函数有ReLU、Sigmoid和Tanh等。 6. 数据增强调节:数据增强是一种用于扩充训练数据集的技术。通过对原始数据进行旋转、缩放、裁剪等操作,可以生成更多的训练数据,从而增强模型的鲁棒性和泛化能力。在训练过程中,可以通过调节数据增强的类型和参数来控制模型的表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星辰同学wwq

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值