X
تبلیغات
Zonoz civil

شبکه‌های عصبی مصنوعی

Artificial Neural Network


چکیده:
شبکه‌های عصبی مصنوعی از مباحث جدیدی است که دانشمندان علوم کامپیوتر به آن علاقمند شده‌اند و برای پیشرفت هرچه بیشتر علوم کامپیوتر وقت و هزینه بسیاری را صرف آن کرده و می‌کنند. این موضوع با ایده گرفتن از سیستم عصبی بدن انسان و با هدف شبیه‌سازی هرچه بیشتر کامپیوتر به انسان شکل گرفت و تا حال به خوبی پیشرفته است. از جمله کاربردهای این بحث می‌توان از شناسایی الگوها, پردازش تصویر و رویت, هوش مصنوعی, کنترل رباتها و موارد بسیار دیگر نام برد. ما در این مقاله پس از مقدمه به مسائل در خور شبکه‌های عصبی مصنوعی و نیز کاربردهای آن خواهیم پرداخت, در ادامه 
Perceptron ها را که یکی از مهمترین الگوریتم‌های شبکه‌های عصبی مصنوعی می‌باشد معرفی می‌کنیم.1- مقدمه
1-1- ایده پیدایش شبکه‌های عصبی مصنوعی
آیا کامپیوتر میتواند همان نوع از محاسباتی را که یک فرد هوشمند انجام میدهد به کار گیرد؟
بسیاری از دانشمندان عقیده داشته ودارند که این بحث باید مورد توجه قرار گیرد. شبکه‌های عصبی در حل مسائل یک جهت جدید و متمایز نسبت به کامپیترهای عمومی می‌گشود. کامپیوترهای عمومی از یک الگوریتم استفاده می‌کنند یعنی برای حل مسائل از یک سری دستورات از پیش تعیین شده پیروی می‌کنند مگر در مواقع ویژه‌ای که کامپیوتر نیاز به یک‌سری اطلاعات برای حل مسئله دارد. و همین مسئله توانایی پردازش را از کامپیوترهای عمومی به مسائلی که ما قبلا فهمیده‌ایم و روش حل آنها را شناخته‌ایم محدود می‌کند و تنها سرعت عمل و قدرت در حل نمونه‌های بزرگتر را به همراه دارند. اما کامپیوترها باید به قدری مفید باشند که بتوانند کارهایی را انجام دهند که واقعا ما نمی‌دانیم چگونه باید آنها را انجام دهیم.

1-2- بررسی سلولهای مغزی افراد
تحقیق درباره سلولهای مغزی افراد و همچنین شناخت 
‌‌Neuron ها یا رشته‌های مغزی وبیان یک راه نسبتا متفاوت که یک سیستم هوشمند را بنا می‌کند شروع شد. مغز بشر متشکل از میلیونها نرون عصبی منحصر بفرد است واین رشته‌های عصبی به اشکال و اندازه‌های مختلف تغییر می‌کنند.. هر نرون عموما یک هسته دارد و یک‌سری سلولهای عصبی Axon (آکسون)ـ که علائم خروجی را به سلولهای عصبی نرون دیگر حمل می‌کنندـ و Dendrite ها (شاخه‌های سلولهای عصبی). علائم در سلولهای عصبی میان شاخه‌های سلولهای عصبی ونواحی خروجی جریان دارند.
در اینجا برای حالت برانگیزش باید آشفتگی از یک حدی تجاوز کند که آستانه یا سرحد نامیده می‌شود و پس از برانگیزش نرون‌ها پیامهایی برای نرون‌های دیگر می‌فرستند و خود را برای دریافت و پاسخ به اطلاعات عمومی آماده می‌کنند.

1-3- تاریخچه
شبکه‌های عصبی دهها سال است که جلب توجه می‌کنند وتاکنون راه حلهایی برای استفاده از هوش بشری ارائه شده است. اولین نرون مصنوعی درسال 1943 توسط نروفیزیولوژیست وارن‌مک‌کالوک و منطق دان والتر‌پیتز تولید شد.در دهه 60 به دلایلی که خارج از بحث این مقاله است مردم به‌سوی شبکه‌های عصبی متمایل شدند و تنها در دهه 80 دانشمندان توانایی‌های واقعی شبکه‌های عصبی را دیدند.
2- شبکه‌های عصبی مصنوعی

2-1- شبکه‌های عصبی مصنوعی

شبکه‌های عصبی شبیه به مغز انسان اطلاعاتی را پردازش می‌کنند. شبکه‌ از تعداد زیادی سلولهای عصبی(
Neuron ها) تشکیل شده با پردازشی بسیار بزرگ و به‌هم پیوسته که در حل موازی مسائل ویژه مشغول به کارند.
یادگیری شبکه‌های عصبی از طریق مثالهاست. آنها برای انجام یک کار خاص برنامه‌ریزی نشده‌اند. مثالها باید با دقت بسیار بالایی انتخاب شوند والا زمان مفید هدر خواهد رفت و یا حتی ممکن است شبکه به طور ناقص دایر شود و در اینجا راهی برای فهمیدن اینکه سیستم معیوب است یا خیر وجود ندارد مگر اینکه خطایی رخ دهد.
شبکه‌های عصبی مصنوعی یک ترکیبی از مجموعه نرون‌هاست و البته نرونهای مصنوعی‌ای که بسیار شبیه به نرونهای زیستی کار می‌کنند. و بدین گونه است که ورودیهای زیادی با وزنهای مختلف می‌گیرد و یک خروجی که به ورودی وابسته است تولید می‌کند. نرونهای زیستی می‌توانند در حال برانگیزش باشند یا نباشند. ( وقتی یک نرون برانگیخته می‌شود ضربه علائم خروجی آن مقداری کمتر از 100 هرتز است)
شبکه‌های عصبی استفاده وسیعی در شناسایی الگوها دارند زیرا از خودشان قابلیت آن را دارند که بطور عمومی به ورودی‌های غیر منتظره نیز پاسخ دهند. در طول ساخت نرونها می‌آموزند که چگونه الگوهای ویژه گوناگون را تشخیص دهند. اگر الگویی پذیرفته شود در حالی که در طول اجرا ورودی با خروجی مرتبط نباشد، نرون از مجموعه‌ای از الگوهایی که سابقا آموخته خروجیی را که شبیه به الگو می‌باشد وکمترین تفاوت را با ورودی دارد انتخاب می‌کند. این روال عموما فراخوانی می‌شود.
مثال:
وقتی که ورودی نرون 1111 باشد چهار ورودی بر حسب برانگیزش مرتب شده‌اند و وقتی ورودی‌های 0000 را داریم نرون برای برانگیزش مرتب نیست. قاعده عمومی این است که نرونها مایلند برانگیخته شوند وقتی که ورودی‌ها 0111 ، 1011 ، 1101 ، 1110 یا 1111 باشند و در صورتی که ورودی آنها 1000 ، 0001 ، 0010 ، 0100 یا 0000 باشند مایل به برانگیخته شدن نیستند.
شناسایی الگوهای پیچیده سطح بالا می‌تواند به وسیله شبکه‌ای از نرونها انجام شود و بدین ترتیب نام آن را شبکه‌های عصبی مصنوعی گذاشتند. اکنون شبکه‌های عصبی کاربردهای زیادی دارند(درمنطق وکلام و شناسایی عکسها)البته شناسایی الگوهامی‌تواند به‌طور موفقیت آمیز بر روی کامپیوترهای عمومی انجام شود. این شبکه‌های عمومی که برای شناسایی الگوها استفاده می‌شوند 
Feed-Forward نامیده می‌شدند زیرا آنها یک بازخورد (Feed-Back) داشتند. آنها به‌طور ساده ورودی‌ها را با خروجی‌ها می‌آمیختند. اما شناسایی الگوها به تدریج کاملتر شد به‌طوریکه بر روی کامپیوترهای عمومی با سیستم خاص خودشان به‌سختی انجام می‌شد پس برای شناسایی الگوها شبکه‌های Feed-Forward کافی نبودند.
در شبکه‌های عصبی خروجی هر نرون به ورودی نرونهای مجاورش متصل شده است. شبکه‌های عصبی نمی‌توانند معجزه کنند اما اگر به درستی استفاده شوند نتایج شگفت‌انگیزی خواهند داشت.
2-2- مشخصات مسائل در خور شبکه‌های عصبی مصنوعی ANN(Artificial Neural Network) 
تقلید از ساختارهای محاسباتی سیستم زیستی ممکن است ایده اصلی نمونه‌های محاسباتی برای ساخت کلاسهایی از مسائل باشد. از جمله این مسائل می‌توان از مسائل مشکل 
NP که شامل مسائل طبقه‌بندی شده، زمانبندی‌شده، جستجو وغیره نام برد، کلاس مسائل شناسایی الگوها، افراد و موضوعات مشخص را در دیدار و تماس با آنها می‌شناسد و کلاس مربوط به داده‌های ناقص، اشتباه، متناقض، فازی و احتمالی. این مسائل توسط همه یا برخی از موارد زیر توصیف می‌شوند:
یک فضای مسئله با بعد بزرگ، پیچیده، ناشناخته با اثرات متقابل پیچیده ریاضی‌وار بین متغییرها و یک فضای راه‌حل که ممکن است خالی باشد(شامل یک راه‌حل یکتا یا بیشتر ، شامل تعدادی از راه‌حلهای مفید)به نظر می‌رسد 
ANN ها راه‌حلهایی برای مسائلی که با ورودی‌های حسی بیشتر درگیرند ارائه می‌دهد(صحبت‌کردن، دیدن، شناسایی دستخط و…).
2-3- کاربردهای شبکه‌های عصبی مصنوعی 
ANN 
می‌توان موارد زیر را از کاربردهای شبکه‌های عصبی مصنوعی ذکر کرد:
پردازش تصویر و دید( 
Image processing and computer vision )
پردازش علائم( 
Signal processing ): شامل ریخت‌شناسی و تجزیه و تحلیل علائم مربوط به زمین‌لرزه‌ها و… 
شناسایی الگوها( 
Pattern recognition ): شامل شناسایی چهره، اثر انگشت، تشخیص نوع صدا و نوع صحبت کردن، دستخط و … 
پزشکی( 
Medicine ): شامل تجزیه و تحلیل و تشخیص علائم دستگاه ضربان‌نگار قلب (الکتروکاردیوگرافیک)، تشخیص امراض گوناگون و …
سیستم‌های نظامی( 
Military systems ): شامل ردیابی مین‌های زیردریایی، دسته‌بندی صداهای نابه‌هنجار و مخل در رادارها و شناسایی گوینده رزمی.
سیستم‌های تجاری( 
Financial systems ): شامل تجزیه و تحلیل انبار مغازه‌ها، ارزیابی واقعی املاک و …
برنامه‌ریزی، کنترل و جستجو( 
Planning, control, and search ): شامل اجرای موازی مسائل و کنترل رباتها.
هوش مصنوعی( 
Artificial intelligence ): شامل برخی سیستم‌های طبی و اجرای سیستم‌های خبره.سیستم‌های قدرت( Power systems ): شامل برآورد وضعیت سیستم، ردیابی سریع و دسته‌بندی ردیابی، ردیابی خطا و ترمیم آن، پیش‌بینی و برآورد تخمین امنیت.
منبع:hfarahani48.blogfa.com


نوشته شده در 2012/1/30 توسط حجت ا.. احمدی قشلاقی | لينك ثابت |

شبکه های عصبی مصنوعی 2

(Artificial Neural Network -ANN)

شبکه های عصبی (Artificial Neural Network) مدل های محاسباتی آموزش پذیری (و بعضا تطبیق پذیری) هستند که مغز انسان را مدل می کنند [Jang, Sun & Mizutani, 1997]. به طور کلی شبکه های عصبی زیستی از تعداد زیادی نرون (Neuron) و ارتباطات بین آنها تشکیل شده اند و با یک گراف همراه با گره ها و یال هایش مدل سازی می شوند. این گراف به همراه الگوریتم آموزشی آن شبکه عصبی را تبدیل به یکی از قدرتمندترین ابزارها در شبیه سازی رفتار هوشمند یا خبره کرده است [Miller, Sutton & Werbos, 1995].

شبکه های عصبی را می توان در دو دسته "با مربی" (Supervised) و "بدون مربی" (Unsupervised) جای داد. تفاوت اصلی در آن است که در شبکه های با مربی الگوریتم آموزشی از داده های آموزشی ورودی-خروجی برای مدل کردن دینامیک سیستم استفاده می کند در حالیکه شبکه های بدون مربی فقط از ورودی استفاده می کنند. نشان داده شده است که شبکه های عصبی تقریبگر های عمومی (Universal Approximator) هستند، بطوریکه می توانند هر تابعی را تا یک دقت مشخص مدل کنند. به همین شبکه های عصبی در مسائل شناسایی سیستم ها (System Identification)، کنترل، تشخیص و عیب یابی (Diagnosis)، پیش بینی سری های زمانی (Prediction) و تشخیص الگو (Pattern recognition) مورد استفاده قرار گرفته اند. 

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

مسئله : رابطه ی میان ضخامت کاور تیر بتنی و میزان نفوذ یون کلر در مناطق خورنده مد نظر است. با استفاده از شبکه ی عصبی سیستمی طراحی کنید که با توجه به میزان کاور میزان نفوذ یون کلر را پیش بینی کند .

روش کار :1. چند نمونه ی آزمایشگاهی با میزان متفاوت کاور ساخته می شود ( متغیر مستقل در اینجا کاور است ) 

2. با دستگاه 
rcpt پس از گذشت مثلا یکسال میزان نفوذ یون کلر با استفاده از پودر بتن محاسبه می شود ( میزان نفوذ متغیر وابسته است ) 

3. یک شبکه عصبی ایجاد می شود ( معمولا با 
toolbox های matlab هرچند می شود با برنامه نویسی هم اینکار را انجام داد ) داده ها      ( متغیرهای وابسته و مستقل حاصل از آزمایش ) به شبکه وارد می شود ( اصطلاحا training شبکه ) 

4. در صورتی که شبکه همگرا شد شبکه عصبی پیش بینی کننده آماده است می تواند هر مقدار کاوری به آن وارد کرد و میزان نفوذ را از آن گرفت. 

5.حال اگر شبکه همگرا نشد یا تعداد داده ها کم است یا عمق شبکه عصبی کم است یا اساسا داده ها قابلیت همگرا کردن شبکه را ندارند. 

6. در صورتی که شبکه همگرا شد مرحله ی راستی آزمایی شبکه نیز با داده هایی غیر از آنهایی که برای آموزش شبکه استفاده شده است باید انجام شود.
به شبکه عصبی به عنوان یک ابزار رگرسیون پیشرفته نگاه کنید.شبکه عصبی مختصرا میشه گفت روشیه برای تقریب زدن توابع. مثلا فرض کنین شما یه سری X و یه سری Y داری که به هم ربط دارن ولی نمیدونی ربطشون چیه. در حقیقت می خواهی یه تابع برازش بدی که X ها رو به Y ها متناظر کنه. اینجا میایی و از روش شبکه های عصبی استفاده می کنی. روشش هم اینه که یه چند لایه شبکه ( مثلا فرض کن چند تا ماتریس که باید در X ها ضرب بشن تا Y ها رو بدن) به صورت پیش فرض می سازی. بعد میایی مثلا X ها رو میدی به شبکه، شبکه میاد اون ماتریس های خودش رو ضربو تقسیمو اینا میکنه روی X ها وY متناظر رو میده. بعد میاد Y ای که خودش به دست آورده رو با Y واقعی متناظر مقایسه می کنه، خطاش رو پیدا می کنه و با یه پروسه معکوس اعدادی رو که توی ماتریس های شبکه اومدن رو طوری عوض می کنه که جواب رو دفعه بعد درست نشون بده. تو مرحله بعد تو یهX دیگه می دی و همین پروسه برای Y جدید تکرار میشه و هر سری اعداد موجود در شبکه ( همون ماتریس ها منظورمه) تصحیح می شن تا در نهایت بعد از کلی تکرار ( به این کارایی که گفتم اصطلاحا میگن آموزش دادن شبکه) منطقی ترین شبکه برای داده های مورد نظرت ساخته می شه. از این به بعد هر X دیگه ای بدی ، جواب Y ای که میده تقریبا درسته. 
مثلا برای بهینه سازی قابها تحت آنالیز دینامیکیه غیر خطی. چون برای بهینه سازی 
run های زیادی لازم دارم ( مثلا 15000 تا) و هرrun تقریبا 15 دقیقه اینا طول میکشه زمان کل بهینه سازی میشه 5 ماه ! یعنی کامپیوتر 5 ماه باید یه کله روشن باشه! 
برای اینکه کار راحت تر شه و 
Run هام سریع تر باشن مجبورم از شبکه عصبی استفاده کنم. یعنی یه تابعی پیدا کنم که وقتی که قاب رو بهش می دم ( یعنی مقاطع تیر و ستون هامو می دم)سه سوته برام دریفت رو حساب کنه. برای این کار اول میام 500 بار run واقعی می گیرم از قابهای مختلف و نتایج دریف رو می خونم. بعدش میام تک تک این قاب ها رو با جوابشون می دم به شبکه عصبی و آموزش می دم تا شبکه عصبی بتونه تابع درست رو تقریب بزنه. از این به بعد دیگه برای Run گرفتن میام مقاطعم رو میدم به شبکه و اون دریفت رو سریعا میده.


نوشته شده در 2012/1/30 توسط حجت ا.. احمدی قشلاقی | لينك ثابت |

شبکه عصبی مصنوعی:

شبکه‌های عصبی مصنوعی (Artificial Neural Network - ANN) یا به زبان ساده‌تر شبکه‌های عصبی سیستم‌ها و روش‌های محاسباتی نوینی هستند برای یادگیری ماشینی، نمایش دانش، و در انتها اعمال دانش به دست آمده در جهت بیش‌بینی پاسخ‌های خروجی از سامانه‌های پیچیده. ایدهٔ اصلی این گونه شبکه‌ها (تا حدودی) الهام‌گرفته از شیوهٔ کارکرد سیستم عصبی زیستی، برای پردازش داده‌ها، و اطلاعات به منظور یادگیری و ایجاد دانش قرار دارد. عنصر کلیدی این ایده، ایجاد ساختارهایی جدید برای سامانهٔ پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهم‌پیوسته با نام نورون تشکیل شده که برای حل یک مسأله با هم هماهنگ عمل می‌کند. با استفاده از دانش برنامه‌نویسی رایانه می‌توان ساختار داده‌ای طراحی کرد که همانند یک نرون عمل نماید. سپس با ایجاد شبکه‌ای از این نورون‌های مصنوعی به هم پیوسته، ایجاد یک الگوریتم آموزشی برای شبکه و اعمال این الگوریتم به شبکه آن را آموزش داد. این شبکه‌ها برای تخمین (Estimation) و تقریب (Approximation)کارایی بسیار بالایی از خود نشان داده اند. گستره کاربرد این مدل‌های ریاضی بر گرفته از عملکرد مغز انسان، بسیار وسیع می‌باشد که به عنوان چند نمونه کوچک می توان استفاده از این ابزار ریاضی در پردازش سیگنال‌های بیولوییکی، مخابراتی و الکترونیکی تا کمک در نجوم و فضا نوردی را نام برد. اگر یک شبکه را هم‌ارز با یک گراف بدانیم، فرآیند آموزش شبکه تعیین نمودن وزن هر یال و bias اولیهٔ خواهد.

 

منبع:ویکی‌پدیا


نوشته شده در 2012/1/30 توسط حجت ا.. احمدی قشلاقی | لينك ثابت |
عناوين آخرين مطالب ارسالي
» Güzelliği seven bir Tanrınin adiynan
»
» بازم قبول شدم.....
» دانلود آموزش مهندسی معکوس آموزش
» مهندسی معکوس در حل تست کنکور و روش های نوین حل تست بدون معلومات
» دانلود فيلم آموزشي تست زنی به روش معکوس
» دانلود رايگان كتاب۱۰ رمز موفقیت (اثر آنتونی رابینز)
» نکاتی در باب سازه معادل از نظر پایداری
» آزمایش سه محوری خاک
» دانلود پاورپوينت مصور طراحي اعضاء كششي فولاد
» دانلود آیین نامه 2800 ویرایش چهارم
» راهنمای تصویری آیین نامه 2800
» دانلود راهنمای تشریحی آیین نامه 2800
» آيين نامه طراحي ساختمانها در برابر زلزله
» آيين نامه طراحي ساختمانها در برابر زلزله 2
» آيين نامه طراحي ساختمانها در برابر زلزله 1
» تفاوت مقاومت جانبی با سختی جانبی چیست؟
» نحوه محاسبه سختی جانبی سازه
» تعیین مرکز جرم و مرکز سختی
» آشنایی با سیستم های CLOSE LOOP و OPEN LOOP
» آشنایی با مجموعه مهندسی عمران
» آموزش Word 2003,2007 (قسمت دوم)
» آموزش Word 2003,2007
» ایجاد فهرستی از مطالب یا تصاویر در نرم‌افزار ورد ۲۰۰۷
» دانلود نرم افزار تحت اکسل منحنی دانه بندی پویا
» مجموعه آزمایش های مکانیک خاک در یک فایل ورد 50 صفحه ای بهمراه فایلهای پاور پوینت
» نرم افزارهای مكانیك خاك تحت محاسباتی تحت Excel + نرم افزار تهیه طرح اختلاط
» دانلود برنامه منحنی دانه بندی سنگ دانه بتن تحت اکسل
» آموزش حرفه ای word 2007 برای نوشتن پایان نامه (فهرست خودکار، شماره دهی عنوان ها به صورت خودکار و .
» حل تشریحی برخی از سوالات آزمون محاسبات نظام مهندسی آذر 90

zonozcivil

حجت ا.. احمدی قشلاقی

zonozcivil

http://zonozcivil.blogfa.com

Zonoz civil

Zonoz civil - شبکه عصبی مصنوعی

Zonoz civil

<-BlogAbout->

Zonoz civil

قالب بلاگفا

قالب وبلاگ

Free Template Blog

اسلایدر