我正在构建一个声音识别模型来检测”叮咚”声音。
这个过程包括两个步骤:训练和测试。
训练数据是设备生成的”叮咚”声音。
模型可以检测到同一设备生成的”叮咚”声音,效果很好。
但是,当有第二个设备生成新的”叮咚”声音时,性能会变差。
我知道解决这个问题的可能方法:记录第二个设备生成的”叮咚”声音并将其添加到训练数据中。
但总是会有新的设备,新的”叮咚”声音。
我该怎么办?
回答:
你面临的是过拟合问题。过拟合意味着你的模型已经训练得在特定的案例(即训练数据集)上表现最佳。为了克服这个问题,你应该在多种设备上训练你的模型,然后在它们之间进行插值。插值可以由你使用的模型保证。
然而,以上信息过于笼统。在你的情况下,可能有更简单的方法来解决。这完全取决于你如何定义”叮咚”。如果你能找到”叮咚”的特征签名,那就太好了。这个签名应该对所有不希望的特征保持不变。
例如,”Diiiiing-doooooong”应该被接受吗?如果是,你应该找到一个对音频片段长度不变的签名。更高频率的”ding-dong”可以接受吗?如果可以,你应该找到一个将频率视为彼此的分数而不是绝对值的签名,依此类推…
顺便说一句,我相信你可以通过谷歌搜索找到许多关于你问题的论文,但可能是关于”dang-dong”而不是”ding-dong”,但你仍然可以从中受益 😉