paint-brush
প্লেইন ইংরেজিতে স্বয়ংক্রিয় বক্তৃতা স্বীকৃতির জন্য wav2vec2দ্বারা@pictureinthenoise
1,907 পড়া
1,907 পড়া

প্লেইন ইংরেজিতে স্বয়ংক্রিয় বক্তৃতা স্বীকৃতির জন্য wav2vec2

দ্বারা Picture in the Noise7m2024/03/13
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

wav2vec2 স্বয়ংক্রিয় স্পিচ রিকগনিশন (ASR) সিস্টেমের ডিজাইনের জন্য একটি নেতৃস্থানীয় মেশিন-লার্নিং মডেল। এটি তিনটি সাধারণ উপাদান নিয়ে গঠিত: একটি বৈশিষ্ট্য এনকোডার, একটি কোয়ান্টাইজেশন মডিউল এবং একটি ট্রান্সফরমার। মৌলিক বক্তৃতা ইউনিট শেখার জন্য মডেলটিকে শুধুমাত্র অডিও ডেটাতে প্রশিক্ষিত করা হয়েছে। মডেলটি তারপর লেবেলযুক্ত ডেটাতে ফাইনটিউন করা হয় যেখানে স্পিচ ইউনিটগুলি পাঠ্যে ম্যাপ করা হয়।
featured image - প্লেইন ইংরেজিতে স্বয়ংক্রিয় বক্তৃতা স্বীকৃতির জন্য wav2vec2
Picture in the Noise HackerNoon profile picture

ভূমিকা

আপনি যদি স্বয়ংক্রিয় স্পিচ রিকগনিশন ("ASR") ডোমেনে আপনার পায়ের আঙ্গুল ডুবিয়ে থাকেন, তাহলে মেটা এআই রিসার্চ থেকে আপনি wav2vec 2.0 ("wav2vec2") জুড়ে আসার একটি ভাল সুযোগ রয়েছে৷ কিছু চমৎকার প্রযুক্তিগত সংস্থান রয়েছে, যার মধ্যে মূল wav2vec2 কাগজটিই নয়, যা মেশিন লার্নিং ("ML") মডেল কীভাবে কাজ করে তা বর্ণনা করে। এছাড়াও, মেটা এআই রিসার্চ টিমের তাদের ওয়েবসাইটে wav2vec2 এর একটি চমৎকার ওভারভিউ রয়েছে।


আমি আপনাকে এটি দেখে নিতে উত্সাহিত করব কারণ এটি একাডেমিক পেপারের একটি সুন্দর সারাংশ সরবরাহ করে এবং যেহেতু এই নিবন্ধে wav2vec2 মডেলের চিত্রগুলি সেই পৃষ্ঠা থেকে নেওয়া হয়েছে৷ পূর্বের কথা মাথায় রেখে, "সাধারণ ইংরেজিতে" wav2vec2 ব্যাখ্যা করে এমন অনেক লেখা আছে বলে মনে হয় না। আমি এই নিবন্ধটি দিয়ে এটি করার চেষ্টা করি।


এই নিবন্ধটি অনুমান করে যে আপনি কিছু মৌলিক ML ধারণাগুলি বোঝেন এবং আপনি "আগাছার মধ্যে" খুব গভীরে না গিয়ে কীভাবে wav2vec2 উচ্চ স্তরে কাজ করে তা বুঝতে আগ্রহী।


তদনুসারে, পরবর্তী বিভাগগুলি যখন উপযুক্ত হয় তখন সহজ ব্যাখ্যা এবং দরকারী উপমাগুলির পক্ষে প্রচুর প্রযুক্তিগত বিবরণ এড়াতে চেষ্টা করে।


বলা হচ্ছে, wav2vec2টি 3টি প্রধান উপাদান নিয়ে গঠিত: ফিচার এনকোডার , কোয়ান্টাইজেশন মডিউল এবং ট্রান্সফরমার


আরও জটিল (কিন্তু এখনও হজমযোগ্য) পয়েন্টগুলি তৈরি করার সময় কিছু মৌলিক ধারণা দিয়ে আলোচনা শুরু করার সময় প্রতিটি নিয়ে আলোচনা করা হবে। মনে রাখবেন wav2vec2 ASR এর বাইরে অন্যান্য উদ্দেশ্যে ব্যবহার করা যেতে পারে।


বলা হচ্ছে, এখানে যা অনুসরণ করা হয়েছে তা একটি ASR-নির্দিষ্ট প্রসঙ্গে মডেলটিকে আলোচনা করে।

একটি মৃদু ওভারভিউ

2020 সালে এটি চালু হওয়ার সময়, wav2vec2 ASR সিস্টেম তৈরির জন্য একটি অভিনব কাঠামো অফার করেছিল। এটা সম্পর্কে এত বিশেষ কি ছিল? wav2vec2 এর আগে, ASR সিস্টেমগুলি সাধারণত লেবেলযুক্ত ডেটা ব্যবহার করে প্রশিক্ষিত হত। অর্থাৎ, পূর্ববর্তী মডেলগুলিকে স্পিচ অডিওর অনেক উদাহরণে প্রশিক্ষিত করা হয়েছিল যেখানে প্রতিটি উদাহরণের একটি সম্পর্কিত প্রতিলিপি ছিল। ধারণা ব্যাখ্যা করতে, এই তরঙ্গরূপ বিবেচনা করুন:


নমুনা তরঙ্গরূপ


এটি সম্পূর্ণরূপে পরিষ্কার নয় যে এই তরঙ্গরূপটি কেবল এটির দিকে তাকানোর প্রতিনিধিত্ব করে। কিন্তু, যদি আপনাকে বলা হয় যে এই অডিওটি তৈরি করা বক্তা "হ্যালো ওয়ার্ল্ড" শব্দটি বলেছেন, আপনি সম্ভবত কিছু বুদ্ধিমান অনুমান করতে পারেন যে তরঙ্গরূপের কোন অংশগুলি এটির প্রতিনিধিত্বকারী পাঠ্যের সাথে সামঞ্জস্যপূর্ণ।


আপনি অনুমান করতে পারেন - সঠিকভাবে - যে তরঙ্গরূপের প্রথম অংশটি "হ্যালো" শব্দের সাথে যুক্ত। একইভাবে, ASR মডেলগুলি কীভাবে কথ্য অডিও ওয়েভফর্ম সেগমেন্ট এবং লিখিত পাঠ্যের মধ্যে সংযোগ তৈরি করতে হয় তা শিখতে পারে।


যাইহোক, মূল wav2vec2 তদন্তকারীরা তাদের গবেষণাপত্রে উল্লেখ করেছেন, "[অনেক] বক্তৃতা শনাক্তকরণ সিস্টেমের গ্রহণযোগ্য কার্যক্ষমতা পৌঁছানোর জন্য হাজার হাজার ঘন্টা প্রতিলিপিকৃত বক্তৃতা প্রয়োজন যা বিশ্বব্যাপী কথিত প্রায় 7,000 ভাষার বিশাল সংখ্যাগরিষ্ঠের জন্য উপলব্ধ নয়।"


সুতরাং, wav2vec2 তদন্তকারীরা একটি নতুন মডেল উদ্ভাবন করেছে যেখানে সিস্টেমটি প্রশিক্ষণের জন্য "হাজার ঘন্টার প্রতিলিপিকৃত বক্তৃতা" থাকা প্রয়োজন নেই। তারা একটি দরকারী মানব উপমা উল্লেখ করে: শিশুরা একটি শব্দ শুনে কথা বলতে শেখে না , এবং তারপরে সেই শব্দের একটি পাঠ্য উপস্থাপনা দেখে।


তারা তাদের পরিবেশের লোকদের (যেমন, তাদের পিতামাতা, ভাইবোন, ইত্যাদি) শুনে বক্তৃতার উপস্থাপনা শিখে। wav2vec2 একটি সাদৃশ্যপূর্ণ উপায়ে শেখে: প্রথমে শুনে


অবশ্যই, এটি কীভাবে অর্জন করা হয় তা এই নিবন্ধে আলোচনার বিষয়। মনে রাখবেন wav2vec2 বিস্তৃতভাবে 2টি জিনিস সম্পন্ন করার জন্য ডিজাইন করা হয়েছে:


  1. লেবেলবিহীন অডিওর নমুনা স্পিচ ইউনিটগুলিকে কী দেওয়া উচিত তা জানুন।


  2. সঠিক বক্তৃতা ইউনিট পূর্বাভাস.


এই মুহুর্তে, আপনাকে এই পয়েন্টগুলি দ্বারা কী বোঝানো হয়েছে তা পুরোপুরি বোঝার দরকার নেই। তারা নীচে ব্যাখ্যা করা হবে. আপাতত এগুলি আপনার মাথার পিছনে রাখুন।

শেখার বক্তৃতা ইউনিট

কল্পনা করুন আপনার কাছে অডিও নমুনার বিশাল ডেটাসেট আছে - কিছু সংখ্যক ইংরেজি ভাষাভাষীর জন্য বলুন। এমনকি ধ্বনিতত্ত্বের একটি আনুষ্ঠানিক পটভূমি ছাড়াও, আপনি হয়তো স্বজ্ঞাতভাবে বুঝতে পারেন যে ইংরেজি ভাষা একটি মৌলিক শব্দের সেট ব্যবহার করে কণ্ঠস্বর করা হয় যা শব্দ, বাক্য ইত্যাদি গঠনের জন্য "একত্রে স্ট্রং" হয়।


অবশ্যই, আপনি যদি একজন ইংরেজি স্পিকার হন, আপনি এইভাবে কথা বলার কথা ভাবেন না এবং আপনি যা বলতে চান তার কণ্ঠস্বর কমবেশি স্বয়ংক্রিয়! কিন্তু, মোদ্দা কথা হল কথ্য ইংরেজি ভাষা - এবং সত্যিই যে কোনও কথ্য ভাষা - আরও মৌলিক, বিচ্ছিন্ন শব্দে পচে যেতে পারে।


যদি আমরা এই মৌলিক শব্দগুলিকে "এক্সট্র্যাক্ট" করার জন্য একটি ASR মডেলকে কোনোভাবে প্রশ্রয় দিতে পারি, তাহলে এটি আমাদের কথ্য ভাষার যেকোনো অডিও নমুনা ব্যবহার করে এনকোড করার অনুমতি দেবে। এটি wav2vec2 অডিও ডেটার উপর প্রশিক্ষণের মাধ্যমে করে।


এই প্রেক্ষাপটে প্রাক-প্রশিক্ষণের অর্থ হল মডেলের প্রশিক্ষণের প্রথম অংশটি স্ব-তত্ত্বাবধানে পরিচালিত হয় কারণ এটি স্পষ্টভাবে বলা হয়নি যে অডিও ডেটার একটি নির্দিষ্ট সেটের জন্য মৌলিক শব্দগুলি কী হওয়া উচিত।


আরও কিছুটা নিচে নেমে গেলে, সিস্টেমটিকে প্রচুর সংখ্যক অডিও-কেবল উদাহরণ "ফেড" করা হয় এবং সেই উদাহরণগুলি থেকে, মৌলিক বক্তৃতা ইউনিটগুলির একটি সেট শিখতে সক্ষম হয়৷


এইভাবে, প্রতিটি অডিও উদাহরণ কার্যকরভাবে সেই স্পিচ ইউনিটগুলির কিছু সংমিশ্রণে গঠিত হয়; একইভাবে আপনি একটি কথ্য অডিও নমুনাকে ধ্বনিগুলির একটি অনুক্রমে ভাঙতে পারেন।


গুরুত্বপূর্ণভাবে, wav2vec2 যে মৌলিক বক্তৃতা ইউনিটগুলি শিখে তা ধ্বনিগুলির চেয়ে ছোট এবং দৈর্ঘ্যে 25 মিলিসেকেন্ড।


এই মুহুর্তে যে প্রশ্নটি উঠছে তা হল: কিভাবে wav2vec2 একা অডিও থেকে এই স্পিচ ইউনিটগুলি শিখবে?


স্পিচ ইউনিট শেখার প্রক্রিয়া ফিচার এনকোডার দিয়ে শুরু হয়। wav2vec2 "একটি মাল্টি-লেয়ার কনভোলিউশনাল নিউরাল নেটওয়ার্কের মাধ্যমে স্পিচ অডিও এনকোড করে।"


কনভোল্যুশনাল নিউরাল নেটওয়ার্ক, বা সিএনএন, এমন মডেল যা আমাদেরকে একটি প্রদত্ত ইনপুট থেকে বৈশিষ্ট্যগুলি আগে থেকে স্পষ্টভাবে চিহ্নিত করা ছাড়াই শিখতে দেয়।


একটি CNN-এর প্রতিটি স্তরকে একটি ইনপুট থেকে বৈশিষ্ট্যগুলি নিষ্কাশন হিসাবে বিবেচনা করা যেতে পারে, আপনি উচ্চ স্তরগুলিতে যাওয়ার সাথে সাথে সেই বৈশিষ্ট্যগুলি আরও জটিল হয়ে উঠছে।


অডিও ডেটার ক্ষেত্রে, আপনি কল্পনা করতে পারেন যে CNN-এর প্রথম স্তরটি অডিও তথ্যের উইন্ডো পরীক্ষা করে এবং নিম্ন-স্তরের বৈশিষ্ট্য যেমন আদিম শব্দগুলি বের করে।


একই CNN-এর একটি পরবর্তী স্তর, পূর্ববর্তী স্তরগুলিতে আহরিত নিম্ন-স্তরের বৈশিষ্ট্যগুলিকে ব্যবহার করে, উচ্চ-স্তরের বৈশিষ্ট্যগুলিকে এনকোড করবে, যেমন আনুমানিক ধ্বনিগুলির শব্দ।


এই ধারণা অনুসরণ করে, wav2vec2 ফিচার এনকোডারে প্রতিটি অডিও উদাহরণের টাইম স্লাইস পাস করে এবং প্রতিটি স্লাইসের একটি সুপ্ত উপস্থাপনা তৈরি করে "লেবেলবিহীন অডিওর নমুনা স্পিচ ইউনিটগুলিকে কী দেওয়া উচিত তা শিখতে" শুরু করতে পারে।


wav2vec2 বৈশিষ্ট্য এনকোডার


যাইহোক, সুপ্ত উপস্থাপনা সংগ্রহ বিচ্ছিন্ন বক্তৃতা ইউনিট প্রতিনিধিত্ব করে না। এই উপস্থাপনা কোনো না কোনোভাবে discretized করা আবশ্যক. এটি একটি কোয়ান্টাইজেশন মডিউলে বৈশিষ্ট্য এনকোডারের আউটপুট পাস করার মাধ্যমে সম্পন্ন করা হয়।


wav2vec2 কোয়ান্টাইজেশন মডিউল


কার্যকরীভাবে, কোয়ান্টাইজেশন মডিউল বৈশিষ্ট্য এনকোডার দ্বারা উত্পন্ন বিভিন্ন অডিও উপস্থাপনা গ্রহণ করে এবং সেগুলিকে স্পিচ ইউনিটের একটি সীমিত সেটে হ্রাস করে। এই মুহুর্তে জিজ্ঞাসা করা সার্থক যে wav2vec2 একটি একক ভাষা বা বিভিন্ন ভাষার উপর প্রশিক্ষিত হওয়া উচিত কিনা।


লজিক আমাদের বলে যে একক ভাষা বনাম একাধিক ভাষার প্রতিনিধিত্বকারী স্পিচ ইউনিটগুলি ক্যাপচার করা ASR সিস্টেম ডিজাইন করার সময় আরও কার্যকর হতে পারে যা অনেকগুলি ভাষায় ব্যবহার করা যেতে পারে।


সেই লক্ষ্যে, বহুভাষিক অডিও নমুনাগুলির একটি নির্বাচনের সাথে wav2vec2-এর আগে থেকে প্রশিক্ষণ দেওয়া মডেলটিকে স্পিচ ইউনিট তৈরি করতে সক্ষম করে যা বাস্তবে একাধিক ভাষা ক্যাপচার করে।


wav2vec2 বহুভাষিক কোয়ান্টাইজড সুপ্ত বক্তৃতা উপস্থাপনা


wav2vec2 তদন্তকারীরা এই পদ্ধতির পিছনে মূল্য উল্লেখ করেছেন যেহেতু "কিছু ভাষার জন্য, এমনকি [অডিও] ডেটা সীমিত।" তাদের মূল অনুসন্ধানগুলি নির্ধারণ করে যে "কিছু ইউনিট শুধুমাত্র একটি নির্দিষ্ট ভাষার জন্য ব্যবহৃত হয়, যেখানে অন্যগুলি একই ভাষায় এবং কখনও কখনও এমন ভাষাগুলিতেও ব্যবহৃত হয় যেগুলি খুব মিল নয়।"

স্পিচ ইউনিটের পূর্বাভাস

কথ্য ভাষার অডিও নমুনাগুলিকে এনকোড করতে সক্ষম হওয়ার দিকে স্পিচ ইউনিটের ইনভেন্টরি একটি প্রথম পদক্ষেপ। কিন্তু, আমরা সত্যিই যা অর্জন করতে চাই তা হল wav2vec2 কে প্রশিক্ষণ দেওয়া যে কিভাবে এই ইউনিটগুলি একে অপরের সাথে সম্পর্কিত।


অন্য কথায়, আমরা বুঝতে চাই যে স্পিচ ইউনিটগুলি একে অপরের মতো একই প্রসঙ্গে ঘটতে পারে। wav2vec2 ট্রান্সফরমার স্তরের মাধ্যমে এই কাজটি মোকাবেলা করে।


wav2vec2 ট্রান্সফরমার


ট্রান্সফরমার মূলত wav2vec2 কে পরিসংখ্যানগত অর্থে, বিভিন্ন অডিও উদাহরণের মধ্যে বক্তৃতা ইউনিটগুলি কীভাবে বিতরণ করা হয় তা শিখতে দেয়। এই বোঝাপড়াটি অডিও নমুনাগুলির এনকোডিংকে সহজতর করে যা মডেলটি পূর্বপ্রশিক্ষণের পরে "দেখবে"৷

ফাইনটিউনিং

শেষ পর্যন্ত, একটি ASR সিস্টেমকে অডিওর একটি প্রদত্ত সিকোয়েন্সের জন্য একটি পাঠ্য প্রতিলিপি তৈরি করতে সক্ষম হতে হবে যা এটি আগে "দেখেনি"। উপরে বর্ণিত ধাপগুলির মাধ্যমে প্রশিক্ষন করার পরে, wav2vec2 এই উদ্দেশ্যে ফাইনটিউন করা হয়েছে। এই সময় মডেলটি স্পষ্টভাবে অডিও নমুনা এবং তাদের সম্পর্কিত প্রতিলিপি উদাহরণ দেখানো হয়েছে.


এই মুহুর্তে, মডেলটি স্পীচ ইউনিটের ক্রম হিসাবে অডিও নমুনাগুলিকে এনকোড করতে এবং ট্রান্সক্রিপশনের প্রতিনিধিত্বকারী শব্দভান্ডারের পৃথক অক্ষরে (অর্থাৎ "a" থেকে "অক্ষরগুলিকে ম্যাপ করতে প্রাক-প্রশিক্ষণের সময় যা শিখেছিল তা ব্যবহার করতে সক্ষম হয়। z" ইংরেজির ক্ষেত্রে)।


ফাইনটিউনিংয়ের সময় শেখা wav2vec2 মডেলের প্রশিক্ষণ সম্পূর্ণ করে এবং এটি নতুন অডিও উদাহরণগুলির জন্য পাঠ্যের ভবিষ্যদ্বাণী করতে দেয় যা ফাইনটিউনিংয়ের সময় এটির প্রশিক্ষণের অংশ ছিল না।

উপসংহার

অবশ্যই, wav2vec2-এর নিম্ন-স্তরের মেকানিক্স উপরে যা উপস্থাপন করা হয়েছে তার চেয়ে অনেক বেশি জটিল। যাইহোক, পুনর্ব্যক্ত করার জন্য, এই নিবন্ধটির ধারণাটি আপনাকে মডেলটি কীভাবে কাজ করে এবং কীভাবে এটি প্রশিক্ষিত হয় তার একটি সহজ, ধারণাগত বোঝার প্রদান করা।


wav2vec2 হল ASR সিস্টেম তৈরির জন্য একটি অত্যন্ত শক্তিশালী এমএল ফ্রেমওয়ার্ক এবং 2021 সালের শেষের দিকে প্রবর্তিত এর XLS-R বৈচিত্রটি 128টি ভাষায় প্রশিক্ষিত হয়েছিল, এইভাবে একাধিক ভাষায় ASR মডেল ডিজাইন করার জন্য একটি উন্নত প্ল্যাটফর্ম প্রদান করে।


ভূমিকায় উল্লিখিত হিসাবে, আপনাকে আরও শিখতে সাহায্য করার জন্য অনেকগুলি দুর্দান্ত প্রযুক্তিগত সংস্থান উপলব্ধ রয়েছে৷ বিশেষ করে, আপনি আলিঙ্গন মুখ দ্বারা প্রদত্ত বিশেষভাবে দরকারী হতে পারে.