مقاله رایگان با موضوع پردازش اطلاعات، نفت و گاز

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

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

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

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

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

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

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

این مطلب مشابه را هم بخوانید :   پایان نامه با کلید واژگانآیا، مراقبتی، بیمارتان، 154

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 می‌توان آن‌ها را مشاهده کرد.

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