paint-brush
सामान्य अंग्रेजी में स्वचालित वाक् पहचान के लिए wav2vec2द्वारा@pictureinthenoise
1,921 रीडिंग
1,921 रीडिंग

सामान्य अंग्रेजी में स्वचालित वाक् पहचान के लिए wav2vec2

द्वारा Picture in the Noise7m2024/03/13
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

wav2vec2 स्वचालित वाक् पहचान (एएसआर) सिस्टम के डिजाइन के लिए एक अग्रणी मशीन-लर्निंग मॉडल है। यह तीन सामान्य घटकों से बना है: एक फ़ीचर एनकोडर, एक क्वांटाइज़ेशन मॉड्यूल और एक ट्रांसफार्मर। बुनियादी भाषण इकाइयों को सीखने के लिए मॉडल को केवल-ऑडियो डेटा पर पूर्व-प्रशिक्षित किया गया है। फिर मॉडल को लेबल किए गए डेटा पर परिष्कृत किया जाता है जहां भाषण इकाइयों को पाठ में मैप किया जाता है।
featured image - सामान्य अंग्रेजी में स्वचालित वाक् पहचान के लिए wav2vec2
Picture in the Noise HackerNoon profile picture

परिचय

यदि आप स्वचालित वाक् पहचान ("एएसआर") के क्षेत्र में अपने पैर की उंगलियों को डुबो रहे हैं, तो एक अच्छा मौका है कि आप मेटा एआई रिसर्च से wav2vec 2.0 ("wav2vec2") तक पहुंच गए हैं। कुछ उत्कृष्ट तकनीकी संसाधन हैं, जिनमें से मूल wav2vec2 पेपर ही है, जो बताता है कि मशीन लर्निंग ("एमएल") मॉडल कैसे काम करता है। साथ ही, मेटा एआई रिसर्च टीम के पास अपनी वेबसाइट पर wav2vec2 का अच्छा अवलोकन है।


मैं आपको इसे देखने के लिए प्रोत्साहित करूंगा क्योंकि यह अकादमिक पेपर का एक अच्छा सारांश प्रस्तुत करता है और चूंकि इस लेख में wav2vec2 मॉडल चित्र उस पृष्ठ से लिए गए हैं। पूर्ववर्ती को ध्यान में रखते हुए, ऐसा प्रतीत नहीं होता है कि ऐसे बहुत से लेख हैं जो wav2vec2 को "सादी अंग्रेजी" में समझाते हैं। मैं इस लेख के साथ बस यही करने का प्रयास करता हूँ।


यह आलेख मानता है कि आप कुछ बुनियादी एमएल अवधारणाओं को समझते हैं और आप यह समझने में रुचि रखते हैं कि wav2vec2 उच्च स्तर पर कैसे काम करता है, बिना "खरपतवार" के।


तदनुसार, बाद के अनुभाग उपयुक्त होने पर सरल स्पष्टीकरण और उपयोगी उपमाओं के पक्ष में बहुत सारे तकनीकी विवरणों से बचने का प्रयास करते हैं।


जैसा कि कहा जा रहा है, यह जानना उपयोगी है कि wav2vec2 में 3 प्रमुख घटक शामिल हैं: फ़ीचर एनकोडर , क्वांटाइज़ेशन मॉड्यूल और ट्रांसफार्मर


प्रत्येक पर कुछ बुनियादी विचारों के साथ चर्चा शुरू करते हुए अधिक जटिल (लेकिन फिर भी सुपाच्य) बिंदुओं पर चर्चा की जाएगी। ध्यान रखें कि wav2vec2 का उपयोग ASR से परे अन्य उद्देश्यों के लिए किया जा सकता है।


ऐसा कहा जा रहा है कि, यहां जो आगे बताया गया है वह एएसआर-विशिष्ट संदर्भ में मॉडल पर चर्चा करता है।

एक सौम्य अवलोकन

जिस समय इसे 2020 में पेश किया गया था, उस समय wav2vec2 ने ASR सिस्टम के निर्माण के लिए एक नवीन रूपरेखा की पेशकश की थी। इसमें ऐसा क्या खास था? Wav2vec2 से पहले, ASR सिस्टम को आम तौर पर लेबल किए गए डेटा का उपयोग करके प्रशिक्षित किया जाता था। अर्थात्, पूर्व मॉडलों को भाषण ऑडियो के कई उदाहरणों पर प्रशिक्षित किया गया था जहां प्रत्येक उदाहरण में एक संबद्ध प्रतिलेखन था। विचार को समझाने के लिए, इस तरंगरूप पर विचार करें:


नमूना तरंग


केवल देखने से यह पूरी तरह से स्पष्ट नहीं है कि यह तरंग रूप क्या दर्शाता है। लेकिन, अगर आपको बताया जाए कि इस ऑडियो को बनाने वाले वक्ता ने "हैलो वर्ल्ड" शब्द कहा है, तो आप शायद कुछ बुद्धिमान अनुमान लगा सकते हैं कि तरंग के कौन से हिस्से उस पाठ से मेल खाते हैं जो इसका प्रतिनिधित्व करता है।


आप अनुमान लगा सकते हैं - सही - कि तरंगरूप का पहला खंड "हैलो" शब्द से जुड़ा है। इसी तरह, एएसआर मॉडल सीख सकते हैं कि बोले गए ऑडियो तरंग खंडों और लिखित पाठ के बीच संबंध कैसे बनाया जाए।


हालाँकि, जैसा कि मूल wav2vec2 जांचकर्ताओं ने अपने पेपर में बताया है, "[कई] वाक् पहचान प्रणालियों को स्वीकार्य प्रदर्शन तक पहुंचने के लिए हजारों घंटों के लिखित भाषण की आवश्यकता होती है जो दुनिया भर में बोली जाने वाली लगभग 7,000 भाषाओं में से अधिकांश के लिए उपलब्ध नहीं है।"


इसलिए, wav2vec2 जांचकर्ताओं ने एक नए मॉडल का आविष्कार किया जहां सिस्टम को प्रशिक्षित करने के लिए "हजारों घंटे का लिखित भाषण" होना आवश्यक नहीं है। वे एक उपयोगी मानव सादृश्य का संदर्भ देते हैं: बच्चे किसी शब्द को सुनकर और फिर तुरंत उस शब्द का पाठ्य प्रस्तुतिकरण देखकर बोलना नहीं सीखते हैं।


वे अपने परिवेश में लोगों (जैसे, उनके माता-पिता, भाई-बहन, आदि) को सुनकर भाषण का प्रतिनिधित्व सीखते हैं। wav2vec2 समान तरीके से सीखता है: पहले सुनकर


निःसंदेह, यह कैसे हासिल किया जाता है यह इस लेख में चर्चा का विषय है। ध्यान रखें कि wav2vec2 को मोटे तौर पर 2 चीजों को पूरा करने के लिए डिज़ाइन किया गया है:


  1. जानें कि भाषण इकाइयों को बिना लेबल वाले ऑडियो के नमूने क्या दिए जाने चाहिए।


  2. सही भाषण इकाइयों की भविष्यवाणी करें।


इस बिंदु पर, आपको पूरी तरह से यह समझने की आवश्यकता नहीं है कि इन बिंदुओं का क्या मतलब है। उन्हें नीचे समझाया जाएगा। अभी उन्हें अपने सिर के पीछे रखें।

भाषण इकाइयाँ सीखना

कल्पना कीजिए कि आपके पास ऑडियो नमूनों का एक विशाल डेटासेट है - मान लीजिए कुछ संख्या में अंग्रेजी बोलने वालों के लिए। ध्वन्यात्मकता में औपचारिक पृष्ठभूमि के बिना भी, आप सहज रूप से समझ सकते हैं कि अंग्रेजी भाषा को मूल ध्वनियों के एक सेट का उपयोग करके मुखर किया जाता है जो शब्द, वाक्य आदि बनाने के लिए "एक साथ बंधे" होते हैं।


निःसंदेह, यदि आप अंग्रेजी वक्ता हैं, तो आप इस तरह से बोलने के बारे में नहीं सोचते हैं और आप जो भी कहना चाहते हैं उसका उच्चारण कमोबेश स्वचालित होता है! लेकिन, मुद्दा यह है कि बोली जाने वाली अंग्रेजी भाषा - और वास्तव में कोई भी बोली जाने वाली भाषा - को अधिक बुनियादी, अलग ध्वनियों में विघटित किया जा सकता है।


यदि हम किसी तरह इन बुनियादी ध्वनियों को "निकालने" के लिए एक एएसआर मॉडल को तैयार कर सकें, तो यह हमें उनका उपयोग करके बोली जाने वाली भाषा के किसी भी ऑडियो नमूने को एनकोड करने की अनुमति देगा। ऑडियो डेटा पर पूर्व प्रशिक्षण द्वारा wav2vec2 यही करता है।


इस संदर्भ में प्रीट्रेनिंग का मतलब है कि मॉडल के प्रशिक्षण का पहला भाग स्वयं-पर्यवेक्षित है क्योंकि यह स्पष्ट रूप से "बताया" नहीं जाता है कि ऑडियो डेटा के दिए गए सेट के लिए मूल ध्वनियां क्या होनी चाहिए।


थोड़ा और नीचे जाने पर, सिस्टम को बड़ी संख्या में केवल-ऑडियो उदाहरण "फ़ीड" किए जाते हैं और, उन उदाहरणों से, बुनियादी भाषण इकाइयों का एक सेट सीखने में सक्षम होता है।


इस प्रकार, प्रत्येक ऑडियो उदाहरण प्रभावी रूप से उन भाषण इकाइयों के कुछ संयोजन से बना है; उसी तरह जैसे आप बोले गए ऑडियो नमूने को स्वरों के अनुक्रम में तोड़ सकते हैं।


महत्वपूर्ण रूप से, बुनियादी भाषण इकाइयाँ जो wav2vec2 सीखती हैं, स्वरों से छोटी होती हैं और लंबाई में 25 मिलीसेकंड होती हैं।


इस बिंदु पर जो प्रश्न उठता है वह यह है: wav2vec2 इन भाषण इकाइयों को केवल ऑडियो से कैसे सीखता है?


वाक् इकाइयों को सीखने की प्रक्रिया फ़ीचर एनकोडर से शुरू होती है। wav2vec2 "एक मल्टी-लेयर कन्वेन्शनल न्यूरल नेटवर्क के माध्यम से स्पीच ऑडियो को एनकोड करता है।"


कन्वेन्शनल न्यूरल नेटवर्क, या सीएनएन, ऐसे मॉडल हैं जो हमें किसी दिए गए इनपुट से सुविधाओं को सीखने की अनुमति देते हैं, उन सुविधाओं को पहले से स्पष्ट रूप से पहचाने बिना।


सीएनएन की प्रत्येक परत को एक इनपुट से सुविधाओं को निकालने के रूप में माना जा सकता है, जैसे-जैसे आप उच्च परतों की ओर बढ़ते हैं, वे विशेषताएं और अधिक जटिल होती जाती हैं।


ऑडियो डेटा के मामले में, आप सीएनएन में पहली परत की कल्पना कर सकते हैं जो ऑडियो जानकारी की विंडो की जांच करती है और निम्न-स्तरीय सुविधाओं, जैसे कि आदिम ध्वनियों को निकालती है।


उसी सीएनएन में एक बाद की परत, पिछली परतों में निकाली गई निचले-स्तरीय सुविधाओं का लाभ उठाते हुए, उच्च-स्तरीय सुविधाओं को एन्कोड करेगी, जैसे ध्वनियाँ अनुमानित ध्वनियाँ।


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


wav2vec2 फ़ीचर एनकोडर


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


wav2vec2 परिमाणीकरण मॉड्यूल


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


तर्क हमें बताता है कि एएसआर सिस्टम को डिजाइन करते समय एक ही भाषा के मुकाबले कई भाषाओं का प्रतिनिधित्व करने वाली भाषण इकाइयों को कैप्चर करना अधिक उपयोगी होने की संभावना है, जिसका उपयोग कई भाषाओं में किया जा सकता है।


उस अंत तक, बहुभाषी ऑडियो नमूनों के चयन के साथ wav2vec2 का पूर्व प्रशिक्षण मॉडल को भाषण इकाइयों का उत्पादन करने में सक्षम बनाता है जो वास्तव में कई भाषाओं को कैप्चर करते हैं।


wav2vec2 बहुभाषी परिमाणित अव्यक्त भाषण प्रतिनिधित्व


Wav2vec2 जांचकर्ताओं ने इस दृष्टिकोण के पीछे के महत्व को नोट किया क्योंकि "कुछ भाषाओं के लिए, यहां तक कि [ऑडियो] डेटा भी सीमित है।" उनके मूल निष्कर्षों ने निर्धारित किया कि "कुछ इकाइयों का उपयोग केवल एक विशेष भाषा के लिए किया जाता है, जबकि अन्य का उपयोग समान भाषाओं में किया जाता है और कभी-कभी उन भाषाओं में भी किया जाता है जो बहुत समान नहीं हैं।"

भाषण इकाइयों की भविष्यवाणी करना

भाषण इकाइयों की सूची बोली जाने वाली भाषा के ऑडियो नमूनों को एनकोड करने में सक्षम होने की दिशा में पहला कदम है। लेकिन, हम वास्तव में जो हासिल करना चाहते हैं वह wav2vec2 को प्रशिक्षित करना है कि ये इकाइयाँ एक दूसरे से कैसे संबंधित हैं।


दूसरे शब्दों में, हम यह समझना चाहते हैं कि कौन सी भाषण इकाइयाँ एक दूसरे के समान संदर्भ में घटित होने की संभावना है। wav2vec2 ट्रांसफार्मर परत के माध्यम से इस कार्य को निपटाता है।


wav2vec2 ट्रांसफार्मर


ट्रांसफार्मर अनिवार्य रूप से wav2vec2 को सांख्यिकीय अर्थ में यह सीखने की अनुमति देता है कि भाषण इकाइयों को विभिन्न ऑडियो उदाहरणों के बीच कैसे वितरित किया जाता है। यह समझ ऑडियो नमूनों की एन्कोडिंग की सुविधा प्रदान करती है जिसे मॉडल प्रीट्रेनिंग के बाद "देखेगा"।

फ़ाइन ट्यूनिंग

अंततः, एक एएसआर प्रणाली को ऑडियो के किसी दिए गए अनुक्रम के लिए एक पाठ प्रतिलेखन उत्पन्न करने में सक्षम होने की आवश्यकता होती है जिसे उसने पहले "देखा" नहीं है। ऊपर वर्णित चरणों के माध्यम से पूर्व प्रशिक्षण के बाद, wav2vec2 को इस उद्देश्य के लिए ठीक किया गया है। इस बार मॉडल में स्पष्ट रूप से ऑडियो नमूनों और उनसे जुड़े ट्रांसक्रिप्शन के उदाहरण दिखाए गए हैं।


इस बिंदु पर, मॉडल पूर्व-प्रशिक्षण के दौरान सीखी गई बातों का उपयोग भाषण इकाइयों के अनुक्रमों के रूप में ऑडियो नमूनों को एन्कोड करने और प्रतिलेखन का प्रतिनिधित्व करने वाली शब्दावली में व्यक्तिगत अक्षरों में भाषण इकाइयों के उन अनुक्रमों को मैप करने में सक्षम है (यानी अक्षर "ए" से " z" अंग्रेजी के मामले में)।


फ़ाइनट्यूनिंग के दौरान सीखना wav2vec2 मॉडल के प्रशिक्षण को पूरा करता है और इसे नए ऑडियो उदाहरणों के लिए पाठ की भविष्यवाणी करने की अनुमति देता है जो फ़ाइनट्यूनिंग के दौरान इसके प्रशिक्षण का हिस्सा नहीं थे।

निष्कर्ष

बेशक, wav2vec2 की निम्न-स्तरीय यांत्रिकी ऊपर प्रस्तुत की तुलना में कहीं अधिक जटिल है। हालाँकि, दोहराने के लिए, इस लेख का विचार आपको एक सरल, वैचारिक समझ प्रदान करना है कि मॉडल कैसे काम करता है और इसे कैसे प्रशिक्षित किया जाता है।


wav2vec2 ASR सिस्टम के निर्माण के लिए एक बहुत शक्तिशाली ML फ्रेमवर्क है और 2021 के अंत में पेश किए गए इसके XLS-R संस्करण को 128 भाषाओं में प्रशिक्षित किया गया था, इस प्रकार यह कई भाषाओं में ASR मॉडल डिजाइन करने के लिए एक बेहतर मंच प्रदान करता है।


जैसा कि परिचय में बताया गया है, आपको और अधिक जानने में मदद के लिए कई उत्कृष्ट तकनीकी संसाधन उपलब्ध हैं। विशेष रूप से, आपको हगिंग फेस द्वारा प्रदान की गई चीज़ें विशेष रूप से उपयोगी लग सकती हैं।