1

我在建立聲音識別模型來檢測「叮咚」聲音。識別「叮咚」聲音

有兩個程序,培訓和測試。

訓練數據是由設備產生的「定洞」聲音。

該模型可以檢測到由同一設備生成的「叮洞」聲音,效果很好。

但是,當第二個設備產生新的「定洞」聲音時,性能會變差。

我知道這個問題的可能解決方案:記錄第二個設備生成的「叮咚聲」並將其添加到訓練數據。

但是,總是有新的裝置,新的「叮咚」聲音。

我該怎麼辦?

回答

2

您正面臨過度配合問題。過度擬合意味着您的模型已經過訓練,可以針對訓練數據集的特定情況進行優化。爲了克服這個問題,你應該在許多設備上訓練你的模型,然後在它們之間進行插值。插值可以通過您正在使用的模型來保證。

但是,以前的信息是如此普遍。就你而言,你可能會發現更簡單的方法來做到這一點。一切都取決於你如何定義「叮咚」。如果你能找到一個「叮咚」的模範,那就太好了。這個簽名應該對所有不需要的特徵都是不變的。

例如,是否應該接受「Diiiiing-doooooong」?如果是的話,你應該找到一個長度不變的簽名。 「叮洞」頻率是否可以接受?如果是的話,你應該找到一個簽名,把頻率作爲對方的分數,而不是絕對值,等等......

順便說一句,我相信你可以谷歌這個並找到許多關於你的問題的文件,但它可能關於「當洞」而不是「叮咚」,但你仍然可以從中受益;)

1

所以你想從「其他聲音」認識到「叮咚聲音」。

一種方法可能是訓練數據以將「其他聲音」識別爲其他類。因此,新的叮噹可能比「其他人的聲音」更容易與「叮咚聲」相關聯。

這種方法的一個缺點可能是「虛警」數量的增加,但這個任務總是導致精度和召回之間的折衷。