nx دارای 124 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد nx کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز nx2 آماده و تنظیم شده است
توجه : در صورت مشاهده بهم ريختگي احتمالي در متون زير ،دليل ان کپي کردن اين مطالب از داخل فایل ورد مي باشد و در فايل اصلي nx،به هيچ وجه بهم ريختگي وجود ندارد
بخشی از متن nx :
مقدمه
هوش محاسباتی یا (Computational-Intelligence) CI به معنای استخراج هوش، دانش، الگوریتم یا نگاشت از دل محاسبات عددی براساس ارائه به روز دادههای عددی است. سیستمهایCI در اصل سیستمهای دینامیكی مدل آزاد (Model-free) را برای تقریب توابع و نگاشتها ارائه میكند. در كنار این ویژگی بسیار مهم باید از ویژگی مهم دیگری در ارتباط با خصوصیات محاسباتی سیستمهای CI نام برد، كه در آن دقت، وجهالمصالحه مقاوم بودن، منعطفبودن و سهولت پیادهسازی قرار میگیرد.
مولفههای مهم و اساسی CI ، شبكههای عصبی )محاسبات نورونی(، منطق فازی) محاسبات تقریبی( و الگوریتم ژنتیك) محاسبات ژنتیكی(است، كه هر یك به نوعی مغز را الگو قرار دادهاند. شبكههای عصبی ارتباطات سیناپسی و ساختار نورونی، منطق فازی استنتاجات تقریبی و محاسبات ژنتیكی محاسبات موتاسیونی مغز را مدل میكنند.
هوش مصنوعی
در شبکه ارتباطی مغز انسانها سیگنالهای ارتباطی به صورت پالسهای الکتریکی هستند.جزء اصلی مغز نرون است که از یک ساختمان سلولی و مجموعه ای از شیارها و خطوط تشکیل شده و شیارها محل ورود اطلاعات به نرون هستند وخطوط محل خروج اطلاعات از نرون اند . نقطه اتصال یک نرون به نرون دیگر را سیناپس می نامند که مانند دروازه یا کلید عمل می کنند. اگر واکنشهایی که میلیونها نرون مختلف به پالسهای متفاوت نشان میدهند با یکدیگر هماهنگ باشند ممکن است پدیده های مهمی در مغز رخ دهد.
آن دسته از پژوهشگران هوش مصنوعی که رویکرد مدل مغزی را دنبال می کنند گونه ای از مدارهای الکتریکی را طراحی کرده اند که تا حدی شبکه مغز را شبیه سازی میکند در این روش هر گره (نرون)به تنهایی یک پردازنده است ولی رایانه های معمولی حداکثر چند cpuدارند هدف عمده کامپیوتر شبکه عصبی این است که مکانیسمی طراحی کند که همانند مغز انسان بازخورد مثبت یاد بگیرد پاسخهای درست و نادرست کدامند. سیستم شبکه عصبی این کار را از طریق ارزشگذاری کمی برای ارتباطات سیگنالها بین نرونها انجام میدهد مکانیسم ارزشگذاری توسط مقاومتها با تقویت یا تضعیف پالسها انجام میشود.چون شبکه های عصبی میلیونها نرون دارند خرابی تعدادی از آنها تاثیر چندانی برعملکرد سیستم نمی گذارد تا کنون چند سیستم آزمایشی با استفاده از این اصول طراحی و ساخته شده اند مثلاًدر بررسی
های زیست محیطی، شبکه های عصبی برای جمع آوری و تحلیل اطلاعاتی که از راه دور حس شده اند مورد استفاده قرار می گیرند اطلاعاتی که اغلب سفینه ها مخابره می کنند بسیار حجیم است.شبکه های عصبی این اطلاعات را به راحتی دسته بندی کرده وپس از جمع آوری اطلاعات ذهنی و تجسمی نتایج جالبی به دست می آورند
(مثلاًتشخیص انواع خاصی از ابرها) البته این فرایند با آنچه سیستم های خبره انجام می دهند متفاوت است زیرا این سیستم ها ابزارهای تصمیم سازی هستند و می توانند حجم زیادی از اطلاعات را به سرعت تحلیل کنند شبکه های عصبی برای مدل سازی فرایندهای فکری-مغزی که زمینه ی دیگری برای مطالعات حساس به اطلاعات و پیچیدگی است مورد استفاده قرار گرفته است .
به سوی آینده
هوش مصنوعی هنوز راه درازی در پیش دارد؛شبکه سازی عصبی (که با اغماض ارتباط گرایی هم نامیده می شود)در سالهای اخیر تغییرات عمده ای را شاهد بوده است .به عنوان نمونه برخی پژوهشگران پیش بینی میکنند به کمک تکنولوژی نرم افزاری جدید شبکه های عصبی با کامپیوترهای شخصی ترتیب داده خواهند شد و پیش بینی بازار سهام را ممکن خواهند کرد افرادی که درباره ی
هوش مصنوعی وتوانایی های آن مرددند اظهار می دارند اگر هوش مصنوعی محقق شود ناچار است از دنیای منطقی،قانونمند ونمادین کامپیوترهای دیجیتال خارج شوند و به دنیای مبهم (حاصل از منطق فازی)شبکه های عصبی که مبتنی بر سیستم گسترده ی یاد گیری بازخوردی هستند پا بگذارد .
امروزه نگرش تازه ای نسبت به هوش مصنوعی ایجاد شده است که در بسیاری از آزمایشگاهها تحت بررسی است :دانشمندان سعی می کنند دریابند آیا مجموعه ای از روباتهای نیمه هوشمندمی توان یک هوش جمعی ایجاد کنند به گونه ای که از اعضای تشکیل دهنده اش باهوش تر باشد.
هوش مصنوعی (artificial intelligence) را باید عرصه پهناور تلاقی و ملاقات بسیاری از دانشها، علوم، و فنون قدیم و جدید دانست. ریشهها و ایدههای اصلی آن را باید در فلسفه، زبانشناسی، ریاضیات، روانشناسی، نورولوژی، و فیزیولوژی نشان گرفت و شاخهها، فروع، و کاربردهای گونهگونه و فراوان آن را در علوم رایانه، علوم مهندسی، علوم زیستشناسی و پزشکی، علوم ارتباطات و زمینههای بسیار دیگر.
این شاخه از علوم بسیار گسترده و متنوع است و از موضوعات و رشتههای مختلف علوم و فناوری، مانند سازوکارهای ساده در ماشینها شروع شده، و به سیستمای خبره ختم میشود. هدف هوش مصنوعی بطور کلی ساخت ماشینی است که بتواند «فکر» کند. اما برای دسته بندی و تعریف ماشینهای متفکر، میبایست به تعریف «هوش» پرداخت. همچنین به تعاریفی برای «آگاهی» و «درک » نیز نیازمندیم و در نهایت به معیاری برای سنجش هوش یک ماشین نیازمندیم.
تاریخچهنام هوش مصنوعی در سال 1965 میلادی به عنوان یک دانش جدید ابداع گردید. البته فعالیت درزمینه این علم از سال 1960 میلادی شروع شده بودتعریفهنوز تعریف دقیقی که مورد قبول همه دانشمندان این علم باشد برای هوش مصنوعی ارائه شدهاست.اما اکثر تعریفهایی که در این زمینه ارایه شدهاند بر پایه یکی از 4 باور زیر قرار میگیرند:1 سیستمهایی که به طور منطقی فکر میکنند .2 سیستمهایی که به طور منطقی عمل میکنند .3 سیستمهایی که مانند انسان فکر میکنند. 4 سیستمهایی که مانند انسان عمل میکنند.
شاید بتوان هوش مصنوعی را این گونه توصیف کرد:«هوش مصنوعی عبارت است از مطالعه این که چگونه کامپیوترها را میتوان وادار به کارهایی کرد که در حال حاضر انسانها آنها رابهتر انجام میدهند»
به یاری پژوهشهای گسترده دانشمندان علوم مرتبط، هوش مصنوعی از آغاز پیدایش تاکنون راه بسیاری پیمودهاست. در این راستا، تحقیقاتی که بر روی توانایی آموختن زبانها انجام گرفت و همچنین درک عمیق از احساسات، دانشمندان را در پیشبرد این علم، یاری کردهاست. یکی از اهداف متخصصین، تولید ماشینهایی است که دارای احساسات بوده و دست کم نسبت به وجود خود و احساسات خود آگاه باشند. این ماشین باید توانایی تعمیم تجربیات قدیمی خود در شرایط مشابه جدید را داشته و به این ترتیب اقدام به گسترش دامنه دانش و تجربیاتش کند.برای نمونه به رباتی هوشمند بیاندیشید که بتواند اعضای بدن خود را به حرکت درآورد، او نسبت به این حرکت خود آگاه بوده و با سعی و خطا، دامنه حرکت خود را گسترش میدهد، و با هر حرکت موفقیت آمیز یا اشتباه، دامنه تجربیات خود را وسعت بخشیده و سر انجام راه رفته و یا حتی میدود و یا به روشی برای جابجا شدن، دست مییابد، که سازندگانش، برای او، متصور نبودهاند.هر چند مثال ما در تولید ماشینهای هوشمند، کمی آرمانی است، ولی به هیچ عنوان دور از دسترس نیست. دانشمندان، عموما برای تولید چنین ماشینهایی، از تنها مدلی که در طبیعت وجود دارد، یعنی توانایی یادگیری در موجودات زنده بخصوص انسان، بهره میبرند.آنها بدنبال ساخت ماشینی مقلد هستند، که بتواند با شبیهسازی رفتارهای میلیونها یاخته مغز انسان، همچون یک موجود متفکر به اندیشیدن بپردازد.
مباحث هوش مصنوعی پیش از بوجود آمدن علوم الکترونیک، توسط فلاسفه و ریاضی دانانی نظیر بول (Boole) که اقدام به ارائه قوانین و نظریههایی در باب منطق نمودند، مطرح شده بود. در سال 1943، با اختراع رایانههای الکترونیکی، هوش مصنوعی، دانشمندان را به چالشی بزرگ فراخواند. بنظر میرسید، فناوری در نهایت قادر به شبیه سازی رفتارهای هوشمندانه خواهد بود.
با وجود مخالفت گروهی از متفکرین با هوش مصنوعی که با دیده تردید به کارآمدی آن مینگریستند تنها پس از چهار دهه، شاهد تولد ماشینهای شطرنج باز و دیگر سامانههای هوشمند در صنایع گوناگون هستیم.
هوش مصنوعی که همواره هدف نهایی دانش رایانه بودهاست، اکنون در خدمت توسعه علوم رایانه نیز میباشد. زبانهای برنامه نویسی پیشرفته، که توسعه ابزارهای هوشمند را ممکن میسازند، پایگاههای دادهای پیشرفته، موتورهای جستجو، و بسیاری نرمافزارها و ماشینها از نتایج پژوهشهای هوش مصنوعی بهره میبرند.در سال 1950 آلن تورینگ) َAlain (Turing، ریاضی دان انگلیسی، معیار سنجش رفتار یک ماشین هوشمند را چنین بیان داشت: «سزاوارترین معیار برای هوشمند شمردن یک ماشین، اینست که آن ماشین بتواند انسانی را( و حتی یک محقق) توسط یک پایانه (تله تایپ) به گونهای بفریبد که آن فرد ( و حتی یک محقق) متقاعد گردد با یک انسان روبروست.»
در این آزمایش شخصی از طریق 2 عدد پایانه (رایانه یا تله تایپ) که امکان برقراری ارتباط و گپزنی را برای وی فراهم میکنند با یک انسان و یک ماشین هوشمند، بطور همزمان به پرسش و پاسخ میپردازد. در صورتی که وی نتواند ماشین را از انسان تشخیص دهد، آن ماشین، هوشمند است. خلاصه ابنکه مورد تحقیق قرار گیرد و محقق نتواند دریابد در آن طرف انسان قرار دارد یا کامپیوتر.آزمایش تورینگ از قرار دادن انسان و ماشین بطور مستقیم در برابر یکدیگر اجتناب میکند و بدین ترتیب، چهره و فیریک انسانی مد نظر آزمایش کنندگان نمیباشد. ماشینی که بتواند از پس آزمون تورینگ برآید، از تفکری انسانی برخوردار است.
آزمایش تورینگ مدل سازی نحوه تفکر انسان، تنها راه تولید ماشینهای هوشمند نیست. هم اکنون دو هدف برای تولید ماشینهای هوشمند، متصور است، که تنها یکی از آن دو از الگوی انسانی جهت فکر کردن بهره میبرد:• سیستمی که مانند انسان فکر کند. این سیستم با مدل کردن مغز انسان و نحوه اندیشیدن انسان تولید خواهد شد و لذا از آزمون تورینگ سر بلند بیرون میآید. از این سیستم ممکن است اعمال انسانی سر بزند. • سیستمی که عاقلانه فکر کند. سامانهای عاقل است که بتواند کارها را درست انجام دهد. در تولید این سیستمها نحوه اندیشیدن انسان مد نظر نیست. این سیستمها متکی به قوانین و منطقی هستند که پایه تفکر آنها را تشکیل داده و آنها را قادر به استنتاج و تصمیم گیری مینماید. آنها با وجودی که مانند انسان نمیاندیشند، تصمیماتی عاقلانه گرفته و اشتباه نمیکنند.
این ماشینها لزوما درکی از احساسات ندارند. هم اکنون از این سیستمها در تولید عاملها در نرم افزارهای رایانهای، بهره گیری میشود. عامل تنها مشاهده کرده و سپس عمل میکند. Agent قادر به شناسایی الگوها، و تصمیم گیری بر اساس قوانین فکر کردن خود است. قوانین و چگونگی فکر کردن هر Agent در راستای دستیابی به هدفش، تعریف میشود. این سیستمها بر اساس قوانین خاص خود فکر کرده و کار خودرا به درستی انجام میدهند. پس عاقلانه رفتار میکنند، هر چند الزاما مانند انسان فکر نمیکنند.
با وجودی که برآورده سازی نیازهای صنایع نظامی، مهمترین عامل توسعه و رشد هوش مصنوعی بودهاست، هم اکنون از فراوردههای این شاخه از علوم در صنایع پزشکی، رباتیک، پیش بینی وضع هوا، نقشهبرداری و شناسایی عوارض، تشخیص صدا، تشخیص گفتار و دست خط و بازیها و نرم افزارهای رایانهای استفاده میشود.
حال در اینجا برای آشنایی، مطالبی در مورد سیستم های خبره،الگوریتم ژنتیك ومنطق فازی مطرح می کنیم وسپس به بررسی شبکه های عصبی می پردازیم.
تاریخچه و تعاریف سیستمهای خبرهریشه اصلی سیستم های خبره یا سیستم های مبتنی بر دانش (KBS) به حوزه مطالعاتی به نام هوش مصنوعی (AI) برمیگردد وسیستم های خبره موجودیت خود را مدیون هوش مصنوعی هستند یکی از بزرگان هوش مصنوعی- ماروین مینسکی- آن را چنین تعریف می کند: «هوش مصنوعی ،حوزه مطالعاتی است که سعی در ایجاد سیستم هایی دارد که به نظر افراد هوشمند هستند.»
سیستم مبتنی بردانش (knowledge base system ) شامل عملگرهایی است که مشخص می کنند چطور یک سیستم از یک وضعیت می تواند به وضعیت بعد ونهایتاً بسوی وضعیت هدف پیش رود . در این راستا برای ایجاد یک برنامه هوشمند ، آن برنامه باید با کیفیت بالا به نحوی که دانش خاص در حوزه آن مسأله ومرتبط با آن باشد طراحی گردد. یکی از پر استفاده ترین برنامه های کاربردی هوش مصنوعی، سیستمهای خبره میباشد. یک KBIS یک پایگاه دانش را به اجزای اصلی شناخته شده در انواع دیگر سیستمهای اطلاعاتی کامپیوتری اضافه میکند. یک ES یک سیستم اطلاعاتی مبتنی بر دانش(KBIS) است که دانش خود را در یک حوزه کاربردی پیچیده و خاص بکار میبرد و به عنوان یک مشاور متخصص برای کاربر نهایی عمل
میکند. سیستمهای خبره به سوالاتی در زمینه مشکلات و مسائل خاص بوسیله استنباطی نظیر استنباط انسان در حوزه دانشی که در آن متخصص است، جواب میدهد. سیستمهای خبره باید قادر باشند که فرایند استدلال و نتیجه گیری خود را برای کاربر نهایی توضیح دهند.( O`Brien, 2000 ). زمانی که سازمان با مشکلات پیچیده مواجه است، غالبا از خبره ها برای مشاوره استفاده میکند. این خبره ها ، دانشی خاص و تجربه ای خاص در یک حوزه خاص دارند . آنها گزینه ها ، میزان شانس موفقیت، و منافع و مضار تجاری را می شناسند . سازمانها افراد خبره را برای موقعیتهای غیر ساختارمند جمع میکنند. در واقع سیستم خبره سعی دارد تا از متخصصین انسانی تقلید کند . نوعا سیستم خبره عبارت است از یک پکیج نرم افزاری برای تصمیم گیری که میتواند به سطح یک متخصص (حتی جلوتر) در حل مسایل در حوزه خاص برسد(.Turban, 2000)
سیستم خبره یک برنامه کامپیوتری مبتنی بر دانش است که تخصص انسانی را در حوزه ای محدود کسب میکند.(Lauden & Lauden,2000 ). بعضی از تعاریف سیستم های خبرهسیستم خبره یک سیستم رایانه ای است که با استفاده از دانش،حقایق وروش های استدلالی ، مسائلی را حل می کند که نیاز به توانایی افراد خبره دارند.
یک سیستم خبره یک سیستم رایانه ای است که توانایی تصمیم گیری یک فرد خبره را «تقلید» میکند. اصطلاح تقلید یعنی انجام کارهایی که یک فرد خبره انجام میدهد واین امر با شبیه سازی اعمال یک خبره تفاوت زیادی دارد. سیستم خبره یک برنامه هوش مصنوعی است که برای حل مسائل ومشکلات مربوط به یک حوزه خاص تهیه شده باشد. سیستم خبره یک برنامه رایانه ای است که بااستفاده از دانش و رویه ها در حل مسائل مشکل ، همانند یک انسان متخصص وخبره عمل میکند. تاریخچه سیستم های خبره
بعد از سال های 1950 میلادی ، محققین هوش مصنوعی سعی نمودند روش هایی برای حل مسئله بر اساس استدلال های بشر،ارائه نمایند . چنین پروژه ای در سال 1976به وسیله نوول و سایمون توسعه یافت که به عنوان الگوریتم های حل مسائل عمومی یا GPS شناخته شد. یکی از کمبودهای راه حل مسائل عمومی این بود که اندازه مسئله بزرگ شد . بنابراین فضای جستجو به وجود آمده به طور قابل توجهی رشد کرد بنابراین تنها با ساخت برنامه هایی که کمتر عمومی هستند و تمرکز روی دانش خاص مسئله ، می توانیم این قبیل فضای جستجو را کاهش دهیم .
از این رو یک عرصه جدید برای تحقیق در سال 1970پدیدار شد و واترمن(1986)یک برنامه هوشمند به عالیترین کیفیت و دانش مشخص در دامنه مسئله ایجاد نمود که لنات و گودها بعداً در سال 1991 آن را اصل دانش نامیدند . آن ها این مسئله را به شرح زیر بیان کردند: اگر برنامه ای کار پیچیده ای را به خوبی اجرا کند،آن برنامه می بایست راجع به محیطی که در آن عمل می کند ،
دانسته هایی داشته باشد . نبود دانش،همه آنچه که مشخص می شود بر اساس جستجو و استدلال است که کافی نیست. از زمانیکه اولین محصول پایگاه دانش پدیدار شد ، یک شاخص در محدوده های زندگی واقعی به حساب می آمد . مانند تشخیص بیماری های عفونی و یا پیشگویی ذخایر معدنی در مناطق جغرافیایی مختلف دنیا ، این تاریخچه ای از آزمایش بر روی مسائل زندگی واقعی بود تا بفهمیم که آیا تصورات با سعی و تلاش قابل دسترس هستند یا خیر؟
سیستم DENDRAL اولین سیستم در این دسته بود که ساخته شد . کار روی این سیستم در سال 1965 میلادی با مدیریت ادوارد فیگن باوم شروع شد.این سیستم به این دلیل به کار گرفته شد تا ساختارهای شیمیایی ذرات ناشناخته را معین کند.این سیستم ها برای حل مسائلی به کار برده شدند که نیاز به سرویس دهی یک خبره داشتند بنابراین به عنوان سیستم های خبره شناخته شدند.همچنین این سیستم ها به عنوان سیستم های مبتنی بر دانش یا سیستم های دانش، شناخته می شوند.
الگوریتم ژنتیكهمانطور كه میدانید، یكی از زیر شاخههای Soft computing، الگوریتم ژنتیك (GA) است كه تكامل طبیعی موجودات را الگو قرار میدهد. Genetic algorithm مانند دیگر شاخههای Soft computing ریشه در طبیعت دارد. این روش تقلیدی از فرایند تكامل با استفاده از الگوریتمهای كامپیوتری است. اساسیترین اصل تكامل، وراثت است. هر نسل، خصوصیات نسل قبلی را به ارث میبرد و به نسل بعد انتقال میدهد. این انتقال خصوصیات از نسلی به نسل بعد توسط ژنها صورت میگیرد.
درطبیعت، فرایند تكامل زمانی اتفاق میافتد كه شرایط زیر موجود باشد: An entity has the ability to reproduce 1. There is a population of such self- reprodcing entities 2. 3.There is some variety among Self-reproducing entities
جهانی كه در آن زندگی میكنیم دائماً در حال تغییر است. برای بقا در این سیستم پویا، افراد باید توانایی داشته باشند كه خود را با محیط، سازگار كنند. Fitness یا سازگاری یك موجود زنده به عنوان درجهی سازگاری آن با محیط تعریف میشود.
Fitness یك موجود تعیین میكند كه آن موجود چه مقدار زنده خواهد ماند و چقدر شانس دارد تا ژنهای خود را به نسل بعد انتقال دهد. در تكامل بیولوژیكی، فقط برندهها هستند كه میتوانند در فرایند تكامل شركت كنند. خصوصیات هرموجود زنده، در ژنهایش، كدگذاری شده است و طی فرایند وراثت، این ژنها به فرزندان (یا همان offspring) منتقل میشوند. یك مثال جالب در نظریهی تكامل، تكامل تدریجی زرافهها در طول تاریخ میباشد. میلیونها سال پیش، زرافههای ابتدایی قد نسبتاً كوتاهی داشتند؛ همانطور كه میدانیم غذای زرافهها برگ درختان است. زرافههایی كه قد كوتاهتری داشتند غذای كمتری بدست میآورند. از این رو به مرور توانایی بقا و تولید مثل خود را از دست دادند و نتوانستند ژنهای خود را به نسلهای بعدی منتقل كنند. در عوض زرافههای بلندتر، بقا یافتند و توانستند ژنهای خود را در طول فرایند تولید مثل به نسلهای بعد منتقل كنند. بنابراین زرافههای هر نسل، از نسل قبل بلندتر شدند. با تقلید از فرایند تكامل طبیعی با استفاده از الگوریتمهای كامپیوتری، محققین توانستند از توانایی بالای فرایند تكامل در حل مسائل، الگو برداری كنند. بهترین این روشها، ژنتیك الگوریتم (Genetic Algorithm) است.
الگوریتم ژنتیك، روشی برای حل مسائل بهینهسازی است. الگوریتم ژنتیك (GA) ابتدا یك جمعیت اولیه از جوابها را به صورت تصادفی در نظر میگیرد و مرتباً جمعیت جوابها را اصلاح میكند و در هر مرحله ما جوابهای بهتری نسبت به مرحلهی قبل داریم. با گذشت نسلهای متمادی، جمعیت جوابها به سمت یك جواب بهینه میل میكند.
Genetic Algorithm در حالت كلی از ساختار زیر پیروی میكند:1ـ یك جمیعت اولیه (یا همان initial population) از جوابها به صورت تصادفی (random) انتخاب میشوند.2ـ برای هریك از جوابها، یك تابع سازگاری (Fitness function) تعریف میشود.3ـ نسل بعدی از جوابها با روشهای خاص پدید میآید كه این روشها را در ادامه توضیح میدهیم. تا زمانی كه جوابها، به یك جواب بهینه همگرا نشود این پروسه ادامه پیدا میكند.
حالا با یك مثال با روش كار Genetie Algorithm بیشتر آشنا میشویم. فرض كنید میخواهیم مینیمم تابع زیر را دربازهی زیر بدست آوریم.
این تابع مینیممهای محلی زیادی دارد ولی با این حال فقط یك مینیمم مطلق دارد كه در نقطهی [0,0] قرار دارد. همانطور كه مشاهده میكنیم مقدار تابع در این نقطه صفر است. هر چه مینیمم محلی از مركز دورتر باشد مقدار تابع در آنجا بیشتر است.
برای حل این مسئله توسط Genetic Algorithm ابتدا ما باید یك جمعیت اولیه (Initial population) را تهیه كنیم. معمولترین روش برای تهیه این جمعیت اولیه روش random است. مثلاً در این مثال 20 زوج مرتب x2,x1 را به صورت تصادفی در فضای جستجو انتخاب میكنیم. كه این نقاط در واقع جمعیت اولیه را تشكیل میدهند.
به نمایش هر یك از جوابهای مسئله كروموزوم (Chromosome) میگویند. هر كروموزوم یك نقطه را در فضای جستجو نشان میدهد. برای مثال مینیمم، میتوان هر كروموزوم را به صورت زیر نشان داد. در این مثال هر كروموزوم به دو قسمت تقسیم شده است كه قسمت اول مربوط به متغیر x1 و قسمت دوم مربوط به متغیر x2 میباشد. برای استفادهی كامپیوتری باید هر یك از متغیرهای x2,x1 را به صورت binary نشان دهیم. كه در شكل برای هر كدام یك array8 بیتی در نظر گرفته شده است. به هر یك از این بیتها، ژن گویند. X2 X1
تابع سازگاری(FitnessFunction) Fitness Function معیاری است برای درجهی سازگاری یك كروموزم. یعنی هر چه درجهی سازگاری یك كروموزوم بهتر باشد، آن كروموزوم شانس بیشتری برای بقا و تولید مثل دارد. در این مثال ساده Fitness Function خود تابع است و هر چه مقدار آن برای یك كروموزوم كمتر باشد، آن كروموزوم شانس بیشتری برای بقا و تولید مثل دارد. پس از اینكه Fitness هر كروموزوم مشخص شده، باید
تعدادی از جوابها را به عنوان والدین (parents) برای تولید نسل بعد انتخاب كرد. این انتخاب با روشهای مختلفی انجام میشود. یكی ازمعمولترین روشها آن است كه در آن، شانس انتخاب شدن هر كروموزوم به عنوان parent متناسب است با درجهی Fitness آن كروموزوم. یعنی كروموزومهایی كه Fitness بهتری دارند به همان نسبت شانس بیشتری برای انتخاب شدن به عنوان parent دارند. پس ازآنکه parentها انتخاب شدند با اپراتورهای زیر نسل بعدی ایجاد میشوند.
1) Elitism(نخبهگزینی): بهترینهای هر نسل با توجه به درجه Fitnessشان مستقیماً به نسل بعدی منتقل میشوند. این كار برای آن است كه مطمئن باشیم بهترین جواب ما در نسل بعدی نسبت به نسل قبل بدتر نشود.2)Corss-over: هدف از Cross-over تولید فرزندان (Offspring) از دو parent است در طی این فرایند بعضی از ژنهای دو parent با هم عوض میشوند. تضمینی نیست كه درجهی Fitness فرزندان بهتر از والدین باشد. در واقع هدف از Cross-over فقط تغییر دادن جوابها و حركت در فضای جستجو است.
بعضی از نمونههای مختلف Cross-over را در شكل بالا مشاهده میكنید.Mutation(جهش ژنتیكی)در mutation بعضی از ژنهای یك كروموزوم عوض میشود. در واقع با این كار گوناگونی ژنتیكی یك جمعیت افزایش پیدا میكند و از همگرایی به جوابهای نادرست جلوگیری میشود. Mutation معمولاً در كروموزومهایی اتفاق میافتد كه درجه Fitness خوبی ندارند. چون اگر در جوابهای خوب اتفاق بیافتد ممكن است درجهی Fitness آنها را كاهش دهد. بعضی از نمونههای مختلف mutation را در شكل میبینید.
به همین صورت نسلهای بعدی با استفاده از اپراتورهای Mutation, Cross-over ,Elitism از نسل قبل ایجاد میشود و در نهایت جواب ما به یك جواب بهینه میل میكند. Genetic Algorithm كاربردهای زیادی درمهندسی نفت و بخصوص در حل مسائل بهینهسازی دارد. كه یك مثال ساده را بررسی میكنیم. این میدان نفتی را در نظر بگیرید. فرض كنید 5 تا چاه داریم كه با دایرههای سیاه مشخص شدهاند. نقاط x1تا x5 نشان دهندهی مكانهای منتخب برای water injection میباشند.
مسئلهی بهینهسازی كه در اینجا مطرح است این است كه injection rate در هر یك از نقاط x1 تا x5 چقدر باشد تا در نهایت ماكزیمم تولید از كل میدان را داشته باشیم. به مقدار تولید كل میدان NPV (یا Net present value) نیز گویند. برای هر یك از چاههای تزریقی، (یعنی نقاط x1 تا x5) میتوانیم rateای بین 0 تا یك مقدار ماكزیمم (مثلاً Day/bbl 20000) در نظر بگیریم. در این صورت
متغیرها روی یك فضای پیوسته تعریف میشوند كه میتوان مسئله را با روشها Classical optimization حل نمود. ولی اگر چاهها، حالت تزریق یا عدم تزریق داشته باشند یا آنكه فقط بتوان با چند rate مشخص تزریق كرد؛ مثلاً (0, 5000, 10000, 15000, 20000 Day/bbl) در اینصورت متغیرها روی یك فضای گسته قرار میگیرند. این فضای گسسته نه تنها مسئله را ساده نمیكند بلكه بر عكس كاملاً مسئله را پیچیده میكند. زیرا نمیتوان آن را با روشهای مؤثر Classical Optimization حل نمود. از ریاضیات گسسته به یاد داریم كه برای مسئلهی تزریق با عدم تزریق 5 چاه تعداد كل تعداد حالات ممكن 25 حالت است. در این Case تعداد حالات، محدود است و میتوان مسئله را به سادگی با محاسبهی N.P.V درتمام حالات ممكن حل نمود. ولی این حالت را در نظر بگیرید. فرض كنید 25 نقطه دارای پتانسیل انتخاب شدن برای تزریق وجود دارد و ما حداكثر میتوانیم 4 تا از این نقاط را به عنوان چاه تزریقی انتخاب كنیم. در این حالت، باید 15276 حالت را
بررسی كنیم. و اگر تعداد ماكزیمم چاههایی را كه میتوانیم برای تزریق انتخاب كنیم، از 4 به 6
افزایش دهیم، تعداد حالات موجود به 245506 حالت میرسد. حتی در این حالت هم با روشهای مدرن محاسباتی میتوان مسئله را حل كرد. البته به شرطی كه برای هر یك از حالات، بتوان NPV را به راحتی بدست آورد. اما در عمل برای بدست آوردن NPV باید از 3D-Simulator ها استفاده كنیم كه بسیار زمان براست. پس به كارگیری روشهای جدیدتر مانند Genetic Algorithm امری ضروری به نظر میرسد. حالا یك حالت ساده از مثال قبل را در نظر بگیرید. فرض كنید دو نقطه برای injection داریم كه هر یك از این نقاط میتواند با 20 rate مختلف تزریق شود. (,3000,2000,1000,0 ; تا 20000 Day/bbl)
در این شكل مقدار NPV را به ازای rateهای مختلف تزریق در نقاط 1و 2 میبینیم. ارتفاع هر نقطه روی صفحه، از صفحهی x1-x2 میزان NPV میدان را نشان میدهد. توجه كنید كه افزایش rateهای چاههای 1و 2 اثر بسیار پیچیده و غیر قابل پیشبینی روی NPV دارند. این سطح Multimodal است، یعنی برآمدگیها یا Peakهای زیادی دارد. مثلاً Peak B, Peak Aكه البته همانطور كه میبینید Peak A جواب بهینهی مسئله است زیرا مقدار NPV در این نقطه ماكزیمم است.
هیچ روش بهینهسازی وجود ندارد كه تضمین كند Peak A به عنوان جواب مسئله یافته شود. بجز آنكه تمام حالات مختلف بررسی شود كه عملاً همانطور كه گفتیم امكانپذیر نیست. روش بسیار قدرتمندی كه در این گونه مسائل موفقیت زیادی را كسب كرده، الگوریتم ژنتیك است. Genetic Algorithm با انتخاب N نقطه برای جستجو روی این سطح، شروع به كار میكند. كه هر نقطه به صورت مؤثری در محدوده خود، عملیات جستجو را انجام میدهد.
میتوانیم این جمعیت از نقاط را به صورت برادههای آهن در نظر بگیریم كه روی یك صفحه پخش شدهاند. Peakهای روی سطح مانند آهنربا عمل میكنند. هر چه ارتفاع Peak بیشتر باشد، قدرت جذب آن بیشتر است. در طول فرایند جستجو، هر یك از برادهها به نزدیكترین Peak، كه آن را جذب میكند، جذب میشود. اگر تعدادی Peak با قدرت جذب یكسان داشته باشیم، حداقل چند تا از برادهها به سمت هر Peak جذب میشوند. اما اگر یكی از Peak ها به نسبت بقیه، قدرت جذب بسیار بیشتری داشته باشد، (مثلاً در اینجا Peak A) تمام نقاط را به سمت خود جذب میكند و جواب بهینه برای مسئله بدست میآید.
مقدمه ای بر سیستم های فازی وکنترل فازیچرا سیستمهای فازی
واژه «فازی» در فرهنگ لغت آكسفورد بصورت «مبهم، گنگ، نادقیق، گیچ، مغشوش، درهم و نامشخص» تعریف شده است. که در اینجا از همان واژه «فازی» استفاده میكنیم. سیستمهای فازی، سیستمهایی هستند با تعریف دقیق و كنترل فازی نیز نوع خاصی از كنترل غیرخطی
میباشد كه آن هم دقیقاً تعریف میگردد. این مطلب مشابه كنترل و سیستمهای خطی میباشد كه واژه خطی یك صفت فنی بوده كه حالت و وضعیت سیستم و كنترل را مشخص میكند. چنین چیزی در مورد واژه فازی نیز وجود دارد. اساساً گرچه سیستمهای فازی پدیدههای غیرقطعی و نامشخص را توصیف میكنند، با این حال خود تئوری فازی یك تئوری دقیق میباشد. در این متن، دو نوع توجیه برای تئوری سیستمهای فازی وجود دارد: 1)دنیای واقعی ما بسیار پیچیدهتر از آن است كه بتوان یك توصیف و تعریف دقیق برای آن بدست آورد، بنابراین باید یك توصیف تقریبی یا همان فازی كه قابل قبول و قابل تجزیه و تحلیل باشد، برای یك مدل معرفی شود.
2)با حركت ما بسوی عصر اطلاعات، دانش و معرفت بشری بسیار اهمیت پیدا میكند. بنابراین ما به فرضیهای نیاز داریم كه بتواند دانش بشری را به شكلی سیستماتیك فرموله كرده و آن را به همراه سایر مدلهای ریاضی در سیستمهای مهندسی قرار دهد.
توجیه اول گرچه درست است، با این حال طبیعت واحدی را برای تئوری سیستمهای فازی مشخص نمیكند. در حقیقت تمامی نظریههای علوم مهندسی، دنیای واقعی را به شكلی تقریبی، توصیف میكنند. بعنوان مثال در عالم واقعی تمامی سیستمها بصورت غیرخطی میباشند ولی تقریباً تمامی مطالعات و بررسیها بر روی سیستمهای خطی میباشد. یك تئوری مهندسی خوب از یكسو باید بتواند مشخصههای اصلی و كلیدی دنیای واقعی را توصیف كرده و از سویی دیگر قابل تجزیه تحلیل ریاضی باشد. بنابراین از این جنبه، تئوری فازی تفاوتی با سایر تئوریهای علوم مهندسی ندارد.
توجیه دوم مشخصه واحدی از سیستمهای فازی را توصیف كرده و وجود تئوری سیستمهای فازی را به عنوان یك شاخه مستقل در علوم مهندسی توجیه میكند. بعنوان یك قاعده كلی یك تئوری مهندسی خوب باید قادر باشد از تمامی اطلاعات موجود به نحو موثری استفاده كند.
در سیستمهای عملی اطلاعات مهم از دو منبع سرچشمه میگیرند. یكی از منابع افراد خبره میباشند كه دانش و آگاهیشان را در مورد سیستمهای با زبان طبیعی تعریف میكنند. منبع دیگر اندازهگیریها و مدلهای ریاضی هستند كه از قواعد فیزیكی مشتق شدهاند. بنابراین یك مسئله مهم تركیب این دو نوع اطلاعات در طراحی سیستمها است. برای انجام این تركیب سوال كلیدی این است كه چگونه میتوان دانش بشری را در چهارچوبی مشابه مدلهای ریاضی فرموله كرد. به
عبارت دیگر سوال اساسی این است كه چگونه میتوان دانش بشری را به یك فرمول ریاضی تبدیل كرد. اساساً آنچه كه یك سیستم فازی انجام میدهد، همین تبدیل است. برای اینكه بدانیم این تبدیل چگونه صورت میگیرد، ابتدا باید بدانیم سیستمهای فازی، چگونه سیستمهایی هستند.سیستمهای فازی چگونه سیستمهایی هستند؟
سیستمهای فازی، سـستمهای مبتنی بر دانش یا قواعد میباشند. قلب یك سیستم فازی یك پایگاه دانش بوده كه از قواعد اگر ـ آنگاه فازی تشكیل شده است. یك قاعده اگرـ آنگاه فازی یك عبارت اگر ـ آنگاه بوده كه بعضی كلمات آن بوسیله توابع تعلق پیوسته مشخص شدهاند.یك سیستم فازی از مجموعهای از قواعد اگرـ آنگاه فازی ساخته می شود. بطور خلاصه، نقطه شروع ساخت یك سیستم فازی بدست آوردن مجموعهای از قواعد اگرـ آنگاه فازی از دانش افراد خبره یا دانش حوزه مورد بررسی میباشد. مرحله بعدی تركیب این قواعد در یك سیستم واحد است. سیستمهای فازی مختلف از اصول و روشهای متفاوتی برای تركیب این قواعد استفاده میكنند.
بنابراین سوال اساسی این است، چه نوع سیستمهای فازی معمولاً استفاده میشود؟در كتب و مقالات معمولاً از سه نوع سیستم فازی صحبت به میان میآید: 1ـ سیستمهای فازی خالص، 2ـ سیستمهای فازی تاكاگیـسوگنو و كانگ (TSK)3ـ سیستمهای با فازیساز و غیرفازیسازسیستمهای فازی كجا و چگونه استفاده میشوند؟
سیستمهای فازی امروزه در طیف وسیعی از علوم و فنون كاربرد پیدا كردهاند، از كنترل، پردازش سیگنال، ارتباطات، ساخت مدارهای مجتمع و سیستمهای خبره گرفته تا بازرگای، پزشكی، دانش اجتماعی و; با این حال بعنوان یكی از مهمترین كاربردهای آن حل مسائل و مشكلات كنترل را میتوان بیان كرد. بنابراین، خود را بر روی تعدادی از مسائل كنترل كه سیستمهای فازی نقش
عمدهای را در آن بازی میكنند، متمركز مینماییم. سیستمهای فازی را میتوان بعنوان كنترلكننده حلقه باز و كنترل كننده حلقه بسته مورد استفاده قرار داد. هنگامی كه بعنوان كنترلكننده حلقه باز استفاده میشود، سیستمفازی معمولاً بعضی پارامترهای كنترل را معین كرده و آنگاه سیستممطابق با این پارامترهای كنترل كار میكند. بسیاری از كاربردهای سیستم فازی در الكترونیك به این دسته تعلق دارند. هنگامی كه سیستم فازی بعنوان یك كنترلكننده حلقه بسته استفاده میشود، در این حالت خروجیهای فرایند را اندازهگیری كرده و بطور همزمان عملیات كنترل را انجام میدهد. كاربردهای سیستمفازی در فرایندهای صنعتی به این دسته تعلق دارند.
زمینههای تحقیق عمده در تئوری فازی
منظور ما از تئوری فازی، تمام تئوریهایی است كه از مفاهیم اساسی مجموعههای فازی یا توابع تعلق استفاده میكنند. تئوری فازی را به پنج شاخه عمده میتوان تقسیم كرد.1ـ ریاضیات فازی، كه در آن مفاهیم ریاضیات كلاسیك با جایگزینی مجموعههای فازی یا كلاسیك توسعه پیدا كرده است.
2ـ منطق فازی و هوش مصنوعی، كه در آن منطق كلاسیك تقریبهایی یافته و سیستمهای خبره براساس اطلاعات و استنتاج تقریبی توسعه پیدا كرده است.3ـ سیستمهای فازی كه شامل كنترل فازی و راهحلهایی در زمینه پردازش سیگنال و مخابرات میباشند.4ـ عدم قطعیت و اطلاعات، كه انواع دیگری از عدم قطعیت را مورد تجزیه و تحلیل قرار می دهد5ـ تصمیمگیریهای فازی كه مسائل بهینهسازی را با محدودیتهای ملایم در نظر میگیرد. البته این پنج شاخه مستقل از یكدیگر نبوده و به شدت به هم ارتباط دارند.
بعنوان مثال كنترل فازی از مفاهیم ریاضیات فازی و منطق فازی استفاده میكند.از نقطه نظر عملی، عمده كاربردهای تئوری فازی بر روی كنترل فازی متمركز شده است. گرچه سیستمهای خبره فازی نیز در زمینه تشخیص پزشكی وجود دارند. بدلیل اینكه تئوری فازی هنوز چه از نظر تئوری و چه از نظر كاربرد در ابتدای راه بسر میبرد، انتظار داریم كاربردهای عملی بسیاری در آینده پیدا كند. تئوری فازی زمینه گستردهای داشته كه موضوعات تحقیق زیادی را در اختیار ما قرار میدهد. تاریخچه مختصری از تئوری و كاربردهای فازیدهه 1960: آغاز تئوری فازی
تئوری فازی بوسیله پروفسور لطفیزاده در سال 1965 در مقالهای به نام«مجموعههای فازی» معرفی گردید. قبل از كار بر روی تئوری فازی لطفیزاده یك شخص برجسته در تئوری كنترل بود. او مفهوم حالت كه اساس تئوری كنترل مدرن را شكل میدهد، توسعه داد. در اوایل دهه 60 او فكر كرد كه تئوری كنترل كلاسیك پیش از حد بر روی دقت تاكید داشته و از این رو با سیستمهای پیچیده نمیتواند كار كند. در سال 1962 چیزی را بدین مضمون برای سیستمهای بیولوژیك نوشت : «ما اساساًَ به نوع جدیدی ریاضیات نیازمندیم، ریاضیات مقادیر مبهم یا فازی كه
توسط توزیعهای احتمالات قابل توصیف نیستند». پس از آن وی ایدهاش را در مقاله «مجموعههای فازی» تجسم بخشید. با پیدایش تئوری فازی، بحث و جدلها پیرامون آن نیز آغاز گردید. بعضیها آن را تائید كرده و كار روی این زمینه جدید را شروع كردند و برخی دیگر نیز این ایراد را وارد میكردند
كه این ایده برخلاف اصول علمی موجود میباشد. با این حال بزرگترین چالش از ناحیه ریاضیدانانی بود كه معتقد بودند تئوری احتمالات برای حل مسائلی كه تئوری فازی ادعای حل بهتر آن را دارد، كفایت میكند. بدلیل اینكه كاربردهای علمی تئوری فازی در ابتدای پیدایش آن مشخص نبود، تفهیم آن از جهت فلسفی كار مشكلی بود و تقریباً هیچیك از مراكز تحقیقاتی تئوری فازی را بعنوان یك زمینه تحقیق جدی نگرفتند.
با وجودی كه تئوری فازی جایگاه واقعی خود را پیدا نكرد، با این حال هنوز محققینی بودند كه در گوشه و كنار دنیا، خود را وقف این زمینه جدید نمودند و در اواخر دهه 1960 روشهای جدید فازی نظیر الگوریتمهای فازی، تصمیمگیریهای فازی و; مطرح گردید.
دهه 1970: تئوری فازی رشد پیداكرد و كاربردهای عملی ظاهر گردید
اگر بگوییم پذیرفته شدن تئوری فازی بعنوان یك زمینه مستقل بواسطه كارهای برجسته پروفسور لطفیزاده بوده، سخن به گزاف نگفتهایم. بسیاری از مفاهیم بنیادی تئوری فازی بوسیله زاده در اواخر دهه 60 و اوایل دهه 70 مطرح گردید. پس از معرفی مجموعهای فازی در سال 1965، او
مفاهیم الگوریتمهای فازی در سال 1968، تصمیمگیریفازی در سال 1970، و ترتیب فازی را در سال 1971 مطرح نمود. در سال 1973 او مقاله دیگری را منتشر كرد به نام«طرح یك راهحل جدید برای تجزیه و تحلیل سیستمهای پیچیده و فرایندهای تصمیمگیری». این مقاله اساس كنترل فازی را بنا كرد. او دراین مقاله مفهوم متغیرهای زبانی و استفاده از قواعد اگرـ آنگاه را برای فرموله كردن دانش بشری معرفی نمود.
رخداد بزرگ در دهه 1970، تولد كنترلكنندههای فازی برای سیستمهای واقعی بود. در سال 1975، ممدانی و آسیلیان چهارچوب اولیهای را برای كنترلكننده فازی مشخص كردند و كنترلكننده فازی را به یك موتور بخار اعمال نمودند. نتایج در مقالهای تحت عنوان «آزمایش در سنتز زبانی با استفاده از یك كنترل كننده فازی »منتشر گردید. آنها دریافتند كه ساخت كنترلكننده فازی بسیار ساده بوده و به خوبی نیز كار می كند.در سال 1978 هولمبلاد و اوسترگارد اولین كنترلكننده فازی را برای كنترلیك فرآیند صنعتی كامل بكار بردند، كنترل فازی كوره سیمان.
در مجموع، پایهگذاری تئوری فازی در دهه 1970 صورت گرفت. با معرفی مفاهیم جدید، تصویر تئوری فازی بعنوان یك زمینه جدید، هر چه بیشتر شفاف گردید. كاربردهای اولیهای نظیر كنترل موتور بخار و كنترل كوره سیمان نیز تئوری فازی را بعنوان یك زمینه جدید مطرح كرد. معمولاً زمینههای تحقیق جدید باید بوسیله مراكز تحقیقاتی و دانشگاهها حمایت گردد. این امر متاسفانه در مورد تئوری فازی اتفاق نیفتاد. ضمن اینكه بسیاری از محققین، زمینه كاری خود را بدلیل عدم پشتیبانی تغییر دادند. این مطالب بویژه در ایالات متحده واقعیت داشت.
دهه 1980: كاربردهای بزرگ
در اوایل دهه 1980 این زمینه از نقطه نظر تئوریك پیشرفت كندی داشت. دراین مدت راهحلها و مفاهیم جدید اندكی معرفی گردید، چرا كه هنوز افراد كمی داشتند روی آن كار میكردند. در واقع كاربردهای كنترل فازی بود كه هنوز تئوری فازی را سرپا نگاه داشته بود.
مهندسان ژاپنی (باحساسیتی كه نسبت به فناوریهای جدید دارند) به سرعت دریافتند كه كنترلكنندههای فازی بسهولت قابل طراحی بوده و در مورد بسیاری مسائل میتوان از آنها استفاده كرد. بدلیل اینكه كنترل فازی به یك مدل ریاضی نیاز ندارد، آن را میتوان در مورد خیلی از سیستمهایی كه بوسیله تئوری كنترل متعارف قابل پیادهسازی نیستند، بكار برد. در سال 1980 سوگنو شروع به ساخت اولین كاربرد ژاپنی فازی نمود، (كنترل سیستم تصفیه آب فوجی) در سال 1983 او مشغول كار بر روی یك ربات فازی شد. ماشینی كه از راه دور كنترل شده و خودش به
تنهایی عمل پارك را انجام میداد. در این سالها یاشانوبو و میاموتو از شركت هیتاچی كار روی سیستم كنترل قطار زیرزمینی سندایی را آغاز كردند. بالاخره در سال 1987 پروژه به ثمر نشست. و یكی از پیشرفتهترین سیستمهای قطار زیرزمینی را در جهان بوجود آورد. در جولای 1987، دومین كنفرانس سیستمهای فازی در توكیو برگزار گردید. این كنفرانس درست سه روز پس از افتتاح قطار زیرزمینی سندایی آغاز بكار كرد. در این كنفرانس هیروتا یك روبات فلزی را به نمایش گذارد كه
پینگپنگ بازی میكرد، یاماكاوا نیز سیستم فازیای را نشان داد كه یك پاندول معكوس را در حالت تعادل قرار میداد. قبل از این رویدادها، تئوری فازی چندان در ژاپن شناخته شده نبود ولی پس از آن موجی از توجه مهندسان، دولتمردان و تجار را فرا گرفت به نحوی كه دراوایل دهه 90 تعداد زیادی از لوازم و وسایلی كه براساس تئوری فازی كار میكردند، در فروشگاهها به چشم میخورد.
دهه 1990: چالشها كماكان باقی است
موفقیت سیستمهای فازی در ژاپن، تعجب محققان را در آمریكا و اروپا برانگیخت. عدهای هنوز به آن خرده میگرفتند. ولی عدهای دیگر از عقیده خود دست برداشته و بعنوان موضوع جدی در دستور كار خود قرار دادند. در فوریه 1992 اولین كنفرانس بینالمللی IEEE در زمینه سیستمهای فازی در ساندیهگو برگزار گردید. این یك اقدام سمبلیك در مورد پذیرفتن سیستمهای فازی بوسیله بزرگترین سازمان مهندسی یعنی IEEE بود. در سال 1993 بخش سیستمهای فازی IEEE گشایش یافت.
از نقطهنظر تئوری سیستمهای فازی و كنترل در اواخر دهه 80 و اوایل دهه 90 رشد چشمگیری پیدا كرد و پیشرفتهایی در زمینه برخی مشكلات اساسی سیستمهای فازی صورت گرفت. بعنوان مثال تكنیكهای شبكه عصبی برای تعیین و تنظیم توابع تعلق استفاده شدند. با وجودی كه تصویر سیستمهای فازی شفافتر شده، با این حال كارهای زیادی هنوز باید انجام شود و بسیاری از راهحلها و روشها در ابتدای راه قرار دارد. ما اعتقاد داریم كه تنها سرمایهگذاری مراكز تحقیقاتی معتبر بر روی افراد مستعد و خلاق میتواند باعث پیشرفتهای عمده در زمینه تئوری فازی شود.
فصل دومشبکه های عصبیمقدمهدر سالیان اخیر شاهد حركتی مستمر، از تحقیقات صرفاًتئوری به تحقیقات كاربردی به خصوص در زمینه پردازش اطلاعات، برای مسایلی كه برای آنها راهحلی موجود نیست و یا به راحتی قابل حل نیستند، بودهایم. با عنایت به این امر علاقه فزایندهای در توسعه تئوریك سیستمهای دینامیكی هوشمند مدل ـ آزاد كه مبتنی بر دادههای تجربی هستندـ ایجاد شده است. «شبكههای عصبی مصنوعی» جز این دسته از سیستمهای دینامیكی قرار دارند كه با پردازش روی دادههای تجربی،
دانش یا قانون نهفته در ورای دادهها را به ساختار شبكه منتقل میكنند به همین خاطر به این سیستمها هوشمند گویند. چرا كه براساس محاسبات روی دادههای عددی یا مثالها،قوانینكلی را فرا میگیرند. این سیستمها در مدلسازی ساختار نروـ سیناپتیكی مغز بشر میكوشند.پیادهسازی ویژگیهای شگفتانگیز مغز در یك سیستم مصنوعی (سیستم دینامیكی ساخته دست بشر) همیشه وسوسهانگیز و مطلوب بوده است. محققینی كه طی سالها در این زمینه فعالیت كردهاند بسیاراند؛ لیكن نتیجه این تلاشها، صرفنظر از یافتههای ارزشمند باور هر چه بیشتر این اصل بوده است كه «مغز بشر دستنیافتنی است». با تاكید بر این نكته كه گذشته از متافیزیك، دور از دسترس بودن ایدهال «هوش طبیعی» را میتوان با عدم كفایت دانش موجود بشر از فیزیولوژی عصبی پذیرفت. باید اذعان داشت كه عالیبودن هدف و كافی نبودن دانش موجود خود سبب
انگیزش پژوهشهای بیشتر و بیشتر در این زمینه بوده و خواهد بود. همچنان كه امروزه شاهد بروز چنین فعالیتهایی در قالب شبكههای عصبی مصنوعی هستیم. اغلب آنهایی كه با چنین سیستمهایی آشنایی دارند،اغراقآمیز بودن نام آنها معترفاند، اگر چه این اغراق بیانگر مطلوبیت و نیز بعضی شباهتهای اینگونه سیستمها با سیستمهای طبیعی است، ولی میتواند تا حدی بین آنچه كه سیستمهای عصبی مصنوعی در اختیار قرار میدهد و آنچه كه از نامشان برمیآید تناقض ایجاد نماید. بنابراین هنگام صحبت در مورد شبكههای عصبی، باید حدود انتظارات،برداشتها، امكانات، و شباهتها را مشخص كرد. قبل از آنكه این حدود را مشخص كنیم، ابتدا ببینیم شبكههای عصبی به چه معنایی هستند.ساختار مغز هر چند مغز یک ساختار پردازشی توزیع شده است لیکن این ساختار به مرور زمان انجام وظایف را تقسیم نموده و هر قسمت آن وظیفه ای را بر عهده گرفته است. در شکل وظیفه بعضی از قسمتهای مختلف آن آمده است.
قسمت نارنجی مربوط به اطلاعات بصری قسمت زرد اعمال صوتی قسمت نیلی و قرمز برای اعمال حسی و حرکتی و ;البته این تقسیم کار لطمه ای به اینکه این سیستم یک ساختار پردازش موازی بزرگ است نمی زند و همچنان این ویژگی و سایر خواص بر آن مترتب است.مغز انسان حاوی بیش از 10 بیلیون سلول عصبی (nerve cells) یا نورون (neuron) است. بطور متوسط هر نورون بوسیله حدود 10.000 سیناپس به نورونهای اطراف خود متصل شده است. این ساختار شبکه ای نورونهای مغز یک ساختار پردازش موازی اطلاعات بسیار گسترده را ایجاد می کند. (در برابر یک کامپیوتر شخصی که با استفاده از یک پردازنده تکی می خواهد همه چیز را پردازش کند.)
در مجموع با اینکه هر یک از سلولهای مغز انسان با فرکانسی در حدود 100هرتز کار می کنند و پردازنده های کامپیوتری با سرعتهایی در حدود مگاهرتز کار می کنند بازهم پردازنده های ساخت بشر در مقایسه با مغز انسان از توانایی های پایینی برخوردازند.از ویژگی های چشمگیر شبکه عصبی مغز می توان به موارد ذیل اشاره نمود:1- خرابی آبرومندانه: در این سیستمها میزان خرابی خروجی سیستم بستگی مستقیم به میزان آسیب وارده به سیستم عصبی دارد و آسیب به قسمتی از مغز مانع از اشکال در عملکرد کل آن نمی شود.
2- امکان یادگیری و تجربه کردن: بهبود عملکرد خودش با استفاده از تجربیات بدست آمده.3- انجام محاسبات سنگین بسیار زیاد بصورت موازی 4- پشتیبان هوشمندی و خودآگاهی فرد است.در نهایت شبکه های عصبی مصنوعی با تقلید از شبکه های عصبی واقعی سعی در تقلید از عملکرد مغز انسان دارد.
ساختار نرون:البته این سخن که ” ANN ها (Artificial Neural Network )در مدلسازی مغز بشر میکوشند ” اغراق آمیز می باشد. دانشمندان هر چه بیشتر در مورد مغز بشر تحقیق می کنند و می آموزند ، بیشتر در می یابند که مغز بشر دست نیافتنی است. در حقیقت در مورد مغز و ساختار سیستم عصبی انسان اطلاعات زیادی بدست آمده است. ولی پیاده سازی ساختاری با پیچیدگی مغز انسان بر اساس اطلاعاتی و تکنولوژی که امروزه وجود دارد غیر ممکن می باشد.ما می توانیم یک نرون عصبی انسان و عملکرد آنرا توسط مدل های ریاضی، مدلسازی کنیم. اشکال زیر ساختار یک نرون طبیعی را نشان می دهد.
هر نرون طبیعی از سه قسمت اصلی تشکیل شده است:1 (soma) بدنه سلول2 (Dendrite) دندریت3 (Axon) اکسون
اجزای تشکیل دهنده نرون های بیولوژیکی
نرون McCulloch-Pittsدندریت ها به عنوان مناطق دریافت سیگنالهای الکتریکی، شبکه هایی تشکیل یافته از فیبرهای سلولی هستند که دارای سطح نا منظم و شاخه های انشعابی بیشمار میباشند. دندریت ها سیگنال های الکتریکی را به هسته سلول منتقل می کنند. بدنه سلول انرژی لازم را برای فعالیت
نرون فراهم کرده و برروی سیگنالهای دریافتی عمل میکند، که با یک عمل ساده جمع و مقایسه با یک سطح آستانه مدل میگردد. اکسون بر خلاف دندریت ها از سطحی هموارتر و تعداد شاخه های کمتری برخوردار می باشد. اکسون طول بیشتری دارد و سیگنالهای الكتروشیمیایی دریافتی از هسته سلول را به نرون های دیگر منتقل میکند. محل تلاقی یک اکسون از یک سلول به دندریتهای سلولهای دیگر را سیناپس میگویند. توسط سیناپسها ارتباطات ما بین نرون ها برقرار میشود. به فضای ما بین اکسون و دندریت ها فضای سیناپسی میگویند.
در حقیقت دندریتها به عنوان ورودی نرون و اکسون به عنوان خروجی و فضای سیناپسی محل اتصال این دو میباشد. زمانیکه سیگنال عصبی از اکسون به نرون ها و یا عناصر دیگر بدن مثل ماهیچه ها میرسد، باعث تحریک آنها میشود.
نرون ها از هر یک از اتصالات ورودی خود یک ولتاژ کم دریافت می کند ( توسط سیگنال عصبی ورودی ) و آنها را با هم جمع میزند. اگر این حاصل جمع به یک مقدار آستانه رسید اصطلاحا نرون آتش می کند و روی اکسون خود یک ولتاژ خروجی ارسال میکند که این ولتاژ به دندریتهایی که به این اکسون متصلاند رسیده و باعث یکسری فعل و انفعالهای شیمیایی در اتصالات سیناپسی میشود و می تواند باعث آتش کردن نرون های دیگر شود. تمامی فعالیتهای مغزی انسان توسط همین آتش کردنها انجام میشود.
حافظه کوتاه مدت انسان جرقه های لحظه ای الکتریکی میباشند و حافظه بلند مدت به صورت تغییرات الکتروشیمیایی در اتصالات سیناپسی دخیره میشود که عمدتا منجر به تغییر یونها می شود.
همانطور که گفته شد ما میتوانیم توسط مفاهیم ریاضی یک نرون طبیعی را مدل کنیم. شکل زیر یک نرون عصبی مصنوعی را نشان میدهد.
نمایی از یک شبکه عصبی مصنوعی
چگونه مغز انسان می آموزد ؟
مسائل زیادی راجع به این که مغز چگونه خود را برای پردازش اطلاعات آموزش می دهد، نا شناخته باقی مانده است بنابر این تئوری های فراوانی وجود دارد. در مغز انسان یک سلول سیگنال ها را از دیگران از طریق یک گروه از ساختار های ریز به نام dendrites جمع آوری می کند سلول عصبی جهش سریع فعالیت الکتریکی را در طول یک پایه بلند و نازک که axon نامیده میشود ، می فرستد که به داخل هزاران شاخه گسترش می یابد و کشیده می شود . در انتهای هر شاخه ، ساختاری
که synapse نامیده می شود این فعالیت را از axon به اثرات الکتریکی تبدیل می کند که فعالیت یک axon به صورت اثرات الکتریکی فعال کننده یا غیر فعال کننده تبدیل می شود که این کار باعث برانگیخته شدن یا آرام شدن سلول های عصبی مرتبط می شود. وقتی یک سلول عصبی پیام های فعال کننده را در یافت می کند، که بطور قانع کننده و وسیعی با پیام های ورودی غیر فعال کننده اش مقایسه شده باشد ،در این زمان این سلول نیز یک جهش از فعالیت الکتریکی را به داخل axon خودش می فرستد.
یاد گیر ی با تغییر تاثیر synapses اتفاق می افتد در نتیجه تاثیر یک سلول بر دیگران تغییر میکند. معنای شبکه های عصبی
شبكههای عصبی را میتوان با اغماض زیاد، مدلهای الكترونیكی از ساختار عصبی مغز انسان نامید. مكانیسم فراگیری و آموزش مغز اساساً بر تجربه استوار است. مدلهای الكترونیكی شبكههای عصبی طبیعی نیز بر اساس همین الگو بنا شدهاند و روش برخورد چنین مدلهایی با مسائل، با روشهای محاسباتی كه بهطور معمول توسط سیستمهای كامپیوتری در پیش گرفته شدهاند، تفاوت دارد. میدانیم كه حتی سادهترین مغزهای جانوری هم قادر به حل مسائلی
هستند كه اگر نگوییم كه كامپیوترهای امروزی از حل آنها عاجز هستند، حداقل در حل آنها دچار مشكل میشوند. به عنوان مثال، مسائل مختلف شناسایی الگو، نمونهای از مواردی هستند كه روشهای معمول محاسباتی برای حل آنها به نتیجه مطلوب نمیرسند. درحالیكه مغز سادهترین جانوران بهراحتی از عهده چنین مسائلی بر میآید. تصور عموم كارشناسان IT بر آن است كه مدلهای جدید محاسباتی كه بر اساس شبكههای عصبی بنا میشوند، جهش بعدی صنعت IT را شكل میدهند. تحقیقات در این زمینه نشان داده است كه مغز، اطلاعات را همانند الگوها
(pattern) ذخیره میكند. فرآیند ذخیرهسازی اطلاعات بهصورت الگو و تجزیه و تحلیل آن الگو، اساس روش نوین محاسباتی را تشكیل میدهند. این حوزه از دانش محاسباتی (computation) به هیچ وجه از روشهای برنامهنویسی سنتی استفاده نمیكند و بهجای آن از شبكههای بزرگی كه بهصورت موازی آرایش شدهاند و تعلیم یافتهاند، بهره میجوید.
یک شبکه عصبی مصنوعی) (Artificial Neural Network (ANN) ایده ای است برای پردازش اطلاعات که از سیستم عصبی زیستی الهام گرفته شده و مانند مغز به پردازش اطلاعات می
پردازد . عنصر کلیدی این ایده ، ساختار جدید سیستم پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهم پیوسته تشکیل شده (neurons)که برای حل یک مسأله با هم هماهنگ عمل می کند.ANN ها ،نظیر انسانها ، با مثال یاد می گیرند . یک ANN برای انجام وظیفه ای مشخص ، مانند شناسایی الگو ها و دسته بندی اطلاعات ، در طول یک پروسه یاد گیری ، تنظیم می شود . در سیستم های زیستی یاد گیری با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است . این روش ANN ها هم می باشد.
شبكههای عصبی چه در بعد آنالیز و توسعه ساختاری و چه در بعد پیادهسازی سختافزاری،از نظر كمی، كیفی و توانایی، در حال رشد پیشرفت میباشد و تكنیكهای مختلف محاسبات عصبی از لحاظ تعداد همچنان در حال افزایش است. فعالیت علمی و كاربردی در مسایل فنیـمهندسی از قبیل سیستمهای كنترلی، پردازش سیگنالها، و شناسایی الگو گسترش یافته است. با اذعان به این مسایل، در این بخش قصد داریم به معنای شبكههای عصبی مصنوعی، حدود انتظارات ما از این شبكهها و شباهتهای آنها با شبكههای واقعی بپردازیم.
هنگامی كه این جملات را مطالعه میكنید در عمل از یك سیستم شبكههای عصبی بیولوژیكی پیچیده، جهت فهم مطالب كتاب استفاده مینمایید. از مغز به عنوان یك سیستم پردازش اطلاعات با ساختار موازی و كاملاً پیچیده كه دو درصد وزن بدن را تشكیل میدهد و بیش از 20 درصد كل اكسیژن بدن را مصرف میكنند برای خواندن، نفس كشیدن، حركت، تفكر و تفحص كلیه اعمال
آگاهانه و بسیاری از رفتارهای ناخودآگاه استفاده میشود. جهت واضح شدن توانایی مغز یك بازی تنیس را در نظر بگیرید. بازیكن اول به توپ ضربه میزند و توپ با سرعتی بیش از 130 كیلومتر درساعت به زمین حریف میرسد. حریف مقابل نیز با سرعتی معادل 60 كیلومتر درساعت به توپ ارسالی پاسخ میدهد. تصور نمایید كه چه حجم غظیمی از اطلاعات و سیگنالها جهت این كار و درطی زمانی كمتر از چند صدم ثانیه بایستی جمعآوری و محاسبه شوند. اینكه چگونه مغز این
كارها را انجام میدهد از زمانی مطرح شد كه دریافتند،مغز برای محاسبات خود، از ساختاری كاملاً مغایر با ساختاری كامپیوترهای متداول برخوردار میباشد. تلاش برای فهم این موضوع خصوصاً از سال 1911 قوت گرفت، زمای كه برای نخستین بار شخصی به نام سگال اعلام كرد كه مغز از عناصر اصلی ساختاری به نام نرون تشكیل یافته است.
هر نرون بیولوژیكی به عنوان اجتماعی از مواد آلی، اگر چه دارای پیچیدگی یك میكروپروسسور میباشد ولی دارای سرعت محاسباتی برابر با یك میكروپروسسور نیست. بعضی از ساختارهای نرونی در هنگام تولد ساخته میشوند و قسمتهای دیگر در طول مسیر حیات، مخصوصاً در اوایل زندگی بوجود میآیند وقوام میگیرند. دانشمندان علم بیولوژیكی به تازگی دریافتهاند كه عملكرد نرونهای بیولوژیكی از قبیل ذخیرهسازی و حفظ اطلاعات در خود نرونها و ارتباطات بین نرونها نهفته است. به عبارت فنیتر،یادگیری به عنوان ایجاد ارتباطات جدید بین نرونها و تنظیم مجدد ارتباطات موجود استنباط میشود.
ANN شاخه ای از فیلد هوش مصنوعی و یا سیستمهای خبره می باشد كه با منطق فازی مرتبط می باشد . یك شبكه عصبی مصنوعی می تواند به عنوان یك جعبه سیاه در نظر گرفته شود كه قادر است الگوهای خروجی را پس از تشخیص الگوهای ورودی گزارش دهد .شبكه های عصبی در واقع مثلثی هستند كه سه ضلع مفهومی دارند : 1- سیستم تجزیه و تحلیل داده ها 2- نورون یا سلول عصبی 3- شبكه یا قانون كار گروهی نورونها
قوانین هب:
در 1949 دونالد هب کارهای زیادی در شناخت و یادگیریانجام داد با انتشار کتاب سازماندهی رفتار ارتباط بین روانشناسی و فیزیولوژی را بیان کرد. قدیمی ترین و مشهورترین اصول یادگیری نرونها وقوانین شبکه های عصبی توسط هب ایجاد شد از جمله:در یکی از اصول هب برای یادگیری وزنهای سیناپس در هر گام با فعالیتهای سیناپس افزایش می یابد . اگر اکسون A به اندازه کافی برای تحریک به سلول B نزدیک باشد و متناوب و مداوم در
گونه ای که کارایی سلول A در تحریک B افزایش می یابد.مسیرهای عصبی هر بار که مورد استفاده قرار گیرند تقویت می شوند.هب فرض کرد یک پروسه ی یادگیری اتصال بین دو نرون را فعال سازد چنانچه سیناپسهای بعدی و قبلی نرون در یک زمان فعال شوند .
از سلول های عصبی انسانی تا سلول های عصبی مصنوعیبا کنار گذاشتن برخی خواص حیاتی نرونها و ارتباطات درونی آنها می توان یک مدل ابتدایی از نرون را به وسیله کامپیوتر شبیه سازی کرد.
شبکه های عصبی با تلاش اولیه در جهت یافتن خصوصیات اساسی سلول های عصبی و اتصالات آنها ، هدایت می شوند. سپس بطور معمول یک کامپیوتر را برای شبیه سازی این خصوصیات برنامه ریزی می کنند .اگر چه بدلیل اینکه دانش انسانی از سلول های عصبی ناقص است و قدرت محاسبات محدود است ، مدل های ارائه شده لزوما آرمان های خام و ناقصی از شبکه های واقعی سلول های عصبی است .
رویای جایگزینی ویژگی های مغز در یک سیستم مصنوعی چقدر ممکن گردیده ؟ در حال حاضر بسیاری از سیستمها در قالب هوش مصنوعی و شبكههای عصبی شبیهسازی شدهاند اما مانع اصلی آنست كه گرچه هریک از نرونهای بیولوژیكی به تنهایی در مقایسه با نرونهای مصنوعی كه توسط مدارهای الكتریكی ساخته میشوند بسیار كندتر هستند، اما از آنجا که در نرون های بیولوژیکی دسته یا دسته هایی از نرون ها بطور همزمان بکار مافتند، عملكرد مغز
بسیار سریعتر است. امروزه مدارهای خاصی با ساختار عملکرد موازی طراحی میگردد که سرعت آن ها ده ها برابر بیش از رایانه های پیشرفته فعلی است. اما هنوز از نظر سرعت با عملکرد مغز فاصله بسیاری وجود دارد. سایر خصوصیاتی که در بند سوم ذکر گردید تا حدود زیادی برآورده شده است.تاریخچه شبكههای عصبی
بعضی از پیشزمینههای شبكه عصبی را میتوان به اوایل قرن بیستم و اواخر قرن نوزدهم برگرداند. در این دوره كارهای اساسی در فیزیك، روانشناسی و نروفیزیولوژیك توسط علمایی چون هرمان فون هلمهلتز، ارنست ماخ و ایوان پاولف صورت پذیرفت. این كارهای اولیه عموماً بر تئوریهای كلی یادگیری، بینایی وشرطی تاكید داشتند و اصلاً به مدلهای مشخص ریاضی عملكرد نرونها اشارهای نداشتهاند.
دیدگاه جدید شبكههای عصبی در دهه 40 قرن بیستم آغاز شد زمانی كه والن مككروث و والتر پیتز نشان دادند كه شبكههای عصبی میتوانند هر تابع حسابی منطقی را محاسبه نمایند. كار این افراد را میتوان نقطه شروع حوزه علمی شبكههای عصبی مصنوعی نامید. و این موضوع با دونالد هب ادامه یافت؛ شخصی كه عمل شرطگذاری كلاسیك را كه توسط پاولف مطرح شده بود به عنوان خواص نرونها معرفی نمود و سپس مكانیزمی را جهت یادگیری نرونهای بیولوژیكی ارائه داد.
نخستین کاربرد عملی شبکه های عصبی در اواخر دهه 50 قرن بیستم مطرح شد، زمانی که فرانک روزنبلات در سال 1958 شبکه پرسپترون را معرفی نمود. روزنبلات و همکارانش شبکه ای ساختند که قادر بود الگوها را از هم شناسایی نماید. در همین زمان بود که برنارد ویدرو در سال 1960 شبکه عصبی تطبیقی خطی آلادین را با قانون یادگیری جدید مطرح نمود که از لحاظ ساختار، شبیه شبکه پرسپترون بود.
هر دوی این شبکه ها، پرسپترون و آدالاین، دارای این محدودیت بودند که توانایی طبقه بندی الگوهایی را داشتند، که به طور خطی از هم متمایز می شدند. ویدرو و روزنبلات هر دو از این امر آگاه بودند، چون آنها قانون یادگیری را برای شبکه های عصبی تک لایه مطرح نموده بودند که توانایی محدودی جهت تخمین توابع داشتند. هر چند آنها توانستند شبکه های چندلایه را مطرح نمایند، لکن نتوانستند الگوریتمهای یادگیری شبکه های تک لایه را بهبود بخشند.
پیشرفت شبکه های عصبی تا دهه 70 قرن بیستم ادامه یافت. در 1972 ئوکوهونن و جیمز اندرسون به طور مستقل و بدون اطلاع از هم، شبکه های عصبی جدیدی را معرفی نمودند که قادر بودند به عنوان «عناصر ذخیره ساز» عمل نمایند. استفان گروسبرگ در این دهه روی شبکه های خود سازمانده فعالیت می کرد. فعالیت در زمینه شبکه های عصبی در دهه 60 قرن بیستم در قیاس با دهه 80 به علت عدم بروز ایده های جدید و نبود كامپیوترهای سریع جهت پیاده سازی
كمرنگ می نمود . لكن در خلال دهه 80، رشد تکنولوژی میکروپروسسورها روند صعودی داشت و تحقیقات روی شبکه های عصبی فزونی یافت و ایده های بسیار جدیدی مطرح شدند. ایده های نو و تکنولوژی بالا برای رونسانس دوباره در شبکه های عصبی کافی به نظر می رسید. در این زایش دوباره شبکه های عصبی دو نگرش جدید قابل تامل می باشد. استفاده از مکانیسم تصادفی جهت توضیح عملکرد یک طبقه وسیع از شبکه های برگشتی که می توان آنها را جهت توضیح عملکر یک طبقه وسیع از شبکه های برگشتی که می توان آن ها را جهت ذخیره سازی اطلاعات استفاده نمود. این ایده توسط جان هاپفیلد، فیزیکدان آمریکایی، در سال 1982 مطرح شد. دومین ایده مهم که کلید توسعه شبکه های عصبی در دهه 80 شد، الگوریتم “پس انتشار خطا ” می باشد که توسط دیوید راملهارت و جیمز مکلند در سال 1986 مطرح گردید. با بروز این دو ایده، شبکه های عصبی متحول شدند. در ده سال اخیر هزاران مقاله نوشته شده است و شبکه های عصبی کاربردهای زیادی در رشته های مختلف علوم پیدا کرده اند. شبکه های عصبی در هر دو جهت توسعه تئوریک وعملی در حال رشد می باشند، اما این روند رشد، آهسته ومطمئن نبوده، دوره هایی بسیار سریع و دوره هایی کند مشاهده شده است. بیشتر پیشرفتها در شبکه های عصبی به ساختارهای نوین و روشهای یادگیری جدید مربوط می شود.
آنچه که در این جا ممکن است مورد سوال باشد این است که در آینده چه اتفاقی رخ خواهد داد. مثلاً آیا در ده سال آینده شبکه های عصبی جایگاه خاصی به عنوان یک ابزار علمی – مهندسی خواهند یافت، یا بالعکس دچار کمرنگی شده و کمتر مطرح خواهند شد؟ آنچه که می توان در حال حاضر به طور قاطع گفت آن است که شبکه های عصبی جایگاه مهمی خواهند داشت. نه به عنوان یک جواب و راه حل برای هر مسئله، بلکه به عنوان یک ابزار علمی که بتواند برای راه حلهای خاص
و مناسب مور استفاده قرار گیرد. باید توجه داشت که در حال حاضر اطلاعات موجود درباره نحوه عملکرد مغز بسیار محدود است و مهمترین پیشرفتها در شبکه های عصبی، در آینده مطرح خواهند شد. زمانی که اطلاعات بیشتری از چگونگی عملکرد مغز و نرونهای بیولوژیک در دست باشد
چرا از شبکه های عصبی استفاده می کنیم؟
شبکه های عصبی ، با قابلیت قابل توجه در استنتاج معانی از داده های پیچیده یا مبهم ، برای استخراج الگوها و شناسایی روشهایی که آگاهی از آنها برای انسان و دیگر تکنیک های کامپیوتری بسیار پیچیده و دشوار است به کار گرفته می شوند. یک شبکه عصبی تربیت یافته می تواند به عنوان یک متخصص در مقوله اطلاعاتی ای که برای تجزیه تحلیل به آن داده شده به حساب آید.از این متخصص می توان برای بر آورد وضعیت های دخواه جدید و جواب سؤال های ” چه می شد اگر ” استفاده کرد.
مزیتهای دیگر آن شامل موارد زیر می شود :
1 یادگیری انطباق پذیر: قابلیت یاد گیری نحوه انجام وظایف بر پایه اطلاعات داده شده برای تمرین وتجربه های مقدماتی .
2 سازماندهی توسط خود: یک ANN می تواند سازماندهی یا ارائه اش را ، برای اطلا عاتی که در طول دوره یادگیری در یافت می کند، خودش ایجاد کند.
3 عملکرد بهنگام(Real time ) : محاسبات ANN می تواند بصورت موازی انجام شود، و سخت افزارهای مخصوصی طراحی و ساخته شده است که می تواند از این قابلیت استفاده کند.
4 تحمل اشتباه بدون ایجاد وقفه در هنگام کد گذاری اطلاعات : خرابی جزئی یک شبکه منجر به تنزل کارایی متناظر با آن می شود اگر چه تعدادی از قابلیت های شبکه ممکن است حتی با خسارت بزرگی هم باقی بماند.
مزایا و محدودیت های شبكه عصبی • شبكه های عصبی توان بالقوهای برای حل مسائلی دارد كه شبیه سازی آنها از طریق منطقی، تكنیكهای تحلیلی سیستمهای خبره و تكنولوژیهای استاندارد نرم افزاری مشكل است. • این تكنیك قادر است در مواقعی كه داده ها در شرایط عدم اطمینان اعم از آنكه دادههافازی باشند ویا به طور ناقص و توام با نویز دریافت شده باشند جواب منطقی ارائه دهد .• به دلیل پیشرفتهای تكنیكی از سرعت پردازش بالایی برخوردار شده است. • محاسبهگرهای عصبی در مواقعی كه شرایط تغییرمیكند بسیار منعطف هستند. همچنین نگهداری آنها بسیار ساده است. • سیستمهای شبكههای عصبی قادر به توضیح منطق و قاعده كار نیستند و اثبات درستی نتایج بسیار دشوار است چرا كه در بسیاری از مسائل وزنهای تعدیل شده قابل تفسیر نیستند. بنابراین منطقی كه پشت تصمیم نهفته است را نمیتوان روشن نموده و اثبات كرد. • محاسبات شبكههای عصبی معمولا محتاج مقادیر زیادی داده برای آموزش و تست مدل است. • در حالت كلی شبكههای عصبی برای برخی مسائل كارایی ندارند. به طور مثال ANN برای حل مسائل و پردازش دادهها با روش مستدل مناسب نیست.
چه کسانی به شبکه عصبی علاقهمند هستند؟• مهندسان کامپیوتر: کسانی که بر روی روبات ها کار می کنند.• مهندسان برق: کسانی که بر روی سیگنال ها کار می کنند.• دانشمندان کامپیوتر: کسانی که بر روی متن کار می کنند.• ریاضی دانان: کسانی که بر روی مدل ها کار می کنند.
شبکه های عصبی در مقابل کامپیوتر های معمولی
شبکه های عصبی نسبت به کامپیوتر های معمولی مسیر متفاوتی را برای حل مسئله طی می کنند. کامپیوتر های معمولی یک مسیر الگوریتمی را استفاده می کنند به این معنی که کامپیوتر یک مجموعه از دستور العمل ها را به قصد حل مسئله پی می گیرد. بدون اینکه، قدم های مخصوصی که کامپیوتر نیاز به طی کردن دارد، شناخته شده باشند کامپیوتر قادر به حل مسئله نیست. این حقیقت قابلیت حل مسئله ی کامپیوتر های معمولی را به مسائلی ،محدود می کند که ما قادر به درک آنها هستیم و می دانیم چگونه حل میشوند. اما اگر کامپیوتر ها می توانستند کار هایی را انجام دهند که ما دقیقا نمیدانیم چگونه انجام دهیم ، خیلی پر فایده تر بودند. شبکه های عصبی اطلاعات را به روشی مشابه با کاری که مغز انسان انجام می دهد پردازش می کنند. آنها از تعداد زیادی از عناصر پردازشی(سلول عصبی) که فوق العاده بهم پیوسته اند تشکیل شده است که این عناصر به صورت مواز ی باهم برای حل یک مسئله مشخص کار می
کنند .شبکه های عصبی با مثال کار می کنند و نمی توان آنها را برای انجام یک وظیفه خاص برنامه ریزی کرد مثال ها می بایست با دقت انتخاب شوند در غیر این صورت زمان سودمند، تلف می شود و یا حتی بدتر از این شبکه ممکن است نا درست کار کند. امتیاز شبکه عصبی این است که خودش کشف می کند که چگونه مسئله را حل کند ، عملکرد آن غیر قابل پیش گویی است. از طرف دیگر ، کامپیوتر های معمولی از یک مسیر مشخص برای حل یک مسئله استفاده می کنند . راه حلی که مسئله از آن طریق حل می شود باید از قبل شناخته شود و به صورت دستورات کوتاه و غیر مبهمی شرح داده شود. این دستورات سپس به زبا ن های برنامه نویسی سطح بالا برگردانده می شود و بعد از آن به کدهایی که کامپیوتر قادر به درک آنها است تبدیل می شود. به طور کلی این ماشین ها قابل پیش گویی هستند و اگر چیزی به خطا انجام شود به یک اشتباه سخت افزاری یا نرم افزاری بر می گردد.
شبکه های عصبی و کامپیوتر های معمولی با هم در حال رقابت نیستند بلکه کامل کننده یکدیگرند . وظایفی وجود دارد که بیشتر مناسب روش های الگوریتمی هستند نظیر عملیات محاسباتی و وظایفی نیز وجود دارد که بیشتر مناسب شبکه های عصبی هستند . حتی فراتر از این ، مسائلی وجود دارد که نیازمند به سیستمی است که از تر کیب هر دو روش بدست می آید (بطور معمول کامپیوتر های معمولی برای نظارت بر شبکه های عصبی به کار گرفته می شوند ) به این قصد که بیشترین کارایی بدست آید. شبکه های عصبی معجزه نمی کنند اما اگر خردمندانه به
کار گرفته شوند نتایج شگفت آوری را خلق میکنند.
نرمافزارها و سخت افزارهای شبكههای عصبی
معرفی نرم افزارهایی برای شبیه سازی ،مطالعه و تحقیق سیستمهای عصبی زیستی و گسترش شبکه های عصبی مصنوعی وAdaptive system ها :
شبیه سازها: نرم افزارهایی برای شبیه سازی رفتار شبکه های عصبی زیستی و مصنوعی که به صورت مستقل عمل می کنند و قادرند فرآیند آموزش شبکه ی عصبی را به شکل تصویری نمایش دهند.
شبیه سازهای تحقیقاتی :برای مطالعه ی الگوریتم ها و ساختارهای شبکه ی عصبی که به فهم بهتر رفتارها و خصوصیات شبکه ی عصبی کمک می کنند.(مطالعه ی ویژگی های شیمیایی و زیستی بافتهای عصبی و پالس های الکترومغناطیسی بین نورونها).
رایجترین شبیه سازهای ANN ها :
SNNS(stuttgart neural network simulator),PDP++(parallel distribution processing),JavaNNS رایجترین شبیه سازهای شبکه های زیستی:XNBC,BNN ToolBox
شبیه سازهای آنالیز داده :علی رغم دسته ی اول ،کاربردهای عملی شبکه های عصبی را مطالعه می کنند.استفا ده از آنها نسبتا ساده است در عوض تواناییهاشان محدود است . بر روی Data miningوپیش بینی ها کار می کنند.
بعضی از آنها عبارتند از:Microsoft Excel,Matlab
Development Environment ها:برای گسترش و آرایش شبکه های عصبی به کار می روند. رایج ترین نرم افزارهای این دسته عبارتند از:MathWorks NN ToolBox,GBlearn2
ANN ها عمدتا به صورت نرمافزارهای كاربردی ارائه میشوند و همانند هر Application یك ANN میتواند با یك زبان برنامه نویسی یا ابزار برنامه نویسی و یا هر دو برنامه نویسی شود. قسمت اعظم فعالیتهای برنامه نویسی به الگوریتمهای آموزشی توابع تبدیل و توابع جمع در شبكه های عصبی احتصاص دارد. برخی برنامه های نرمافزاری نیز وجود دارند كه برایایجاد استقرار ANN ها میتوانند مفید باشند همانند: Neuralyst , Nnet sheet پیشرفتهایی كه در تكنولوژیهای مربوط به سختافزاری حاصل شده است از مزایای پردازش موازی بزرگ استفاده میكند، به عبارت دیگر عمل پردازش به طور همزمان در نرونها انجام میشود. برای افزایش سرعت محاسبات، یكی از 4 روش ذیل را میتوان به كاربرد:
• كامپیوترهای عمومی مثل PC ها • پردازشگر های موازی IBMSP _2 • چیپهای عصبی، چیپهای خاصی كه توانایی محاسبات خیلی سریعی را دارد و در برد دستگاه نصب میشوند، نظیر intel 80 170 NX یا ETANN • بردهای شتاب دار
کاربرد شبکه های عصبی
با عنایت به اینکه شبکه های عصبی از دو ویژگی اساسی یادگیری یا نگاشت پذیری بر اساس ارائه داده های تجربی (قدرت و توانایی تعمیم پذیری) و ساختار پذیری موازی برخوردار می باشند این شبکه ها برای مسائل کنترل، علی الخصوص سیستمهای پیچیده که مدلسازی این سیستمها یا میسر نیست و یا به سختی انجام می شود بسیار مناسب می باشند. لازم به توضیح است که آنالیز پایداری و آنالیز همگرایی پارامترهای کنترل کننده سیستمهای حلقه بسته هنوز بحث روز می باشد.
نخستین کاربرد شبکه های عصبی در کنترل سیستم ها توسط ویدرو در سال 1963 ارائه شده است. یک شبکه عصبی ساده خطی آموزش می بیند آنگونه که یک پاندول معکوس را کنترل نماید (پایدار سازد) . در خلال 1970 تا 1980 شبکه های عصبی به نام CMAC وسط آلبوس (Albus)برای کنترل بلادرنگ بازوهای ربات معرفی و مورد استفاده قرار گرفت. در خلال 1980 تا 1990، بسیاری
دیگر از شبکه های عصبی استاتیکی و دینامیکی و معماریIC آنها پیشنهاد و پیاده سازی شدند. شبکه های عصبی MLPبا کاربردهای بسیار وسیع در مسائل فنی ومهندسی ارائه شدند. در همین راستا یادگیری تشدیدی و روندهای نقادی تطبیقی همراه با کاربردهای صنعتی مطرح گشت. شبکه های برگشتی (فیدبک) همراه با کاربردهای وسیعشان برای مسائل مدلسازی وتخمین پارامترهای سیستم توسعه یافتند.
در دهه اخیر بیش از پیش، شبکه های عصبی تاثیرات زیادی روی مسائل صنعتی با کاربردهای وسیعشان در فرآیندهای غیرخطی و مدلسازی فرد خبره، ردیابی ومونیتور نمودن خطا، فرآیند کنترل و بهینه سازی داشته اند. مثلاً در صنایع شیمیایی و راکتورهای اتمی از شبکه های عصبی برای سیستم CSTR ، کنترل PH هیدروکسید سدیم، جایی که محدوده PH حداقل می گردد مورد استفاده قرار گرفت. در اینجا شبکه عصبی، نخست یک مدل دینامیكی CSTR بدست می آورد و سپس به طور بلادرنگ به عنوان یک بهینه گر، یک سری از اقدامهای بهینه را فراهم می سازد. جالب اینکه این نوع بهینه سازیها را می توان روی تراشه های خاص به طور ترتیبی پیاده سازی سخت افزاری نمود.
از شبکه های عصبی در مدلسازی و شبیه سازی سیستمها علی الخصوص سیستمهای غیرخطی به کرات استفاده شده است.مثلا در صنایع شیمیایی و مسائل کنترل پروازی که علی القاعده سیستمها چند متغیره با تعداد متغیرهای حالت زیاد می باشند، شبکه های عصبی به خوبی مورد استفاده قرار گرفته است. در این راستا باز می توان به شناسایی ژنراتورها در سیستمهای قدرت اشاره نمود. هر چند که بایستی دوباره اذعان کنیم اگرچه از ساختن چیزی شبیه مغز انسان از دیدگاه مهندسی خیلی دور هستیم، با این حال شبکه های عصبی حقیقتاً راه حل های مناسبی را برای مسائل مختلف در حوزه های تحقیقاتی مختلف در دنیای علوم، فنی – مهندسی ارائه نموده است به طور خلاصه می توان جمع بندی زیر را از کاربردهای شبکه های عصبی ارائه نمود.
• طبقه بندی، شناسایی و تشخیص الگو انواع و اقسام شبکه های عصبی استاتیکی ودینامیکی برای طبقه بندی خوشه بندی، شناسایی و تشخیص الگوها مورد استفاده قرار گرفته است. مثلاً برای شناسایی حروف لاتین، عربی ، فارسی ، چینی ، ژاپنی در سیستمهای OCR یا به شناسایی سبک نگارش شکسپیر و جداسازی و تمیز آن از دیگران یا به تشخیص درجه غلظت روغن توسط شبکه های عصبی اشاره نمود.
• پردازش سیگنال در این راستا می توان به کاربرد شبکه های عصبی در فیلترهای تطبیقی، پردازش صحبت و تصویر، بینایی ماشین، کدینگ و فشرده سازی تصویر اشاره نمود که از هر دو نوع شبکه های عصبی استاتیک و دینامیک به کرات استفاده شده است. درشناسایی صحبت می توان به فشرده سازی صحبت ومصوتها سنتز متن به صحبت و در ارتباطات، ترجمه در حین کار مکالمات و سیستم پردازش پرداخت مشتریها اشاره نمود.
• پیش بینی سریهای زمانی از شبکه های عصبی برای پیش بینی سریهای زمانی علی الخصوص جایی که شرایطی از قبیل ایستایی یا شرایط دیگری که راه را برای بکارگیری تکنیکهای کلاسیک فراهم می سازد. برقرار نیست و سریهای زمان پیچیده می باشند بسیار استفاده شده است. مثلاً می توان به پیش بینی بار در سیستمهای قدرت اشاره نمود.
• مدلسازی و کنترل در سیستمهای تطبیقی مخصوصاً در زمانی که پروسه تحت بررسی بسیار پیچیده می باشد شبکه های عصبی راه حلهای مناسبی ارائه می دهند. در اینجا عموماً اول شناسایی و سپس طراحی کنترل کننده آنگونه که پاسخ سیستم رفتار خاصی را دنبال کند صورت می پذیرد. هر دو سیستم شناسایی کننده و کنترل کننده، مبتنی بر شبکه های عصبی می باشند.
• بهینه سازی چه در سیستمهای کنترلی و چه در سیستمهای مدیریت، تخصیص و تقسیم منابع و چه در سیستمهای مالی و بانکداری از شبکه های عصبی علی الخصوص شبکه های عصبی دینامیکی برگشتی بسیار استفاده گردیده است. توجه اینکه از شبکه های عصبی از نوع MLP با نوع خاص الگوریتم یادگیری هم جهت بهینه سازی استفاده شده است.
• سیستمهای خبره و فازی برای مسائل مالی و مدیریتی، سیستمهای خبره زیاد مورد استفاده قرار گرفته اند. از شبکه های عصبی جهت تنظیم بهتر و رفتار مناسبتر سیستمهای خبره استفاده شده است. همچنین در سیستمهای فازی که خود مولفه بزرگ و مهمی از هوش ماسباتی می باشند و به تنهایی کاربردهای بسیار زیادی در دنیای علوم، فنی ومهندسی دارند از شبکه های عصبی جهت تنظیم توابع عضویت و قوانین فازی در پایگاه دانش استفاده گردیده است.
• مسائل مالی، بیمه، امنیتی، بازار بورس و وسایل سرگرم کننده به طول مثال می توان از کاربرد شبکه های عصبی به عنوان مشاور در امور تخصیص اعتبارات وام، مشاور در امور تخصیص سرمایه در مکانهای مناسب، آنالیز امور مالی، پیش بینی قیمت ارز، پیش بینی قیمت سهام در بازار بورس، ارزیابی سیاستهای مختلف امور بیمه ای، پیش بینی بازار، سیستمهای مشاوره ای انبارداری کالاهای تجاری و ایجاد انیمیشن برای وسایل سرگرم کننده نام برد.
• ساخت وسایل صنعتی، پزشکی و امور حمل و نقل مثالهایی از کاربردهای شبکه های عصبی در این زمینه عبارتند از: کنترل پروسه های ساخت و پیاده سازی دستگاهها، آنالیز و طراحی محصولات صنعتی خانگی، ماشین پیش بینی خطا و عیب یاب، آنالیز کیفیت جوش کاری، پیش بینی کیفیت کاغذ، آنالیز کیفیت تراشه های کامپیوتری، آنالیز تعمیر و نگهداری، مدیریت وطراحی اتوماتیک، مدلسازی دینامیکی سیستمهای صنعتی و شیمیایی ، آنالیز سلولهای سرطانی سینه، آنالیز سیگنالهای ECG وEEG، بهبود کیفی امور بیمارستانی، آنالیز در کاهش هزینه های امور بیمارستانی، بهینه سازی زمان جراحی وعمل پیوند، سیستمهای اتوماتیک حرکت وسایل نقلیه، سیستمهای پیش بینی و حفاظت سیستمهای متحرک و اعمال ترمز، جهت یابی و تشخیص مسیرها.
نکته حائز اهمیت اینکه بسیاری از کاربردهای فوق در ایران (در دانشگاههای مختلف مراکز صنعتی)، به طور مشخص در دانشگاه صنعتی امیرکبیر انجام گرفته و یا در حال انجام است. آنچه که شبکه های عصبی را در آینده محبوب تر خواهد نمود، سرعت بالای کامپیوترها و الگوریتم های یادگیری سریعتر می باشد که استفاده از شبکه های عصبی را در مسائل صنعتی با محاسبات زیاد یاری می نماید.
یکپارچگی منطق فازی و شبکه های عصبی
سیستم های هوشمند پیوندی که از ترکیب منطق فازی و شبکه های عصبی تشکیل شده است. در حال اثبات کردن تاثیراتشان در یک پهنه وسیعی از مسایل دنیای واقعی هستند.منطق فازی و شبکه های عصبی خصوصیات محاسباتی ویژه ای دارند که آنها را برای مسائل خاصی مناسب می سازد. برای مثال در حالیکه شبکه های عصبی برای تشخیص الگو خوب هستند برای شرح اینکه چطور تصمیم گیری می کنند خوب نیستند. سیستم های فازی که می توانند با اطلاعات مبهم استدلال کنند برای این کار یعنی تشریح چگونگی تصمیم سازی مناسبند اما به طور اتو ماتیک نمی توانند قوانین را که برای این تصمیم گیری استفاده می کنند را بدست آورند .
این محدودیت ها یک نیروی محرک اصلی در پشت ایده ایجاد سیستمهای ترکیبی هوشمند بود که دو یا بیشتر از دو تکنیک در یک روش ترکیب شوند تا اینکه بر محدودیت های هر یک از این تکنیک ها بتوان غلبه کرد. سیستم های پیوندی همچنین موقعی اهمیت دارند که در طبیعت متنوع حوزه های کاربردی در نظر گرفته می شوند. بسیاری از حوزه های پیچیده تعداد زیادی مسائل جزئی متفاوت دارند که هر کدام ممکن است به انواع متفاوتی از فرایندها نیاز داشته باشند.
استفاده از سیستم های هوشمند ترکیبی با موفقیت برنامه های کاربردی در حوزه هایی که شامل پردازش فرایند ، طراحی مهندسی ، تجاری- مالی ، ارزش افزوده ، تشخیص پزشکی و شبیه سازی شناختی به سرعت در حال رشد است .
هنگامی که منطق فازی، یک ماشین استنتاج تحت عدم قطعیت شناختی به وجود آورد ، شبکه های عصبی محاسباتی فواید مهیجی از قبیل یادگیری ، تطبیق ، تحمل خطا ، تقارن و تعمیم دهی را پیشنهاد می کنند .
برای توانا ساختن یک سیستم برای پرداختن به عدم قطعیت های شناختی در روشی مشابه انسانها بایستی مفاهیم منطق فازی را با شبکه های عصبی ترکیب نمود .
تصور می شود که سیستم های فازی عصبی برای فرایندهای محاسباتی راهگشا باشند و این کار با توسعه یک نرون فازی بر اساس فهمی که از ساختار شناسی نرونهای بیولوژیکی بدست می آید شروع می شود و به دنبال آن ماشینهای یادگیرنده ایجاد می شوند که این اعمال منجر به سه مرحله در یک فرایند محاسباتی فازی- عصبی می شود که در ذیل آورده شده است:
• توسعه مدلهای فازی عصبی که به وسیله نرونهای بیولوژیکی برانگیخته می شوند.
• مدلهای ارتباطی سیناپسی که فازی سازی را در داخل شبکه های عصبی ترکیب می کنند.
• توسعه الگوریتم های یادگیرنده (که در این مرحله وزن های سیناپسی تعدیل می گردند.)
تحقیقات صورت گرفته در این زمینه :
تحقیق در مورد منطق فازی و سیستم های فازی- عصبی در دهه اخیر دستخوش یک نوع رنسانس قرار گرفته بطوری که برخی افراد در حال یکپارچه کردن قابلیت یادگیری شبکه های عصبی با ارائه مبتنی بر قانون سیستم های فازی هستند . خوانندگان علاقمند می توانند اطلاعات بیشتر در این موارد را در مکانهایی که در قسمت ذیل ذکر می شود بیابند .
اخیراً کتابهای زیادی در مورد منطق فازی و کنترل فازی انتشار یافته و ساده ترین کتاب غیر تکنیکی که توسعه تحقیق منطق فازی و کاربرد آن را نشان می دهدکتاب زیر است:
• C.Mcneill and P.Freiberger .fuzzy logic.simon&Schuster , new simon&Schuster , New York, NY , 1993.
وکتابهای تکنیکی مقدماتی همچون
• E.Cox . The Fuzzy System Handbook . Ap Professional , 1994.• D.Driankov , H.Hellendoorn , and M.Reinfrank . An Introduction to Fuzzy Control . Spring_Vrlag , Berlin , 1993.• C.J.Harris , editor . Advances in Intelligent Control.Taylor and Francis,London, 1994.• H.J.Zimmerman . Fuzzy Set Theory and its Application. Kluwer Academic Press , Boston , MA , 2nd Edition , 1993 .
و همچنین چندین کتاب تحقیقی وجود دارد که روند جاری علم تئوری سیستم های فازی عصبی و فازی را شرح می دهد همانند :
• J.F.Baldwin , T.P.Martin , and Plisworth B.W.Fril – Fuzzy Evidential Reasoning in AI . Research Studies Press(Wilwy) , 1995 .• M.Brown and C.Harris . NeuroFuzzy Addaptive Modelling and Control . Prentice Hall , Hemel Hempstead , UK , 1994 .
• B.Kosko . Neural Network and Fuzzy System . Prentice Hall , Englewood Vliffs , NJ , 1992 .
همچنین دو مجله اصلی در این زمینه وجود دارد :Fuzzy Sets and SystemsIEEE Transactions on Fuzzy Systems
یک منبع مفید که اطلاعات به روزی را در مورد نرم افزارهای رایگان اشتراکی یا تجاری ، سخت افزار ، میل لیستها ، وب سایت ها ، کنفرانسها و غیره را در بر دارد و توسط گروه تحقیقاتی سیستمهای هوشمند گفتار و تصویر ((Image , Speech and Intelligent Systems ISIS نگهداری می شود در آدرس زیر می باشد .
http://www.isis.ecs.soton.ac.uk/research/nfinfo/fuzzy.html
و یک شبکه اروپایی برای تکنولوژی فازی و مدل سازی عدم قطعیت با آدرس :
http://www.mitgmbh.de/erudit/و گروهی که توسط پرفسور زیمرمن به وجود آمده :
http:// www.mitgmbh.de/elite/elite.html
و وب سایت زیر که توسط (Berkeley Initiative into Soft Computing)BISC ایجاد شده و در زمینه فازی- عصبی تحقیق می کند و یکی از نویسندگان این سایت پرفسور لطفی زاده می باشد .
http://http.cs.berkeley.edu/prpjects/bisc/bisc.welcom.htmlمدل ریاضی یک نرون:همان گونه که ذکر شد نرون کوچکترین واحد یک شبکه عصبی مصنوعی است که عملکرد شبکه های عصبی را تشکیل می دهد.بدنه هر سلول عصبی از دو بخش تشکیل می شود بخش اول را تابع ترکیب می گویند. وظیفه تابع ترکیب این است که تمام ورودی ها را ترکیب و یک عدد تولید می کند. در بخش دوم سلول تابع انتقال قرار دارد که به آن تابع تحریک نیز می گویند. رایج ترین انواع توابع تحریک بر پایه مدل های بیولوژیک استوار گردیده است. درواقع همان گونه که یک سلول بیولوژیک باید به سطح آستانه تحریک خاصی برسد تا یک سیگنال تولید کند توابع تحریک نیز تا زمانی که ورودی های ترکیب شده و وزن دار شده به یک حد آستانه ای خاص نرسند مقدار خروجی نظیر بسیار کوچکی تولید میکنند.
ساختار یک نرون مصنوعی
وقتی ورودی های ترکیب شده به حد آستانه ای خاصی برسند سلول عصبی تحریک شده و سیگنال خروجی تولید می کند. با مقایسه جواب خروجی شبکه با مقدار مطلوب مورد نظر بردار خطا محاسبه شده و این بردار با استفاده از الگوریتم های مختلف از آخر به سمت ابتدای شبکه پخش شده به طوری که در سیکل بعد خطا کاهش یابد.
یک نرون ساده :
یک نرون مصنوعی سیستمی است با تعداد زیادی ورودی و تنها یک خروجی .نرون دارای دو مد می باشد، مد آموزش و مد عملکرد .در مئ آموزش نرون یاد می گیرد که در مقابل الگوهای ورودی خاصبرانگیخته شود و یا در اصطلاح آتش کند .در مد عملکرد وقتی یک الگوی ورودی شناسایی شده وارد شود خروجی متناظر با آن ارائه می شود.اگر ورودی جزء ورودیهای از پیش شناسایی شده نباشد قوانین آتش برای برانگیختگی یا عدم آن تصمیم گیری می کند.
قوانین برانگیختگی:
قوانین آتش یا برانگیختگی یک مفهوم مهم برای شبکه های عصبی و ایجاد انعطاف پذیری در آنها می باشد .قانون به تمام الگوهای ورودی مربوط می شود نه تنها الگوهای آموزش داده شده. با استفاده از تکنیک فاصله همینگ به یک قانون ساده برانگیختگی اشاره می کنیم .به ترتیب زیر:
مجموعه ای از الگوهای آموزشی آماده می شود .آنهایی که باعث آتش می شوند 1 و انهایی که مانع شوند 0 را دریافت می کنند.الگوهایی که در مجموعه جمع اوری شده نمی باشند باعث برانگیختگی می شوند اگر در مقایسه با الگوهای قبلی 0 و 1 عناصر مشترک بیشتری داشته باشند .اگر گره ای به وجود بیاید الگو در وضعیتی تعریف نشده باقی می ماند .به عنوان مثال یک نرون با 3 ورودی را در نظر بگیرید که در حالتی که ورودیهای X3,X2,X1 در حالت 101 یا 111 هستند خروجی 1 و در حالتی که 000 یا 001 باشند 0 را نمایش می دهد .قبل از اعمال قوانین برانگیختگی جدول صحت به صورت زیر است .
X1: 0 0 0 0 1 1 1 1X2: 0 0 1 1 0 0 1 1X3: 0 1 0 1 0 1 0 1OUT: 0 0 0/1 0/1 0/1 1 0/1 1
به عنوان مثال در حالتی که قانون به کار گرفته شود ورودی 010 را اعمال می کنیم که با 000 در 1 عنصر با 001 در 2 عنصر با 101 در 3 عنصر و با 111 در 2 عنصر اختلاف دارد در نتیجه نزدیکترین الگو 000 می باشد که متعلق به خروجی 0 است.در حالیکه 011 دارای اختلاف فاصله مساوی از دو الگوی از قبل شناخته شده می باشد که هریک دارای خروجی متفاوت است در نتیجه خروجی به صورت تعریف نشده (0/1) باقی می ماند . با اعمال قانون به ستونها جدول صحت زیر به دست می آید.
X1: 0 0 0 0 1 1 1 1X2: 0 0 1 1 0 0 1 1X3: 0 1 0 1 0 1 0 1OUT: 0 0 0 0/1 0/1 1 1 1
تفاوت بین دو جدول را عمومی سازی(عمومیت بخشی) گویند . در نتیجه قانون برانگیختگی به نرون مفهوم شبیه سازی را رسانده وآنرا قادر به پاسخ دهی محسوس به الگوهایی که در طول آموزش با آنها برخورد نداشته می کند.
یک مثال- شناسایی الگو:
یک کاربرد مهم شبکه های عصبی الگوشناسی می باشد که با استفاده از شبکه های عصبی پیشرو انجام می گیرد. در طول آموزش شبکه یاد می گیرد به الگوهای ورودی خروجی متناظر را اعمال کند .قدرت شبکه های عصبی زمانی ظهور پیدا می کند که الگویی ورودی که دارای خروجی متناظر نمی باشد وارد شود .در این مورد شبکه خروجی الگویی را که دارای کمترین تعداد اختلاف با الگوی ورودی است ایجاد می کند.یک نرون پیچیده تر
ساختار نرون قبلی کاری جز آنچه کامپیوترهای سنتی انجام می دهند نمی کرد. مدل مک کلوک و پیتز(MCP) نرونی با سطح بالاتر است که اختلاف آن با مدل قبلی در ورودیهای وزندار است .تاثیری که هر ورودی در تصمیم گیری دارد وابسته به وزن ورودی مخصوص به آن می باشد .وزن یک ورودی عددی است که وقتی در ورودی ضرب شود یک ورودی با وزن را تشکیل دهد . این ورودیهای با وزن با هم جمع می شوند .اگر حاصل جمع از ارزش آستانه ای تجاوز کند نرون آتش می کند یا در اصطلاح برانگیخته می شود.
در اصطلاح ریاضی ، نرون برانگیخته می شود اگر و تنها اگر :
X1W1+X2W2+….>T
این روش باعث می شود نرون قدرتمند و انعطاف پذیر باشد .نرون MCP توانایی سازگاری با وضعیت خاص به وسیله ی تغییر وزنها و/یا حد آستانه را دارد .الگوریتمهای متنوعی موجود می باشند که باعث تطبیق نرون می شوند ، بیشترین استفاده از قوانین Delta وBack Error Propagation است .اولی در شبکه های پیشرو ودیگری در شبکه های پسخور استفاده می شود.
ساختار شبکه های عصبی:
یک شبکه عصبی شامل اجزاء سازنده لایه ها و وزنها می باشد . رفتار شبکه نیز وابشته به ارتباط بین اعضاء است .در حالت کلی در شبکه های عصبی 3 نوع لایه نرونی وجود دارد :
1 لایه ورودی : دریافت اطلاعات خامی که به شبکه تغذیه شده است.2 لایه های پنهان : عملکرد لایه های پنهان به وسیله ورودیها و وزن ارتباط بین آنها و لایه های پنهان تعیین می شود. وزنهای بین واحدهای ورودی و پنهان تعیین می کند چه وقت یک واحد پنهان باید فعال شود3 لایه خروجی : عملکرد واحد خروجی بسته به فعالیت واحد پنهان و وزن ارتباط بین واحد پنهان و خروجی میباشد.
شبکه های تک لایه و چند لایه نیز وجود دارند که سازماندهی تک لایه که در آن تمام واحدها به یک لایه اتصال دارند بیشترین مورداستفاده را دارد و پتانسیل محاسباتی بیشتری نسبت به سازماندهیهای چند لایه دارد. در شبکه های چند لایه واحدها به وسیله لایه ها شماره گذاری می شوند (به جای دنبال کردن شماره گذاری سراسری)
هر دو لایه از یک شبکه به وسیله وزنها و در واقع اتصالات با هم ارتباط می یابند. در شبکه های عصبی چند نوع اتصال و یا پیوند وزنی وجود دارد:
پیشرو: بیشترین پیوندها از این نوع است که در آن سیگنالها تنها در یک جهت حرکت می کنند .از ورودی به خروجی هیچ بازخوردی (حلقه) وجود ندارد. خروجی هر لایه بر همان لایه تاثیری ندارد.
پسخور: داده ها از گره های لایه بالا به گره های لایه پایین بازخورانده می شوند .جانبی: خروجی گره های هر لایه به عنوان ورودی گره های همان لایه استفاده می شوند .مراحل طراحی شبکه به طور خلاصه مراحل طراحی یک شبکه عصبی عبارتند از: • طرح معماری شبکه شامل: تعیین نوع اتصالات است که میتواند، اتصال کامل و یا اتصال جزیی باشد. همچنین برگشت پذیری شبکه باید بررسی گردد شبکه های feedforward network معمولا برای محاسبه فرمول های ریاضی ساده بدون پویایی بکار گرفته میشوند. recurrent network در اغلب مسائل پویا کاربرد دارند. • تعیین نوع تابع تبدیل • آموزش شبکه: یعنی تنظیم پارامترهای آزاد طراحی مثل وزن اتصالات و ورودیها، وزن ترم بایاس برای یادگیری ابتدا لازم است الگوریتم یادگیری انتخاب شود. مهمترین عاملی كه باید به آن توجه نمود به كارگیری یك الگوریتم مناسب برای آموزش شبكه است. لازم به ذكر است بیش از 100 نوع الگوریتم یادگیری تا كنون به وجود آمده است كه یك نوع طبقهبندی این انواع توسط Lippman ارائه شده استكه براساس شكل ورود اطلاعات است . اهداف شبکه های عصبی.شبكه های عصبی مصنوعی برای حل مسائل پیچیده و یا مواردی كه هیچ راه حل الگوریتمی وجود ندارد و یا بسیار پیچیده هستند مورد استفاده قرار می گیرد .چهار نوع هدف كلی توسط این شبكه های قابل پیگیری است ،كه هر كدام بسته به نوع مجهولات در مواردی خاص قابل بهره گیری می باشد : 1- طبقه بندی :برای طبقه بندی ، داده های نمونه های مختلف را به شبكه می دهیم و نام گروه هر نمونه را به عنوان خروجی مشخص می كنیم ، پس از آموزش مناسب شبكه قادر خواهد بود با دریافت داده های مربوط به نمونه های جدید مشـخص كند كه ایـن نمـونه بـه كـدام طبــقه متــعلق می باشد . به عنوان مثال میتوان پارامترهای آزمایشگاهی بیماران مبتلا به سرطان پروستات و افراد سالم را به عنوان ورودی و وضعیت فرد ( سالم بودن یا سرطانی بودن ) را به عنوان خروجی به شبكه داده در این صورت شبكه پس از یادگیری خواهد توانست پارامترهای فرد جدید را گرفته و سرطانی بودن او را پیشگویی كند .2- تخمین تابع : زمانی كهپارامترهایورودیبا تأثیرات پیچیده درسیستم پاسخی قابل اندازه گیری ایجاد می كنند ،شبكه می تواند آموزش بیابد تا این پاسـخ را پیشــگویی كند . به عنوان مثال شبكه میتواند پس از آموزش، با دریافت داده های مربوط به هر مولكول جدید در داروها ، شدت اثر آن را پیشگویی كند .3- پیشگویی : اصطلاح پیشگویی در اینجا برای سری های زمانی بكاربرده می شود ؛ یعنی جایی كه داده ها مربوط به نمونه های پیاپی هستند و داده های هر نمونه برای پیشگویی نمونه بعدی استفاده می شود . مانند پیشگویی وضعیت آتی بیمار بستری در بخش CCU .
4- خوشه كردن : این نـوع كــــاركرد شـــبكه هــا مربوط به یادگـــیری Unsupervised است . یعنی طبقه بندی داده ها بر حسب رفتار و برهم كنش های درونی آنها بدون داشتن الگو و یا فرضیه قبلی .
تقسیم بندی شبکه های عصبی:
بر مبنای روش آموزش به چهار دسته تقسیم می شوند:
1 وزن ثابت: آموزشی در کار نیست و مقادیر وزنها به هنگام نمی شود. کاربرد:• بهینه سازی اطلاعات (کاهش حجم ، تفکیک پذیری و فشرده سازی)• حافظه های تناظری
2 آموزش بدون سپرست: وزنها فقط بر اساس ورودیها اصلاح می شوند وخروجی مطلوب (معلم) وجود ندارد تا با مقایسه خروجی شبکه با آن و تعیین مقدار خطا وزنها اصلاح شود.وزنها فقط براساس اطلاعات الگوهای ورودی به هنگام می شوند.هدف استخراج مشخصه های الگوهای ورودی بر اساس استراتژی خوشه یابی و یا کلاسبندی و تشخیص شباهتها (تشکیل گروههایی با الگوی مشابه) می باشد ، بدون اینکه خروجی یا کلاسهای متناظر با الگوهای ورودی از قبل مشخص باشد .این یادگیریمعمولا بر پایه شیوه ی برترین هم خوانی انجام می گیرد.شبکه بدون سرپرست وزنهای خود را بر پایه خروجی حاصل شده از ورودی تغییر می دهد تا در برخورد بعدی پاسخ مناسبی را برای این ورودی داشته باشد.در نتیجه شبکه یاد می گیرد چگونه به ورودی پاسخ بدهد.اصولا هدف این است که با تکنیک نرون غالب نرونی که بیشترین تحریک آغازین را دارد برگزیده شود .بنابراین در شبکه های بدون سرپرست یافتن نرون غالب یکی از مهمترین کارها است .
3 آموزش با سرپرست:به ازای هر دسته از الگوهای ورودی خروجیه ای متناظر نیز به شبکه نشان داده می شود و تعغیر وزنها تا موقعی صورت می گیرد که اختلاف خروجی شبکه ازای الگوهای آموزشی از خروجی های مطلوب ( معلم) در حد خطای قا بل قبولی باشد در این روشها یا از خروجی ها به وزنها ارتباط سپر وجود دارد و یا خطا بصورت پس انتشار از لایه خروجی به ورودی توزیع شده است و وزنها اصلاح می شوند . هدف طرح شبکه ای است که ابتدا با استفاده از داده های آموزشی موجود،آموزش ببیند و سپس با ارائه بردار ورودی به شبکه که ممکن است شبکه آن را قبلا فرا گرفته یا نگرفته باشد کلاس آن را تشخیص دهد چنین شبکه ای به طور گسترده برای برای کارهای تشخیص الگو به کار گرفته می شود .
4آموزش تقویتی: کیفیت عملکرد سیستم بصورت گام به گام نسبت از مان بهبود می یابد الگوهای آموزشی مشخصی وجود ندارد اما با استفاده از سیگنالی به نام نقاد بیانی از خوب و یا بد بودن رفتار سیزستم بدست می آید .حالتی بین یادگیری با سرپرست و بدون سرپرست .
انواع یادگیری برای شبکه های عصبی:1 یادگیری با ناظردر یادگیری با ناظر به قانون یاد گیری مجموعه ای از زوجهای داده ها به نام داده های یادگیری (Pi,Ti)i={1 … l } می دهند که در آن Pi ورودی به شبکه و Ti خروجی مطلوب شبکه برای ورودی Pi است. پس از اعمال ورودی Pi به شبکه عصبی در خروجی شبکه ai با Ti مقایسه شده و سپس خطای یادگیری محاسبه و از آن در جهت تنظیم پارامترهای شبکه استفاده می شود به گونه ای که اگر دفعه بعد به شبکه همان ورودی Pi اعمال شود خروجی شبکه به Ti نزدیکتر می گردد با توجه به این نکته که معلم سیستمی است که بر محیط وقوف دارد ( مثلا می داند که برای ورودی Pi خروجی مطلوب Ti است ).توجه داریم که محیط برای شبکه عصبی مجهول است . در لحظه k بردار ورودی Pi(k) با تابع توضیع احتمال معینی که برای شبکه عصبی نا معلوماست انتخاب و بطور همزمان به شبکه عصبی و معلم اعمال می شود . جواب مطلوب Ti(k) نیز توسط معلم به شبکه عصبی داده می شود . در حقیقت پاسخ مطلوب پاسخ بهینه ای است که شبکه عصبی برای ورودی مفروض باید به آن برسد . پارامترهای شبکه عصبی توسط دو سیگنال ورودی و خطا تنظیم می شود.به این صورت که پس از چند تکرار الگوریتم یادگیری که عموما توسط معادله تفاضلی بیان می شودبه پارامترهایی در فضای پارامترهای شبکه همگرا می شوند که برای آنها خطای یادگیری بسیار کوچک است و عملا شبکه عصبی شبکه عصبی معادل معلم می شود . یا به عبارتی دیگر اطلاعات مربوط به محیط(نگاشت بین TiوPi )که برای معلم روشن است به شبکه عصبی منتقل می شود و پس از این مرحله عملا می توان بجای معلم از شبکه عصبی استفاده کرد تا یادگیری تکمیل شود .
2 . یادگیری تشدیدی:یک اشکال یادگیری با ناظر این است که شبکه عصبی ممکن است بدون معلم نتواند مواضع جدیدی را که توسط مجموعه داده های جدید تجربی پوشانده نشده است یاد بگیرد . یادگیری از نوع تشدیدی این محدودیت را برطرف می کند . این نوع یادگیری بطور on-line صورت می گیرد در حالی که یادگیری با ناظر را به دو صورت on-line & off-line می توان انجام داد. در حالت off-line می توان از یک سیستم محاسب با در اختیار داشتن داده های یادگیری استفاده کرد و طراحی شبکه عصبی را به پایان رساند . پس از مرحله طراحی و یادگیری شبکه عصبی به عنوان یک سیستم استاتیکی عمل می کند . اما در یادگیری on-line شبکه عصبی همراه با خود سیستم یادگیر در حال انجام کار است و از این رو مثل یک سیستم دینامیکی عمل می کند .
یادگیری از نوع تشدیدی یک یادگیری on-line از یک نگاشت ورودی-خروجی است . این کار از طریق یک پروسه سعی و خطا به صورتی انجام می پذیرد که یک شاخص اجرایی موسوم به سیگنال تشدید ماکزیمم شود و بنابر این الگوریتم نوعی از یادگیری با ناظر است که در آن به جای فراهم نمودن جواب واقعی ، به شبکه عددی که نشانگر میزان عملکرد شبکه است ارایه می شود. این بدین معنی است که اگر شبکه عصبی پارامترهایش را به گونه ای تغییر داد که منجر به یک حالت مساعد شد آنگاه تمایل سیستم یادگیر جهت تولید آن عمل خاص تقویت یا تشدید می شود . در غیر این صورت تمایل شبکه عصبی جهت تولید آن عمل خاص تضعیف می شود . یادگیری تقویتی مثل یادگیری با ناظر نیست و این الگوریتم بیشتر برای سیستمهای کنترلی کاربرد دارد.
ادامه خواندن مقاله در مورد شبکه هاي عصبي مصنوعي
نوشته مقاله در مورد شبکه هاي عصبي مصنوعي اولین بار در دانلود رایگان پدیدار شد.