请教一下大家,神经网络里dropout rate一般设置多大?有什么技巧吗?
谢谢。
3个回答
主要还是根据自己的需要,这个也是hyper parameter,可以根据结果好坏来调整
一般在输入层dropout的比较少,dropout rate是0.1甚至0.
在中间可以稍微大一点,比如0.5。dropout的一个目的是在每批训练时,通过dropout产生不同的网络结构。当dropout在0.5的时候,网络结构会更大的变化。所以0.5是非常常用的。
我的经验是决定dropout之前,需要先判断是否模型过拟合
先dropout=0, 训练后得到模型的一些指标(比如: F1, Accuracy, AP)。比较train数据集和test数据集的指标。
- 过拟合:尝试下面的步骤。
- 欠拟合:尝试调整模型的结构,暂时忽略下面步骤。
dropout设置成0.4-0.6之间, 再次训练得到模型的一些指标。
- 如果过拟合明显好转,但指标也下降明显,可以尝试减少dropout(0.2)
- 如果过拟合还是严重,增加dropout(0.2)
重复上面的步骤多次,就可以找到理想的dropout值了。