آموزش شبکههای عصبی
تا اینجا از ساختار شبکههای عصبی صحبت کردیم. گفتیم که شبکههای عصبی میتوانند بر اساس طراحی خود سیگنالهای ورودی را پردازش کنند و به سیگنالهای خروجی مورد نظر تبدیل نمایند. به طور معمول، پس از آنکه یک شبکه عصبی طراحی و پیادهسازی شد، باید پارامترهای w و b (که قبلاً معرفی کردیم) به ازای مجموعههایی از سیگنالهای ورودی، بهگونهای تنظیم شوند که سیگنالهای خروجی شبکه خروجی مطلوب را تشکیل دهند. چنین فرایندی را آموزش دیدن شبکه عصبی مینامند (در نخستین مرحله آموزش، مقادیر w و b بهطور تصادفی انتخاب میشوند. زیرا تا این پارامترها مقدار نداشته باشند، شبکه عصبی قابل استفاده نخواهد بود) در حین آموزش دیدن شبکه عصبی (یعنی به تدریج همزمان با افزایش دفعاتی که مقادیر پارامترها برای رسیدن به خروجی مطلوبتر، تنظیم میشوند) مقدار پارامترها به مقدار حقیقی و نهایی خود نزدیکتر میشوند.
بهطور کلی دو روش برای آموزش دادن شبکههای عصبی وجود دارد. روش Supervised و روش Unsupervised. روش نخست، شامل مراحلی است که در بخش قبل، بهطور مختصر تشریح شد. اما در روش Unsupervised ، شبکه عصبی باید بدون کمک گرفتن از جهان خارج، بتواند کار آموزش را انجام دهد.
واقعیت آن است که در عمل از روش Supervised و یا حداکثر از روشهای ترکیبی استفاده میشود و فرایند آموزش Unsupervised به شکل خالص تنها وعدهای است که شاید در آینده بتواند تحقق یابد.
در حال حاضر و در کاربردهای پیشرفته، از روش آموزش Unsupervised برای ایجاد تنظیمات اولیه بر روی سیگنالهای ورودی شبکههای عصبی استفاده میشود و باقی مراحل آموزش شبکه به روش Supervised ادامه مییابد.
همانطور که قبلاً اشاره کردیم، در روش معمول آموزش شبکههای عصبی، از مجموعه شناختهشدهای از دادههای ورودی و خروجیهای متناظر آنها (Training Set Data) برای آموزش دادن شبکه استفاده میشود. در چنین فرایندی، پس از اعمال مجموعههای دادههای آموزشی، پارامترهای شبکه به تدریج به سمت مقادیر نهایی خود همگرا میشوند.
بستههای نرمافزاری پیشرفته تولید و طراحی شبکههای عصبی، دارای ابزارهایی هستند که بر روند آموزش شبکه مدیریت میکنند. چنین ابزارهایی میتوانند سرعت همگرایی پارامترهای شبکه را زیر نظر بگیرند و به عنوان مثال، اجازه دهند که پارامترهای یک شبکه مشخص، در طول چندین روز به دقت کافی و مورد نظر طراحان خود برسد.
در مواردی ممکن است که شبکه عصبی اصولاً موفق به فراگیری نشود. بدین معنی که پارامترهای شبکه پس از زمانهای طولانی به مقدار مشخصی همگرا نشود. چنین مواردی ممکن است بر اثر ناکافی بودن دادههای آموزشی و یا اصولاً نقص طراحی شبکه ایجاد شوند. حتی مواردی در عمل وجود دارند که شبکه عصبی مشخصی، بر اثر آموزش بیش از حد، اصطلاحا Over Trained شود. توجه داشته باشید که فرایند آموزش شبکههای عصبی فقط به ازای زیر مجموعهای از دادههایی که قرار شبکه آنها را در کاربرد حقیقی خود پردازش کند، آموزش داده میشوند. درصورتیکه تعداد دادههای آموزشی یک شبکه عصبی بیش از اندازه زیاد باشد (در واقع از تمامی دادههای مسئله برای آموزش دادن به شبکه استفاده شود)، شبکه عصبی به جای آنکه آموزش ببیند، به حالتی میرسد که به آن حفظ کردن اطلاعات میگویند. در واقع به جای آنکه یک شبکه عصبی برای حل مسئله از هوش خود کمک بگیرد، از محفوظات خود استفاده میکند!
پس از آنکه یک شبکه عصبی به اندازه کافی آموزش دید، طراح یا کاربر شبکه میتواند پارامترهای شبکه را قفل کند (هر چند که در مواردی پارامترهای شبکه آزاد گذارده میشوند تا در طول کاربرد واقعی بازهم شبکه آموزش ببیند). در این مرحله شبکه عصبی برای کاربرد واقعی خود و حل مسائل آماده خواهد بود. در برخی از ابزارهای تولید و طراحی شبکههای عصبی، کل شبکه عصبی به همراه پارامترهای قفل شده آن، تبدیل به نرمافزار مستقلی (مثلاً یک فایل dll) میشوند که میتوان از آن در پروژههای مشخصی استفاده کرد. در برخی از موارد دیگر، چنین شبکههایی پس از آموزش دیدن، به شکل سختافزاری در قالب یک مدار مجتمع (IC) به تولید انبوه یا نیمه انبوه میرسند.
آموزش Unsupervised یا تطبیقی (Adaptive)
در مورد این روش آموزش گفتیم که شبکه عصبی بدون در اختیار داشتن دادههای خروجی، در معرض آموزش قرار میگیرد. در واقع سیستم به تنهایی و بدون کمک خارجی باید با توجه به شکل سیگنالهای خروجی خود، درباره درستی و نادرستی آنها تصمیمگیری نماید. در دنیای واقعی شرایط بسیار زیادی وجود دارند که در آنها مجموعه اطلاعات کافی برای آموزش دادن به سیستم فراهم نیستند. تحقیقات نظامی یکی از گرایشهایی است که به این موضوع توجه دقیقی دارد. به عنوان مثال گفته میشود که شرایط جنگی به دلیل فراوانی پارامترها و تکنیکهای نظامی متغیر و پیشرفتهای تکنولوژی نظامی، از نمونه مواردی است که در آنها به هیچ وجه نمیتوان مجموعه دادههای آموزشی کافی به دست آورد.در این زمینه یکی از محققان شبکههای عصبی، به نام Tuevo Kohonen (از دانشگاه هلسینکی) فعالیتی جدی دارد. کوهنن با تحقیقات در ساختارهای عصبی غیرمتعارف، به پژوهش در این زمینه ادامه میدهد. کوهنن، نرونهای شبکهعصبی را فیلدهای مختلفی تقسیمبندی میکند. در روش کوهنن، نرونهای هر فیلد “مرتب توپولوژیک” یا Topologically Ordered محسوب میشوند (توپولوژی نام شاخهای از ریاضیات است که در آن نگاشت از یک فضا به فضای دیگر بدون تغییر مشخصههای هندسی، مورد بررسی قرار میگیرد). گروهبندیهای سهبعدی که در ساختار مغز پستانداران یافت شده است، نمونهای از مرتبسازی توپولوژیک محسوب میشوند. کوهنن معتقد است که فقدان ملاحظات توپولوژیک در مدلهای عصبی امروزی، باعث میشود که شبکههای عصبی امروزی، مدلهای ساده شدهای از شبکههای عصبی واقعی موجود در مغز محسوب شوند. در هر صورت این حوزه از مبحث شبکههای عصبی، هنوز در مرحله تحقیقات آزمایشگاهی قرارداد و کاربرد واقعی نیافته است.
از شما دوستان عزیز که این مطلب آموزشی را دنبال نموده اید تشکر می کنیم و شما را دعوت میکنیم که برای فراگیری هوش مصنوعی مطالب ما را دنبال کنید.این مطالب برای افزایش دانش شما در سایت قرار داده شده و کمک زیادی در یادگیری شما در انجام پروژه هوش مصنوعی خواهد نمود.
فریلنسر هستم و مهارت انجام پروژه ای را دارم!
اگر شما فریلنسر هستید و توانایی انجام پروژه ای را در یک رشته یا حوزه ای خاص دارید برای فعالیت در سایت کافه پروژه و کسب درآمد می توانید در سایت ثبت نام کنید و پروژه هایی با مهارت انتخاب خود را مشاهده کنید.جهت ثبت نام و ثبت رزومه خود در سایت از طریق دکمه پایین صفحه در سایت عضو شوید:
نحوه سفارش پروژه در سایت کافه پروژه :
اگر پروژه ای دارید که میخواهید آن را برون سپاری کنید کافی است در سایت کافه پروژه ثبت نام کنید و پروژه خود را ثبت نمایید.پروژه شما هر چه که باشد حتما مجری برای آن وجود دارد.جهت ثبت نام و ثبت سفارش پروژه خود برروی دکمه زیر کلیک نمایید.
بدون دیدگاه