این پروژه تشخیص صوت با استفاده از شبکه پرسپترون چند لایه در متلب (MATLAB) است. در این پروژه ابتدا 5 فایل صوتی “کتاب” را می خوانیم، از این شبکه عصبی پرسپترون با یک لایه مخفی برای آموزش آواهای کلمه “کتاب” استفاده می شود. ورودی شبکه داری 7 فریم متوالی است.
شبکه عصبی مصنوعی
شبکه عصبی مصنوعی یک سامانه پردازشی دادهها است که از مغز انسان ایده گرفته و پردازش دادهها را به عهده پردازندههای کوچک و بسیار زیادی سپرده که به صورت شبکهای به هم پیوسته و موازی با یکدیگر رفتار میکنند تا یک مسئله را حل نمایند. در این شبکهها به کمک دانش برنامه نویسی، ساختار دادهای طراحی میشود که میتواند همانند نورون عمل کند. که به این ساختارداده نورون گفته میشود. بعد باایجاد شبکهای بین این نورونها و اعمال یک الگوریتم آموزشی به آن، شبکه را آموزش میدهند.
در این حافظه یا شبکه عصبی نورونها دارای دو حالت فعال (روشن یا ۱) و غیرفعال (خاموش یا ۰) اند و هر یال (سیناپس یا ارتباط بین گرهها) دارای یک وزن میباشد. یالهای با وزن مثبت، موجب تحریک یا فعال کردن گره غیر فعال بعدی میشوند و یالهای با وزن منفی، گره متصل بعدی را غیر فعال یا مهار (در صورتی که فعال بوده باشد) میکنند. شبکههای عصبی با توانایی قابل توجه خود در استنتاج نتایج از دادههای پیچیده میتوانند در استخراج الگوها و شناسایی گرایشهای مختلفی که برای انسانها و کامپیوتر شناسایی آنها بسیار دشوار است استفاده شوند.
بطورکلی یک شبکۀ عصبی بـه عنـوان نـوع خاصـی از شبکۀ تطبیقی متشکل از تعدادي گره است که از طریق اتصالات جهت دار به یکدیگر متصل شده اند. هر گره بیان کنندة یـک واحد پردازشی است و اتصالات بین گرهها، ارتباط بین آنها را نشان می دهد. به طوري که خروجی حاصـل از گـره هـا بـه پارامترهاي قابل اصلاح مـرتبط بـا هرگـره بـستگی دارد. بـه گونـه اي کـه رفتـار ورودي ـ خروجـی کلـی آن بـه وسـیلۀ مجموعه اي از پارامترهاي قابل اصلاح مشخص می شود و گره ها نقش تابع ایستا را روي سیگنال هاي ورودي جهت تولید خروجی گره ایفا می کنند.
از مزایای شبکههای عصبی میتوان موارد زیر را نام برد:
یادگیری تطبیقی: توانایی یادگیری اینکه چگونه وظایف خود را بر اساس اطلاعات داده شده به آن و یا تجارب اولیه انجام دهد در واقع اصلاح شبکه را گویند.
خود سازماندهی: یک شبکه عصبی مصنوعی به صورت خودکار سازماندهی و ارائه دادههایی که در طول آموزش دریافت کرده را انجام دهد. نورونها با قاعده یادگیری سازگار شده و پاسخ به ورودی تغییر مییابد.
عملگرهای بیدرنگ: محاسبات در شبکه عصبی مصنوعی میتواند به صورت موازی و به وسیله سختافزارهای مخصوصی که طراحی و ساخت آن برای دریافت نتایج بهینه قابلیتهای شبکه عصبی مصنوعی است انجام شود.
تحمل خطا: با ایجاد خرابی در شبکه مقداری از کارایی کاهش مییابد ولی برخی امکانات آن با وجود مشکلات بزرگ همچنان حفظ میشود.
دسته بندی: شبکههای عصبی قادر به دسته بندی ورودیها بر ای دریافت خروجی مناسب میباشند.
تعمیم دهی: این خاصیت شبکه را قادر میسازد تا تنها با برخورد با تعداد محدودی نمونه، یک قانون کلی از آن را به دست آورده، نتایج این آموختهها را به موارد مشاهده از قبل نیز تعمیم دهد. توانایی که در صورت نبود آن سامانه باید بی نهایت واقعیتها و روابط را به خاطر بسپارد.
پایداری-انعطاف پذیری: یک شبکه عصبی هم به حد کافی پایدار است تا اطلاعات فراگرفته خود را حفظ کند و هم قابلیت انعطاف و تطبیق را دارد و بدون از دست دادن اطلاعات قبلی میتواند موارد جدید را بپذیرد.
شبکه عصبی پرسپترون
در این تمرین ما از شبکه عصبی پرسپترون استفاده می کنیم پس لازم است ابتدا این شبکه را بشناسیم. شاید پرسپترون جز شبکه های عصبی اولیه ای باشد که تاثیر زیادی روی شبکه های عصبی گذاشته است تعدادی از انواع پرسپترون توسط شخصی به نام روزنبلات Rosenblatt در سال 1962 و بعدا توسط دو نفر به نام مینسکی و پاپرت Minsky & Papert در سال های 1969 و 1988 ارائه شد قانون یادگیری پرسپترون قوی تر از قانون یادگیری هب می باشد و در حقیقت قانون پرسپترون برخلاف قانون هب یک الگوریتم یادگیری تکراری است و توسط قضیه ای که به قضیه همگرایی قانون یادگیری پرسپترون معروف است اثبات می شود که این الگوریتم می تواند با تعداد محدودی تکرار و یا سیکل ( که هر سیکل را اصطلاحا یک ایپاک epoch می گوییم ) مقادیر بهینه وزن ها را بدست آورد. در حقیقت می توان گفت مسائلی که تفکیک پذیر خطی و یا خطی باشندرا می توان با یک پرسپترون ساده یا پرسپترون تک لایه single layer perceptron حل کرد.
يك پرسپترون يك بردار ورودي را گرفته، تركيبي خطي از آنها را محاسبه نموده، خروجي را فراهم مي آورد.
اگر خروجي از ميزان آستانه اي بالاتر بود يك و در غير اينصورت صفر(منهاي يك) باز مي گرداند.
ورودی سیستم
ابتدا پنج فایل صوتی که حاوی کلمه «کتاب» هستند را می خوانیم. شما می توانید در تصویر زیر فایل ها را به صورت برچسب گذاری شده مشاهده کنید.
پردازش اولیه
بر روی داده های ورودی سیستم باید یکسری اعمال پیش پردازش انجام دهیم.که در زیر به ترتیب لیست شده اند
- نرخ نمونه برداری 44100 است مثلا برای فایل کتاب اگر 2 ثانیه طول بکشد تقریبا 88200 نمونه داریم
- صوت را به فریمهایی به طول 800 نمونه تقسیم کنید.
- تبدیل فوریه گسسته 12 نقطهای را برای هر فریم بدست آورید. ( با استفاده از دستور XF=abs((FFT(8,48)) ابتدا 4 برابر اندازه قابها تبدیل فوریه میگیریم و سپس با استفاده از دستور XF=xf(1.12) تبدیل فوریه 12 نقطه ای میگیریم و بعد از آن توسط تابع xf=log(xf) لگاریتم میگیریم.
پیاده سازی شبکه عصبی پرسپترون
از یک شبکه عصبی پرسپترون با یک لایه مخفی برای آموزش برچسب های آوا استفاده می کنیم. ورودی شبکه 7 فریم متوالی است ( 84 نورون ورودی داریم) که در هر گام به تصادف انتخاب می شوند. برای یافتن ابتدای 7 فریم متوالی از دستور FB=floor(rand(1,1)*(NF-7)+1) استفاده می کنیم.
از طریق لینک زیر می توانید این پروژه را تهیه کنید بعد از پرداخت آنلاین لینک دانلود نمایش داده می شود
این پروژه شامل فایلهای MATLAB و فایل گزارش WORD است.
قیمت: 30,000 تومان