ک شبکه های عصبی، لازم است که ابتدا مدل‌سازی کلاسیک را تجسم کنیم. پارامترهای A,B,C,D سیستم ما را تعریف می کنند، این پارامترها می‌توانند غلظت مواد شیمیایی و پارامترهای فیزیکی فرمولاسیون باشند. ممکن است پارامترهای فیزیولوژیک یا پاتولوژیک وضعیت بیماران باشند. در کنار هر سری پارامتر که یک نمونه را تعریف می‌کند (فرمول شکل دارویی یا بیمار یا هر نمونه دیگر)، یک پارامتر R وجود دارد که می تواند پایداری فرمول دارویی یا پارامتری نمایانگر وضعیت بیمار باشد.
مدل‌سازی کلاسیک از نخستین قدم، خطای بزرگی را مرتکب می شود که فقط در سیستم‌های ساده (خطی یا نزدیک به خطی) قابل صرف‌نظر است. نخستین قدم در روش کلاسیک برای بررسی داده‌ها بررسی شاخصهای تمایل به مرکز (میانگین و…) و شاخصهای پراکندگی (انحراف معیار و…) است. از این مرحله به بعد در روش کلاسیک، کاری با تک‌تک نمونه ها نداریم و اهمیت فردی آنها از بین می رود. به عنوان مثال، ممکن است مقدار پارامتر A (مثلا غلظت ماده شیمیایی A) در دمای صفر تا 15 درجه (دما پارامتر B است) روی پایداری دارو یا R تأثیر مثبت داشته باشد، و از 15 درجه به بالا تاثیر منفی داشته باشد، به این ترتیب نگاه همزمان به پارامترهای A و B برای درک تأثیر آن دو بر روی R ضروری است، در حالیکه ما با گرفتن میانگین (یا دیگر مشتقات آماری) از کل ستونهای A و B و سایرین، اثر همراهی مقادیر A و B را از صورت مسأله پاک کرده‌ایم. در هیچ یک از روشهای کلاسیک مدل‌سازی با داده های فردی (تک‌تک نمونه ها) کاری نداریم و این یک اشکال مهم است. در واقع روش کلاسیک با عملی شبیه به هوموژن‌کردن یا آسیاب‌کردن داده‌ها، پیچیدگی روابط آنها را محو می‌کند و به این دلیل از کشف این پیچیدگی‌ها باز می‌ماند.
در نهایت نیز، در روش کلاسیک، شما یک معادله سیستم خواهید داشت که داده‌های جدید را بدون درنظرگرفتن اثر همراهی پارامترهایش با هم استفاده می‌کند و مجدداً این خطا در پیشگویی اثر توسط سیستم شما تأثیر خواهد داشت. به این ترتیب سیستم کلاسیک در «استخراج» معنی از داده‌ها ضعیف بوده و با بازده پایین عمل می‌کند و در بسیاری از موارد، در کشف روابط بین داده‌ها ناکام می‌ماند.
اگر می‌توانستیم سیستمی داشته باشیم که با اهمیت دادن به فردفرد مثالها تجزیه و تحلیل کند و نیز بدون پیشداوری در مورد شکل تابع هر پارامتر (خطی‌بودن یا غیرخطی‌بودن) آن را ذخیره و ارزیابی کند، چنین سیستمی می‌توانست نتایج بیشتری را از عمق داده‌ها بیرون بکشد.
ب: سناریوی مدل‌سازی شبکه عصبی
در یک شبکه عصبی نمونه، اطلاعات و پارامترهای ورودی، هرکدام به شکل یک سیگنال الکتریکی تحریک به کانالهای ورودی مدل ریاضی سلول عصبی وارد می‌شوند. مدل ریاضی یک سلول عصبی را یک پرسپترون14 می‌نامند. هر یک از کانال‌های ورودی (شبیه اتصالات دندریتها) دارای یک ضریب عددی هستند که وزن سیناپسی نامیده می‌شود. شدت تحریک الکتریکی در این ضریب ضرب می‌شود و به جسم سلولی می‌رسد. اگر مجموع تحریکات رسیده به جسم سلولی کافی باشد، نورون شلیک می‌کند15 و در مسیرهای خروجی (شبیه آکسونها) جریان الکتریکی ثابتی را ایجاد می‌کند. تحریکات لایه ورودی سلولها به یک یا چند لایه واسط می‌رود که به لایه‌های مخفی (Hidden layers) موسوم می‌باشند. ادامه جریان تحریکات در این لایه‌ها (توسط همان وزنهای سیناپسی) طوری هدایت می‌شود که پیچیدگی‌های تأثیرات جریان ورودی را شبیه‌سازی می‌کند. سپس تحریکات به لایه‌های خروجی می‌روند که هدف نهایی ماست. اگر هدف شبکه عصبی مصنوعی پیشگویی کمّی باشد، مجموع شدت تحریکات آخرین عصب خروجی، آن عدد خواهد بود. اگر هدف طبقه‌بندی باشد، فعالیت یا خاموش‌بودن نورونهای آخر نمایانگر این امر خواهد بود، مثلاً شلیک نورون خروجی نشان‌دهنده حضور بیماری و خاموش‌بودن آن نشانه سلامت است. سیستم شبکه عصبی در فرآیند یادگیری طوری وزنهای سیناپسی را تغییر می‌دهد که بتواند با هر سری تحریکات ورودی (یعنی داده های هر نمونه) جریان خروجی مناسب (یعنی همان پاسخ R) را ایجاد کند. چگونگی تغییر ریاضی این وزنها ظریف‌ترین بخش مکانیسم عملکرد شبکه را تشکیل می‌دهد که بعداً درباره آن بحث خواهد شد.
2-2-4- طرز کار مدل سلول عصبی
مدل ریاضی یک سلول عصبی که از روی الگوی ریاضی آن ساخته شده است پرسپترون نامیده می‌شود. خطوط ورودی (input) سیگنالهای تحریکی یا مهاری را به جسم سلولی می‌آورند که همان پارامترهای تعریف‌کننده سیستم هستند. مثلاً فرض کنیم که غلظت یک ماده mol/lit 6/0 است، این عدد یکی از پارامترهای تعریف‌کننده نمونه دارویی ماست، پس این پارامتر به عنوان یک سیگنال الکتریکی با شدت 6/0 به یک کانال ورودی می‌رود. در ابتدای هر کانال ورودی یک ضریب عددی وجود دارد که در شدت تحریک در آن ضرب می‌شود و حاصل آن که یک weighted input نامیده می‌شود اگر مثبت باشد یک سیگنال تحریکی و اگر منفی باشد یک سیگنال مهاری بر جسم سلولی است. میزان کلیه این سیگنالهای تحریکی یا مهاری که از ورودی‌های مختلف به جسم سلولی می‌رسند با هم به‌صورت خطی جمع می‌شوند (Linear combination of weighted inputs). اگر این حاصلجمع از میزان آستانه یا Threshold کمتر باشد سلول عصبی خاموش می‌ماند؛ در غیر این صورت، نورون شلیک می‌کند و جریان الکتریکی ثابتی در خروجی (یا خروجی‌ها) ایجاد می‌کند. در واقع، خروجی پرسپترون از معادله ریاضی زیر تعیین می‌شود:
که در آن xi سیگنال ورودی شماره i و wi وزن سیناپسی مربوط به آن ورودی است. به این ترتیب، مقادیر خاصی از وزنهای سیناپسی می‌توانند کاری کنند که سلول عصبی ما روی ورودی‌های آنالوگ (عددی) همان عملیات منطقی را انجام دهد که یک دروازه منطقی بر روی داده‌های دیجیتال (رقمی یا صفر/یک) انجام می‌دهد. به همین ترتیب با دستکاری وزنهای سیناپسی می‌توان دروازه‌های منطقی AND و NOT را هم ایجاد کرد. عملیات منطقی پیچیده نیاز به دروازه‌های دیگری از جمله XOR (OR انحصاری یا Exclusive OR) دارد، این دروازه‌ها توسط یک سلول قابل شبیه‌سازی نیستند اما ترکیبی از سلولها می‌توانند آنها را شبیه‌سازی نمایند.
در عمل، تابع ریاضی جسم سلولی نورون، تابعی کاملاً دیجیتال با خروجی 0 یا 1 نیست. این تابع می‌تواند تابع سیگموئید یا تابع تانژانت هایپربولیک باشد، و عملاً ثابت شده است که هر تابع غیرخطی دیگری می‌تواند کم‌وبیش جایگزین آن شود، از این‌رو برنامه‌های شبیه‌سازی ANN معمولاً انتخاب آن را به عهده کاربران می‌گذارند. از این تابع با نامهای Nodal function، Step function و Active function نیز یاد می‌شود.
2-2-5- چگونگی کار یک شبکه عصبی
از به‌هم‌پیوستن سلولهای مدل عصبی، مدل شبکه عصبی (Artificial Neural Network) به‌وجود می‌آید. وضعیت نسبی سلولها در شبکه (تعداد، گروه‌بندی و نوع اتصالات آنها) را توپولوژی شبکه می‌گویند. توپولوژی در واقع، سیستم اتصال سخت‌افزار نورونها به یکدیگر است، که توأم با نرم‌افزار مربوطه (یعنی روش ریاضی جریان اطلاعات و محاسبه وزنها) نوع عملکرد شبکه را تعیین می‌کند. در این توپولوژی یک لایه ورودی وجود دارد که اطلاعات را دریافت می‌کند، تعدادی لایه مخفی وجود دارند که اطلاعات را از لایه‌های قبلی می‌گیرند و در نهایت یک لایه خروجی وجود دارد که نتیجه محاسبات به آنها می‌رود و جوابها در آن قرار می‌گیرند (شکل 2-4). هر سلول در هر لایه به کلیه سلولهای لایه مجاور بعدی متصل می‌شود. اتصال به خود سلولها، به لایه قبلی، و پرش اتصالات در طول لایه‌ها مجاز نمی‌باشد. این توپولوژی به نام Feed Forward معروف است زیرا جریان اطلاعات همیشه از ورودی به سوی خروجی است. بین 90 تا 95% کاربردهای شبکه‌های عصبی امروزی مربوط به این توپولوژی است.
در ابتدا، وزن های سیناپسی، مقادیر تصادفی (رندوم) هستند. علت این مسأله به روش محاسبه وزنها در سیستم NN برمی‌گردد که یک روش Iterative یا مبتنی بر تکرار است. فرض کنید می‌خواهیم معادله زیر را حل کنیم:
y = x4 + 5×3 + x2 + 2ex + sin(x-2)
زمانی که سرعت محاسبات بالاست، می‌توانیم یک راه‌حل کلی و ساده برای حل این معادله یا هر معادله دیگری پیدا کنیم به‌طوری‌که هیچ کاری با حل جبری این معادله و معادلات دیگر نداشته باشیم. کافی است یک مقدار دلخواه برای x فرض کرده، آن را در معادله قرار دهیم و جواب را حساب کنیم. اگر تساوی برقرار بود، مقدار فرض شده پاسخ معادله است. در غیر این‌صورت آن‌قدر آن را کم و زیاد می‌کنیم تا تساوی برقرار شود، یا اینکه با خطای قابل قبولی به جواب نزدیک شویم. این روش حل معادله را روش مبتنی بر تکرار یا Iterative می‌گویند. همان‌طور که دیدیم، در این روش به یک مقدار حدسی اولیه نیاز داریم. این همان وزنهای اتفاقی سیناپسی هستند که در ابتدای کار با سیستم ANN استفاده می شوند.
در شروع مرحله یادگیری (Learning)، اطلاعات مربوط به نمونه‌ها یکی‌یکی به شبکه داده می‌شود. به‌طور مثال، از طرفی غلظتهای شیمیایی و پارامترهای فیزیکی فرمولاسیون تک‌تک نمونه ها به لایه ورودی داده شده و از سوی دیگر مقدار تجربی و اندازه‌گیری شده پایداری آنها نیز به حافظه شبکه داده می‌شود (به‌عنوان متغیری در حافظه کامپیوتر و خارج از توپولوژی شبکه نگهداری می‌شود). اطلاعات ورودی در شبکه جریان پیدا می کند به این معنی که در وزنهای سیناپسی ضرب شده و نتیجه فعالیت هر نورون بصورت سیگنالی، خود ورودی نورونهای لایه بعدی خواهد بود. در نهایت، در پایان جریان اطلاعات هر نمونه، شبکه پاسخی در لایه خروجی خواهد داشت. مثلاً اگر هدف پیشگویی پایداری فرمولاسیون است، وزن تنها نورون لایه خروجی نمایشگر آن خواهد بود و در این مرحله ابتدایی، به دلیل استفاده از وزنهای سیناپسی اتفاقی، پاسخ ایجاد شده با میزان تجربی پایداری تفاوت خواهد داشت. این تفاوت (Prediction error) که تفاضل میزان پیشگویی شده پاسخ توسط شبکه و میزان اندازه‌گیری شده تجربی آن است باید به صفر نزدیک شود تا شبکه از پیشگویی خوبی برخوردار شود.
معمول‌ترین روال (Routine) برای کاهش این خطا، روش توزیع معکوس خطا (Back-propagation of error) است که در 95% کاربردهای امروزی شبکه عصبی، روش مورد استفاده به همراه توپولوژی Feed Forward است. در این روش، پس از محاسبه خطای پیشگویی، وزنهای سیناپسی از آخرین لایه به سوی نخستین لایه، به‌تدریج طوری تغییر می‌کنند که خطای پیشگویی کمتر شود. در واقع، Back propagation سرشکن‌کردن خطا بر روی سلولهای یک لایه و نیز لایه‌های بعدی است. پس از این، اطلاعات نمونه دوم به شبکه خورانده می شود. مسلماً، با همان وزنهای سیناپسی، نمونه جدید مجدداً خطا خواهد داشت. بنابراین، روش توزیع معکوس مجدداً دست به کار شده و وزنها را طوری تغییر می‌دهد که کمترین خطا را (هم برای این نمونه و هم برای نمونه پیشین) ایجاد کنند. به این ترتیب، پس از خوراندن تعداد نمونه کافی به ورودی شبکه، تمام فضای n بعدی روابط پارامترها توسط شبکه تجزیه می شود. در این حالت گفته می‌شود که شبکه Converge شده است به این معنی که در منحنی خطای پیشگویی به مقعرترین نقطه (minimum) رسیده است. این به معنای موفقیت در مرحله یادگیری است و شبکه Converge‌شده، آماده است تا برای پیشگویی به کار رود.
اگر همه شرایط ایده‌آل باشد، حال نوبت استفاده از شبکه است. با وارد کردن اطلاعات مربوطه به یک نمونه جدید می توانید میزان پایداری آن را پیشگویی کنید. این در حالی است که هیچ‌گونه فرضیه‌ای درباره نحوه برهم‌کنش و روابط میان پارامترهای ورودی نداشتید و هیچ‌گونه محاسبه ریاضی نیز انجام ندادید. این فوق‌العاده است!
لازم است که نکاتی چند درباره

دسته بندی : No category

دیدگاهتان را بنویسید