【论文】深度学习参数敏感性实验(超参数实验)实施办法
参数敏感性实验是什么?
在深度学习技术中,超参数的调整十分重要!
通过调整超参数观察训练过程中监测指标(如损失和准确率)来判断当前模型处于什么样子的训状态,进而通过调整超参数实现更科学地训练模型提高资源利用率。
参数分类
通常可以将超参数分为三类:网络参数、优化参数、正则化参数。
网络参数:可指网络层与层之间的交互方式(相加、相乘或者串接等)、卷积核数量和卷积核尺寸、网络层数(也称深度)和激活函数等。
优化参数:一般指学习率(learning rate)、批样本数量(batch size)、不同优化器的参数以及部分损失函数的可调参数。
正则化:权重衰减系数,丢弃法比率(dropout)
优化的参数(模型外部)
学习率
学习率控制着模型每一轮迭代中的更新步长,太大容易震荡导致模型不收敛loss不断上下震荡。学习率太小又容易导致收敛速度过慢需要长时间训练。
不同的优化算法决定不同的学习率。
[0.01,0.001,0.0001]
批次大小batch_size
batch_size大小是每一次训练神经网络时送入模型的样本数,在卷积神经网络中,大批次通常可使网络更快收敛,但由于内存资源的限制,批次过大可能会导致内存不够用或者程序内核崩溃。batch_size通常取值为【2,8,16,32,64】。
实际过程中:256*256的图像,在拥有两块特斯拉v100s-32GB的机器上无法跑通batch_size=8,且在服务器算力紧张的时候,batch_size=4也跑不起来,batch_size=2勉强可以,因此当算力不允许的时候,batch_size这个超参数可以选取小值即可。
num_workers:使用多进程加载的进程数
0代表不使用多进程,如果设置为0,在集群服务器中通常会导致CPU占用率过高。