छिपे हुए मार्कोव मॉडल थ्रेसहोल्ड


14

मैंने एमएफसीसी और छिपे हुए मार्कोव मॉडल का उपयोग करके ध्वनि पहचान के लिए अवधारणा प्रणाली का प्रमाण विकसित किया है। जब मैं ज्ञात ध्वनियों पर सिस्टम का परीक्षण करता हूं तो यह आशाजनक परिणाम देता है। हालांकि, सिस्टम, जब किसी अज्ञात ध्वनि को इनपुट किया जाता है, तो निकटतम मैच के साथ परिणाम देता है और स्कोर को अलग करने के लिए अलग नहीं है यह एक अज्ञात ध्वनि है जैसे:

मैंने भाषण के लिए 3 छिपे हुए मार्कोव मॉडल को प्रशिक्षित किया है, एक पानी के नल से निकलने वाले पानी के लिए और एक ने डेस्क पर दस्तक देने के लिए। फिर मैं उन्हें अनदेखी डेटा पर परीक्षण करता हूं और निम्नलिखित परिणाम प्राप्त करता हूं:

input: speech
HMM\knocking:  -1213.8911146444477
HMM\speech:  -617.8735676792728
HMM\watertap:  -1504.4735097322673

So highest score speech which is correct

input: watertap
HMM\knocking:  -3715.7246152783955
HMM\speech:  -4302.67960438553
HMM\watertap:  -1965.6149147201534

So highest score watertap which is correct

input: knocking
HMM\filler  -806.7248912250212
HMM\knocking:  -756.4428782636676
HMM\speech:  -1201.686687761133
HMM\watertap:  -3025.181144273698

So highest score knocking which is correct

input: unknown
HMM\knocking:  -4369.1702184688975
HMM\speech:  -5090.37122832872
HMM\watertap:  -7717.501505674925
Here the input is an unknown sound but it still returns the closest match as there is no system for thresholding/garbage filtering.

मुझे पता है कि कीवर्ड में एक OOV (शब्दावली से बाहर) ध्वनि को कचरा या भराव मॉडल का उपयोग करके फ़िल्टर किया जा सकता है, लेकिन यह कहता है कि यह अज्ञात शब्दों के एक समुच्चय सेट का उपयोग करके प्रशिक्षित किया जाता है जहां इसे मेरे सिस्टम पर लागू नहीं किया जा सकता है क्योंकि मैं डॉन सिस्टम रिकॉर्ड कर सकने वाली सभी ध्वनियों को नहीं जानता।

वाक् पहचान प्रणाली में एक समान समस्या कैसे हल की जाती है? और झूठी सकारात्मकता से बचने के लिए मैं अपनी समस्या को कैसे हल कर सकता हूं?

जवाबों:


5

बहुत अच्छा सवाल!

जैसा कि आप उल्लेख करते हैं, एचएमएम को आपको "मैं नहीं जानता" (चलो इसे ओओवी कहते हैं) उत्तर देने का एकमात्र तरीका यह है कि इसे एक विशेष राज्य दिया जाए क्योंकि यह हमेशा आपके मॉडल के तहत उच्चतम संभावना वाले राज्यों को आउटपुट करता है। इसलिए आपको यह सुनिश्चित करना होगा कि OOV में हर इनपुट के तहत उच्च संभावना है speech, जो नहीं है , watertapया है knocking

संक्षिप्त उत्तर यह है कि यह संभव नहीं है। क्योंकि HMM एक पूर्ण पैटर्न पहचानकर्ता नहीं है। यह केवल आपके मॉडल के तहत आउटपुट की संभावना की तुलना करता है, और संदर्भ में इसे प्रशिक्षित किया गया था

एक इनपुट कि हो सकता है के बारे में सोचो speechऔर knockingएक ही समय में। सबसे अधिक संभावना है कि एचएमएम इन दोनों राज्यों के बीच "संकोच" करेगा क्योंकि इस इनपुट में प्रत्येक की विशेषताएं हैं। अंत में यह उन में से एक का उत्पादन करेगा, लेकिन यह काफी संभावना नहीं है कि यह OOV का उत्पादन करेगा। कीवर्ड स्पॉटिंग के मामले में, मेरा अनुमान है कि आप चतुर इनपुट पा सकते हैं जो उनके एचएमएम को लगातार बेवकूफ बनाएंगे। हालांकि, लेखकों को शायद पता है कि किस इनपुट की उम्मीद है और उन्होंने अज्ञात शब्दों की अपनी परिमित सूची को चुना है ताकि ये ज़हरीले इनपुट असामान्य न हों।

मेरी सलाह है कि आप भी ऐसा ही करें। उन स्थितियों के बारे में सोचें जो आप HMM का उपयोग करेंगे और सबसे आम इनपुट पर एक OOV राज्य को प्रशिक्षित करेंगे जिसे आप समाप्त करना चाहते हैं। तुम भी कई OOV राज्यों होने के बारे में सोच सकते हैं।


2
लेकिन हावर्ड मान्यता के लिए एक हम्म आधारित थ्रेशोल्ड मॉडल के बारे में यहाँ कैसे बताया गया है: herin.kaist.ac.kr/Publication/PS/hklee_PAMI_i09611.pdf । वे एक थ्रेशोल्ड मॉडल बनाते हैं जो एक एर्गोडिक हम्म है जिसमें प्रत्येक एचएमएम के राज्य एक साथ संयुक्त होते हैं। "थ्रेशोल्ड मॉडल एक बेस-लाइन के रूप में कार्य करता है। एक उम्मीदवार का इशारा तब मिलता है जब एक विशिष्ट जेस्चर मॉडल थ्रेसहोल्ड से ऊपर उठता है" लेकिन मेरी समस्या यह है कि मैं जावा और जेएएमएम लाइब्रेरी का उपयोग कर रहा हूं और मुझे नहीं लगता कि इसमें इरोडिक का विकल्प है। हम्म।
राडेक

जैसा कि शीर्षक में कहा गया है, यह HMM- आधारित एल्गोरिथ्म है, इसलिए यह HMM नहीं है। यह मुझे लगता है कि एक शुद्ध एचएमएम आपकी आवश्यकताओं के अनुरूप नहीं है, और यह कि थ्रेशोल्ड-आधारित क्लासिफायर वास्तव में बेहतर अनुकूल है।
गुई ११

5

यह इशारा पहचान के क्षेत्र में कुछ सामान्य है। इसका उत्तर एक थ्रेशोल्ड मॉडल बनाना है जैसा कि कागज में वर्णित है ली और किम (1999)

यह भराव या कचरा मॉडल के रूप में एक ही भूमिका निभाता है, लेकिन जैसा कि आप कहते हैं, इसे अलग से प्रशिक्षित करने की आवश्यकता नहीं है। आप सभी स्व-संक्रमण राज्यों को अपने अन्य मॉडलों से जोड़कर और समान संभावनाओं के साथ संक्रमण को आरंभ करके, उन राज्यों को पूरी तरह से जोड़कर एक दहलीज मॉडल बना सकते हैं। कृपया कागज पर एक नज़र डालें कि यह वास्तव में कैसे किया जा सकता है।

यहां तक ​​कि अगर आपका पुस्तकालय एर्गोडिक मॉडल का समर्थन नहीं करता है, तो यह आपको मैन्युअल रूप से आवश्यक आकार का एक मॉडल बनाने और राज्यों को तदनुसार सेट करने से नहीं रोक सकता है। यदि आप वास्तव में इसके लिए एक पुस्तकालय चाहते हैं, तो थ्रेशोल्ड मॉडल के समर्थन सहित छिपे हुए मार्कोव मॉडल क्लासिफायर के कार्यान्वयन Acc Acc.NET फ्रेमवर्क में उपलब्ध हैं। , उदाहरण के लिए।

अस्वीकरण: मैं इस पुस्तकालय का लेखक हूं।


सही मैं मैन्युअल रूप से एक दहलीज मॉडल बना सकता हूं। तो चलो उदाहरण के लिए मैं दो hmm मॉडल का नाम देता हूं: sound1 और sound2। दोनों में 2 राज्य हैं। फिर मैं 4 राज्यों के साथ एक थ्रेसहोल्ड मॉडल बनाता हूं। प्रत्येक राज्य का एक ही प्रारंभिक मूल्य है जो 0.25 है। फिर मैंने सभी संभावित संक्रमणों के लिए एक समान वितरण निर्धारित किया ताकि सभी संभावित राज्य संक्रमण (0,0), (0,1), (1,0), (1,1), (1,2), (2,1), (2,2), आदि को 0.0625 का एक समान वितरण मिलता है। फिर थ्रेशोल्ड मॉडल के राज्य 1 और 2 के लिए मैंने साउंड 1 से राज्य 1 और 2 की ओएफडीएफ निर्धारित की और थ्रेसहोल्ड के 3 और 4 के लिए मैंने साउंड 2 से राज्य 1 और 2 की ओएफडीएफ निर्धारित की।
राडेक

क्या दृष्टिकोण ऊपर वर्णित सही है?
राडेक

1
बिल्कुल नहीं ... शायद मैं अपने विवरण पर थोड़ा ढीला था। दहलीज मॉडल के लिए आपके संक्रमण मैट्रिक्स के विकर्ण तत्व आपके अन्य मॉडलों से मूल आत्म-संक्रमण संभावनाएं प्राप्त करते हैं। एक राज्य से दूसरे राज्यों में परिवर्तन एक समान संभावनाओं के साथ शुरू होते हैं। मुझे पता है कि यह कोड को इंगित करने के लिए आलसी लग सकता है, लेकिन कभी-कभी कोड को सूत्रों की तुलना में समझना आसान होता है
सीज़र

वैसे, अगर आपने ली और किम द्वारा पेपर पढ़ा है और इसे अलग तरह से व्याख्या किया है, या मेरा कार्यान्वयन गलत है, तो कृपया मुझे बताएं।
सेसर

3

इसलिए मैंने क्या किया है: मैंने एक भराव मॉडल का अपना सरलीकृत संस्करण बनाया। वॉटरटैप साउंड, नॉकिंग साउंड और स्पीच साउंड का प्रतिनिधित्व करने वाला प्रत्येक हम्म एक अलग 6 स्टेट एचएमएम है, जो विभिन्न लंबाई 0.3 सेकंड से 10 सेकंड तक क्रमशः 30, 50, 90 ध्वनियों के प्रशिक्षण सेट से ध्वनियों द्वारा प्रशिक्षित किया जाता है। फिर मैंने एक फिलर मॉडल बनाया, जो एक 1 राजकीय हम्म है जिसमें ओड, थ्रीपी और स्पीच के लिए सभी प्रशिक्षण सेट ध्वनियां शामिल हैं। इसलिए यदि हमर मॉडल स्कोर फिलर के स्कोर की तुलना में दिए गए ध्वनि के लिए अधिक है - ध्वनि को मान्यता दी गई है अन्यथा यह एक अज्ञात ध्वनि है। मेरे पास वास्तव में बड़ा डेटा नहीं है, लेकिन मैंने झूठी सकारात्मक अस्वीकृति और अनदेखी ध्वनियों पर सच्ची सकारात्मक अस्वीकृति के लिए निम्न परीक्षण को गलत माना है।

true positives rejection
knocking 1/11 = 90% accuracy
watertap 1/9 = 89% accuracy
speech 0/14 = 100% accuracy


false positives rejection
Tested 7 unknown sounds
6/7 = 86% accuracy

इसलिए इस त्वरित परीक्षण से मैं यह निष्कर्ष निकाल सकता हूं कि यह दृष्टिकोण उचित परिणाम देता है, हालांकि मुझे एक अजीब लग रहा है कि यह पर्याप्त नहीं हो सकता है।


+1 यह बहुत दिलचस्प है। यदि आप पहले से ही इस काम के बारे में नहीं भूल गए हैं, तो क्या यह दृष्टिकोण अंत में काम करता है? क्या यह 'भराव / अन्य' मॉडल के रूप में पर्याप्त था? यदि नहीं, तो क्या आपने अंततः कुछ और लागू किया?
ज़ुर्बर्ब 24'15
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.