پردازش افتراقی سیگنال‌ دیجیتال
آموزش‌های پایه‌ای هوش مصنوعیآموزش‌های پیشرفته هوش مصنوعیداده کاوی و بیگ دیتایادگیری عمیق

راهنمای عملی بر پردازش افتراقی سیگنال دیجیتال با استفاده از شبکه‌های عصبی

    0
    مدت زمان مطالعه: ۷ دقیقه

    پیش از پرداختن به موضوع پردازش افتراقی سیگنال دیجیتال لازم است اشاره‌ای به شبکه‌های عصبی و اهمیت آن‌ها خواهیم داشت. در حوزه‌ی رو به رشد علم و فناوری، هوش مصنوعی و پیشرفت‌های اخیرش، جایگاه برجسته‌ و محبوبیت بالایی به دست آورده‌اند. تا جایی که مفاهیمی از قبیل هوش مصنوعی و یادگیری ماشین از موضوعات داغ این روزها به شمار می‌روند.

    اکنون، به لطف هوش مصنوعی، ماشین‌ها می‌توانند بر اساس تجارب‌شان، با استفاده از داده‌ها و پردازش آن‌ها بیاموزند و مسائل را به شکلی کارآمد انجام دهند.

    شبکه‌های عصبی مصنوعی با الهام از ساختار مغز انسان‌ها ساخته شده و به کامپیوترها و ماشین‌ها، قابلیت تفکر و پردازش شبه‌انسانی ارائه می‌دهند. با هر گامی که فناوری بر می‌دارد، چیزهای بیشتری را باید در مورد ساختار شبکه‌های عصبی هوش مصنوعی و رویه‌های کاری‌شان بیاموزیم.

    شبکه‌های عصبی مصنوعی یا ANNها، ابزاری کلیدی برای یادگیری ماشین به شمار می‌روند. شبکه‌های عصبی از لایه‌های ورودی و خروجی و یک لایه‌ی نهان که در وسط معماری قرار دارد، تشکیل شده‌اند. لایه‌ی نهان شامل واحدهایی است که ورودی را پردازش می‌کنند تا در لایه‌ی خروجی قابل استفاده باشد.

    ANNها در بازیابی الگوهای پیچیده یا فراوان به برنامه‌نویس‌ها کمک می‌کنند. هدف از آموزش ماشین‌ها نیز تشخیص الگوهای مهم و ارزشمند است. ANNها از چندین گره تشکیل شده‌اند؛ گره‌ها معادل نورون‌های زیستی موجود در مغز انسان هستند.

    نورون‌های شبکه‌ی عصبی به هم متصل هستند و در طول پردازش اطلاعات، به صورت پیوسته با یکدیگر تعامل دارند. گره‌های ورودی داده‌های ورودی را گرفته و چندین عملیات روی آن‌ها انجام دهند. نتیجه‌ی این عملیات‌ها به نورون‌های دیگر منتقل می‌شود.

    تقلید از مغز انسان

    خروجی هر گره با یک مقدار فعالسازی (مقدار گره) همراه است. این تکنیک پردازشی نیز از کارکرد مغز انسان تقلید شده و پایه و اساس ساخت الگوریتم‌هایی است که در مدلسازی الگوهای پیچیده یا مسائل پیش‌بینی به کار می‌روند.

    به این نوع شبکه‌ها MLP یا پرسپترون چندلایه‌ای نیز می‌گویند، چون چندین لایه دارند. لایه‌ی نهان اطلاعات مهم را تشخیص داده و تنها آن‌ها را برای پردازش انتخاب می‌کند و بدین طریق، سرعت شبکه را افزایش می‌دهد. بدین منظور، با توجه به وزن‌های اختصاص یافته به اطلاعات، موارد اضافی را کنار می‌گذارد.

    راز ساخت یک مدل پیش‌بین خوب و دقیق، یافتن مقادیری بهینه برای وزن‌هاست که بتوانند خطای پیش‌بینی را به حداقل برسانند. بدین منظور باید از الگوریتم پس‌انتشار استفاده کرد. پس‌انتشار نوعی خاصیت خودیادگیرندگی به ANN ارائه می‌دهد که آن را قادر می‌سازد از اشتباهاتش آموخته و بدین طریق، بهتر و بهتر شود. آموزش و افزایش دقت شبکه‌های عصبی به شدت وابسته به داده‌های آموزشی است.

    الگوریتم‌های یادگیری، بعد از تنظیم دقیق، به ابزارهای هوش مصنوعی و علوم کامپیوتر قدرتمندی تبدیل می‌شوند که به ما اجازه می‌دهند حجم عظیمی داده را طبقه‌بندی و خوشه‌بندی کنیم.

    مسائلی همچون تشخیص گفتار یا شناسایی تصویر که به صورت دستی ساعت‌ها طول می‌کشد را می‌توان به کمک این ابزارها در عرض چند دقیقه انجام داد. الگوریتم جستجوی گوگل مصداق بارز یک شبکه‌ی عصبی خوش‌ساخت است.

    کاربرد این فناوری‌ها در کسب و کارها عمدتاً مربوط به حل مسائل پیچیده‌ای همچون تشخیص الگو یا شناسایی چهره می‌شود. از دیگر موارد کاربرد آن‌ها می‌توان به تبدیل گفتار به نوشتار، تحلیل داده، تشخیص دست خط برای پردازش چک‌ها، پیش‌بینی آب و هوا و پردازش سیگنال اشاره کرد.

    پردازش افتراقی سیگنال دیجیتال چیست؟

    DDSP یا پردازش سیگنال دیجیتال Digital Signal Processing را می‌توان یکی از ستون‌های اصلی جامعه‌ی مدرن دانست که دامنه‌ کاربردش تا حوزه‌های مخابرات، حمل و نقل، فناوری‌های صوتی و پزشکی گسترده است. پردازشگرهای سیگنال دیجیتال، داده‌هایی به شکل موج (صدا، صوت، ویدئو، دما و …) را دریافت کرده و با اجرای عملیات ریاضی، دستکاری می‌کنند.

    هدف اصلی DSP، ایجاد سیگنال‌هایی واقعی و پیچیده از طریق کنترل و تنظیم دقیق پارامترهای فراوان آن‌هاست. برای مثال، با استفاده از مجموعه‌ای از فیلترهای خطی و نوسان‌سازهای سینوسی می‌توان صدایی شبیه یک ویولن واقعی تولید کرد، به شرطی که فرکانس‌ها و پاسخ‌ها به درستی تنظیم شده باشند.

    با این حال، گاهی کنترل دستی همه‌ی این پارامترها دشوار می‌شود. به همین دلیل است که خروجی ترکیب‌کننده‌های صدا غیرطبیعی و شبیه ربات‌هاست. پردازش افتراقی سیگنال دیجیتال کتابخانه‌ی متن‌بازی است که با استفاده از یک شبکه‌ عصبی، ورودی کاربر را به کنترل‌های DSP پیچیده‌ای تبدیل و به تولید سیگنال‌های واقع‌گرایانه‌تر کمک می‌کنند. ورودی می‌تواند هر نوع صوت یا حتی ویژگی‌های استخراج شده از فایل صوتی هم باشد.

    از آن‌جایی که واحدهای DDSP افتراقی هستند، شبکه‌ عصبی را می‌توان به نحوی آموزش داد تا با استفاده از پس‌انتشار، با دیتاست‌ها سازگار شود. پردازش افتراقی سیگنال دیجیتال به عنوان لایه‌ی خروجی آخر خودرمزنگارها قرار می‌گیرد و یک ترکیب‌کننده‌ی هارمونیک افزایشی (مسئول تولید امواج سینوسی با فرکانس‌های گوناگون) را با یک ترکیب‌کننده‌ افتراقی نویز (مسئول حذف نویزهایی با فیلترهای زمانی متفاوت) ترکیب می‌کند.

    سیگنال این ترکیب‌کننده‌ها با هم ترکیب شده و وارد ماژول پژواک می‌شود تا موج صوتی خروجی را تولید کند. زیان مدل با مقایسه‌ی طیف‌سنجی صوت تولیدشده و صوت اصلی در شش اندازه فریم متفاوت، به دست می‌آید. از آن‌جایی که همه‌ی اجزاء افتراقی هستند، می‌توانیم برای آموزش یکپارچه‌ شبکه، از پس‌انتشار و گرادیان کاهشی تصادفی استفاده کنیم.

    پردازش افتراقی سیگنال دیجیتال

    کدها

    این پژوهش از کتابخانه‌ی پردازش افتراقی سیگنال دیجیتال و شبکه های عصبی استفاده می‌کند تا یک مبدل صدا-به-موسیقی تولید کند.

    این مدل، صدای صحبت افراد را به عنوان ورودی دریافت کرده و سپس این امواج صوتی را با موسیقی (تقلیدشده از صدای یک ویولن) جایگزین می‌کند. با مقایسه‌ی صدای اصلی با صدای پردازش شده می‌توان متوجه تفاوت واضح بین آن‌ها شد. کدی که در ادامه‌ی مطلب می‌بینید، پیاده‌سازی رسمی سازندگان DDSP و Magneta است.

    راه‌اندازی کتابخانه

    گام اول راه‌اندازی کتابخانه‌ی موردنیاز است:

    انتقال وابستگی‌ها

    سپس نوبت انتقال وابستگی‌ها و توابعی است که به ساخت روال پردازشی کمک و نرخ نمونه را برای مبدل صوتی تعیین می‌کنند:

    ضبط صدا برای پردازش

    در گام بعدی، باید یک صدای ضبط شده ۵ ثانیه‌ای را به عنوان ورودی در اختیار مدل قرار دهیم؛ روال پردازشی مدل این صدا را پردازش می‌کند:

    حال ویژگی‌های صدای پردازش شده را به تصویر درمی‌آوریم:

    خروجی

    پردازش افتراقی سیگنال‌ دیجیتال

    توجه داشته باشید که فایل‌های صوتی خروجی تنها هنگام اجرا قابل مشاهده است.

    پردازش افتراقی سیگنال‌ دیجیتال

    پردازش افتراقی سیگنال‌ دیجیتال

    خروجی، صدای صوتی ۵ ثانیه‌ای ضبط شده را پخش می‌کند و ویژگی‌های آن (بلندی، فرکانس و اطمینان) را به تصویر در می‌آورد.

    بارگذاری مدل و ترکیب صداها حال می‌خواهیم صدای صحبت ضبط شده را با یک صدای یک آلت موسیقی ترکیب کنیم تا صدایی جدید به دست آوریم. اینجا صدای یک ویولن را بارگذاری می‌کنیم:

    تولید صدای بازترکیب شده

    گام آخر، تولید صدایی منحصر به فرد از طریق آموزش و پردازش صدای اصلی با صدای بارگذاری شده است.

    خروجی شامل دو صوت می‌باشد: صدای صحبت اصلی که ضبط کردیم و دومی، صوت ترکیب‌شده.

    پردازش افتراقی سیگنال‌ دیجیتال

    پردازش افتراقی سیگنال‌ دیجیتال

    پردازش افتراقی سیگنال‌ دیجیتال

    حال به کمک نمودارهای رسم شده، به راحتی می‌توانیم تفاوت بین این دو صوت را مشاهده کنیم.

    جمع‌بندی

    در این نوشتار، شبکه‌ی عصبی و کاربردهای بالقوه‌ی آن را معرفی کردیم. همچنین، با استفاده از شبکه‌های عصبی و کتابخانه‌ی پردازش افتراقی سیگنال دیجیتال، یک مبدل صدای صحبت به صدای موسیقیایی ساختیم. در انتها، صدای اصلی را با صدای پردازش‌شده و تولیدشده مقایسه کردیم. پیاده‌سازی مربوطه در این لینک از کولب قابل دسترس است.

     

    این مطلب چه میزان برای شما مفید بوده است؟
    [کل: ۱ میانگین: ۱]

    بخش‌بندی تصویر و هر آنچه که لازم است در این باره بدانید

    مقاله قبلی

    نقش واحد منابع انسانی در درک و کاهش سوگیری هوش مصنوعی

    مقاله بعدی

    شما همچنین ممکن است دوست داشته باشید

    نظرات

    پاسخ دهید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *