پايان نامه براي دريافت درجه كارشناسي ارشد«M . Sc.»
فصـل اول : مقدمه
در چند دهه اخير،انديشه بالنده شبيه سازي مغز انسان ،محققان و دانشمندان را برآن داشته است تواناييهاي مغز انسان را به رايانه منتقل سازند.عملكرد مغز انسان با توجه به ميليونها سال تكامل ميتواند به عنوان كاملترين و بهترين الگو براي تشخيص وقايع پيرامون خود در نظرگرفته شود.لذا دانشمندان در تلاشند تا با درك اصول وساز و كارهاي محاسباتي مغز انسان كه عملكرد بسيار سريع و دقيقي را دارا ميباشد ، سيستمهاي عصبي مصنوعي را شبيه سازي نمايند بدين ترتيب شبكههاي عصبي مصنوعي تا حدودي از مغزانسان الگوبرداري شدهاند و همان گونه كه مغز انسان ميتواند با استفاده از تجربيات قبلي و مسائل از پيش يادگرفته،مسائل جديد را تحليل و تجزيه نمايد،شبكههاي عصبي نيز در صورت آموزش قادرند برمبناي اطلاعاتي كه به ازاي آنها آموزش ديدهاند،جوابهاي قابل قبول ارائه دهند.
شبكههاي عصبي مصنوعي در بسياري از موارد تحقيق و در تخصصهاي گوناگون به كار گرفته شده و به عنوان يك زمينه تحقيقاتي بسيار فعال حاصل همكاري داشنمندان در چند زمينه علمي از قبيل مهندسي رايانه، برق، سازه و بيولوژي اند. كاربرد شبكههاي عصبي در مهندسي عمران و بخصوص سازه نيز روز به روز در حال توسعه است و بي شك در آينده شاهد فراگير شدن و گسترش اين علم در مهندسي سازه خواهيم بود.از موارد استفاده شبكههاي عصبي در مهندسي عمران ميتوان به بهينه سازي، تحليل، طراحي، پيش بيني خيز و وزن سازهها، تحليل و طراحي اتصالات، پيش بيني نتايج آزمايشهاي بتني و خاكي ،كاربرد در تئوري گرافها و بسياري از موارد ديگر اشاره نمود.
فصـل دوم : شبكه های عصبي مصنوعي
2-1- مقدمه
در اين فصل به بررسي اجمالي شبكههاي عصبي مصنوعي پرداخته ميشود. با استفاده از شبكههاي عصبي مصنوعي سعي ميشود كه ساختار مغز انسان شبيهسازي شود. در مغز انسان حدود1011 واحد سازنده بنام نرون2 که همان سلولهای عصبی هستند وجود دارد كه هر يك از آنها به حدود 104 نرون ديگر متصل است.
شبكههاي عصبي مصنوعي كه امروزه در كابردهاي فراواني ارزش خود را نشان دادهاند براساس مدل بيولوژيكي مغز انسان بوجود آمدهاند كه از چند تا چند هزار نرون تشكيل شدهاند و اندازة آنها به پيچيدگي مسئله بستگي دارد. نرونها، وروديها را كه به طريقي خاص جمع شدهاند را پذيرا ميشوند.
2-2- تاريخچة شبكههاي عصبي
شبكههاي عصبي در سال 1943 ميلادي توسط مككلاچ و پيتز معرفي شد. اولين شبكه عصبي كه توسط آنها معرفي شد داراي چند نرون ساده بود و قدرت محاسباتي مناسبی داشت.
در سال 1949 ميلادي هب اولين قانون آموزش شبكههاي عصبي را پيشنهاد كرد. در آن زمان هب ادعا كرد كه اگر دو نرون بطور همزمان فعال شوند، اثر ارتباطي بين آنها زياد ميشود.
دهههاي50 و60 ميلادي سالهاي طلائي شبكههاي عصبي است. در محدوده سالهاي 1958 تا 1962 روزنبلات گروه بزرگي از شبكههاي عصبي به نام پرسپترون را معرفي نمود. قانون آموزش اين شبكهها يك روش تكراري اصلاح وزن بود كه بسيار قويتر از قانون هب عمل ميكرد.
با ابداع روش انتشار برگشتي كه مستقلاً توسط پاركر و لوكان ارائه گرديد تحولي در شبكههاي عصبي صورت گرفت. از ساير كساني كه در پيشبرد اين علم سهيم بودند برنده جايزه نوبل فيزيك، هاپفيلد بود كه شبكههاي عصبي را كه براساس وزن ثابت عمل ميكنند را براي اولين بار معرفي كرد. اين شبكهها با حافظه مشاركتي عمل ميكردند و امكان حل مسائل با قيدهاي اوليه توسط آنها ميسر بود.
2-3- شبكه عصبي واقعي
سيستم عصبی انسان از واحدهایی بنام سلول عصبی که همان نرون ها هستند تشکیل شده اند که دارای پیچیدگی های حیرت انگیزی می باشد. يك نرون واقعي كه در شكل نشان داده شده داراي سه جزء دندريت ، سیناپس و اكسون است. دندريتها که شاخه های متعدد سلولهای عصبی هستند علائم را بصورت پالسهاي الكتريكي از ساير نرونها دريافت كرده و با واكنش شيميايي در فضاي بين سلولي انتقال ميدهند. محل تماس دو عصب یا دو دندریت سیناپس نام دارد . اگر مجموع مقادير ورودي از حد آستانه فراتر رود، پردازشگر فعالشده و از طريق اكسون علائمي را به سلول بعدي منتقل ميكند
2-4- شبكه عصبي مصنوعي
هر شبكه عصبي داراي خصوصياتي است كه آن را از شبكههاي ديگر متمايز ميكند. اين خصوصيات شامل نحوة ارتباط بين نرونها، روش آموزش شبكه، نحوة تعيين مقادير وزنهاي رابط و نوع تابع تحرك هر نرون است.
وزنهاي رابط بين نرونها در واقع نشاندهندة اطلاعات مورد نياز شبكه براي حل مسئله است. در يك شبكة عصبي هر نرون وضعيت مشخصي داشته و به ورودهاي دريافت شده بستگي دارد. عموماً هر نرون پاسخ خود را به نرون يا نرونهاي ديگر ارسال ميدارد.
بطور كلي خصوصيات يك شبكه عصبي شامل، ساختار شبكه و نحوه ارتباط بين نرونها، روش آموزش شبكه و نحوه تعيين مقادير وزنهاي رابط، و تابع تحريك هر نرون است. با توجه به چگونگي انجام هر يك از موارد مذكور شبكههاي عصبي متعددي ارائه شده كه بيان خواهند شد.
2-5- سلول عصبي مصنوعي
سلول عصبي مصنوعي تقليدي از سلول عصبي بيولوژيكي است. بطور كلي دستهاي از وروديها بهكار ميروند كه هر كدام معرف خروجي سلول عصبي ديگري است. هر ورودي در وزن متناظرش كه بيانگر قدرت اتصالي است ضرب شده و سپس همه وروديهاي وزندار با يكديگر جمع ميشوند، تا سطح تحريك سلول عصبي معين شود. شكل 2-2 مدل يك شبكه عصبي مصنوعي را نشان ميدهد .
x1
x2
.
.
.
.
.
xn
Σ
NET=xw
w1
w2
.
.
wn
x
w
شكل 2-2: سلول عصبي مصنوعي
دستهاي از وروديها كه بصورت نشان داده شدهاند به سلول عصبي اعمال ميشود. اين وروديها که جمعا بعنوان یک بردار در نظر گرفته می شوند بردار ورودي ناميده ميشوند. هر موج قبل از اينكه به واحد جمع كه با علامت ∑ نشان داده شده اعمال شود، در وزن مربوط بهخود ضرب ميگردد. هر وزن مشابه با قدرت يك اتصال است. معمولاً مجموعه وزنهاي هر لايه با [w1,w2,…,wn]نشان داده ميشود.انديس بالا نشاندهندة شمارة لايه است. واحد جمعكننده، وروديهاي وزندار را جمع كرده و خروجي را كه با NET نشان داده ميشود توليد ميكند.
(2-1)
2-6- ساختار شبكههاي عصبي مصنوعي
عموماً نرونهاي يك لايه بهطور يكسان عمل ميكنند. پارامتر اصلي در تعيين رفتار يك نرون، تابع تحريك مربوط به آن و رابطهاي وزنداري است كه اطلاعات از طريق آنها دريافت و يا ارسال ميگردد. در هر لايه، نرونها داراي تابع تحريك يكسان بوده و طريقة ارتباط آنها به ساير نرون ها با هم يكسان است. در شبكههاي عصبي، نرونهاي يك لايه يا بطور كامل با يكديگر مرتبط بوده و يا اين ارتباط وجود ندارد.
ترتيب نرونها در لايهها و طريقة ارتباط در داخل لايهها و بين لايهها ساختار شبكه ناميده ميشود. بسياري از شبكههاي عصبي داراي يك لاية ورودي بوده و پاسخ هر واحد برابر با ورودي اعمال شده از خارج شبكه است. شبكههاي عصبي بهصورت يك يا چند لايه گروهبندي ميشوند. در نرونهاي لاية ورودي محاسبهاي انجام نميگيرد، بنابراين اين نرونها بهعنوان لايه محسوب نميشود. يكي از روشهاي تقسيمبندي انواع شبكهها براساس تعداد لايههاست كه در ذيل به اختصار بيان ميشود .
2-6-1- شبكه تك لايه
اگرچه یک سلول عصبی منفرد برخی از توابع ردیابی الگوهای ساده را می تواند به انجام برساند اما قدرت محاسبات عصبی از قدرت مجموعه ای از سلولهای عصبی مرتبط شونده به یکدیگر در یک شبکه نشأت می گیرد. شبكه تكلايه شامل يك لايه با ارتباطهاي وزندار است. در شبكة تكلايه نشان داده شده در شكل 2-4 نرونهاي لايه ورودي بهطور كامل به واحدهاي خروجي مرتبط شدهاند، وليكن ارتباطي بين نرونهاي لايه ورودي وجود نداشته و نرونهاي لايه خروجي به يكديگر مرتبط نشدهاند.
x1
x2
.
.
.
. xn
Σ
Σ
Σ
w11
w12
w13
w21
.
.
.
.
.
wnm
y1
y2
.
.
.
. ym
شكل 2-4: شبكه تك لايه
2-6-2- شبكه چند لايه
يك شبكه چندلايه شامل يك و يا بيش از يك لاية وزن دار پنهان بين نرونهاي لايه ورودي و خروجي است. عموماً مجموعهاي از وزنها بين دو لاية مجاور هم وجود دارد كه شامل لاية ورودي، پنهان و يا خروجي است. اگرچه شبكههاي چندلايه در مقايسه با شبكههاي تكلايه قادر به حل مسائل پيچيدهتري هستند اما آموزش اينگونه شبكهها مشكلتر است، با آموزش چنين شبكههايي مسائلي قابل حل است كه با شبكههاي تكلايه امكانپذير نيست.
x1
x2
.
.
.
. xn
Σ
Σ
Σ
w11
w12
w13
w21
.
.
.
.
.
wnm
y1
y2
.
.
.
.
ym
Σ
Σ
Σ
k11
k12
k13
k21
.
.
.
.
.
knm
شكل 2-5: شبكه چند لايه
2-7- توابع تحريك مورد استفاده در شبكه عصبي
عمليات اصلي يك شبكة عصبي مشتمل بر جمع وروديهاي وزندار شده، و اعمال تابع تحريك به اين مجموعه، براي تعيين خروجي شبكه است. براي نرونهاي ورودي، اين تابع واحد بوده و خروجي نرون برابر با ورودي آن است. اگرچه انتخاب تابع تحريك یکسان برای تمام نرونهاي يك لايه الزامينيست، وليكن معمولاً تابع تحريك نرونهاي يك لايه يكسان انتخاب می شود و در اكثر موارد از تابع تحريك غيرخطي استفاده ميشود. با توجه به تواناييهاي محدود شبكههاي تك لايه، براي اينكه حداكثر استفاده از شبكههاي چندلايه انجام شود نياز به تابع تحريك غيرخطي است.
2-8- آموزش شبكه
یک شبکه به گونه ای آموزش داده می شود که با بکار بردن یک دسته از ورودیها، دسته خروجیهای دلخواه تولید شود. هر کدام از این دسته های ورودی و یا خروجی را می توان بصورت یک بردار در نظر گرفت. آموزش با بکار بستن متوالی بردارهای ورودی و تنظیم وزن های شبکه مطابق با یک روش از پیش تعیین شده انجام می گردد. طی آموزش شبکه وزنهای شبکه بتدریج به مقادیری همگرا می شوند که به ازاء آنها با اعمال بردار ورودی بردار خروجی دلخواه تولید شود.
در آموزش شبكههاي عصبي بهتر است كه زوجهاي آموزشي بطور تصادفي بهشبكه ارائه شوند. اگر اطلاعات در فايل ورودي در كنار يكديگر گروهبندي شده باشند و بهترتيب به شبكه ارائه شوند، در اين صورت ممكن است شبكه
آنچه را كه ياد گرفته، از ياد ببرد. براي جلوگيري از اين مشكل بهتر است اطلاعات ورودي بطور تصادفي به شبكه ارائه شده و يا هر چند دوره يكبار، ترتيب اطلاعات را در فايل ورودي عوض نمود.
2-8-1- آموزش نظارت شده
آموزش نظارت شده به زوج هایی نیاز دارد که از بردار ورودی و بردار هدف ( خروجی دلخواه ) تشکیل شده باشد. یک بردار ورودی و خروجی دلخواه مربوط به آن مجموعا یک زوج آموزشی نامیده می شود. اكثر شبكههاي عصبي با استفاده از مجموعهاي از زوج بردارهاي نمونه آموزش مييابند. در اين نوع آموزش به هر بردار ورودي يك بردار خروجي مشخص نسبت داده شده و با ارائه اين مجموعه بردارها به شبكه، وزنها براساس الگوريتم خاصي اصلاح ميشوند.معمولاً يك شبكه تحت تعدادي از چنين زوجهاي آموزشي تربيت ميگردد. با اعمال يك بردار ورودي، بردار خروجي شبكه محاسبه ميشود. خروجي دلخواه كه خطا ناميده ميشود به سمت عقب در سراسر شبكه منتشر شده و سپس وزنها با استفاده از الگوريتمي كه تمايل به حداقل رساندن خطا دارند، تنظيم ميشوند. بردارهاي دستة آموزشي متوالياً اعمال شده، خطاها محاسبه شده و وزنها به ازاي هر بردار، تنظيم ميشوند، تا خطا براي كل دستة آموزشي به مقدار كوچك قابل قبولي برسد.
2-8-2- آموزش غيرنظارت شده
در اين نوع آموزش بدون اينكه بردارهاي خروجي به شبكه داده شوند، بردارهاي ورودي به شبكه داده ميشوند. وزنهاي شبكه طوري اصلاح ميشوند كه بردارهاي ورودي مشابه در يك گروه قرار گرفته و پاسخ شبكه براساس نزديكترين بردار به بردار ورودي بدست آيد. آموزش شبكه عصبي انتشار متقابل از اين نوع است.
آموزش نظارتشده با وجود موفقيتهاي بسيار زياد، مورد انتقاد نيز واقع شد، زيرا از نظر بيولوژيكي، غيرمحتمل و نامعقول بوده و تصور اينكه در مغز انسان، خروجيهاي واقعي و دلخواه مقايسه شده و تصحيحات قبلي به سمت عقب در كل شبكه منتشر گردند، بسيار مشكل است