توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله شبکه های عصبی
آبجی
28th June 2010, 10:48 AM
شبکه عصبی(neural network) چیست؟
این مقاله مقدمه ای بر شبکه های عصبی مصنوعی است. گونه های مختلف شبکه های عصبی توضیح و شرح داده شده است و کاربرد های شبکه های عصبی، نظیر ANN ها در پزشکی بیان شده و همچنین سابقه ای تاریخی از آن به تفصیل آورده شده است. همچنین رابطه بین چیزهای ساختگی و واقعی مورد بررسی قرار گرفته و در مورد آن توضیح داده شده است و سر انجام به شرح مدل های ریاضی در رابطه با این موضوع می پردازیم.
آبجی
28th June 2010, 10:54 AM
یک شبکه عصبی چیست؟
یک شبکه عصبی مصنوعی (Artificial Neural Network (ANN)) ایده ای است برای پردازش اطلاعات که از سیستم عصبی زیستی الهام گرفته شده و مانند مغز به پردازش اطلاعات می پردازد . عنصر کلیدی این ایده ، ساختار جدید سیستم پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پرداز شی فوق العاده بهم پیوسته تشکیل شده (neurons)که برای حل یک مسأله با هم هماهنگ عمل می کند.ANN ها ،نظیر انسانها ، با مثال یاد می گیرند . یک ANN برای انجام وظیفه های مشخص ، مانند شناسایی الگو ها و دسته بندی اطلاعات ، در طول یک پروسه یاد گیری ، تنظیم می شود . در سیستم های زیستی یاد گیری با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است . این روش ANN ها هم می باشد.
به نظر می آید شبیه سازی های شبکه عصبی یکی از پیشرفت های اخیر باشد . اگرچه این موضوع پیش از ظهور کامپیوتر ها بنیان گذاری شده و حداقل یک مانع بزرگ تاریخی و چندین دوره مختلف را پشت سر گذاشته است.
خیلی از پیشرفت های مهم با تقلید ها و شبیه سازی های ساده و ارزان کامپیوتری بدست آمده است. در پی یک دوره ابتدائی اشتیاق و فعالیت در این زمینه ، یک دوره ی بی میلی و بدنامی راهم پشت سر گذاشته است . در طول این دوره سرمایه گذاری و پشتیبانی حرفه ای از این موضوع در پایین ترین حد خود بود ، پیشرفت های مهمی به نسبت تحقیقات محدود در این زمینه صورت گرفت . که بدین وسیله پیشگامان قادر شدند تا به گسترش تکنولوژی متقاعد کننده ای بپردازند که خیلی برجسته تر از محدودیت هایی بود که توسط Minsky و Papert شناسانده شد. Minsky و Papert ،کتابی را در سال 1969 منتشر کردند که در آن عقیده عمومی راجع به میزان محرومیت شبکه های عصبی را در میان محققان معین کرده بود و بدین صورت این عقیده بدون تجزبه و تحلیل های بیشتر پذیرفته شد. هم اکنون ، زمینه تحقیق شبکه های عصبی از تجدید حیات علایق و متناطر با آن افزایش سرمایه گذاری لذت می برد .
اولین سلول عصبی مصنوعی در سال 1943 بوسیله یک neurophysiologist به نامWarren McCulloch و یک منطق دان به نام Walter Pits ساخته شد . اما محدودیتهای تکنولوژی در آن زمان اجازه کار بیشتر به آنها نداد.
شبکه های عصبی ، با قابلیت قابل توجه آنها در استنتاج معانی از داده های پیچیده یا مبهم ، میتواند برای استخراج الگوها و شناسایی روشهایی که آگاهی از آنها برای انسان و دیگر تکنیک های کامپیوتری بسیار پیچیده و دشوار است به کار گرفته شود. یک شبکه عصبی تربیت یافته می تواند به عنوان یک متخصص در مقوله اطلاعاتی ای که برای تجزیه تحلیل به آن داده شده به حساب آید.از این متخصص می توان برای بر آورد وضعیت های دلخواه جدید و جواب سؤال های " چه می شد اگر " استفاده کرد.
مزیتهای دیگر آن شامل موارد زیر می شود :
یادگیری انطباق پذیر:
قابلیت یاد گیری نحوه انجام وظایف بر پایه اطلاعات داده شده برای تمرین و تجربه های مقدماتی .
سازماندهی توسط خود:
یک ANN می تواند سازماندهی یا ارائه اش را ، برای اطلاعاتی که در طول دوره یادگیری در یافت می کند، خودش ایجاد کند.
عملکرد بهنگام(Real time ) :
محاسبات ANN می تواند بصورت موازی انجام شود، و سخت افزارهای مخصوصی طراحی و ساخته شده است که می تواند از این قابلیت استفاده کند.
تحمل اشتباه بدون ایجاد وقفه در هنگام کد گذاری اطلاعات :
خرابی جزئی یک شبکه منجر به تنزل کارایی متناظر با آن می شود اگر چه تعدادی از قابلیت های شبکه ممکن است حتی با خسارت بزرگی هم باقی بماند.
آبجی
28th June 2010, 10:55 AM
شبکه های عصبی نسبت به کامپیوتر های معمولی مسیر متفاوتی را برای حل مسئله طی می کنند . کامپیوتر های معمولی یک مسیر الگو ریتمی را استفاده می کنند به این معنی که کامپیوتر یک مجموعه از دستورالعمل ها را به قصد حل مسئله پی می گیرد. بدون اینکه، قدم های مخصوصی که کامپیوتر نیاز به طی کردن دارد، شناخته شده باشند کامپیوتر قادر به حل مسئله نیست. این حقیقت قابلیت حل مسئله ی کامپیوتر های معمولی را به مسائلی ،محدود می کند که ما قادر به درک آنها هستیم و می دانیم چگونه حل میشوند. اما اگر کامپیوتر ها می توانستند کار هایی را انجام دهند که ما دقیقا نمیدانیم چگونه انجام دهیم ، خیلی پر فایده تر بودند.
شبکه های عصبی اطلاعات را به روشی مشابه با کاری که مغز انسان انجام می دهد پردازش می کنند. آنها از تعداد زیادی از عناصر پرداز شی(سلول عصبی) که فوق العاده بهم پیوسته اند تشکیل شده است که این عناصر به صورت موازی باهم برای حل یک مسئله مشخص کار می کنند .شبکه های عصبی با مثال کار می کنند و نمی توان آنها را برای انجام یک وظیفه خاص برنامه ریزی کرد مثال ها می بایست با دقت انتخاب شوند در غیر این صورت زمان سودمند، تلف می شود و یا حتی بدتر از این شبکه ممکن است نا درست کار کند. امتیاز شبکه عصبی این است که خودش کشف می کند که چگونه مسئله را حل کند ، عملکرد آن غیر قابل پیش گویی است.
از طرف دیگر ، کامپیوتر های معمولی از یک مسیر مشخص برای حل یک مسئله استفاده می کنند . راه حلی که مسئله از آن طریق حل می شود باید از قبل شناخته شود و به صورت دستورات کوتاه و غیر مبهمی شرح داده شود. این دستورات سپس به زبان های برنامه نویسی سطح بالا برگردانده می شود و بعد از آن به کدهایی که کامپیوتر قادر به درک آنها است تبدیل می شود. به طور کلی این ماشین ها قابل پیش گویی هستند و اگر چیزی به خطا انجام شود به یک اشتباه سخت افزاری یا نرم افزاری بر می گردد.
شبکه های عصبی و کامپیوتر های معمولی با هم در حال رقابت نیستند بلکه کامل کننده یکدیگرند . وظایفی وجود دارد که بیشتر مناسب روش های الگو ریتمی هستند نظیر عملیات محاسباتی و وظایفی نیز وجود دارد که بیشتر مناسب شبکه های عصبی هستند . حتی فراتر از این ، مسائلی وجود دارد که نیازمند به سیستمی است که از ترکیب هر دو روش بدست می آید (بطور معمول کامپیوتر های معمولی برای نظارت بر شبکه های عصبی به کار گرفته می شوند ) به این قصد که بیشترین کارایی بدست آید.
شبکه های عصبی معجزه نمی کنند اما اگر خردمندانه به کار گرفته شوند نتایج شگفت آوری را خلق میکنند.
چگونه مغز انسان می آموزد ؟
مسائل زیادی راجع به این که مغز چگونه خود را برای پردازش اطلاعات آموزش می دهد، نا شناخته باقی مانده است بنابر این تئوری های فراوانی وجود دارد. در مغز انسان یک سلول سیگنال ها را از دیگران از طریق یک گروه از ساختار های ریز به نام dendrites جمع آوری می کند سلول عصبی جهش سریع فعالیت الکتریکی را در طول یک پایه بلند و نازک که axon نامیده میشود ، می فرستد که به داخل هزاران شاخه گسترش می یابد و کشیده می شود . در انتهای هر شاخه ، ساختاری که synapse نامیده می شود این فعالیت را ازaxon به اثرات الکتریکی تبدیل می کند که فعالیت یکaxon به صورت اثرات الکتریکی فعال کننده یا غیر فعال کننده تبدیل می شود که این کار باعث برانگیخته شدن یا آرام شدن سلول های عصبی مرتبط می شود. وقتی یک سلول عصبی پیام های فعال کننده را در یافت می کند، که بطور قانع کننده و وسیعی با پیام های ورودی غیر فعال کننده اش مقایسه شده باشد ،در این زمان این سلول نیز یک جهش از فعالیت الکتریکی را به داخل axon خودش می فرستد.
اشاره :
شبكههاي عصبي را ميتوان با اغماض زياد، مدلهاي الكترونيكي از ساختار عصبي مغز انسان ناميد. مكانيسم فراگيري و آموزش مغز اساساً بر تجربه استوار است. مدلهاي الكترونيكي شبكههاي عصبي طبيعي نيز بر اساس همين الگو بنا شدهاند و روش برخورد چنين مدلهايي با مسائل، با روشهاي محاسباتي كه بهطور معمول توسط سيستمهاي كامپيوتري در پيش گرفته شدهاند، تفاوت دارد.
ميدانيم كه حتي سادهترين مغزهاي جانوري هم قادر به حل مسائلي هستند كه اگر نگوييم كه كامپيوترهاي امروزي از حل آنها عاجز هستند، حداقل در حل آنها دچار مشكل ميشوند. به عنوان مثال، مسائل مختلف شناسايي الگو، نمونهاي از مواردي هستند كه روشهاي معمول محاسباتي براي حل آنها به نتيجه مطلوب نميرسند. درحاليكه مغز سادهترين جانوران بهراحتي از عهده چنين مسائلي بر ميآيد. تصور عموم كارشناسان IT بر آن است كه مدلهاي جديد محاسباتي كه بر اساس شبكههاي عصبي بنا ميشوند، جهش بعدي صنعت IT را شكل ميدهند.
تحقيقات در اين زمينه نشان داده است كه مغز، اطلاعات را همانند الگوها (pattern) ذخيره ميكند. فرآيند ذخيرهسازي اطلاعات بهصورت الگو و تجزيه و تحليل آن الگو، اساس روش نوين محاسباتي را تشكيل ميدهند. اين حوزه از دانش محاسباتي (computation) به هيچ وجه از روشهاي برنامهنويسي سنتي استفاده نميكند و بهجاي آن از شبكههاي بزرگي كه بهصورت موازي آرايش شدهاند و تعليم يافتهاند، بهره ميجويد. در ادامه اين نوشته به اين واژگان كه در گرايش شبكههاي عصبي، معاني ويژهاي دارند، بيشتر خواهيم پرداخت.
آبجی
28th June 2010, 10:57 AM
شباهت با مغز
اگرچه مكانيسمهاي دقيق كاركرد مغز انسان (يا حتي جانوران) بهطور كامل شناخته شده نيست، اما با اين وجود جنبههاي شناخته شدهاي نيز وجود دارند كه الهام بخش تئوري شبكههاي عصبي بودهاند.
بهعنوان مثال، يكي ازسلولهاي عصبي، معروف به نرون (Neuron) است كه دانش بشري آن را بهعنوان سازنده اصلي مغز ميانگارد. سلولهاي عصبي قادرند تا با اتصال بهيكديگر تشكيل شبكههاي عظيم بدهند. گفته ميشود كه هر نرون ميتواند به هزار تا ده هزار نرون ديگر اتصال يابد (حتي در اين مورد عدد دويست هزار هم به عنوان يك حد بالايي ذكر شده است).
قدرت خارقالعاده مغز انسان از تعداد بسيار زياد نرونها و ارتباطات بين آنها ناشي ميشود.
ساختمان هر يك از نرونها نيز بهتنهايي بسيار پيچيده است. هر نرون از بخشها و زيرسيستمهاي زيادي تشكيل شده است كه از مكانيسمهاي كنترلي پيچيدهاي استفاده ميكنند. سلولهاي عصبي ميتوانند از طريق مكانيسمهاي الكتروشيميايي اطلاعات را انتقال دهند. برحسب مكانيسمهاي بهكاررفته در ساختار نرونها، آنها را به بيش از يكصدگونه متفاوت طبقهبندي ميكنند. در اصطلاح فني، نرونها و ارتباطات بين آنها، فرايند دودويي(Binary)، پايدار (Stable) يا همزمان (Synchronous) محسوب نميشوند.
در واقع، شبكههاي عصبي شبيهسازي شده يا كامپيوتري، فقط قادرند تا بخش كوچكي از خصوصيات و ويژگيهاي شبكههاي عصبي بيولوژيك را شبيهسازي كنند. در حقيقت، از ديد يك مهندس نرمافزار، هدف از ايجاد يك شبكه عصبي نرمافزاري، بيش از آنكه شبيهسازي مغز انسان باشد، ايجاد مكانيسم ديگري براي حل مسائل مهندسي با الهام از الگوي رفتاري شبكههاي بيولوژيك است.
مدل رياضي
در متون فني براي نمايش مدل سادهاي كه در بالا تشريح گرديد، بهطور معمول از شكلي مشابه شكل 2 استفاده ميشود. در اين شكل كلاسيك، از علامت p براي نشان دادن يك سيگنال ورودي استفاده ميشود. در واقع در اين مدل، يك سيگنال ورودي پس از تقويت (يا تضعيف) شدن به اندازه پارامتر w، بهصورت يك سيگنال الكتريكي با اندازه pw وارد نرون ميشود. بهجهات سادهسازي مدل رياضي، فرض ميشود كه در هسته سلول عصبي، سيگنال ورودي با سيگنال ديگري به اندازه b جمع ميگردد. در واقع سيگنال b خود به معني آن است كه سيگنالي به اندازه واحد در پارامتري مانند b ضرب (تقويت يا تضعيف) ميشود. مجموع حاصل، يعني سيگنالي به اندازه pw + b، قبل از خارج شدن از سلول تحت عمل يا فرآيند ديگري واقع ميشود كه در اصطلاح فني به آن تابع انتقال (Transfer Function) ميگويند. اين موضوع در شكل بهوسيله جعبهاي نمايش داده شده است كه روي آن علامت f قرار داده شده است. ورودي اين جعبه همان سيگنال pw + b است و خروجي آن يا همان خروجي سلول، با علامت a نشانه گذاري شده است. در رياضي، بخش آخر مدلسازي توسط رابطه (a = f(pw + b نمايش داده ميشود. پارامتر w يا همان ضريبي كه سيگنال ورودي p در آن ضرب ميشود، در اصطلاح رياضي به نام پارامتر وزن يا weight نيز گفته ميشود.
زمانيكه از كنار هم قرار دادن تعداد بسيار زيادي از سلولهاي فوق يك شبكه عصبي بزرگ ساخته شود، شبكهاي در دست خواهيم داشت كه رفتار آن علاوه بر تابع خروجي f، كاملاً به مقادير w و b وابسته خواهد بود. در چنين شبكه بزرگي، تعداد بسيار زيادي از پارامترهاي w و b بايد توسط طراح شبكه مقداردهي شوند. اين پروسه از كار، در اصطلاح دانش شبكههاي عصبي، به فرآيند يادگيري معروف است. در واقع در يك آزمايش واقعي، پس از آنكه سيگنالهاي ورودي چنين شبكه بزرگي اتصال داده شدند، طراح شبكه با اندازهگيري خروجي و با انتخاب پارامترهايw و b بهگونهاي كه خروجي مطلوب بهدست آيد، شبكه را <آموزش> ميدهد. به اين ترتيب پس از آنكه چنين شبكه به ازاي مجموعهاي از وروديها براي ساختن خروجيهاي مطلوب <آموزش> ديد، ميتوان از آن براي حل مسائلي كه از تركيب متفاوتي از وروديها ايجاد ميشوند، بهره برد.
تابع f ميتواند بر حسب كاربردهاي گوناگون بهطور رياضي، به شكل هاي متفاوتي انتخاب شود. در برخي از كاربردها، پاسخ مسائل از نوع دودويي است. مثلاً مسأله بهگونهاي است كه خروجي شبكه عصبي بايد چيزي مانند <سياه> يا <سفيد> (يا <آري> يا <نه>) باشد. در واقع چنين مسائلي نياز به آن دارند كه وروديهاي دنياي واقعي به مقادير گسسته مانند مثال فوق تبديل شوند. حتي ميتوان حالاتي را در نظر گرفت كه خروجي دودويي نباشد، اما همچنان گسسته باشد. به عنوان مثال، شبكهاي را در نظر بگيريد كه خروجي آن بايد يكي از حروف الفبا، مثلاً از بين كاراكترهاي اسكي (يا حتي يكي از پنجاه هزار كلمه متداول زبان انگليسي) باشد. در چنين كاربردهايي، روش حل مسئله نميتواند صرفاً بر جمع جبري سيگنالهاي ورودي تكيه نمايد. در اين كاربردها، ويژگيهاي خواسته شده فوق، در تابع خروجي يا تابع انتقال f گنجانيده ميشوند. مثلاً اگر قرار باشد خروجي فقط يكي از مقادير صفر يا يك را شامل شود، در اين صورت ميتوان تابع خروجي شبكه عصبي را به شكل بخش a شكل شماره 3 انتخاب كرد. در اين حالت، خروجي چنين شبكهاي فقط ميتواند بر حسب وروديهاي متفاوت، مقدار يك يا صفر باشد.
در گروه ديگري از مسائلي كه حل آنها به شبكههاي عصبي واگذار ميشود، خروجي شبكه عصبي الزاماً بين مقادير معلوم و شناخته شده واقع نميشود. مسائلي از نوع شناسايي الگوهاي تصويري، نمونهاي از چنين مواردي محسوب ميشوند. شبكههاي عصبي در اين موارد، بايد بهگونهاي باشند كه قابليت توليد مجموعه نامتناهي از پاسخها را داشته باشند. رفتار حركتي يك روبات نمونهاي از <هوشي> است كه چنين شبكههاي عصبي ميتوانند فراهم آورند. اما در چنين شبكههايي هم لازم خواهد بود كه خروجي بين مقادير مشخصي محدود شده باشد (موضوع محدود شدن خروجي بين دو مقدار حدي ماكزيمم و مينيمم را در اينجا با موضوع قبلي اشتباه نگيريد. در اين مورد خروجي مسأله اساساً گسسته نيست و حتي در بين چنين مقادير حدي، ميتوان به تعداد نامتناهي خروجي دست يافت). اهميت اين موضوع زماني آشكار ميشود كه از مثال واقعي كمك گرفته شود. فرض كنيد قراراست از شبكه عصبي براي كنترل حركت بازوي يك روبات استفاده شود. در صورتيكه خروجي يك شبكه عصبي براي كنترل نيروي حركتي بهكار گرفته شود، طبيعي خواهد بود كه اگر خروجي شبكه محدود نشده باشد، ممكن است بازوي روبات بر اثر حركت بسيار سريع، به خود و يا محيط اطراف آسيب برساند. در چنين مواردي ممكن است از تابع انتقال بهشكل بخش b شكل شماره 3 استفاده شود.
قبل از آنكه به بخش ديگري از موضوع شبكههاي عصبي بپردازيم، بايد يك نكته را يادآوري كنيم كه همانطور كه در ابتداي اين بخش تشريح شد، سلولهاي عصبي داراي وروديهاي متعددي هستند و خروجي آنها نيز الزاماً محدود به يك خروجي نيست. بر اين اساس زماني كه بخواهيم از مدلسازي رياضي براي مدل كردن يك سلول عصبي استفاده كنيم، بهجاي آنكه همانند شكل 2 از يك ورودي p و يك خروجي a استفاده كنيم، از يك بردار p و يك بردار a سخن ميگوييم. بدين ترتيب بدون آنكه نياز به اعمال تغييري در اين تصوير داشته باشيم، ميتوانيم از آن براي مدلسازي سلولي با n ورودي (p1,p2,p3 . . . pn) و به همين ترتيب m خروجي (a1,a2,am) استفاده كنيم. توجه داشته باشيد كه در اين صورت، تعداد عناصر b و w نيز به تناسب افزايش مييابند و هر يك به n عدد افزايش مييابند.
استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است
استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد
vBulletin® v4.2.5, Copyright ©2000-2025, Jelsoft Enterprises Ltd.