对于深度学习中训练集、验证集和测试集的理解

  今天整理之前的实验,准备把之前未完整跑完的实验做完整时候发现了之前对于训练集、验证集和测试集的一些理解的错误之处。

0x00. 错误的理解

  之前的实验是语音增强,即降噪。以下是实验的数据。其中small cv是由于实验中频繁使用验证集而2000句话的验证集每次运行时间太长,我自己抽离出来的验证集,问题就出在这里…
数据统计
  small cv是从tt中抽取的,也就是说我自己做的小验证集是从测试集中抽取的……这就彻底违背了验证集的作用,相当于在调整参数过程中,看到了“最好的信息”,以此来调整的参数。这样当然调参出来的网络当然是最好的网络。事实上,在真正训练过程中,我们是看不到测试集,而在实验中,测试集是我们自己生成的,即使如此我们也不能看到测试集。

0x01. 正确理解训练集、验证集和测试集

  在真正的使用中,训练集和验证集是我们可以获取到的数据,我们通过使用训练集训练神经网络,去把这个网络使用到去大千世界中。而验证集的作用是为了防止模型在训练集上过拟合,即防止模型学到过多训练集上特有的特征
  因此,在本次实验中,验证集和训练集的区别在于验证集上的噪音和纯净语音的组合方式训练集上的噪音和语音组合方式不同。例如:训练集上A语音和a噪声进行组合成为带噪语音,B语音和b噪声进行组合成为带噪语音;为了防止模型“认为”A语音只能和a噪声进行组合,从而学到这种特定组合模式下的带噪语音的特征,我们的验证集A语音和b噪声组合成为带噪语音,B语音和a噪声组合成为带噪语音。
  通过观察验证集上评估标准(PESQ或STOI)的增减情况,从而判断模型是否过拟合。如:pesq衡增阶段,模型未过拟合;pesq趋于稳定直至减小时说明模型过拟合。

0x02. 正确的验证集分配

正确的验证集分配

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章