دانلود پایان نامه

دليل از کشف اين پيچيدگي‌ها باز مي‌ماند. در حالي که شبکه‌هاي عصبي با اهميت دادن به فرد فرد داده‌ها آن‌ها را تجزيه و تحليل مي‌کند و نيز بدون پيش‌داوري در مورد شکل تابع هر پارامتر (خطي يا غير خطي بدون تابع) آن را ذخيره و ارزيابي مي‌کند، در چنين سيستمي مي‌توان نتايج بيشتري از عمق داده‌ها بيرون کشيد.

فصل سوم: مروري بر روش‌هاي يادگيري ماشيني و الگوريتم‌هاي بهينه‌سازي

3-1- مقدمه
در کمتر از دو دهه‌ي گذشته هوش مصنوعي با پيمودن ادامه راه تكامل خود به يك سري ابزار تحليلي تبديل شده است كه راه‌حل برخي مسائل را كه قبلاً لاينحل يا مشكل مي‌نمود هموار كرده است. امروزه هوش مصنوعي در تمامي عرصه‌هاي علمي از جمله داروسازي، سيستم‌هاي مترو، سيستم‌هاي انتقال سيالات، پيش‌بيني‌هاي بازارهاي مالي و بورس نفوذ كرده و در اين ميان حتي صنعت حفاري چاه هاي نفت و گاز از اين ابزار بي بهره نمانده است. در ساليان اخير شاهد حرکتي مستمر، از تحقيقات صرفاً تئوري به تحقيقات کاربردي به خصوص در زمينه پردازش اطلاعات، براي مسائلي که براي آن‌ها راه حلي موجود نيست و يا به راحتي قابل حل نيستند بوده‌ايم. با عنايت به اين امر، علاقه فزاينده‌اي در توسعه تئوريک سيستم‌هاي ديناميکي هوشمند مدل – آزاد – که مبتني بر داده‌هاي تجربي هستند – ايجاد شده است. شبکه عصبي مصنوعي جزء اين دسته از سيستم‌هاي ديناميکي قرار دارند، که با پردازش روي داده‌هاي تجربي، دانش يا قانون نهفته در وراي داده‌ها را به ساختار شبکه منتقل مي‌کنند. به همين خاطر به اين سيستم‌ها هوشمند گويند، چرا که بر اساس محاسبات روي داده‌هاي عددي يا مثال‌ها، قوانين کلي را فرا مي‌گيرند. اين سيستم‌ها در مدل‌سازي ساختار نرو – سيناپتيکي مغز بشر مي‌کوشند.
شبکه‌هاي عصبي چه در بعد آناليز و توسعه ساختاري و چه در بعد پياده‌سازي سخت افزاري، از نظر کمي، کيفي و توانايي، در حال رشد و پيشرفت مي‌باشد؛ و تکنيک‌هاي مختلف محاسبات عصبي از لحاظ تعداد همچنان در حال افزايش است.
به نظر مي‌رسد نخستين بار در سال 1993 کاربرد شبکه‌هاي عصبي مصنوعي در مهندسي نفت توسط جونياردي و ارشاقي بررسي شد [45]. در دو دهه گذشته شبکه‌هاي عصبي مصنوعي به طرز گسترده‌اي در جنبه‌هاي گوناگون مهندسي نفت مثل توصيف مخزن، توسعه ميدان، جريان دو فازي در لوله‌ها، تعيين مدل‌هاي تفسير آزمايش چاه، بررسي تکميل چاه، پيش‌بيني آسيب سازند، پيش‌بيني تراوايي سازند و مخازن شکاف‌دار استفاده شده است [46]. در اين فصل شبکه‌هاي عصبي و الگوريتم‌هاي بهينه‌سازي استفاده شده در مدل‌سازي را بررسي مي‌کنيم.

3-2- مفهوم شبکه
شبكه‌ها انواع مختلفي دارند اما همگي آن‌ها از دو مؤلفه تشكيل مي‌شوند:
– مجموعه‌اي از گره‌ها : هر گره در حقيقت واحد محاسباتي شبكه است كه ورودي‌ها را گرفته و بر روي آن پردازش انجام مي‌دهد تا خروجي بدست آيد. پردازش انجام شده توسط گره مي‌تواند از ساده‌ترين نوع پردازش‌ها نظير جمع كردن ورودي‌ها تا پيچيده‌ترين محاسبات را شامل شود. در حالت خاص، يك گره مي‌تواند خود، شامل يك شبكه ديگر باشد.
– اتصالات بين گره‌ها : اين اتصالات نحوه گذر اطلاعات بين گره‌ها را مشخص مي‌كند. در حالت كلي اتصالات مي‌توانند تك سويه41 يا دوسويه42 باشند.
تعامل بين گره‌ها از طريق اين اتصالات سبب بروز يك رفتار كلي از سوي شبكه مي‌گردد كه چنين رفتاري به تنهايي در هيچ يك از المان‌هاي شبكه ديده نمي‌شود. جامع بودن اين رفتار كلي بر عملكرد موجود در هر گره سبب تبديل شبكه به يك ابزار توانمند مي‌شود. به عبارت ديگر، مجموعه ساده‌اي از المان‌ها وقتي در قالب يك شبكه باشند مي‌توانند رفتاري از خود بروز دهند كه هيچ يك از آن المان‌ها به تنهايي قادر به بروز چنين مشخصه‌اي نبود.

3-3- شبكه عصبي مصنوعي
آن چنانکه بيان شد انواع مختلفي از شبكه‌ها وجود دارد. در اين بين شبكه‌اي وجود دارد كه گره را به عنوان يك نرون مصنوعي در نظر مي‌گيرد. در اصطلاح، اين چنين شبكه‌هايي را شبكه عصبي مصنوعي مي‌نامند.
يك نرون مصنوعي در حقيقت مدلي محاسباتي است كه از نرون‌هاي عصبي واقعي انسان، الهام گرفته است. نرون‌هاي طبيعي، ورودي خود را از طريق سيناپس 43دريافت مي‌كنند. اين سيناپس‌ها بر روي دندريت‌ها44 يا غشاء عصب قرار دارند. در يك عصب واقعي، دندريت‌ها دامنه پالس‌هاي دريافتي را تغيير مي‌دهند كه نوع اين تغيير در طول زمان يكسان نمي‌ماند و در اصطلاح، توسط عصب ياد گرفته مي‌شود. اگر سيگنال دريافتي به حد كافي قوي باشد (از يك مقدار آستانه بيشتر شود)، عصب فعال شده و سيگنالي را در طول اكسون45 منتشر مي‌كند. اين سيگنال نيز به نوبه خود مي‌تواند به يك سيناپس ديگر وارد شده و ساير اعصاب را تحريك كند [47]. شكل 3-1 يك نمونه عصب واقعي را نشان مي‌دهد.

شکل 3-1 نمونه عصب واقعي (در اين شکل اکسون ترمينال در واقع همان سيناپس است) [48].

به هنگام مدل كردن اعصاب، از پيچيدگي‌هاي آن‌ها صرف نظر مي‌شود و تنها به مفاهيم پايه‌اي بها داده مي‌شود، چرا كه در غير اين صورت رويكرد مدلسازي بسيار دشوار خواهد شد. در يك نگاه ساده، مدل يك عصب، بايد شامل ورودي‌هايي باشد كه در نقش سيناپس انجام وظيفه كنند. اين ورودي‌ها در وزن‌هايي ضرب مي‌شوند تا قدرت سيگنال را تعيين كنند. نهايتاً يك عملگر رياضي تصميم‌گيري مي‌کند كه آيا نرون
فعال شود يا خير و اگر جواب مثبت باشد، ميزان خروجي را مشخص مي‌سازد. بنابراين شبكه عصبي مصنوعي با استفاده از مدل ساده شده عصب واقعي به پردازش اطلاعات مي‌پردازد. با توجه به اين توضيحات، مي‌توان مدل ساده اي براي توصيف يك نرون (يك گره در شبكه عصبي مصنوعي) پيشنهاد كرد. اين مدل در شكل 3-2 نشان داده شده است. همان‌طور که در شکل مشخص است يک شبکه عصبي از سه لايه تشکيل شده است:
– لايه ورودي: لايه‌اي که داده‌هاي خام را به شبکه عصبي وارد مي‌کند. لايه ورودي بسته به تعداد پارامترهاي ورودي داراي نرون مي‌باشد.
– لايه‌هاي پنهان: لايه مياني يا همان لايه پنهان که ممکن است تعداد آن بيش از يکي باشد، بسته به نوع مسئله شامل نرون‌هايي است که وظيفه مهم برقراري ارتباط بين لايه ورودي و لايه خروجي را بر عهده دارند. عمل پردازش در اين لايه از طريق سيستم ارتباطات وزني صورت مي‌گيرد. وزن‌هاي ارتباطي ارزش خود را متناسب با اهميت اطلاعاتي که از هر نرون مي‌آيد، مشخص مي‌کنند. در واقع عمليات اصلي بر روي داده‌ها در اين بخش انجام مي‌شود. در مورد تعداد لايه‌ها و نرون‌هاي پنهان، مبناي خاصي وجود ندارد و معمولاً با صحيح و خطا به نحوي انتخاب مي‌گردد كه شبكه جواب معقولي در اختيار بگذارد.
– لايه خروجي: لايه‌اي که خروجي آن خروجي شبکه را تشکيل مي‌دهد لايه خروجي خوانده مي‌شود. تعداد نرون‌هاي لايه خروجي بسته به تعداد پارامترهاي خروجي‌ مسئله هستند.
جداي از ساده‌سازي‌هاي اعمال شده، تفاوت اصلي اين مدل با واقعيت در اين است كه در شبكه واقعي، ورودي‌ها سيگنال‌هاي زماني هستند حال آن كه در اين مدل، اعداد حقيقي ورودي‌اند. چندين مشخصه شبكه هاي عصبي مانند ديناميك دروني شبكه‌هاي عصبي در پيش‌بيني، تغييرات خطاي اطلاعات و عدم نياز به اطلاعات اضافي بر داده‌هاي ورودي، استفاده از آن‌ها را در بسياري از مسائل مهندسي جذاب مي‌کند. شبکه‌هاي عصبي با توانايي قابل توجه خود در استنتاج نتايج از داده‌هاي پيچيده، مي‌توانند در استخراج الگوها و شناسايي گرايش‌هاي مختلفي که براي انسان‌ها و کامپيوتر شناسايي آن‌ها بسيار دشوار است استفاده شوند.

3-3-1- مدل يک نرون تک ورودي
نرون کوچک‌ترين واحد پردازشگر اطلاعات است، که اساس عملکرد شبکه‌هاي عصبي را تشکيل مي‌دهد. در مدل تک نروني با يک ورودي، مشابه شکل 2-2، اسکالرهاي x و y به ترتيب ورودي و خروجي مي‌باشند.

شکل 3-2 مدل يک شبکه عصبي با يک نرون و يک ورودي [49].

ميزان تأثير x روي y به وسيله مقدار اسکالر w تعيين مي‌شود. ورودي ديگر مقدار l است در جمله باياس ضرب شده و سپس با wx جمع مي‌شود. اين حاصل جمع، ورودي خالص n براي تابع انتقال46 f خواهد بود. بدين ترتيب خروجي نرون با معادله زير تعريف مي‌شود:
(3-1)

بايد توجه داشت که پارامترهاي w و b که به ترتيب وزن و باياس ناميده مي‌شوند، قابل تنظيم هستند و تابع انتقال f نيز توسط طراح انتخاب مي‌شود. بر اساس انتخاب تابع انتقال و الگوريتم يادگيري، پارامترهاي w و b تنظيم مي‌شوند. يادگيري بدين معناست که w و b طوري تنظيم شوند که رابطه ورودي و خروجي براي هدف خاصي مطابقت نمايد [49].
در مدل ارائه شده در شكل 3-2، تنوع‌هاي بسياري وجود دارد. از جمله اين كه وزن‌هاي يك شبكه عصبي، كه مقدار خروجي را منتقل مي‌کنند، مي‌توانند مثبت يا منفي باشند. از طرفي، توابع مورد استفاده براي آستانه‌گذاري مي‌توانند بسيار متنوع باشند. اين توابع بايد پيوسته و مشتق پذير باشند. همچنين تعداد گره‌هاي ورودي مي‌تواند متغير باشد. البته با زياد شدن تعداد اين گره‌ها، به وضوح تعيين وزن‌ها را با مشكل روبرو مي‌کند؛ لذا بايد به دنبال روش‌هايي براي حل اين موضوع باشيم. روند تعين وزن‌هاي بهينه و تنظيم مقادير آن‌ها عمدتاً به صورت بازگشتي انجام مي‌شود. بدين منظور شبكه را با استفاده از قواعد و داده‌ها آموزش داده و با استفاده از قابليت يادگيري شبكه، الگوريتم‌هاي متنوعي پيشنهاد مي‌گردد كه همگي سعي در نزديك كردن خروجي توليد شده توسط شبكه به خروجي ايده آل و مورد انتظار دارند.
3-3-2- تابع انتقال
تابع تعريف شده در رابطه (3-1)، تابع انتقال ناميده مي‌شود. تابع انتقال مي‌تواند خطي يا غير خطي باشد. يک تابع انتقال بر اساس نياز خاص مسئله انتخاب مي‌شود. در عمل تعداد محدودي از توابع انتقال مورد استفاده قرار مي‌گيرند که در جدول 3-1 ليست شده‌اند [49].

3-4- انواع شبکه هاي عصبي
3-4-1- شبکه عصبي پرسپترون چند لايه
يكي از ساده‌ترين و در عين حال كارآمدترين چيدمان‌هاي پيشنهادي براي استفاده در مدل‌سازي عصب‌هاي واقعي مدل پرسپترون چند لايه47 مي‌باشد كه از يك لايه ورودي، يك يا چند لايه پنهان و يك لايه خروجي تشكيل يافته است. در اين ساختار، تمام نرون‌هاي يك لايه به تمام نرون‌هاي لايه بعد متصلند. اين چيدمان اصطلاحاً يك شبكه با اتصالات كامل را تشكيل مي‌دهد.
شکل 3- 3 شماي يك شبكه پرسپترون دو لايه را نشان مي‌دهد. به سادگي مي‌توان استنباط نمود كه تعداد نرون‌هاي هر لايه، مستقل از تعداد نرون‌هاي، ديگر لايه‌ها مي‌باشد. توجه به اين نكته حائز اهميت است كه در شکل 3- 3، هر دايره تجميع شده، عمل جمع و آستانه گذاري (عبور از تابع انتقال) است. در حقيقت هر دايره توپر در شکل 3- 3، مدلي از جمع كننده و بلوك آستانه گذاري نشان داده شده در شكل 3-2 است، كه به منظور سهولت نمايش به اين فرم نشان داده شده است. پس مي‌توان گفت يک شبکه
عصبي پرسپترون چند لايه در حقيقت بردار ورودي m بعدي x را به صورت ذيل به بردار خروجي n بعدي y مرتبط مي‌سازد.

(3-2)
که در اين رابطه، l نشان دهنده تعداد لايه هاي پنهان شبکه، ماتريس ضرايب وزن‌ها مربوط به لايه l، بردار باياس لايه l و تابع انتقال لايه l را نشان مي‌دهد. متغيرهايي که با زيرنويس o نشان داده شده‌اند مربوط به لايه خروجي هستند.
جدول 3-1 ليست تعدادي از توابع انتقال مورد استفاده براي شبکه‌هاي عصبي [50]
رديف
نام
تعريف تابع
علائم قراردادي
1
Tan-Sigmoid

2

خطي

3

لگاريتمي

4
Hardlimit

0 Otherwise

7
متقارن Hardlimit

-1 Otherwise

به طور مثال براي شبکه شکل 3-3 با يک لايه پنهان، با قرار دادن l = 1 تابع شبکه عصبي به صورت زير ساده مي‌شود:

(3-3)

اساساً، دو نوع يادگيري تحت نظارت و نظارت نشده وجود دارد. واضح است که در يک روش يادگيري نظارت شده، خروجي مطلوب براي هر يک از ورودي‌هاي آموزش ارائه مي‌شود، در حالي که در روش آموزش بدون نظارت خروجي ارائه نمي‌شود. در MLP از روش پس انتشار براي آموزش شبکه استفاده مي‌شود، که در اصل يک نوع از روش‌هاي يادگيري تحت نظارت است [51].

شکل 3-3 شبکه عصبي پرسپترون دو لايه (داراي سه نرون در لايه ورودي و چهار نرون در لايه پنهان و يک نرون در لايه خروجي است).

3-4-2- شبکه عصبي پيمانه‌اي
بر طبق تحقيقات اخير بر روي مغز، مشخص گرديد که مغز از سه زير مجموعه اصلي که معرف پيمانه در مغز هستند، تشکيل شده است. در واقع کارهاي پيچيده در مغز به مسائل کوچک‌تر و ساده‌تر تقسيم مي‌شوند [52]. با توجه به اين يافته‌هاي جديد مي‌توان شبکه‌هاي عصبي را، انعطاف‌پذيرتر و به واقعيت نزديک‌تر کرد. بر اساس چندين تحقيق، مشخص گرديد که مغز انسان از انبوه قطعات موازي و پيمانه، که نسبتاً مستقل کار مي‌کنند تشکل شده است [53، 54، 55]. براي مثال بر اساس تحقيقات انجام شده بر روي سيستم بينايي، مشخص گرديد که اين سيستم وظيفه خود را با تقسيم به بخش‌هايي از قبيل بخش تشخيص حرکت، بخش رنگ، بخش شکل و شدت را انجام مي‌دهد؛ و يک سيستم مرکزي وجود دارد که نتايج دريافتي از اين بخش‌ها را دريافت و با هم تجميع مي‌کند و خروجي نهايي که همان ديدن تصاوير است را به مغز مي‌فرستد [56].
در شکل 3-4 مي‌توان طرح شماتيک شبکه عصبي پيمانه اي48 را مشاهده کرد. با توجه به شکل مي‌توان گفت شبکه عصبي پيمانه‌اي توانايي ايجاد ساختارهاي مختلف در درون خود دارد و همچنين مي‌تواند مسائل مشکل و پيچيده را به چندين مسئله کوچک‌تر و ساده‌تر تقسيم کند. پس مي‌توان انتظار يک شبکه با پيچيدگي کمتر را داشته باشيم. اين به دليل استفاده از بخش‌هاي کوچک‌تر داده براي هر پيمانه است.

شکل 3-4 طرح شماتيک از يک شبکه عصبي پيمانه اي [59].
با توجه به تعاريف و توضيحات فوق، مي‌توان شبکه عصبي پيمانه‌اي را به عنوان يک شبکه که بار محاسباتي عظيم را در پيمانه‌ها تقسيم مي‌کند، که هر کدام از آن‌ها داراي ورودي مجزا و مستقل از پيمانه‌هاي ديگر هستند تعريف کرد [57، 58].
در نهايت، خروجي هر پيمانه براي ايجاد خروجي نهايي، تجميع مي‌شود. بنابراين هر بخش از شبکه عصبي پيمانه‌اي نشاني از يک کار ويژه محاسباتي از کل سيستم و مستقل از پيمانه‌هاي ديگر هستند، که تحت تأثير هم‌ديگر قرار نمي‌گيرند. با توجه به ساختار پيمانه‌اي و ساده تر آن نسبت به ساير شبکه‌ها مي‌توان انتظار پاسخ دقيق‌تر و سريع‌تر را داشت. شبکه عصبي پيمانه‌اي به چهار نوع تقسيم مي‌شوند که در شکل 3-5 مي‌توان آن‌ها را مشاهده کرد.


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