1.人工检验train和dev/test之间的区别;
比如:汽车语音识别中的噪音、地名难以识别等等
2.使得你的训练集更靠近(相似于)dev/test,收集更多类似于dev的数据;
比如:dev中存在很多噪音,可以模拟噪音数据;或者地名难以识别,可以收集更多地名的语音数据。
注意:目前没有系统化解决数据不匹配的方案,通过以上方法也不能完全保证解决问题,但是通常情况下上述方法可以解决问题。——Andrew Ng
方案:人工合成数据
这只是一种简单的合成,也可以加入混响等各种技术手段,但是这种人工数据合成方法存在一个潜在问题:
假设有10000小时的清晰语音对话数据,1小时的汽车噪音数据,可以将这1小时的噪音数据回放10000次并合成到清晰对话中。
问题在于对人类来说可能这些噪音没有区别,但对机器来说最后的结果可能就是对着1小时的噪音数据过拟合,从而在真实test上产生很大的误差。
所以如果能以较低的成本获取10000小时不同车辆环境下的噪声数据,算法就很可能获得更好的表现。
再看一个例子:
在车辆识别领域,我们希望从图片中识别出具体的车辆。以上图片都是采用人工合成方法来获取的车辆图片。
还有人提出了在一个车辆驾驶模拟游戏中截图的方法,获取大量图片。
但是依旧存在一个问题就是,合成的车辆可能仅仅只有一些,而这些车型在所有的车辆中仅仅占据很小的一部分,所以算法就会对这些已经合成的车型过拟合。