搭建神经网络中的超参数理解

超参数,一般是在搭建神经网络前,声明的参数,超参数不能直接从所搭建模型的训练过程中学习,需要预先定义。一般包括LR,BATCH(或称之为BATCH SIZE),EPOCH,ITERATIONS(或称之为BATCH NUMBER)

LR 学习率,指的是神经网络在反向传播所用到的学习率,学习率设置过大,会导致loss震荡,学习难以收敛;设置过小,那么训练的过程将大大增加。学习率的调整是非常困难的,有的优化器(比如自己写的)具有自动调节学习率的功能,但是一般初始学习率还是需要通过超参数声明的。

BATCH(BATCH SIZE)指的是每次送入模型训练的一批数据的样本数。比如有100个数据,每次从100个数据中,随机抽取10个数据进行训练。BATCH的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如你GPU内存不大,该数值最好设置小一点。良好的BATCH使得单个epoch的迭代次数减少了,参数的调整也慢了,假如要达到相同的识别精度,需要更多的epoch。

EPOCH:一个epoch指代所有的数据送入网络中完成一次前向计算及反向传播的过程。EPOCH指的是有多少个epoch。当计算量很大时,将一个epoch分为多个batch。随着epoch数量的增加,神经网络中权重更新迭代的次数增多,曲线从最开始的欠拟合状态,慢慢进入优化拟合状态,最终进入过拟合。epoch大小与数据集的多样化程度有关,多样化程度越强,epoch应该越大。

Iterations:完成一次epoch所需的batch个数。也叫batch numbers。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容