تبليغاتX
Ata Ollah Saeedi

Ata Ollah Saeedi
 
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4 /**//* /*]]>*/ /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif";}
چکیده مطلب: این گزارش مقدمه ای  بر شبکه های عصبی مصنوعی است. گونه های مختلف شبکه های عصبی توضیح و شرح داده شده است  و کاربرد های شبکه های عصبی، نظیر ANN ها در پزشکی بیان شده  و همچنین سابقه ای  تاریخی  از آن بتفضیل آورده شده است. همچنین رابطه بین چیزهای ساختگی و واقعی مورد بررسی قرار گرفته ودر مورد آن توضیح داده شده است و سر انجام به شرح مدل های ریاضی در رابطه با این موضوع می پردازیم. مقدمه یک شبکه عصبی چیست؟ یک شبکه عصبی مصنوعی (Artificial Neural Network (ANN))  ایده ای است برای پردازش اطلاعات که از سیستم عصبی زیستی الهام گرفته شده و مانند مغز به پردازش اطلاعات می پردازد . عنصر کلیدی این ایده ، ساختار جدید سیستم پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهم پیوسته تشکیل شده(neurons)که برای حل یک مسأله با هم هماهنگ عمل می کند.ANN ها ،نظیر انسانها ، با مثال یاد می گیرند . یک ANN برای انجام وظیفهای مشخص  ، مانند شناسایی الگو ها و دسته بندی اطلاعات ، در طول یک پروسه یاد گیری ، تنظیم می شود . در سیستم های زیستی  یاد گیری  با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است . این  روش ANN ها هم می باشد. سابقه تاریخی به نظر می آید شبیه سازی های شبکه عصبی  یکی از پیشرفت های اخیر باشد . اگرچه این  موضوع پیش از ظهور  کامپیوتر ها بنیان گذاری شده  و  حداقل یک مانع بزرگ تاریخی  و  چندین دوره مختلف را پشت سر گذاشته است. خیلی از پیشرفت های مهم با تقلید ها وشبه سازی های   ساده  و ارزان کامپیوتری  بدست آمده است. در پی یک دوره ابتدائی اشتیاق و فعالیت در این زمینه ، یک دوره ی بی میلی و بدنامی راهم پشت سر گذاشته است . در طول این دوره سرمایه گذاری و پشتیبانی حرفه ای از این موضوع در پایین ترین حد خود بود ، پیشرفت های  مهمی به نسبت تحقیقات محدود در این زمینه صورت گرفت . که بدین وسیله  پیشگامان قادر شدند تا به گسترش تکنولوژی متقاعد کننده ای بپردازند که خیلی برجسته تر از محدودیت هایی بود که توسط Minsky وPapert شناسانده  شد. Minsky وPapert ،کتابی را در سال 1969 منتشر کردند که در آن عقیده عمومی را جع به   میزان محرومیت  شبکه های عصبی را در میان محققان معین کرده بود و بدین صورت این عقیده بدون تجزبه و تحلیل های بیشتر پذیرفته شد. هم اکنون ، زمینه تحقیق شبکه های عصبی  از تجدید حیات علایق و متناطر با آن افزایش سرمایه گذاری لذت می برد . اولین سلول عصبی مصنوعی در سال 1943 بوسیله یک neurophysiologist به نلمWarren McCulloch ویک منطق دان به نام Walter Pits ساخته شد . اما محدودیتهای تکنولوژی  در آن زمان اجازه کار بیشتر به آنها نداد. چرا از شبکه های عصبی استفاده می کنیم شبکه های عصبی ، با قابلیت قابل توجه  آنها در استنتاج معانی از داده های پیچیده یا مبهم ، میتواند برای استخراج الگوها و شناسایی روشهایی که آگاهی از آنها برای انسان و دیگر تکنیک های کامپیوتری بسیار  پیچیده و دشوار است  به کار گرفته شود. یک شبکه عصبی تربیت یافته می تواند به عنوان یک متخصص در مقوله اطلاعاتی ای که برای تجزیه تحلیل به آن داده شده به حساب آید.از این متخصص می توان  برای بر آورد وضعیت های دخواه جدید و جواب سؤال های " چه می شد اگر "  استفاده کرد. شباهت با مغز اگرچه مكانيسم‌هاي دقيق كاركرد مغز انسان (يا حتي جانوران) به‌طور كامل شناخته شده نيست، اما با اين وجود جنبه‌هاي شناخته شده‌اي نيز وجود دارند كه الهام بخش تئوري شبكه‌هاي عصبي بوده‌اند. به‌عنوان مثال، يكي ازسلول‌هاي عصبي، معروف به نرون (Neuron) است كه دانش بشري آن را به‌عنوان سازنده اصلي مغز مي‌انگارد. سلول‌هاي عصبي قادرند تا با اتصال به‌يكديگر تشكيل شبكه‌هاي عظيم بدهند. گفته مي‌شود كه هر نرون مي‌تواند به هزار تا ده هزار نرون ديگر اتصال يابد (حتي در اين مورد عدد دويست هزار هم به عنوان يك حد بالايي ذكر شده است). قدرت خارق‌العاده مغز انسان از تعداد بسيار زياد نرون‌ها و ارتباطات بين آنها ناشي مي‌شود. ساختمان هر يك از نرون‌ها نيز به‌تنهايي بسيار پيچيده است. هر نرون از بخش‌ها و زير‌سيستم‌هاي زيادي تشكيل شده است كه از مكانيسم‌هاي كنترلي پيچيده‌اي استفاده مي‌كنند. سلول‌هاي عصبي مي‌توانند از طريق مكانيسم‌هاي الكتروشيميايي اطلاعات را انتقال دهند. برحسب مكانيسم‌هاي به‌كاررفته در ساختار نرون‌ها، آنها را به بيش از يكصدگونه متفاوت طبقه‌بندي مي‌كنند. در اصطلاح فني، نرون‌ها و ارتباطات بين آنها، فرايند دودويي(Binary)، پايدار (Stable) يا همزمان (Synchronous) محسوب نمي‌شوند. در واقع، شبكه‌هاي عصبي شبيه‌سازي شده يا كامپيوتري، فقط قادرند تا بخش كوچكي از خصوصيات و ويژگي‌هاي شبكه‌هاي عصبي بيولوژيك را شبيه‌سازي كنند. در حقيقت، از ديد يك مهندس نرم‌افزار، هدف از ايجاد يك شبكه عصبي نرم‌افزاري، بيش از آنكه شبيه‌سازي مغز انسان باشد، ايجاد مكانيسم ديگري براي حل مسائل مهندسي با الهام از الگوي رفتاري شبكه‌هاي بيولوژيك است. روش كار نرون‌ها در شكل يك، نماي ساده شده‌اي از ساختار يك نرون بيولوژيك نمايش داده شده است. به‌طور خلاصه، يك نرون بيولوژيك، پس از دريافت سيگنال‌هاي  ورودي (به‌ شكل يك پالس الكتريكي) از سلول‌هاي ديگر، آن سيگنال‌ها را با يكديگر تركيب كرده و پس از انجام يك عمل (operation) ديگر بر روي سيگنال تركيبي، آن را به‌صورت خروجي ظاهر مي‌سازد. همان‌طور كه در تصوير مشاهده مي‌كنيد، نرون‌ها از چهار بخش اصلي ساخته شده‌اند. دندريت‌ها (Dendrite)، سوما (Soma)، اكسان (Axon) و بالاخره، سيناپس (synapse) دندريت‌ها، همان اجزايي هستند كه به‌شكل رشته‌هاي طويل از مركز سلول به اطراف پراكنده مي‌شوند. دندريت‌ها نقش كانال‌هاي ارتباطي را براي انتقال‌دادن سيگنال‌هاي الكتريكي به مركز سلول بر عهده دارند. در انتهاي دندريت‌ها، ساختار بيولوژيكي ويژه‌اي به‌نام سيناپس واقع شده است كه نقش دروازه‌هاي اتصالي كانال‌هاي ارتباطي را ايفا مي‌كند. در واقع سيگنال‌هاي گوناگون از طريق سيناپس‌ها و دندريت‌ها به مركز سلول منتقل مي‌شوند و در آنجا با يكديگر تركيب مي‌شوند. عمل تركيب كه به آن اشاره كرديم، مي‌تواند يك عمل جمع جبري ساده باشد. اصولاً اگر چنين نيز نباشد، در مدل‌سازي رياضي مي‌توان آنرا يك عمل جمع معمولي در نظر گرفت كه پس از آن تابع ويژه‌اي بر روي سيگنال اثر داده مي‌شود و خروجي به شكل سيگنال الكتريكي متفاوتي از طريق اكسان (و سيناپس آن) به سلول‌هاي ديگر انتقال داده مي‌شود. البته تحقيقات جديد نمايانگر اين واقعيت هستند كه نرون‌هاي بيولوژيك بسيار پيچيده‌تر از مدل ‌ساده‌اي هستند كه در بالا تشريح شد. اما همين مدل ساده مي‌تواند زيربناي مستحكمي براي دانش شبكه‌هاي عصبي مصنوعي (Artificial Neural Network = ANN) تلقي گردد و متخصصان گرايش شبكه‌هاي عصبي يا هوش مصنوعي مي‌توانند با پيگيري كارهاي دانشمندان علوم زيست‌شناسي، به بنيان‌گذاري ساختار‌هاي مناسب‌تري در آينده دست بزنند.  چگونه مغز انسان می آموزد ؟ مسائل زیادی راجع به این که مغز چگونه خود را برای پردازش اطلاعات آموزش می دهد، نا شناخته باقی مانده است بنابر این تئوری های فراوانی وجود دارد. در مغز انسان یک سلول سیگنال ها را از دیگران  از طریق  یک گروه از ساختار های ریز به نام dendrites   جمع آوری می کند سلول عصبی جهش سریع فعالیت  الکتریکی را در طول یک پایه بلند و نازک که axon نامیده  میشود ، می فرستد که به داخل هزاران شاخه گسترش می یابد و کشیده می شود . در انتهای هر شاخه ، ساختاری که synapse نامیده می شود این فعالیت را ازaxon به اثرات الکتریکی تبدیل می کند که فعالیت یکaxon به صورت  اثرات الکتریکی  فعال کننده  یا غیر فعال کننده تبدیل  می شود که این کار باعث برانگیخته شدن  یا آرام شدن سلول های عصبی مرتبط  می شود. وقتی یک سلول عصبی پیام های فعال کننده را در یافت می کند، که بطور قانع کننده و وسیعی با پیام های ورودی غیر فعال کننده اش مقایسه شده باشد ،در این زمان این سلول نیز یک جهش از فعالیت الکتریکی را به داخل axon خودش می فرستد.                 یاد گیر ی با تغییر تاثیر synapses اتفاق می افتد در نتیجه تاثیر یک سلول بر دیگران تغییر میکند.                 انسان  و سلول های عصبی مصنوعی- در جستجوی شباهت ها چگونه مغز انسان می آموزد ؟ مسائل زیادی راجع به این که مغز چگونه خود را برای پردازش اطلاعات آموزش می دهد، نا شناخته باقی مانده است بنابر این تئوری های فراوانی وجود دارد. در مغز انسان یک سلول سیگنال ها را از دیگران  از طریق  یک گروه از ساختار های ریز به نام dendrites   جمع آوری می کند سلول عصبی جهش سریع فعالیت  الکتریکی را در طول یک پایه بلند و نازک که axon نامیده  میشود ، می فرستد که به داخل هزاران شاخه گسترش می یابد و کشیده می شود . در انتهای هر شاخه ، ساختاری که synapse نامیده می شود این فعالیت را ازaxon به اثرات الکتریکی تبدیل می کند که فعالیت یکaxon به صورت  اثرات الکتریکی  فعال کننده  یا غیر فعال کننده تبدیل  می شود که این کار باعث برانگیخته شدن  یا آرام شدن سلول های عصبی مرتبط  می شود. وقتی یک سلول عصبی پیام های فعال کننده را در یافت می کند، که بطور قانع کننده و وسیعی با پیام های ورودی غیر فعال کننده اش مقایسه شده باشد ،در این زمان این سلول نیز یک جهش از فعالیت الکتریکی را به داخل axon خودش می فرستد. شکل١- یک نرون بیولوژیکی یاد گیر ی با تغییر تاثیر synapses اتفاق می افتد در نتیجه تاثیر یک سلول بر دیگران تغییر میکند  از سلول های عصبی انسانی تا سلول های  عصبی مصنوعی ما  این شبکه های  عصبی را با تلاش اولیه در جهت یافتن خصوصیات اساسی سلول های عصبی و اتصالات آنها ، هدایت می کنیم. سپس بطور معمول یک کامپیوتر را برای شبیه سازی این خصوصیات برنامه ریزی می کنیم .اگر چه بدلیل اینکه دانش ما از سلول های عصبی ناقص است و قدرت محاسبات ما محدود است ، مدل های ما لزوما آرمان های خام و ناقصی از شبکه های واقعی سلول های عصبی است . شکل٢- نمایی از یک شبکه عصبی مصنوعی       آشنايي با شبكه‌هاي عصبي (Neural Networks): شبكه‌هاي عصبي را مي‌توان با اغماض زياد، مدل‌هاي الكترونيكي از ساختار عصبي مغز انسان ناميد. مكانيسم فراگيري و آموزش مغز اساساً بر تجربه استوار است. مدل‌هاي الكترونيكي شبكه‌هاي عصبي طبيعي نيز بر اساس همين الگو بنا شده‌اند و روش برخورد چنين مدل‌هايي با مسائل، با روش‌هاي محاسباتي كه به‌طور معمول توسط سيستم‌هاي كامپيوتري در پيش گرفته شده‌اند، تفاوت دارد. مي‌دانيم كه حتي ساده‌ترين مغز‌هاي جانوري هم قادر به حل مسائلي هستند كه اگر نگوييم كه كامپيوترهاي امروزي از حل آنها عاجز هستند، حداقل در حل آنها دچار مشكل مي‌شوند. به عنوان مثال، مسائل مختلف شناسايي الگو، نمونه‌اي از مواردي هستند كه روش‌هاي معمول محاسباتي براي حل آنها به نتيجه مطلوب نمي‌رسند. درحالي‌كه مغز ساده‌ترين جانوران به‌راحتي از عهده چنين مسائلي بر مي‌آيد. تصور عموم كارشناسان IT بر آن است كه مدل‌هاي جديد محاسباتي كه بر اساس شبكه‌هاي عصبي بنا مي‌شوند، جهش بعدي صنعت IT را شكل مي‌دهند. تحقيقات در اين زمينه نشان داده است كه مغز، اطلاعات را همانند الگو‌ها (pattern) ذخيره مي‌كند. فرآيند ذخيره‌سازي اطلاعات به‌صورت الگو و تجزيه و تحليل آن الگو‌، اساس روش نوين محاسباتي را تشكيل مي‌دهند. اين حوزه از دانش محاسباتي (computation) به هيچ وجه از روش‌هاي برنامه‌نويسي سنتي استفاده نمي‌كند و به‌جاي آن از شبكه‌هاي بزرگي كه به‌صورت موازي آرايش شده‌اند و تعليم يافته‌اند، بهره مي‌جويد. در ادامه اين نوشته به اين واژگان كه در گرايش شبكه‌هاي عصبي، معاني ويژه‌اي دارند، بيشتر خواهيم پرداخت. یک شبکه عصبی چیست؟ یک شبکه عصبی مصنوعی (Artificial Neural Network (ANN))  ایده ای است برای پردازش اطلاعات که از سیستم عصبی زیستی الهام گرفته شده و مانند مغز به پردازش اطلاعات می پردازد . عنصر کلیدی این ایده ، ساختار جدید سیستم پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پرداز شی فوق العاده بهم پیوسته تشکیل شده (neurons)که برای حل یک مسأله با هم هماهنگ عمل می کند.ANN ها ،نظیر انسانها ، با مثال یاد می گیرند . یک ANN برای انجام وظیفه های مشخص  ، مانند شناسایی الگو ها و دسته بندی اطلاعات ، در طول یک پروسه یاد گیری ، تنظیم می شود . در سیستم های زیستی  یاد گیری  با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است . این  روش ANN ها هم می باشد. کاربردهای شبکه های عصبی :   سیستم آنالیز ریسک   کنترل هواپیما بدون خلبان   ردیابی انحراف هواپیما   شبیه سازی مسیر   سیستم راهنمایی اتوماتیک اتومبیل   سیستمهای بازرسی کیفیت   آنالیز کیفیت جوشکاری   پیش بینی کیفیت   آنالیز کیفیت کامپیوتر   آنالیز عملیاتهای آسیاب   آنالیز طراحی محصول شیمیایی   آنالیز نگهداری ماشین   پیشنهاد پروژه   مدیریت و برنامه ریزی   کنترل سیستم فرایند شیمیایی و دینامیکی   طراحی اعضای مصنوعی   بهینه سازی زمان پیوند اعضا   کاهش هزینه بیمارستان   بهبود کیفیت بیمارستان   آزمایش اتاق اورژانس   اکتشاف روغن و گاز   کنترل مسیر در دستگاههای خودکار , ربات , جراثقال   سیستمهای بصری   تشخیص صدا   اختصار سخن   کلاسه بندی صوتی   آنالیز بازار   سیستمهای مشاوره ای محاسبه هزینه موجودی   اختصار اطلاعات و تصاویر   خدمات اطلاعاتی اتوماتیک   مترجم لحظه ای زبان   سیستمهای پردازش وجه مشتری   سیستمهای تشخیص ترمز کامیون   زمانبندی وسیله نقلیه   سیستمهای مسیریابی   کلاسه بندی نمودارهای مشتری/بازار   تشخیص دارو   بازبینی امضا   تخمین ریسک وام   شناسایی طیفی   ارزیابی سرمایه   کلاسه بندی انواع سلولها , میکروبها و نمونه ها   پیش بینی فروشهای آینده   پیش بینی نیازهای محصول   پیش بینی وضعیت بازار   پیش بینی شاخصهای اقتصادی   پیش بینی ملزومات انرژی   پیش بینی واکنشهای دارویی   پیش بینی بازتاب محصولات شیمیایی   پیش بینی هوا   پیش بینی محصول   پیش بینی ریسک محیطی   پیش بینی جداول داوری   مدل کردن کنترل فرآیند   آنالیز فعالیت گارانتی   بازرسی اسناد   تشخیص هدف   تشخیص چهره   انواع جدید سنسورها   دستگاه کاشف زیر دریایی بوسیله امواج صوتی , رادار   پردازش سیگنالهای تصویری شامل مقایسه اطلاعات   پیگیری هدف   هدایت جنگ افزارها   تعیین قیمت وضعیت فعلی   جلوگیری از پارازیت   شناسایی تصویر /سیگنال   چیدمان یک مدار کامل   بینایی ماشین   مدل کردن غیر خطی   ترکیب صدا   کنترل فرآیند ساخت   آنالیز مالی   پیش بینی فرآیندهای تولید   ارزیابی بکارگیری یک سیاست   بهینه سازی محصول   تشخیص ماشین و فرآیند   مدل کردن کنترل سیستمها    مدل کردن ساختارهای شیمیایی   مدل کردن سیستمهای دینامیکی   مدل کردن سیگنال تراکم   مدل کردن قالبسازی پلاستیکی   مدیریت قراردادهای سهام   مدیریت وجوه بیمه   مدیریت سهام   تصویب چک بانکی   اکتشاف تقلب در کارت اعتباری   ثبت نسیه   بازبینی امضا از چکها   پیش بینی ارزش نسیه   مدیریت ریسک رهن   تشخیص حروف و اعداد   تشخیص بیماری چرا از شبکه های عصبی استفاده می کنیم شبکه های عصبی ، با قابلیت قابل توجه  آنها در استنتاج معانی از داده های پیچیده یا مبهم ، میتواند برای استخراج الگوها و شناسایی روشهایی که آگاهی از آنها برای انسان و دیگر تکنیک های کامپیوتری بسیار  پیچیده و دشوار است  به کار گرفته شود. یک شبکه عصبی تربیت یافته می تواند به عنوان یک متخصص در مقوله اطلاعاتی ای که برای تجزیه تحلیل به آن داده شده به حساب آید.از این متخصص می توان  برای بر آورد وضعیت های دخواه جدید و جواب سؤال های " چه می شد اگر "  استفاده کرد. مزیتهای دیگر آن شامل موارد زیر می شود : 1.    یادگیری انطباق پذیر: قابلیت یاد گیری نحوه انجام وظایف بر پایه اطلاعات داده شده برای تمرین وتجربه های مقدماتی . 2.    سازماندهی توسط خود: یک ANN می تواند سازماندهی یا ارائه اش را ، برای اطلا عاتی  که در طول دوره یادگیری در یافت می کند، خودش ایجاد کند. 3.    عملکرد بهنگام(Real time ) : محاسبات  ANN  می تواند بصورت موازی انجام شود، و سخت افزارهای مخصوصی طراحی و  ساخته شده است که می تواند از این قابلیت استفاده کند. 4.    تحمل اشتباه بدون ایجاد وقفه در هنگام کد گذاری اطلاعات : خرابی جزئی یک شبکه منجر به تنزل کارایی متناظر با آن می شود اگر چه تعدادی از قابلیت های شبکه ممکن است حتی با خسارت بزرگی هم باقی بماند. شبکه های عصبی در مقابل کامپیوتر های معمولی شبکه های عصبی نسبت به کامپیوتر های معمولی مسیر متفاوتی را برای حل مسئله طی می کنند . کامپیوتر های معمولی یک مسیر الگوریتمی را استفاده می کنند به این معنی که کامپیوتر یک مجموعه از دستور العمل ها را به قصد حل مسئله پی می گیرد. بدون اینکه، قدم های مخصوصی که کامپیوتر نیاز به طی کردن دارد، شناخته شده باشند کامپیوتر قادر به حل مسئله نیست. این حقیقت قابلیت حل مسئله ی کامپیوتر های معمولی را  به مسائلی ،محدود می کند که ما قادر به درک آنها هستیم  و می دانیم چگونه حل میشوند. اما  اگر کامپیوتر ها می توانستند کار هایی را انجام دهند که ما دقیقا نمیدانیم چگونه انجام دهیم ،  خیلی  پر فایده تر بودند. شبکه های عصبی اطلاعات را به روشی مشابه با کاری که مغز انسان انجام می دهد پردازش می کنند. آنها از تعداد زیادی از عناصر پردازشی(سلول عصبی) که فوق العاده بهم پیوسته اند تشکیل شده  است که این عناصر به صورت مواز ی باهم برای حل یک مسئله مشخص کار می کنند .شبکه های عصبی با مثال کار می کنند و نمی توان آنها را برای انجام یک وظیفه خاص برنامه ریزی کرد مثال ها می بایست با دفت انتخاب شوند در غیر این صورت زمان سودمند، تلف می شود و یا حتی بدتر از این شبکه ممکن است نا درست کار کند. امتیاز شبکه عصبی این است که خودش  کشف می کند که چگونه مسئله را حل کند ، عملکرد آن غیر قابل پیش گویی است. از طرف دیگر ، کامپیوتر های معمولی از یک مسیر مشخص برای حل یک مسئله استفاده می کنند . راه حلی که مسئله از آن طریق حل می  شود  باید از قبل شناخته  شود و به صورت دستورات  کوتاه و غیر مبهمی شرح داده شود. این دستورات سپس به زبا ن های برنامه نویسی سطح بالا برگردانده می شود و بعد از آن به کدهایی که کامپیوتر قادر به درک آنها است تبدیل می شود. به طور کلی این ماشین ها قابل پیش گویی هستند و اگر چیزی به خطا انجام شود به یک اشتباه سخت افزاری یا نرم افزاری بر می گردد. شبکه های عصبی و کامپیوتر های معمولی با هم در حال رقابت نیستند بلکه کامل کننده یکدیگرند . وظایفی وجود دارد که بیشتر مناسب روش های الگوریتمی هستند نظیر عملیات محاسباتی و وظایفی نیز وجود دارد که بیشتر مناسب شبکه های عصبی هستند . حتی فراتر از این ، مسائلی وجود دارد که نیازمند به سیستمی است که از تر کیب هر دو روش بدست می آید (بطور معمول کامپیوتر های معمولی برای نظارت بر شبکه های عصبی به کار گرفته می شوند ) به این قصد که بیشترین کاریی بدست آید. شبکه های عصبی معجزه نمی کنند اما اگر خردمندانه به کار گرفته شوند نتایج شگفت آوری را خلق میکنند. انسلن  و سلول های عصبی مصنوعی- در جستجوی شباهت ها مدل رياضي  در متون فني براي نمايش مدل ساده‌اي كه در بالا‌ تشريح گرديد، به‌طور معمول از شكلي مشابه شكل 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 عدد افزايش مي‌يابند.  پياده‌سازي‌هاي الكترونيكي نرون‌هاي مصنوعي  نرم‌افزارهايي كه در آن‌ها از شبكه‌هاي عصبي استفاده شده است، نرون‌هاي شبكه را المان پردازنده (Processing element) مي‌نامند. به‌طور معمول در محصولات نرم‌افزاري، المان‌هاي پردازنده قابليت بسيار بيشتري از نمونه ساده‌شده‌اي كه در بخش‌هاي پيشين تشريح كرديم، دارند. در شكل شماره 4، نمايي با جزئيات بيشتر از يك نرون مصنوعي را نشان مي‌دهد. در اين مدل، ورودي‌ها در نخستين گام، در ضريب وزني (weighting factor) متناظر خود ضرب مي‌شوند. در مرحله بعد، ورودي‌هايي كه تغيير مقياس داده‌اند وارد واحدي مي‌شوند كه در آن سيگنال‌هاي ورودي با هم تركيب مي‌شوند. به‌طور معمول عمل تركيب در اين واحد همان عمل جمع جبري است، اما در اصول، مي‌توان در اين واحد، ورودي‌ها را به روش‌هاي ديگري علاوه بر عمل جمع معمولي نيز با يكديگر تركيب كرد. مثلاً مي‌توان به‌جاي عمل جمع، از عمل متوسط گيري، انتخاب بزرگترين، انتخاب كوچك‌ترين، عمل OR يا‌ AND منطقي هم استفاده كرد. در واقع هدف نهايي در اين واحد آن است كه از تعداد n ورودي، يك سيگنال خروجي براي ارائه به بخش‌هاي بعدي فرايند، به‌دست آيد. انتخاب نوع <عمل> در اين واحد، موضوع دقيقي است كه كاملاً به كاربرد مسأله وابسته است.   به‌طور معمول در نرم‌افزارهاي تجاري، امكان انتخاب و حتي ساختن توابع گوناگون براي اين واحد، از طرف نرم‌افزار به كاربران داده مي‌شود. حتي مي‌توان كاربردهايي يافت كه در آنها، عمل تركيب در اين واحد، وابسته به زمان باشد و در زمان‌هاي گوناگون پردازش مسأله، عمليات مختلفي براي تركيب كردن ورودي‌ها به‌كار برده ‌شوند. در هر صورت، پس از آنكه ورودي‌ها با يكديگر تركيب شدند، سيگنال حاصل به واحد ديگري كه در آن تابع انتقال يا Transfer Function به سيگنال اعمال مي‌شود، هدايت مي‌گردد. خروجي اين بخش، سيگنال‌هاي حقيقي خواهند بود. بدين ترتيب جعبه‌اي در دست خواهيم داشت كه تعداد n عدد سيگنال ورودي را به m عدد سيگنال خروجي تبديل مي‌كند. در عمل توابع انتقالي كه در بخش انتهايي نمودار شكل 4 به‌كار برده مي‌شوند، معمولاً يكي از توابع سينوسي، تانژانت هذلولي، sigmoid و نظاير اين‌ها است. در تصوير شماره 5، نمونه‌اي از يك تابع انتقال از نوع sigmoid نمايش داده شده است. همانطور كه در اين شكل مشاهده مي‌كنيد، اين تابع انتقال، سيگنال خروجي واحد تركيب را به سيگنال خروجي تبديل مي‌كند كه مقدار (يا اندازه آن) بين صفر و يك مي‌تواند باشد. در عمل، سيگنالِ خروجي يك المان پردازنده مي‌تواند برحسب نوع كاربرد، به المان‌هاي پردازشي ديگر و يا به اتصالات ديگر خارج از شبكه عصبي هدايت شود. در واقع تمامي شبكه‌هاي عصبي بر اساس ساختار المان‌هاي پردازشي فوق كار مي‌كنند. در قسمت بعدي اين مقاله به تشريح عمليات در شبكه‌هاي عصبي و آموزش اين شبكه‌ها مي‌پردازيم. عمليات شبكه‌هاي عصبي تا اينجا تمام توجه ما معطوف ساختار دروني يك نرون مصنوعي يا المان پردازشي بود. اما بخش مهم ديگري در مراحل طراحي يك شبكه عصبي نيز وجود دارد. در واقع هنر يك طراح شبكه‌هاي عصبي مي‌تواند در چگونگي تركيب نرون‌ها در يك شبكه (neuran Clustering)، متجلي شود. شكل 1         علوم بيولوژي نشان داده‌اند كه كلاسترينگ نرون‌ها در شبكه عصبي مغز ما به‌گونه‌اي است كه ما را قادر مي‌سازد تا اطلاعات را به‌ صورتي پويا، تعاملي و خودسامان (Selforganizing) پردازش كنيم. در شبكه‌هاي عصبي بيولوژيك، نرون‌ها در ساختار‌ي سه بعدي به يكديگر اتصال يافته‌اند. اتصالات بين نرون‌ها در شبكه‌هاي عصبي بيولوژيك آنقدر زياد و پيچيده‌است كه به هيچ وجه نمي‌توان شبكه مصنوعي مشابهي طراحي كرد. تكنولوژي مدارات مجتمع امروزي به ما امكان مي‌دهد كه شبكه‌هاي عصبي را در ساختار‌هاي دو بعدي طراحي كنيم. علاوه بر اين، چنين شبكه‌هاي مصنوعي داراي تعداد محدودي لايه و اتصالات بين نرون‌ها خواهند بود. بدين ترتيب، اين واقعيات و محدوديت‌هاي فيزيكي تكنولوژي فعلي، دامنه كاربردهاي شبكه‌هاي عصبي مبتني‌بر تكنولوژي سيليكوني را مشخص مي‌سازند. ساختار شبكه‌هاي عصبي امروزي، از لايه‌هاي نروني تشكيل شده است. در چنين ساختاري، نرون‌ها علاوه بر آنكه در لايه خود به شكل محدودي به يكديگر اتصال داده شده‌اند، از طريق اتصال بين لايه‌ها نيز به نرون‌هاي طبقات مجاور ارتباط داده مي‌شوند. در شكل 1 نمونه‌اي از ساختار لايه‌اي يك شبكه عصبي مصنوعي نمايش داده شده است (تعداد اتصالات ممكن بين نرون‌ها را در چنين ساختاري با تعداد اتصالات بين نرون‌هاي مغز انسان، مقايسه كنيد). در اين توپولوژي، گروهي از نرون‌ها از طريق ورودي‌هاي خود با جهان واقعي ارتباط دارند. گروه ديگري از نرون‌ها نيز از طريق خروجي‌هاي خود، جهان خارج را مي‌سازند. در واقع اين <جهان خارج> تصويري است كه شبكه عصبي از ورودي خود مي‌سازد يا مي‌توان چنين گفت كه جهان خارج <تصوري> است كه شبكه عصبي از ورودي خود دارد. خلاصه آنكه در توپولوژي فوق، مابقي نرون‌ها از ديد پنهان هستند. تلاش محققان در زمينه شبكه‌هاي عصبي نشان داده است كه شبكه‌هاي عصبي، چيزي بيشتر از يك مشت نرون كه به يكديگر اتصال داده شده‌اند، هستند. حتي گروهي از محققان سعي داشته‌اند كه از اتصالات تصادفي براي ارتباط دادن نرون به يكديگر استفاده كنند كه در اين زمينه به نتايج جالب توجهي دست نيافتند. امروزه مشخص شده است كه در ساده‌ترين مغز‌هاي بيولوژيك مانند مغز مارها هم ارتباطات بين نرون‌ها بسيار ساخت‌يافته است. در حال حاضر يكي از ساده‌ترين روش‌هاي ارتباط دهي نرون‌ها در شبكه‌هاي عصبي، آن است كه ابتدا نرون‌ها در گروه‌هاي مشخصي به صورت لايه‌هاي نروني سازمان‌دهي مي‌شوند و پس از تامين ارتباطات بين‌نروني در هر لايه، ارتباطات بين لايه‌ها نيز برقرار مي‌شوند. اگرچه در كاربردهاي مشخصي مي‌توان با موفقيت از شبكه‌هاي عصبي تك لايه استفاده كرد، اما رسم بر آن است كه شبكه‌هاي عصبي حداقل داراي سه لايه باشند (همانطور كه قبلاً اشاره شد، لايه ورودي، لايه خروجي و نهايتاً لايه پنهان يا لايه مياني). در بسياري از شبكه‌هاي عصبي، اتصالات بين‌نروني به گونه‌اي است كه نرون‌هاي لايه‌هاي مياني، ورودي خود را از تمام نرون‌هاي لايه پاييني خود (به طور معمول لايه نرون‌هاي ورودي) دريافت مي‌كنند. بدين ترتيب در يك شبكه عصبي، سيگنال‌ها به تدريج از يك لايه نروني به لايه‌هاي بالاتر حركت مي‌كنند و در نهايت به لايه آخر و خروجي شبكه مي‌رسند. چنين مسير در اصطلاح فني feed forward ناميده مي‌شود. ارتباطات بين‌نروني در شبكه‌هاي عصبي از اهميت بسيار زيادي برخوردار هستند و به نوعي قدرت يك شبكه عصبي را تعيين مي‌كنند. قاعده آن است كه ارتباطات بين نروني را به دو گروه تقسيم‌بندي مي‌كنند. يك نوع از ارتباطات بين نروني، به‌گونه‌اي هستند كه باعث جمع شدن سيگنال در نرون بعدي مي‌شوند. گونه دوم ارتباطات بين نروني باعث تفريق سيگنال در نرون بعدي مي‌شوند. در اصطلاح محاوره‌اي گروهي از ارتباطات انگيزش ايجاد مي‌كنند و گروه ديگر ممانعت به عمل مي‌آورند. در مواردي، نرون مشخصي از شبكه عصبي تمايل دارد كه سيگنال ديگر نرون‌هاي لايه خود را ناديده بگيرد. چنين حالتي به‌طور معمول در لايه خروجي ايجاد مي‌شود. به عنوان مثال، در كاربردهاي تشخيص متن (OCR)، فرض كنيد كه احتمال آنكه كاراكتر مورد شناسايي، حرف P باشد برابر با 85 درصد تعيين شده است و به همين ترتيب احتمال آنكه كاراكتر مورد نظر حرف F باشد، 65‌ درصد تخمين زده است. در اين وضعيت، سيستم بايد كاراكتري را برگزيند كه داراي درصد احتمال بزرگ‌تر است. در نتيجه در اين شبكه عصبي، نرون‌هايي كه خروجي F را تجويز مي‌كنند، بايد ناديده گرفته ‌شوند يا inhibit شوند. به چنين فرايندي، lateral inhibition گفته مي‌شود. نوع ديگري از ارتباط بين نروني در شبكه‌هاي عصبي به ارتباط بازخورد يا feedback معروف است. در اين نوع از ارتباطات، خروجي يك لايه نروني به لايه قبلي (يا به لايه‌اي كه چند مرحله پايينتر است) اتصال داده مي‌شود. در شكل 2 نمونه‌اي از يك شبكه عصبي نمايش داده شده كه در آن از ارتباط بازخوردي استفاده شده است. در نرم‌افزارهاي پيشرفته شبكه‌هاي عصبي، كاربر و طراح شبكه عصبي مي‌تواند نوع ارتباطات بين نرون‌ها و لايه‌هاي   آنها را تعيين كند.         آموزش شبكه‌هاي عصبي تا اينجا از ساختار شبكه‌هاي عصبي صحبت كرديم. گفتيم كه شبكه‌هاي عصبي مي‌توانند بر اساس طراحي خود سيگنال‌هاي ورودي را پردازش كنند و به سيگنال‌هاي خروجي مورد نظر تبديل نمايند. به طور معمول، پس از آنكه يك شبكه عصبي طراحي و پياده‌سازي شد، بايد پارامترهاي w و b (كه قبلاً معرفي كرديم) به ازاي مجموعه‌هايي از سيگنال‌هاي ورودي، به‌گونه‌اي تنظيم شوند كه سيگنال‌هاي خروجي شبكه خروجي مطلوب را تشكيل دهند. چنين فرايندي را آموزش ديدن شبكه عصبي مي‌نامند (در نخستين مرحله آموزش، مقادير w و b به‌طور تصادفي انتخاب مي‌شوند. زيرا تا اين پارامترها مقدار نداشته باشند، شبكه عصبي قابل استفاده نخواهد بود) در حين آموزش ديدن شبكه عصبي (يعني به تدريج همزمان با افزايش دفعاتي كه مقادير پارامترها براي رسيدن به خروجي مطلوب‌تر، تنظيم مي‌شوند) مقدار پارامتر‌‌ها به مقدار حقيقي و نهايي خود نزديك‌تر مي‌شوند. به‌طور كلي دو روش براي آموزش دادن شبكه‌هاي عصبي وجود دارد. روش supervised و روش unsupervised. روش نخست، شامل مراحلي است كه در بخش قبل، به‌طور مختصر تشريح شد. اما در روش unsupervised، شبكه عصبي بايد بدون كمك گرفتن از جهان خارج، بتواند كار آموزش را انجام دهد. واقعيت آن است كه در عمل از روش supervised و يا حداكثر از روش‌هاي تركيبي استفاده مي‌شود و فرايند آموزش unsupervised به شكل خالص تنها وعده‌اي است كه شايد در آينده بتواند تحقق يابد. در حال حاضر و در كاربردهاي پيشرفته، از روش آموزش unsupervised براي ايجاد تنظيمات اوليه بر روي سيگنال‌هاي ورودي شبكه‌هاي عصبي استفاده مي‌شود و باقي مراحل آموزش شبكه به روش supervised ادامه مي‌يابد. همان‌طور كه قبلاً اشاره كرديم، در روش معمول آموزش شبكه‌هاي عصبي، از مجموعه‌ شناخته‌شده‌اي از داده‌هاي ورودي و خروجي‌هاي متناظر آنها (training set data) براي آموزش دادن شبكه استفاده مي‌شود. در چنين فرايندي، پس از اعمال مجموعه‌هاي داده‌هاي آموزشي، پارامترهاي شبكه به تدريج به سمت مقادير نهايي خود همگرا مي‌شوند. بسته‌هاي نرم‌افزاري پيشرفته توليد و طراحي شبكه‌هاي عصبي، داراي ابزارهايي هستند كه بر روند آموزش شبكه مديريت مي‌كنند. چنين ابزارهايي مي‌توانند سرعت همگرايي پارامتر‌هاي شبكه را زير نظر بگيرند و به عنوان مثال، اجازه دهند كه پارامترهاي يك شبكه مشخص، در طول چندين روز به دقت كافي و مورد نظر طراحان خود برسد. در مواردي ممكن است كه شبكه‌ عصبي اصولاً موفق به فراگيري نشود. بدين معني كه پارامترهاي شبكه پس از زمان‌هاي طولاني به مقدار مشخصي همگرا نشود.       ر شبكه‌هاي عصبي قادر به يافتن الگوهايي در اطلاعات هستند كه هيچكس، هيچگاه از وجود آنها اطلاع نداشته است.         چنين مواردي ممكن است بر اثر ناكافي بودن داده‌هاي آموزشي و يا اصولاً نقص طراحي شبكه ايجاد شوند. حتي مواردي در عمل وجود دارند كه شبكه عصبي مشخصي، بر اثر آموزش بيش از حد، اصطلاحا over trained شود. توجه داشته باشيد كه فرايند آموزش شبكه‌هاي عصبي فقط به ازاي زير مجموعه‌اي از داده‌هايي كه قرار شبكه آنها را در كاربرد حقيقي خود پردازش كند، آموزش داده مي‌شوند. درصورتي‌كه تعداد داده‌هاي آموزشي يك شبكه عصبي بيش از اندازه زياد باشد (در واقع از تمامي داده‌هاي مسئله براي آموزش دادن به شبكه استفاده شود)، شبكه عصبي به جاي آنكه آموزش ببيند، به حالتي مي‌رسد كه به آن حفظ كردن اطلاعات مي‌گويند. در واقع به جاي آنكه يك شبكه عصبي براي حل مسئله از هوش خود كمك بگيرد، از محفوظات خود استفاده مي‌كند! پس از آنكه يك شبكه عصبي به اندازه كافي آموزش ديد، طراح يا كاربر شبكه مي‌تواند پارامترهاي شبكه را قفل كند (هر چند كه در مواردي پارامترهاي شبكه آزاد گذارده مي‌شوند تا در طول كاربرد واقعي بازهم شبكه آموزش ببيند). در اين مرحله شبكه عصبي براي كاربرد واقعي خود و حل مسائل آماده خواهد بود. در برخي از ابزارهاي توليد و طراحي شبكه‌هاي عصبي، كل شبكه عصبي به همراه پارامترهاي قفل شده آن، تبديل به نرم‌افزار مستقلي (مثلاً يك فايل dll) مي‌شوند كه مي‌توان از آن در پروژه‌هاي مشخصي استفاده كرد. در برخي از موارد ديگر، چنين شبكه‌هايي پس از آموزش ديدن، به شكل سخت‌افزاري در قالب يك مدار مجتمع (IC) به توليد انبوه يا نيمه انبوه مي‌رسند.  آموزش unsupervised يا تطبيقي (Adaptive)  در مورد اين روش آموزش گفتيم كه شبكه‌ عصبي بدون در اختيار داشتن داده‌هاي خروجي، در معرض آموزش قرار مي‌گيرد. در واقع سيستم به تنهايي و بدون كمك خارجي بايد با توجه به شكل سيگنال‌هاي خروجي خود، درباره درستي و نادرستي آنها تصميم‌گيري نمايد. در دنياي واقعي شرايط بسيار زيادي وجود دارند كه در آنها مجموعه اطلاعات كافي براي آموزش دادن به سيستم فراهم نيستند. تحقيقات نظامي يكي از گرايش‌هايي است كه به اين موضوع توجه دقيقي دارد. به عنوان مثال گفته مي‌شود كه شرايط جنگي به دليل فراواني پارامترها و تكنيك‌هاي نظامي متغير و پيشرفت‌هاي تكنولوژي نظامي، از نمونه مواردي است كه در آنها به هيچ وجه نمي‌توان مجموعه داده‌هاي آموزشي كافي به دست آورد. در اين زمينه يكي از محققان شبكه‌هاي عصبي، به نام Tuevo Kohonen (از دانشگاه هلسينكي) فعاليتي جدي دارد. كوهنن با تحقيقات در ساختارهاي عصبي غيرمتعارف، به پژوهش در اين زمينه ادامه مي‌دهد. كوهنن، نرون‌هاي شبكه‌عصبي را فيلدهاي مختلفي تقسيم‌بندي مي‌كند. در روش كوهنن، نرون‌هاي هر فيلد <مرتب توپولوژيك> يا Topologically ordered محسوب مي‌شوند (توپولوژي نام شاخه‌اي از رياضيات است كه در آن نگاشت از يك فضا به فضاي ديگر بدون تغيير مشخصه‌هاي هندسي، مورد بررسي قرار مي‌گيرد). گروه‌بندي‌هاي سه‌بعدي كه در ساختار مغز پستانداران يافت شده است، نمونه‌اي از مرتب‌سازي توپولوژيك محسوب مي‌شوند. كوهنن معتقد است كه فقدان ملاحظات توپولوژيك در مدل‌هاي عصبي امروزي، باعث مي‌شود كه شبكه‌هاي عصبي امروزي، مدل‌هاي ساده شده‌اي از شبكه‌هاي عصبي واقعي موجود در مغز محسوب شوند. در هر صورت اين حوزه از مبحث شبكه‌هاي عصبي، هنوز در مرحله تحقيقات آزمايشگاهي قرارداد و كاربرد واقعي نيافته است. تفاوت‌هاي شبكه‌هاي عصبي با روش‌هاي محاسباتي متداول و سيستم‌هاي خبره گفتيم كه شبكه‌هاي عصبي روش متفاوتي براي پردازش و آناليز اطلاعات ارائه مي‌دهند. اما نبايد اين گونه استنباط شود كه شبكه‌هاي عصبي مي‌توانند براي حل تمام مسائل محاسباتي مورد استفاده واقع شوند. روش‌هاي محاسباتي متداول همچنان براي حل گروه مشخصي از مسائل مانند امور حسابداري، انبارداري و محاسبات عددي مبتني بر فرمول‌هاي مشخص، بهترين گزينه محسوب مي‌شوند. جدول 1، تفاوت‌هاي بنيادي دو روش محاسباتي را نشان مي‌دهد.   مشخصه روش محاسباتي متداول  (شامل سيستم‌هاي خبره) شبكه‌هاي عصبي مصنوعي روش پردازش ترتيبي موازي توابع منطقي (left brained) (estault (right brained روش فراگيري به كمك قواعد (didactically) با مثال (Socratically) كاربرد حسابداري، واژه پردازي، رياضيات،  ارتباطات ديجيتال پردازش حسگرها، تشخيص گفتار، نوشتار، الگو  جدول 1 سيستم‌هاي خبره، انشعابي از روش محاسباتي متداول محسوب مي‌شود و در مواردي هم به آن نسل پنجم محاسبات نام داده‌اند (نسل اول از كليد و سيم‌بندي استفاده مي‌كرد، نسل دوم با اختراع ترانزيستور ايجاد شد، نسل سوم از فناوري مدارات مجتمع استفاده مي‌كرد، نسل چهارم با به وجود آمدن زبان‌هاي سطح بالا آغاز شد و نسل پنجم شامل هوش مصنوعي مي‌شود). به طور معمول، يك سيستم خبره شامل دو بخش عمده مي‌شود. يك بخش يا موتور استنتاجي و يك پايگاه دانايي (Knowledge base). موتور استنتاجي، بخشي است كه رابط كاربر را مديريت مي‌كند و بر فايل‌ها و دسترسي به برنامه‌ها و برنامه‌ريزي كنترل دارد. پايگاه دانايي شامل اطلاعاتي در ارتباط با يك مسئله مشخص است. اين پايگاه به متخصصان اجازه مي‌دهد كه قواعد فرايند مشخصي را تعريف نمايد. چنين متخصصي نيازي به دانستن روش‌هاي برنامه‌نويسي نخواهد داشت. او تنها بايد كاري كه از كامپيوتر مي‌خواهد را درك كند و شناخت كافي از روش عمل سيستم داشته باشد. درواقع پوسته سيستم بخشي است كه به كامپيوتر مي‌گويد چه‌كار بايد انجام دهد. برنامه‌ لازم براي حل مسئله توسط خود سيستم توليد خواهد شد. تلاش‌هايي كه براي اجرايي كردن سيستم‌هاي خبره به كار گرفته شده‌اند، با مشكلات مشتركي مواجه بوده‌اند. با افزايش سطح پيچيدگي سيستم‌ها، منابع كامپيوتري مورد نياز سيستم به شدت افزايش مي‌يابند و سيستم با كندي بيش از حد روبرو مي‌شود. در حقيقت تجربه نشان داده است كه در وضعيت فعلي، سيستم‌هاي خبره تنها مي‌توانند در مواقعي مفيد واقع شوند كه هدف محدود و مشخصي تعيين شده باشد.                                                             شبكه‌هاي عصبي در مسيري گام برمي‌دارند كه ابزارها توانايي فراگيري و برنامه‌ريزي خود را داشته باشند. ساختارشبكه‌هاي عصبي به گونه‌اي است كه قابليت حل مسئله را بدون كمك فرد متخصص و برنامه‌ريزي خارجي داشته باشند. شبكه‌هاي عصبي قادر به يافتن الگوهايي در اطلاعات هستند كه هيچ‌كس، هيچ‌گاه از وجود آنها اطلاع نداشته است. درحالي‌كه سيستم‌هاي خبره در عمل به موفقيت‌هاي بسياري دست يافته‌اند، شبكه‌هاي عصبي در كاربردهايي همچون ديد مصنوعي، تشخيص و توليد پيوسته گفتار، فراگيري ماشيني و نظاير آن با مشكلاتي روبرو بوده‌اند.  در حال حاضر شبكه‌هاي عصبي كاملاً وابسته به سرعت پردازنده سيستم اجرا كننده هستند. یک روش مهندسی یک سلول عصبی ساده یک سلول عصبی مصنوعی دستگاهی است با تعداد زیادی ورودی و یک خروجی . سلول عصبی دو گونه عمل دارد ; حالت یادگیری پرورشی و حالت کاربردی . در حالت یادگیری سلول می آموزد که برای حالت خاصی فعال و بر انگسخته شود ( یا برای همان حالت بر انگیخته نشود). و در حالت کاربردی و استفاده وقتی الگوی ورودی آموزش یافته ای در ورودی شناسایی شود خروجی مرتبط با آن خروجی کنونی سلول می شود . اگر الگوی ورودی به لیست الگو های ورودی ای کا از پیش به سلول آموزش داده شده نباشد ، قوانین فعال سازی سلول خروجی سلول را تعیین می کند که آیا فعال کننده باشد یا نه. قوانین فعال سازی قانون فعال سازی مفهوم مهمی در شبکه های عصبی است و مسئول انعطاف پذیری بالای دستگاه می باشد . قانون فعال سازی تعیین میکند که چگونه یک واحد محاسبه کند که آیا یک سلول عصبی باید برای هر الگوی ورودی واکنش فعال سازی را انجام دهد. این قانون برای کلیه الگو ها شرح داده می شود نه فقط برای آنهایی که گره عصبی برایش پرورش یافته است. یک قانون فعال سازی ساده بوسیله تکنیک فاصله Hamming قابل اجرا است قواننین به صورت زیر اجرا میشود: یک مجموعه از الگو های آموزشی را برای یک گره عصبی انجام دهید، تعدادی از این الگوها سبب فعالسازی (مجموعه الگوهای آموزشی با حاصل 1) و باقی که از فعالیت آن جلوگیری می کنند (مجموعه الگوهای آموزشی با حاصل0 ) سپس الگو های خارج از مجموعه ای سبب فعال سازی گره عصبی می شوند که عناصر مشترک بیشتری با نزدیکترین الگو در مجموعه آموزشی 1 دارند تا با نزدیکترین الگو در مجموعه آموزشی 0 . اگر در این بین گرهای وجود داشته باشد الگوی مورد نظر در وضعیت غیر تعریف شده باقی می مانند. بعنوان مثال ، یک سلول عصبی با 3 ورودی در نظر بگیرید که آموزش یافته تا خروجی 1 را زمانی بدهد که ورودی (x1 ،x2 وx3) 111 یا 101 است و خروجی 0 را زمانی داشته باشد که ورودی 000و001 است. پس قبل از اعمال قانون فعال سازی ، جدول درستی به صورت زیر است: X1: 0 0 0 0 1 1 1 1 X2: 0 0 1 1 0 0 1 1 X3: 0 1 0 1 0 1 0 1 OUT: 0 0 0/1 0/1 0/1 1 0/1 1 010 را بعنوان مثالی که در آن قوانین فعال سازی اعمال می شود در نظر بگیرید. این ورودی با ورودی 000 در یک عنصر و با ورودی001 در دو عنصر متفاوت است ، با 101 در سه عنصر وبا 111 در دو عنصر متفاوت است . بنابر این نزدیکترین الگو به آن 000 است که به الگوهای آموزشی با حاصل0 تعلق دارد . در نتیجه قوانین فعال سازی لازم می داند زمانی که ورودی 001 است تا سلول عصبی فعالیتی نکند . از طرف دیگر ، 011 در فاصله ای برابر بین در دسته الگو های آموزشی است که دارای خروجی های متفاوتی هستند بنابراین خروجی این الگو بدون تعریف می ماند (1/0).     با اعمال قوانین فعال سازی تمام ستون های جدول درستی زیر به دست آمده است: X1: 0 0 0 0 1 1 1 1 X2: 0 0 1 1 0 0 1 1 X3: 0 1 0 1 0 1 0 1 OUT: 0 0 0 0/1 0/1 1 1 1 تفاوت بین دو جدول عمومیت دادن سلول عصبی نامیده می شود بنابر این قوانین فعالسازی به سلول عصبی حس تشخیص شباهت ها را می دهد و آنها را قادر می کند تا هوشمندانه به الگو هایی که در طول تمرین آنها را ندیده اند جواب بدهد. الگوشناسی- یک مثال یکی از کاربردهای شبکه های عصبی تشخیص الگو است.الگوشناسی با استفاده از شبکه های عصبی که ازپیش (مانند شکل 1) تغذیه شده اند و مطابق با موضوع پرورش یافته اند قابل اجرا است.وقتی از شبکه استفاده می کنیم خودش الگو های ورودی را شناسایی می کند و سعی می کند تا خروجی متناسب با آن الگو را بدهد . توان شبکه های عصبی زمانی خودش را نشان می دهد که الگویی به عنوان ورودی به آن داده شود که از قبل خروجی مرتبط با آن را نداشته ، در یان وضعیت خروجی متناسب است با یک الگوی ورودی که داری حداقل اختلاف با الگوی داده شده است. بعنوان مثال: شبکه عصبی در شکل 1 برای شناسایی الگوهای حروف T وH آموزش داده شده اند.همانگونه که شکل نشان می دهد الگوهای مرتبط بترتیب تماما سیاه و تماما سفید هستند . اگر ما مربع های سیاه را با 0 و مربع های سفید را با با 1 نمایش دهیم بنابراین جدول درستی برای سه سلول عصبی بعد از عمومیت دادن (با قانون فعال سازی ) به صورت زیر است. X11: 0 0 0 0 1 1 1 1 X12: 0 0 1 1 0 0 1 1 X13: 0 1 0 1 0 1 0 1 OUT: 0 0 1 1 0 0 1 1 خروجی سلول بالایی X21: 0 0 0 0 1 1 1 1 X22: 0 0 1 1 0 0 1 1 X23: 0 1 0 1 0 1 0 1 OUT: 1 0/1 1 0/1 0/1 0 0/1 0 خروجی سلول میانی X21: 0 0 0 0 1 1 1 1 X22: 0 0 1 1 0 0 1 1 X23: 0 1 0 1 0 1 0 1 OUT: 1 0 1 1 0 0 1 0 خروجی سلول پایینی می توان موضوعات تداعی شده زیر را از جداول بالا است استخراج کرد. در این مورد ، این کاملا واضح است که خروجی می تواند تماما سیاه باشد زمانی که الگوی ورودی تقریبا شبیه الگوی T است. این جا هم کاملا آشکار است که خروجی کاملا سفید خواهد بود زمانی که الگوی ورودی تقریبا شبیه الگوی H است. دراینجا، ردیف بالایی با دو اشتباه از الگوی T وبا سه تا اشتباه از الگوی H دور است بنابراین خروجی بالایی سیاه . ردیف میانی با یک اشتباه از هر دو الگوی TوH دور است.بنابراین خروجی بصورت اتفاقی انتخاب می شود. ردیف پایینی با یک اشتباه از الگوی T و با دو اشتباه از الگوی H دور است. بنابراین خروجی سیاه است. کل خروجی شبکه هنوز به نفع شکل Tاست. یک سلول عصبیی کمی پیچده تر سلول عصبی قبلی کاری که کامپیوتر های متعارف انجام ندهند را انجام نمی دهد . سلول عصبی کمی پیچیده تر مدل McCulloch و Pitts (MCP)است. فرق آن با مدل قبلی این است که ورودی ها وزن دار هستند، تاثیری که هر ورودی در گرفتن تصمیم دارد بستگی به وزن یک ورودی خاص دارد.وزن یک ورودی عددی است ، زمانی که این عدد در وردی ضرب می شود ورودی وزندار را می دهد. این ورودی های وزندار سپس با هم جمع می شود و اگر مجموع آنها از ارزش آستانه ای از پیش تنظیم شده تجاوز کند سلول فعال می شود . در موارد دیگر سلول فعال نمی شود. (شکل 2) به بیان ریاضی ، سلول عصبی فعال می شود اگر و فقط اگر: X1W1 + X2W2 + X3W3 + ... > T افزایش وزن های ورودی و بوسیله ی آستانه ارزش این سلول عصبی را یک سلول منعطف و قدرتمند می کند . سلول ها MCP قابلیت سازگاری با وضعیتی خاص را بکمک تغییر وزن ها و یا آستانه ارزش، دارد. الگوریتم های گوناگونی وجود دارد که سبب سازگاری سلول عصبی می شود ، پر استفاده ترین آنها قانون دلتا( Delta )است و روش پخش اشتباه گذشته(back error propagation)است . قالبی که در شبکه های از پیش تغذیه شده وبعد از آن در شبکه های بازخوردی استقاده شده است. معماری شبکه های عصبی شبکه های عصبی از قبل تغذیه شده شبکه های از قبل تغدیه شده (شکل 1) به سیگنال ها اجازه می دهند تنها از مسیر یکطرفه عبور کنند، یعنی از ورودی تا خروجی. بنابراین باز خوردی( حلقه ها) وجود ندارد به این معنی که خروجی هر لایه تاثیری بر همان لایه ندارد . این گونه سازماندهی ازپایین به بالا واز بالا به پایین هم نام برده می شوند. شبکه های عصبی بازخوردی شبکه های بازخوردی می توانند سیگنال هایی داشته باشند که در هر دو مسیر با استفاده از حلقه های درست شده ،حرکت کنند . شبکه های بازخوردی خیلی قدرتمند هستند و می توانند به شدت پیچیده شوند. شبکه های بازخوردی پویا هستند ، وضعیت آنها پیوسته در حال تغییر است تا آنها به یک نقطه تعادل برسند.آنها در این وضعیت تعادل باقی می مانند تا زمانی که ورودی تغییر کند و نیاز باشد تا تعادل تازهای پیدا شود. معماری های بازخوردی ، بر هم کنشی(interactive) وبازگشت کننده (recurrent) هم نامیده می شوند، اگر چه این لفظ آخری بسشتر برای مشخص کردن اتصالات بازخوردی در سازماندهی های تک لایه به کار می رود .     شبکه های عصبی(neural networks) مطمئن هستم که تا به حال چیزهایی راجع به شبکه های عصبی شنیده ، یا خوانده اید چون این شبکه ها در حوزه ای میان ریاضیات ، علوم کامپیوتر و AI قرار دارند مطلب زیر را با بضاعت اندک خود  از آدرس زیر ترجمه کردم . خواندن با حوصله این مقاله را که در چند بخش ارائه می شود ، به شما توصیه می کنم بدون شک در پایان دید نسبتا خوبی نسبت به موضوع  پیدا خواهید کرد.حتی اگر برگردان فارسی یک دانشجوی کم سواد را قبول ندارید خواندن متن اصلی و جستجو در موتور های جستجو راجع  به آن را به تمامی علاقه مندان توصیه میکنم    چگونه يك شبكه عصبي‌ هوشمند بسازيم؟ - مثالي از برنامه‌نويسي شيء‌گرا در شبكه‌هاي عصبي و هوش مصنوعي قدرت و سرعت كامپيوترهاي امروزي به راستي شگفت انگيز است؛ زيرا كامپيوترهاي قدرتمند مي‌توانند ميليون‌ها عمليات را در كمتر از يك ثانيه انجام دهند. شايد آرزوي بسياري از ما انسان‌ها اين باشد كه اي كاش مي‌شد ما نيز مانند اين دستگاه‌ها كارهاي خود را با آن سرعت انجام مي‌داديم، ولي اين نكته را نبايد ناديده بگيريم كه كارهايي هستند كه ما مي‌توانيم آن‌ها را به آساني و در كمترين زمان ممكن انجام دهيم، ولي قوي‌ترين كامپيوترهاي امروزي نيز نمي‌توانند آن‌ها را انجام دهند و آن قدرت تفكري است كه مغز ما انسان‌ها دارد. حال تصور كنيد كه دستگاهي وجود داشته باشد كه علا‌وه بر قدرت محاسبه و انجام كارهاي فراوان در مدت زمان كوتاه، قدرت تفكر نيز داشته باشد يا به قول معروف هوشمند باشد!اين تصور در حقيقت هدف فناوري هوش مصنوعي يا Artificial Intelligence) AI) است. يكي از راه‌حل‌هاي تحقق اين هدف، شبكه‌هاي عصبي است. شبكه‌هاي عصبي در واقع از شبكه‌هاي عصبي و سيستم عصبي انسان الگوبرداري مي‌كنند. برخي از محققان براين باورند كه هوش مصنوعي و شبكه‌هاي عصبي دو راه‌حل متفاوت و در دو جهت مختلف هستند، ولي اين باور را نمي‌توان كاملاً صحيح دانست؛ چرا كه در حقيقت علم شبكه‌هاي عصبي و هوش‌مصنوعي وابسته به هم هستند. بدين‌معنا كه قبل از اين‌كه Symbolها بتوانند توسط هوش مصنوعي شناسايي شوند، بايد مراحلي طي شود. مثلاً تصور كنيد كه Symbolهايي مانند خانه، انسان يا ميز وجود دارند. قبل از اين كه AI بتواند هر كدام از اين Symbolها را شناسايي كند، بايد از توانايي‌ها و صفات هر كدام از اين‌ها اطلاع كامل حاصل كند. مثلاً تصور كنيد كه يك روبات كه هوش مصنوعي دارد، يك انسان را مي‌بيند، ولي از كجا مي‌فهمد كه اين جسم يك انسان است؟ مثلاً بر اساس مشخصاتي مثل داشتن دو پا، دست، صورت، دهان و قدرت تكلم. اما شما وقتي يك انسان ديگر را مي‌بينيد، نيازي نداريد كه اول تعداد پاهاي او را بشماريد و بعد بگوييد كه اين جسم، انسان است. مغز انسان‌ها مي‌تواند با ديدن يك جسم فقط براي يك بار ياد بگيرد و اگر مجدداً آن جسم را مشاهده كرد، مي‌تواند سريع تشخيص دهد و قسمت‌هاي مختلف مغز مي‌توانند به صورت همزمان فعاليت كنند و از اطلاعات درون مغز استفاده نمايند. شبكه‌هاي عصبي در بسياري از پروژه‌هاي هوش مصنوعي به كار گرفته مي‌شود. مثلاً براي برنامه‌هاي تشخيص و الگوبرداري، شناسايي تصوير و كاراكتر، روبات‌ها و برنامه‌هاي فيلترينگ اطلاعات. اين شبكه‌ها امروزه حتي در اتومبيل‌هاي بي‌سرنشين نيز كاربرد دارد. به طوري‌كه با ديدن و بررسي رانندگي انسان‌ها، مي‌توانند رانندگي كنند. در اين مقاله اصول شبكه‌هاي عصبي در برنامه‌نويسي شيء‌گرا مورد بررسي قرار مي‌گيرد. با استفاده از زبان #C و انجام دادن عمليات X-OR ساده مي‌توانيد اولين برنامه ساده هوش مصنوعي خود را بنويسيد. لازم به ذكر است كه مثالي كه در اين مقاله از آن استفاده شده، از مقاله Matthew Cochran (سي شارپ كورنر) اقتباس شده است. براي يادگيري بيشتر شبكه‌هاي عصبي بهتر است اين شبكه‌ها را با شبكه‌هاي عصبي مغز خود مقايسه كنيم. در حقيقت هر نورون در مغز ما يك ورودي دارد كه از نورون‌هاي ديگر ميآيد و يك خروجي كه به نورون يا نورون‌هاي بعدي مي‌رود.   براي اين‌كه بتوانيم اين كار را دقيقاً در برنامه خود شبيه‌سازي كنيم، لازم است يك كلاس مانند شكل 1 قسمت اول طراحي كنيم كه ضمن داشتن مشخصه‌هاي خاص، يك خروجي داشته باشد. البته همان‌طور كه در قسمت دوم نيز مشاهده مي‌كنيد (شكل 1)، هر نورون مي‌تواند داري چندين ورودي نيز باشد.   همان‌طور كه در شكل 1 مشاهده مي‌كنيد، نورون‌ها به صورت گروهي لايه‌بندي مي‌شوند. شكل 1                              وقتي سيگنال يا پالسي  به يك لايه ارسال مي‌شود، اين سيگنال از لايه بالايي شروع به فعاليت مي‌كند و توسط نورون‌هاي آن لايه بررسي و اصلاح مي‌گردد. در حقيقت هر نورون قدرت سيگنال را بالا مي‌برد و آن پالس را به لايه بعدي انتقال مي‌دهد. (شكل 2) حال كه تقريباً با كار يك لايه عصبي آشنا شديد، مي‌توانيم شبكه‌هاي پيچيده‌تر را مورد بررسي قرار دهيم.  براي اين كار حداقل به سه گروه از نورون‌هايي كه در شكل 2 مي‌بينيد، نياز داريم. شكل 2                               همان‌طور كه در شكل 3 مشاهده مي‌كنيد، اين شبكه داراي سه لايه است. لايه 1 يا لايه بالايي اين شبكه كه در حقيقت لايه ورودي است، پارامترهاي پالس را تنظيم مي‌كند و اين مقادير را همراه سيگنال يا پالس به لايه‌هاي بعدي پاس مي‌دهد، ولي نورون‌هاي لايه 3 يا لايه خروجي‌ كه در پايين‌ترين سطح شبكه قرار دارد، هيچ سيگنالي را به لايه ديگري نمي‌فرستند و در واقع فقط خروجي دارند. شكل 3                                   ‌ حال قسمت اصلي كار شبكه فرا مي‌رسد؛ يعني آموختن به شبكه عصبي. ب راي اين‌كه به شبكه عصبي موجود توانايي آموختن بدهيم، بعد از اين‌كه سيگنال از لايه اول شبكه به لايه پاييني شبكه مي‌رود، بايد اطلاعات هر نورون را كه روي سيگنال ما اثر مي‌گذارد، بروزآوري و اصلاح كنيم. اين رويه را به اصطلاح BP يا Back Propagation مي‌گويند. شكل 3                                     در حقيقت با اين كار يعني مقايسه خروجي‌اي كه خودمان محاسبه كرده‌ايم با خروجي شبكه، مي‌توانيم مقدار اشتباهاتي كه شبكه ما انجام مي‌دهد را به دست آوريم. مثلاً تصور كنيد كه در يك سلول نورون در لايه آخر شبكه يا لايه خروجي اشتباهي داريم، هر نورون در واقع ركورد تمامي نورون‌هايي كه سيگنال از آن عبور مي‌كند را نگهداري مي‌نمايد و مي‌داند كه كدام يك از نورون‌هاي قبلي يا به اصطلاح نورون‌هاي والد باعث اين اشتباه مي‌شوند. همچنين مي‌دانيم كه هر كدام از اين نورون‌هاي شبكه يك مقدار اشتباه را محاسبه كرده‌اند و از اين طريق شبكه ما مي‌تواند ياد بگيرد و اگر مقدار ديگري نيز به آن داده شد، مي‌تواند توانايي محاسبه داشته باشد. شكل 4   حال كه كمي در مورد شبكه‌هاي عصبي صحبت كرديم، مي‌توانيم برنامه سي‌شارپ خود را شروع كنيم. اولين كاري كه بايد انجام دهيم، ايجاد يك اينترفيس ساده است كه بعداً آن را عملياتي مي‌كنيم. همان‌طور كه در كدهاي شكل 4 مي‌بينيد، يك اينترفيس به نام Interface 1 ساخته‌ايم. اين اينترفيس در واقع حركت يك سيگنال را در شبكه ما تعريف مي‌كند.  وقتي اين كار را انجام داديم، به يك اينترفيس ديگر نياز داريم كه ورودي نورون را تعريف كند. براي اين كار بايد از يك دايركتوري عمومي استفاده كنيم. اين دايركتوري كليد سيگنال يا همان پالس است و خروجي يك كلاس است كه پارامتر ‌Weight پالس را مشخص مي‌كند. (كدهاي شكل 5).     شكل 5   حال نوبت به نوشتن كدهاي كلاس اصلي برنامه مي‌رسد. نام اين كلاس را NeuralFactor مي‌ناميم (كدهاي شكل 6). شكل6   در كدهاي اين كلاس مي‌بينيد كه  دو مقدار Private به نام‌هاي Mywight و MyDelta نوع double و جود دارد. كار اصلي اين كلاس، دادن و گرفتن مقادير نورون است و در واقع تغييرات در ورودي نورون‌ها و وزن آن‌ها را  نگهداري مي‌كند. حال مي‌توانيم يك اينترفيس براي خود نورون درست كنيم. از آن جايي كه هر نورون هم مشخصات سيگنال و هم Receptor را دارد، بايد از دو اينترفيسي كه قبلاً در شكل هاي 5 و 4 توضيح داده شد، استفاده كند. همچنين هر نورون چيزي مانند يك ورودي ديگر نيز دارد كه به آن Bias مي‌گوييم. اضافه براين، بايد دو متد براي انجام كار در شبكه درست كنيم: يكي براي انجام Pulse و ديگري براي يادگيري نورون. كدهاي شكل 7 تمامي اين اينترفيس را مشخص كرده است. شكل7   در قسمت پايين اين كدها يك اينترفيس ديگر به نام INeuralLayer مشاهده مي‌كنيد. اين اينترفيس براي لايه‌هاي نورون‌هاي شبكه است و براي انتقال پالس از يك لايه به لايه ديگر و توانايي يادگيري در يك لايه به كار گرفته مي‌شود. و بالاخره آخرين اينترفيس ما خود شبكه را تعريف مي‌كند. از توانايي‌هاي اين اينترفيس مي‌توان، قابليت نگهداري لايه‌هاي شبكه، انتقال پالس و قابليت يادگيري شبكه را نام برد.  اكنون كه با اينترفيس‌هاي اين شبكه ساده آشنا شديد، نوبت به ساختن اجزاي اصلي برنامه مي‌رسد. اولين كاري كه بايد در اين قسمت انجام دهيم، ساختن كلاس اصلي نورون است كه بايد آن را بر اساس اينترفيس‌هايي كه ساخته‌ايم، درست كنيم. شكل 8 ساختار اصلي اين كلاس را نشان مي‌دهد. شكل8   همان‌طور كه در اين شكل مشاهده مي‌نماييد، اين كلاس تعدادي متغير و چندين متد دارد. در اين كلاس دو متد اصلي  وجود دارد: متد Sigmoid و متد Pulse كدهاي شكل 9 اين دو متد را نشان مي‌دهد. شكل 9   اگر كمي به كدهاي شكل 9 و متد Pulse دقت كنيد، متوجه مي‌شويد كه اين متد جمع هر ورودي يا هر خروجي كه به نورون داده مي‌شود را دريافت مي‌كند و در Weight مربوطه كه در دايركتوري است ضرب مي‌كند و آخرين خروجي آخرين را به متد Sigmoid انتقال مي‌دهد و در نتيجه خروجي آخر ما عددي بين 0 و 1 خواهد بود. حال دو كلاس مهم از اين شبكه باقي‌مانده است: اولين كلاس، كلاس اصلي شبكه يا NeuralNet است و ديگريNeuralLayer، كلاس لايه‌هاي شبكه ما است. اين دو كلاس در شكل 10 به صورت مشخص نشان داده شده است، اما نكته بسيار مهم اين است كه كلاس NuralLayer در حقيقت مسئول نگهداري نورون‌هاي انتقال‌دهنده يا فراخوان‌كننده متد Pulse است. کلاس اصلي شبکه کلاس لايه‌هاي شبکه شكل 10   در اين كلاس از فهرست نورون‌ها استفاده شده است و اين كلاس در اصل نورون‌ها را در خود جا مي‌دهد. در اين كلاس دو متد كه هيچ مقدار برگشتي ندارند، به نام‌هاي Pulse و ApplyLearning وجود دارد. اين متدها در حقيقت  كار فرستادن پالس و يادگيري لايه‌ها را به عهده دارند. كدهاي شكل 11 اين دو متد را نشان مي‌دهد.   شكل 11   كلاس NeuralNet (شكل 12) همان‌طور كه قبلاً توضيح داده شد، يكي از مهم‌ترين كلاس‌هاي برنامه ما است. در اين كلاس سه متد بسيار مهم وجود دارد: Initialize ،Train و BackProgation متد Initialize در واقع شبكه ما و كامپوننت‌هاي آن را آماده مي‌كند. اين متد در واقع متد Factory ما است. در اين متد مقادير عددي نورون‌هاي ورودي، نورون‌هاي مخفي و نورون‌هاي خارجي مشخص مي‌گردند.   شكل 12   متد BackProgation يكي ديگر از متدهاي اين كلاس است. اين متد ابتدا خطاهاي خروجي نورون‌ها را با  محاسبه اختلاف عددي بين مقدار مورد انتظار ما و خروجي نورون‌ها محاسبه مي‌كند و وقتي كه خروجي همه نورون‌ها بروز گرديد، اين متد خطاهاي نورون‌هاي پنهان را نيز محاسبه مي‌كند. شكل 13   وقتي اين متد توسط برنامه انجام شد، برنامه با استفاده از متد، ()‌Train و با استفاده از خروجي‌هاي قبلي مي‌تواند توانايي يادگيري داشته باشد. اگر بخواهيم شبكه خود را آموزش دهيم كه عمليات X-OR را انجام دهد، بايد ابتدا يك شبكه بسازيم كه دو نورون ورودي، دو نورون پنهان و يك  نورون خروجي داشته باشد. مثلاً مي‌توانيم شبكه خود را طوري آموزش دهيم كه بتواند عمليات مشخص‌شده در جدول 1 را انجام دهد: خروجي    ورودي دوم ورودي اول 1 0 1 0 1 1 0 0 0 1 1 0  جدول 1   كل 13 روند اجرايي برنامه را نشان مي‌دهد. مي‌توانيد سورس‌ كدهاي اين برنامه را از قسمت دريافت فايل سايت ماهنامه شبكه دريافت كنيد و قدم به قدم و با استفاده از راهنمايي‌هايي كه در آن نوشته شده است، تغييراتي در كدها انجام دهيد و اولين برنامه هوش مصنوعي خود را بنوسيد.       الگوریتم ژنتیک : الگوریتم ژنتیک که بعنوان یکی از روشهای تصادفی بهینه یابی شناخته شده,  توسط جان هالند در سال 1967 ابداع شده است. بعدها این روش با تلاشهای گلدبرگ 1989, مکان خویش را یافته و امروزه نیز  بواسطه توانایی های خویش , جای مناسبی در میان دیگر روشها دارد. روال بهینه یابی در الگوریتم ژنتیک  براساس یک روند تصادفی- هدایت شده استوار می باشد. این روش , بر مبنای نظریه تکامل تدریجی و ایده های بنیادین داروین پایه گذاری شده است.در این روش , ابتدا برای  تعدادی ثابت که جمعیت نامیده می شود مجموعه ای از پارامترهای هدف بصورت اتفاقی تولید می شود , پس از اجرای برنامه شبیه ساز عددی را که معرف انحراف معیار و یا برازش آن مجموعه از اطلاعات است را به آن عضو از جمعیت مذکور نسبت می دهیم . این عمل را برای تک تک اعضای ایجاد شده تکرار می کنیم , سپس با فراخوانی عملگرهای الگوریتم ژنتیک از جمله لقاح , جهش و انتخاب نسل بعد را شکل می دهیم و این روال تا ارضای معیار همگرایی ادامه داده خواهد شد.(شکل 1) بصورت متداول سه معیار بعنوان معیار توقف شمرده می شود:                           I.      زمان اجرای الگوریتم                      II.      تعداد نسلهایی که ایجاد می شوند                  III.      همگرایی معیار خطا کاربرد های الگوریتم ژنتیک :   روندیابی هیدرولوژیکی رواناب جاری در شبکه رودخانه خشک   کمک در حل مسایل تصمیم گیری چند معیاره   بهینه سازی چند هدفه در مدیریت منابع آبی   الگوریتم مورچگان : سیستم مورچه CE یک سیستم  هوشمند پر ازدحام (مانند کندوی زنبوران) است و رفتار کاوش آذوقه مورچگان را تقلید می کند که شامل تعداد زیادی عامل با رفتارهای ساده است که بطور غیر مستقیم و غیر همزمان با هم ارتباط برقرار می کنند . همه عاملها مأموریت جستجوی مسیرهای حلقه ای و گزارش کیفیت مسیر  که بوسیله مفهوم " عملکرد مسیر " تعریف می شود , را دارند. کاربردهای الگوریتم مورچگان :   ایجاد و نگهداری اتصال مسیرهای اولیه و پشتیبانی از هم گسیخته .   حل مسایل مربوط به پیدا کردن و نگهداری مسیرهای مجازی در یک شبکه ارتباطات با تغییر شرایط.   ساختار اتوماتیک سایتهای پرتال در وب .   استفاده در مسیریاب های نرم افزاری و عاملهای موبایل ( مثال زیر ) . مثال : مورچگان بین منبع غذا و لانه یک مسیر را حفظ می کنند.   نکات کلی :   لانه مورچه در کامپیوتر میزبان است.   مورچگان عاملهای موبایل هستند.   هدف : جلوگیری از بکارگیری اتصالات متراکم .   پاکتهای داده در هر مسیریاب , مسیریابی می شوند.   مسیریاب :   پاکتهای داده با کلیک مسیریابی می شوند.   کد مورچه در Java VM  اجرا می شود.   دو زیر سیستم اطلاعاتشان مورد نیازشان را با هم رد و بدل  می کنند.   میزبانان :     مورچگان و تست ترافیک تولید می شوند .   آمار نرخ پاکتها برای هر اتصال .         تست انطباق :   تمام اتصالات بین مسیریابها دارای ظرفیت 50 پاکت در ثانیه اند.   ابتدا , دو اتصال بدون ترافیک ایجاد می شود.   پس از مدتی , اتصال 1 شروع به فرستادن ترافیک  CBR تقویت شده با نرخ 40 پاکت در ثانیه می کند.       نتیجه اتصال 2 :   در ابتدا , کوتاهترین مسیر ترجیح داده می شود.   ترافیک ناشی از اتصال 1 منجر به افزایش هزینه می شود.   اکنون مسیر دیگری کمترین هزینه را خواهد داشت.   سیستم به مسیر منتخب سویچ می کند.   ارزیابی :   این الگوریتم برای پیاده سازی مسیریابهای نرم افزاری و عاملهای موبایل موجه است.   عملکرد محدود است.   پیاده سازی بر پایه سیستم عامل موبایل است.   برای اجرای سیستم در شبکه بزرگتر , عملکرد باید بهبود یابد.    
ادامه مطلب
نوشته شده در تاريخ چهارشنبه شانزدهم آذر 1390 توسط عطا الله سعیدی
در عصر حاضر در بسیاری از موارد ماشین ها جایگزین انسانها شده اند و بسیاری از کارهای فیزیکی که در گذشته توسط انسانها انجام می گرفت امروزه توسط ماشین ها صورت می گیرد . اگرچه قدرت کامپیوترها در ذخیره، بازیابی اطلاعات و اتوماسیون اداری ،.. غیر قابل انکار است، اما همچنان مواردی وجود دارد که انسان ناچار است خودش کارها را انجام دهد. اما به طور کلی ، موارد مرتبط با ماشین شامل سیستم هایی است که در آن به علت ارتباطات پیچیده بین اجزا، مغز انسان از درک ریاضی این ارتباطات قاصر است . مغز انسان به مرور زمان با مشاهده توالی رفتارهای سیستم و گاه آزمایش نتیجه ای که بر اثر دستکاری یکی از اجزای سیستم به دست می آید تا حدی می تواند عادتهای سیستم را شناسایی کند . این روند یادگیری بر اثر مشاهده مثالهای متنوع از سیستم ، به کسب تجربه منجر می شود. در چنین سیستم‌هایی مغز قادر به تجزیه و تحلیل داخلی سیستم نیست و تنها با توجه به رفتارهای خارجی، عملکرد داخلی سیستم را تخمین می زند و عکس العملهای آن را پیش بینی می کند.
چگونگی اداره حجم انبوه اطلاعات و استفاده موثر از آنها در بهبود تصمیم گیری ، از موضوعات بحث برانگیز در عصرحاضر است. یکی از مسائل مهم تحقیقاتی در زمینه علوم کامپیوتر، پیاده سازی مدلی شبیه به سیستم داخلی مغز انسان برای تجزیه و تحلیل سیستم های مختلف بر اساس تجربه است .در این راستا شبکه های عصبی یکی از پویاترین حوزه‌های تحقیق در دوران معاصر هستند که افراد متعددی از رشته های گوناگون علمی را به خود جلب کرده است .استفاده از شبکه‌های عصبی و الگوریتم های ژنتیک در حل مسائل پیچیده کاربردی این روزها بیش از بیش رواج یافته است . در این مقاله پس از معرفی اجمالی شبکه های عصبی و الگوریتم های ژنتیک، ارتباط وسهم آن ها در تصمیم گیری در حوزه تجارت وکسب وکار مورد بررسی قرارگرفته است .


مقدمه
توجه به کاربرد تکنیک های هوش مصنوعی و ابزارهای مدل سازی در حوزه کسب و کار به طور فزاینده ای در حال افزایش است. در این راستا سیستم های خبره جایگاه ویژه ای یافته اند. در چند دهه گذشته دو عنوان شبکه های عصبی و الگوریتم های ژنتیک از موضوعاتی بوده اند که توجه بسیاری از دانشگاهیان را به خود جلب کرده اند . این دو به عنوان ابزاری نیرومند در حل مسائلی که دیگر توسط متدلوژی ها و روش های سنتی گذشته قابل حل نبودند، شناخته شده و مورد استفاده قرارگرفته اند. این روزها استفاده از آنها به زندگی اجتماعی ما نیز تسری یافته تا جایی که کاربرد آنها در تصمیم گیری ها نقش حیاتی یافته است . این مقاله شواهدی را مبتنی برامکان استفاده اخلاقی از شبکه های عصبی و الگوریتم ها ی ژنتیک که به منجر به تصمیم گیریهای موفقیت آمیز در ارتباط با مسائل مرتبط با کسب و کار می شود ارائه می کند . برای این منظور لازم است که بررسی تطبیقی ای در رابطه با تلاشهای دیگر محققان در قالب ادبیات موضوع صورت گیرد . به همین دلیل ، در تحقیق ما بر نقش محققان عملیاتی در حوزه کاربرد شبکه های عصبی و الگوریتم های ژنتیک تأکید شده است . همچنین در کنار ایجاد چنین پایگاهی برای محققان ، به سوالات اساسی زیر نیز پاسخ داده شده است :
-1 آیا کاربردهای سیستم های مبتنی بر هوش مصنوعی می تواند از فرایندهای تصمیم گیری شرکت شما پشتیبانی کند ؟
-2 آیا اسناد ودلایل و مدارک معتبری برای اثبات این ادعا وجود دارد ؟
-3 آیا اینها تنها یک تئوری و ایده دانشگاهی است یا دارای قابلیت کاربرد و تعمیم نیز هست؟
به عبارت دیگر ، با درنظر گرفتن مطالعات مشابه در رابطه با استفاده از سیستم های خبره در کسب و کار، نویسندگان و محققان در آرزوی دستیابی به فرصتی جهت بحث مقایسه ای در باره این سه متدلوژی هوشمند هستند (متاکسیوس و پساراس 2003 ) . یکی از مهم ترین و بحث‌برانگیزترین تحقیقات ، بررسی صورت گرفته توسط لایبوتز (2001) است که نتیجه آن تحت عنوان «سیستمهای خبره و کاربرد آنها» مطرح شد.
ساختار این مقاله به صورت زیر است‌: در ابتدا مروری بر پایه و اساس شبکه های عصبی و الگوریتم های ژنتیک خواهیم داشت و سپس به بازنگری جامعی بر کاربرد شبکه های عصبی و الگوریتم های ژنتیک در حوزه کسب و کار خواهیم پرداخت و نهایتا آن را با نتایج و پیشنهاداتی برای تحقیقات کاربردی آینده به پایان خواهیم رساند .
فناوری شبکه عصبی
شبکه های عصبی یک تکنیک پردازش اطلاعات مبتنی بر روش سیستم های عصبی بیولوژیکی مانند مغز و پردازش اطلاعات است. مفهوم بنیادی شبکه های عصبی ، ساختار سیستم پردازش اطلاعات است که از تعداد زیادی واحدهای پردازشی (نورون‌) مرتبط با شبکه ها تشکیل شده اند‌. سلول عصبی بیولوژیکی یا نورون، واحد سازنده سیستم عصبی در انسان است. یک نورون ازبخشهای اصلی زیر تشکیل شده است :
1) بدنه سلولی که هسته در آن است و سایر قسمتهای سلولی از آن منشأ گرفته است.
2) هسته
3) آکسون که وظیفه آن انتقال اطلاعات از سلول عصبی است.
4) دندریت که وظیفه آن انتقال اطلاعات از سلول های دیگر به سلول عصبی است
یک سیستم شبکه عصبی از تکنیک‌های مورد استفاده انسان در یادگیری از طریق استناد به مثالهایی از حل مسائل استفاده می‌کند (هایکین ،1994 ) . هر نورون ورودیهای متعددی را پذیراست که با یکدیگر به طریقی جمع می شوند . اگر در یک لحظه تعداد ورودی های فعال نرون به حد کفایت برسد نرون نیز فعال شده و آتش می کند . در غیر این‌صورت نورون به صورت غیر فعال و آرام باقی می ماند .فعالیت هر نورون از مجموعه ای از یک یا چند ورودی ، عملیات و وظیفه خروجی برای محاسبه خروجیهایش تشکیل شده است . عملکرد اساسی این مدل مبتنی بر جمع کردن ورودیها و به دنبال آن به وجود آمدن یک خروجی است . ورودیهای نورون از طریق دندریت ها که به خروجی نورون های دیگر از طریق سیناپس متصل شده اند وارد می شوند . بدنه سلولی کلیه این ورودیها را دریافت می کند و چنانچه جمع این مقادیراز مقداری که به آن آستانه گفته می شود بیشتر شود در اصطلاح بر انگیخته شده یا آتش می کند و درغیر این صورت خروجی نورون روشن یا خاموش خواهد شد. مدل پایه ای نورون به صورت شکل 1 تعریف می گردد .
 
امروزه شبکه های عصبی در کاربردهای مختلفی از قبیل طبقه بندی داده ها و تشخیص الگو از طریق فرایند یادگیری که خود شامل مسائلی مانند تشخیص خط و شناسایی گفتار وپردازش تصویر است به کار می روند .به مثابه سیستم های بیولوژیکی ، آموزش شامل تنظیم پیوندهای بین سیناپس‌ها که درهر نورون وجود دارند است. به عبارت دیگر‌، اطلاعات آموخته شده به شکل ارزشهای عددی به‌نام «وزن» که به هر واحد پردازش شبکه اختصاص داده می‌شود ، ذخیره می شوند .به طور کلی ، شبکه های عصبی می توانند بین :
روشهای اتصال نورون ها، انواع روشهای ویژه محاسبه عملیات نورون ها، روش انتقال الگوی عملیات از خلال شبکه و روشهای یادگیری آنها که شامل نرخ یادگیری است، تمایز قائل شوند . با در نظر گرفتن ارتباطات بین نورون ها ، می توان بین شبکه های لایه دار و بدون لایه تمایز قایل شد . شبکه های لایه دار گروهی ازنورون ها هستند که در لایه هایی مجتمع گردیده اند که بین لایه ورودی و خروجی - که تنها پیوند خارجی دارند - یک یا چند لایه پنهان وجود دارد . داده های ورودی از لایه ورودی به وسیله لایه های پنهان (لایه میانی ) به لایه خروجی منتقل می‌شوند . سیگنالها ی جاری در شبکه های لایه دار به سمت جلو حرکت می کنند که در اصطلاح فنی به آنها پیش خور گفته می شود در حالی که شبکه های بدون لایه دارای گره های اضافی بازخور هستند که از تقسیمات درست لایه ها جلوگیری می کنند .
ساختار پیوندها و تماسها و تعداد لایه‌ها و نورون ها تعیین کننده معماری شبکه است که بایستی قبل از استفاده از شبکه‌های عصبی تنظیم شود . همان طور که در شکل 2 نمایش داده شده است ، اگرچه در موارد مشخصی می توان با موفقیت از شبکه های عصبی تک لایه استفاده کرد اما رسم بر این است که شبکه های عصبی حداقل دارای 3 لایه باشند ( لایه ورودی ،لایه پنهان یا لایه میانی و لایه خروجی ) .
قبل از آنکه شبکه آموزش داده شود‌، اوزان اختصاصی کوچک و به صورت تصادفی ارزش گذاری می شوند . در خلال روند آموزش ، اوزان شبکه به شکل تدریجی تعدیل می شود تا جایی که محرز شود که کاملاً روابط فرا گرفته شده است . این شکل از یادگیری ، یادگیری با سرپرست نامیده می شود . وقتی یک الگو در لایه ورودی به‌کار گرفته می شود تا آن جا جلو می رود که ستانده نهایی در لایه خروجی محاسبه شود . ستانده شبکه با نتایج مطلوب مورد انتظار مدل مقایسه و خطاهای موجود محاسبه می‌شود .این خطاها مجدداً به عنوان بازخورد به شبکه بازمی گردد تا تغییرات لازم در اوزان پیوندها برای کاهش خطا صورت گیرد .مجموعه ای از مثالهای آموزشی داده _ ستانده مکرراً ارائه می شود. تا جایی که مجموع امتیازات خطا به سطح قابل قبولی کاهش یابد . در این جایگاه م‌ توان آن شبکه را به عنوان شبکه ای آموزش دیده در نظر گرفت . اما در روش دیگری که یادگیری بدون سرپرست نامیده می شود‌، شبکه عصبی باید بدون کمک گرفتن از جهان ، بتوانند کار آموزش را انجام دهد . واقعیت آن است که در عمل ازروش یادگیری باسرپرست و یا حداکثر از روشهای ترکیبی استفاده می شود و فرایند آموزش بدون سرپرست به شکل خالص تنها وعده‌ای است که شاید بتواند در آینده تحقق یابد . در حال حاضر و در کاربردهای پیشرفته ، از روش آموزش بدون سرپرست برای ایجاد تنظیمات اولیه برروی سیگنال های ورودی شبکه های عصبی استفاده می شود و باقی مراحل آموزش به روش با سرپرست ادامه می یابد .
 
حوزه های کاربردی شبکه های عصبی در موضوعات زیر است:
_ همبستگی ناشناخته بین ویژگیهای مطلوب و ارزش متغیرهای مسائل تصمیم گیری (‌جایی که راه حل مسائل ناشناخته است )
_ مسائلی که دارای راه حل الگوریتم نیستند
_ جایی که داده های ناقص وجود دارد
مزیت اصلی شبکه های عصبی ، قابلیت فوق العاده آنها در یادگیری و نیز پایداری شان در مقابل اغتشاشات ناچیز ورودی است ( فاوست ، 1994) .به عنوان مثال اگر از روشهای عادی برای تشخیص دستخط یک انسان استفاده کنیم ممکن است در اثر کمی لرزش دست ، این روشها به تشخیص غلطی برسند در حالی که یک شبکه عصبی که به صورت مناسب آموزش داده شده است حتی در صورت چنین اغتشاشی نیز به پاسخ درست خواهد رسید .
درنتیجه ، تاکید ما بر این حقیقت است که انتخاب شبکه درست با محاسبات صحیح، عامل اصلی در تضمین موفقیت عملکرد است .
فناوری الگوریتم ژنتیک
الگوریتم های ژنتیک روش قدرتمندی را برای توسعه اکتشافی مسائل بهینه سازی ترکیبی مقیاس بزرگ فراهم آورده است . انگیزه اصلی مطرح کردن الگوریتم ژنتیک می تواند این گونه عنوان شودکه «تکامل تدریجی» به شکل قابل ملاحظه ای در توسعه انواع وگونه های پیچیده از طریق مکانیزم های نسبتاً ساده تکمیلی نمود یافته است . حال سوال اساسی این است : پذیرش کدام ایده از تئوری تکامل تدریجی می تواند به ما در حل مسائل این قلمرو کمک کند ؟ این سوال با توجه به غنای پدیده تکامل تدریجی جوابهای متفاوتی دارد. هالند و دی جانگ (1975) از نخستین کسانی هستندکه با معرفی مفهوم الگوریتم ژنتیک به عنوان یک تکنیک جستجوی عمومی - که از تکامل تدریجی بیولوژیک در قالب بقای افراد اصلح و مبادله ساختارمند و تصادفی اطلاعات الگوبرداری می کند- درصدد پاسخگویی به این سوال برآمدند .
یک الگوریتم ژنتیک مسئله را به صورت مجموعه ای از رشته ها که شامل ذرات ریزهستند کد گذاری می کند ، سپس برای تحریک فرایند تکامل تدریجی ،تغییراتی را بر روی رشته ها ا عمال می‌دارد. در مقایسه با الگوریتم های جستجوی محلی ، در جستجوی عمومی که تنها یک راه حل قابل قبول وجود دارد ، الگوریتم های ژنتیک جامعه ای از افراد را در نظر می‌گیرند . کـــار با مجموعه ای از افراد، امکان مطالعه ساختارها و ویژگیهای اصلی افراد متفاوت را که منجر به شناسایی و کشف راه حلهای کارآمد تر می شود، فراهم می‌سازد . در طی مطالعه ، الگوریتم ژنتیک رشته های متناسب با ارزش را برمی گزیند و آن دسته از رشته‌هایی را که تنــاسب کمتری با جمعیت مورد بررسی دارند حذف می‌کنند .
مروری بر کاربردهای تجاری
بعد از مروری بر پیشینه شبکه های عصبی و الگوریتم های ژنتیک و پیشرفتهای آنها ، می توان حوزه های کاربردی آنها را در کسب و کار شناسایی کرد. بنابر این در این قسمت به بررسی انواع مسائل تجاری که به شکلی مناسب به‌وسیله شبکه های عصبی و الگوریتم های ژنتیک قابل حل خواهند بود ، می پردازیم . اما قبل از آن توضیحی مختصر در ارتباط با موضوعات مرتبط با این حوزه خواهیم داد .
بازاریابی
«انجمن بازاریابی آمریکا» از دیدگاه مدیریتی، بازاریابی را بدین گونه تعریف می کند : بازاریابی یک فرایند اجتماعی و مدیریتی است که به‌وسیله آن، افراد و گروهها ، نیازها و خواسته ها ی خود را از طریق تولید ، عرضه و مبادله کالاهای مفید و با ارزش با دیگران ، تأمین می کنند . به طور کلی ، بازاریابی دانشی ناشناخته است که با ویژگیهایی از قبیل عدم اطمینان بالا ، ساختار گمشده علّـی ودانشی ناکامل و گسترده قابل شناسایی است .بسیاری از وظایف تصمیم گیری و حل مسـئله به صورت بدون ساختار یا نیمه ساختار یافته انجام می شود . به همین دلایل توسعه کاربرد شبکه های عصبی و الگوریتم های ژنتیک در بازاریابی نسبت به سایر حوزه های علم دشوارتر است .
در سال 1991 ، کاری و ماتین هو به بحث در رابطه با نقش هوش مصنوعی در بازاریابی پرداختند و جایگاه یابی رقابتی را به‌وسیله متدلوژی هدف گرا مورد تجزیه و تحلیل قرار دادند . الیس و همکارانش در سال 1991 گزارشی از پیشرفتهای کاربرد مدل های شبکه عصبی در مواجهه با استراتژی قیمت گذاری کششی ارائه کردند در حالی‌که پراکتر در سال 1992 چگونگی کاربرد تکنولوژی شبکه های عصبی در یادگیری مدل های داده بازاریابی و نقش آنها را در ساختن سیستم های پشتیبانی از تصمیمات بازاریابی به نمایش گذاشت . در سال 1993 کاری و ماتین هو از تکنولوژی شبکه های عصبی در مدل سازی واکنش مصرف کننده به محرک تبلیغات استفاده کردند . رای و همکارانش در سال 1994 شبکه های عصبی را در کمّی سازی فاکتورهای موثر در کیفیت روابط خریدارو فروشنده مورد استفاده قرار دادند . برای این منظور شبکه ای با دو عنصر خروجی کیفیت روابط (رضایت از روابط و اعتماد ) و پنج ورودی ( گرایش فروش فروشنده ، مشتری گرایی ، تخصص، اخلاقیات ، و دوام روابط ) شکل گرفت . در مقایسه با رگرسیون های چند متغیره، تکنیک شبکه های عصبی به نتایج آماری قابل قبول تری دست یافت .
از سوی دیگر ، هارلی و همکاران (1994) استفاده از الگوریتم های ژنتیک را در حل مسائل بهینه سازی بازاریابی مورد آزمایش قرار دادند . بر اساس مطالعه آنها ، کاربردهای بالقوه الگوریتم های ژنتیک در بازاریابی می تواند شامل موارد زیر باشد :
1) رفتار مصرف کننده
_ یادگیری مدل های انتخاب مصرف کننده
_ پردازش اطلاعات مصرف کننده
_ تاثیر گروههای مرجع
2) بخش بندی،انتخاب بازار هدف، جایگاه یابی
_ بهینه سازی ساختارهای محصول – بازار
_ تجزیه و تحلیل فاکتورهای کلیدی خرید
_ جایگاه یابی محصول
3) مدیریت عناصر آمیخته بازاریابی
_ بهینه سازی چرخه حیات محصول
_ طراحی محصول
_ استراتژی تبلیغات و برنامه ریزی رسانه‌ای
_ مدیریت فروش
گرین و اسمیت (1987) یک سیستم ژنتیک را برای یادگیری مدل های انتخاب مصرف کننده مطرح ساختند و تنگ و هولاک (1992 ) چارچوبی مفهومی را در پیوند مفاهیم بازاریابی با مکانیزم تکامل تدریجی داروین ارائه کردند . در سال 1992 بالاک ریشمن و جاکوب یک الگوریتم ژنتیک مبتنی بر سیستم پشتیبانی از تصمیم گیری برای طراحی محصول ارائه کردند . از سوی دیگرو در حرکتی نوین وناگوپال و بیتز (1994) ازاشتراک شبکه های عصبی و تکنیکهای آماری در تحقیقات بازاریابی استفاده کردند. درنهایت ، می توان گزارشی از پیشرفتهای موجود در این زمینه رابه شکل زیر ارائه کرد :
_ STRATEX _ یک سیستم دانشی با هدف پشتیبانی از انتخاب بخشهای بازار (بورچ و هارتویگسن ، 1991)
_ ADDUCE _ سیستمی در توجیه واکنش مصرف کننده به تبلیغات (بارک ، 1991)
_ COMSTRAT _ سیستمی برای تصمیمات استراتژیک بازاریابی با تاکید ویژه بر جایگـاه یابی رقابتی ( ماتین هو و همکاران 1993‌)
_ MARSTRA _ سیستم هوش شبکه ای برای توسعه استراتژی های بازاریابی و ارزیابی فاکتورهای بازاریابی استراتژیک (‌لی، 2000)
_ GLOSTRA _ سیستم هوش شبکه ای برای توسعه و بهبود استراتژی های بازاریابی جهانی و بازاریابی اینترنتی ( لی و دیویس‌، 2001 )
 
بانکداری و حوزه های مالی
از کاربردهای مهم و مطرح شبکه های عصبی و الگوریتم های ژنتیک در بانکداری و حوزه مسائل مالی می توان به این موارد اشاره کرد : کاربردهای اعتباری ، تجزیه و تحلیل های مالی ، سرمایه گذاری مالی ، و تجزیه و تحلیل بازار مبادله سهام . محققان بسیاری به بررسی کاربردهای شبکه های عصبی و الگوریتم های ژنتیک در بانکداری و مالی پرداخته اند . ازآن جمله ، در سال 1993 ، تفتی و نیکبخت به بحث در ارتباط با استفاده از شبکه های عصبی توسط سازمانها وشرکتهای مالی در جهت اهداف متفاوت امتیازبندی اعتباری پرداختند .تان و دی هاردجو (2001) از طریق افزایش زمان و دوره پیش بینی مدل به توسعه یک تحقیق ابتدایی در استفاده از شبکه های عصبی برای پیش بینی استرس های مالی در اتحادیه های اعتباری استرالیا پرداختند . دستاورد حاصل شده در مقایسه با نتایج به دست آمده از متوسط انحراف از میانگین، نتایج قابل قبولی بود . همچنین دیویس و همکاران نیز در 1996 به بررسی نگرشهای سیستم‌های خودپرداز براساس تجزیه و تحلیل شبکه‌های عصبی پرداختند .
ازسوی دیگر، شناسایی کاربردهای متنوع الگوریتم های ژنتیک از سوی افراد مختلف به صورت زیر ارائه شده است : انتخاب استراتژی های بازار انحصاری چند جانبه ( مارکز ، 1989 ) ، توسعه استراتژی‌های سرمایه گذاری مالی (باور‌‌، 1994 ) ،جستجو برای یافتن قوانین تکنیکی برای اعمال آنها در بازارسرمایه ( کارجالایننن‌، 1994 ) ، تجزیه و تحلیل ریسک در بانکداری ( وارتو ،1998 ) . علاوه بر این، در سال 1999 کارجالایننن و آلن از الگوریتم‌های ژنتیک در پیدا کردن قوانین تکنیکی تجاری استفاده کردند. در همین زمان نیز آندرا و همکارانش (1999) از الگوریتم های ژنتیک در تجــزیه و تحلیل فنی در بازار سهام مادرید استفاده کردند .
از دیگر سیستمهای مالی مبتنی بر شبکه‌های عصبی و الگوریتم های ژنتیک می توان به موارد زیر اشاره کرد :
_ KABAL _ سیستم دانشی برای تجزیه و تحلیل مالی در بانکداری (هارت ویگسن ، 1990 )
_ CREDEX _ سیستمی برای ارزیابی اعتبارات ( پینسون ، 1990 )
_ FINEVA _ سیستم دانشی چند معیاری پشتیبانی از تصمیم گیری برای ارزیابی عملکرد و قابلیت حیات شرکت ( زوپونی دیس ، 1996 )
پیش بینی
پیش بینی یکی از قدیمی ترین فعالیتها و وظایف مدیریت وتجارت بوده است . درروزگاران قدیم نمونه هایی از پیشگوییها و پیش بینی ها وجود دارد . به طور کلی ، مدیری را می توان موفق دانست که از قوه تجسم بالایی در تصمیم گیری و قضاوت برخوردار باشد . تجربه ، به انسان در پیش بینی آینده وانتخاب تصمیم درست و دادن رأی صحیح کمک می کند. روش های هوش مصنوعی توانایی بالایی را درپیش بینی و ارائه عملکرد بهتر در مواجهه بامسائل غیرخطی و سایر مشکلات مدل سازی سری های زمانی نشان داده اند .رحمان و بهتنگار (1998 ) یک سیستم خبره را برای پیش بینی کوتاه مدت طراحی کردند‌، این درحالی است که چیو (1997) یک شبکه عصبی را در ترکیب با سیستم خبره قانونمند برای همین منظور در تایوان مورد استفاده قرار داد . همچنین تحقیقات کانلن و جیمز (1998) نشان دادکه می توان بین خصیصه های داراییهای اقتصادی و ارزش داراییهای تجاری در یک بازار خاص پیوند برقرار کرد و به مدل ارزش گذاری ای رسید که به پیش بینی کوتاه مدت نوسانات ارزش گذاری دراستفاده از شبکه‌های عصبی می‌پردازد‌. درنهایت بررسیهای انجام شده نشان می‌دهد که در این حوزه بیشتر بر کاربرد شبکه های عصبی کار شده است تا الگوریتم های ژنتیک‌.
سایر حوزه های تجاری
تا اینجا درباره کاربردهای مختلف شبکه های عصبی و الگوریتم های ژنتیک در بخشهای کلیدی تجارت صحبت کردیم : بازاریابی ، بانکداری و مالی ، پیش بینی . قطعاً حوزه های دیگری از تجارت و کسب و کارنیز وجود دارد که در اندازه های متفاوت می توانند از مزایای استفاده از شبکه های عصبی و الگوریتم های ژنتیک منتفع شوند . به عنوان مثال می توان به کاربرد شبکه های عصبی در صنعت هتلداری ( لاو ، 1998) ، ارزیابی داراییها (لنک و همکاران 1997 ) و پیش بینی تورم (آیکن ، 1999) اشاره کرد. علاوه بر این ، کاملاً مشهود است که بخشهایی ( مانند تولید ، صنایع سنگین ، انرژی ، ساخت و ساز ) وجود دارند که از نظر ما دور مانده اند .
مزایای استفاده از این فناوریهای هوش مصنوعی
با بررسی اجماعی نظریات و تحقیقات موجود می توان مزایای استفاده از فناوریهای هوش مصنوعی و الگوریتم های ژنتیک را در قالب گزاره های زیر خلاصه کرد :
_ ارائه خدمات بهتر به مشتری
_ تقلیل زمان انجام وتکمیل وظایف
_ افزایش تولید
_ استفاده اثربخش تر از منابع
_ سازگاری و ثبات بیشتر در تصمیم گیری
نتایج
در این مقاله سعی کردیم با معرفی کاربردهای شبکه های عصبی و الگوریتم های ژنتیک در حوزه تجارت و بازرگانی به‌ویژه در محدودة بازاریابی، مالی و بانکداری و پیش بینی ، بعدی جدید از حوزه تجارت وکسب و کار را نمایان کنیم. نتیجه نهایی این مباحث به تنوع حوزه های کاربردی که بر مزایا و منافع شبکه های عصبی و الگوریتم های ژنتیک اشاره دارد منتهی می شود . این دو تکنولوژی امروزه بیش از بیش به عنوان ابزار تصمیم گیری سازمانها مورد استفاده قرار می گیرند که البته نتایج حاصل از کاربرد آنها ( همچون تصمیمات صحیح ، صرفه جوییهای زمانی ، انعطاف پذیری ، کیفیت بهبود یافته ، آموزش موثر‌) بر محبوبیت آنها افزوده است . اعتقاد ما بر این است که در صورت ادغام مناسب این دو فناوری با سایر فناوریهای هوشمند (‌مانند سیستم های خبره ، عوامل هوشمند ، منطق فازی) و تکنیکهای تحقیق درعملیات به‌ویژه شبیه سازی می توان روز به روز بر موارد استفاده آنها در حوزه های مختلف افزود و از مزایای آنها بهره مند شد. بر اساس تحقیق کتابخانه ای انجام شده موارد زیر برای تحقیقات آینده پیشنهاد می شود:
_ بررسی مزایای استفاده از الگوریتم های ژنتیک در بهینه سازی مسائل بازاریابی
_ مقایسه کاربرد شبکه های عصبی و الگوریتم های ژنتیک و سیستم های خبره برای شناسایی مزایا و ضررهای هر کدام از این فناوریها.
منابع
-1 جکسون . تی و بیل . آر . آشنایی با شبکه‌های عصبی ، ترجمه دکتر محمود البرزی – تهران : موسسة انتشارات علمی دانشگاه صنعتی شریف ، چاپ دوم ، 1383
-2 کاتلر ، فیلیپ . مدیریت بازاریابی ، ترجمه بهمن فروزنده – تهران : آتروپات ،1382
-3 قمی ، علیرضا " شبکه های عصبی مصنوعی "‌، نشریه دنیای کامپیوتر و ارتباطات – شماره 12 ، صفحات 66 تا 69
-4 سعیدی ، مسعود " شبکه های عصبی (2) " ، نشریه شبکه _ شماره 52 ، اسفند 1383 ، صفحه 210 تا 211
-5 ممانی ، حامد ، نرگس پور اصغری حقی و ساعد علی ضمیر ، " شبکه های عصبی و کاربرد آن در بهینه سازی " ، نشریه صنایع _ شماره 30
-6 نورزاد ، غلامرضا " بیولوژی سلولی مولکولی " ،انتشارات نوردانش ، تهران ، 1376 ، چاپ اول
7- Metaxiotis , Kostas & John Psarras (2004) "The Contribution of Neural networks and genetic algoritms to business decision support "Management decision , vol 42 ,no .2, Emerald group publishing limited , pp. 229.242
8- Curry , B & L. Moutinho (1993) "Neural Network in marketing : Modelling consumer Responses to Advertising Stimuli "European Journal of marketing , vol 27 , no . 7 , MCB university press , pp 5. 20
9- Wray , B , A. palmer & D. Bejou (1994) " Using Neural Network Analysis to evaluate Buyer – Seller Relationships " European Journal of Marketing , vol 28 , no. 10 , MCB university press , pp 32.48
10- Venugopal .V & W. Beats ( 1994 ) " Neural networks and Statistical Techniques in marketing research " Marketing intelligence & planning , vol 12 , no. 7 , MCB university press , pp 30 . 38
11- Davies , F , L . Moutinho & B . Curry (1996 ) " ATM user attitudes : a neural network analysis " , marketing intelligence & planning , vol 14 , no . 2 , MCB university press , pp 26 . 32


ادامه مطلب
نوشته شده در تاريخ شنبه دوم مهر 1390 توسط عطا الله سعیدی
دانش  - محققان IBM با حمایت وزارت دفاع آمریکا بزرگترین پروژه‌ ساخت مداری شبیه مغز را آغاز کرده‌اند

IBM  اعلام کرده است که با حمایت دولت آمریکا، پروژه‌ای را برای ساخت مداری که رفتار مغز انسان را تقلید می کند در دست گرفته است.

این تحقیق که بخشی از رشته تحقیقات موسوم به «محاسبه ادراکی» است، نوروبیولوژیست ها، دانشمندان کامپیوتر و مواد و روانشناسان را گرد هم خواهد آورد. برای نخستین مرحله از تحقیق، پروژه 9/4 میلیون دلار از آژانس دفاعی ایالات متحده دریافت کرده است.

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

در این مطالعه 5 دانشگاه IBM را همراهی می کنند تا تلاشی بلند پروازانه برای جمع آوری همه دانسته ها از سیستم های بیولوژیکی واقعی و نتایج شبیه سازی ابر کامپیوترها از نورون داشته باشند. در مرحله بعد تیم مذکور تولید سیستمی الکترونیکی برای اولین بار را هدف قرار داده است که مشابه شبیه سازها رفتار کند و هدف دراز مدت تر ایشان خلق سیستمی است که دارای سطح پیچیدگی مغز یک گربه باشد.

پروفسور مودا می گوید که اکنون زمان مناسبی برای چنین خرق عادتی است چرا که سه هدف مختلف در چیزی که او «توفان کامل» می نامد در حال جمع شدن هستند.

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

پروفسور مودا می گوید: اما نکته ای که باید روشن شود این  است که از شبیه سازی هایی که در  آینده با بهره گیری از ابزار های الکترونیک-نانوتکنولوژیک صورت می گیرد، چه چیز فرا گرفته خواهد شد؟

اخیرا فن آوری‌ها به این سطح رسیده است که امکان تولید ساختارهایی را فراهم آورد که تراکم نورون ها و سیناپس ها را در یک مغز واقعی شناسایی می کنند. این تراکم حدود 10 میلیارد در هر سانتیمتر مربع است.

محققان از بیت های کد کامپیوتری که شبکه های عصبی نام دارد برای نشان دادن ارتباط نورون ها بهره می گیرند. آنها می توانند برای حل مسائل خاص مورد استفاده قرار گیرند، نظیر رفتاری که به نظر می آید مشابه یادگیری است. 

پروفسور مودا می گوید این موضوع به همراه شبکه های عصبی و هوش مصنوعی چیزی است که آنها به دنبالش هستند تا از آن طریق عاملیت های ادراکی محدود را یکی یکی طراحی کنند: ما ابتدا به دنبال یک الگوریتم هستیم و بعد حل مسائل. ما در حال تحقیق بر روی مدار های ریز و درشت مرکزی مغز هستیم که می تواند برای طیف وسیعی از عاملیت ها مورد استفاده قرار گیرد.

در این پروژه مشکل سازمان دهی مداربندی های مشابه نورون ها نیست. قابلیت انطباق مغز در توانایی اش در تنظیم سیناپس ها نهفته است که ارتباط بین نورون ها را شکل می دهند. ارتباطات سیناپسی بسته به سیگنال هایی که از آنها عبور می کند، شکل می گیرند، می شکنند، مستحکم می شوند و ضعیف می گردند. ساختن یک ماده در مقیاس نانو که بتواند چنین خصوصیتی داشته باشد یکی از اهداف عمده پروژه است.

به گفته مودا، شبکه عصبی مغز بسیار کمتر از شبکه سیناپسی آن است. فارغ از محدودیت های تابع برنامه نویسی شده، کامپیوترها می توانند اطلاعات مختلفی گرد آورند، آنها را بر اساس تجربه بسنجند، مستقلا حافظه را شکل دهند و مستدلا شروع به حل مسائل کنند، به طریقی که اکنون از انجام آن دور نگه داشته شده اند، چیزی که ما به آن «تفکر» می گوییم.

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


ادامه مطلب
نوشته شده در تاريخ شنبه دوم مهر 1390 توسط عطا الله سعیدی
 زمانی از کامپیوترهای امروزی خبری نبود و کامپیوترها بسیار بزرگ‌تر از انواع امروزی بودند و تنها یک مهندس کامپیوتر می‌توانست از اسرار کار محاسباتی این دستگاه‌های بسیار بزرگ سر در بیاورد.

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

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

 

اخیراً اخباری انتشار یافته مبنی بر اینکه دانشمندان درصدد هستند با شبیه‌سازی‌ فعالیت و نحوه ارتباط نورون‌ها، کامپیوترهایی تولید کنند که دارای قابلیت دیداری و شنیداری باشند یعنی هم بشنوند و هم ببینند.

از این طریق و با الهام از سیستم عصبی بدن انسان و به‌ویژه بخش دیداری کورتکس کامپیوترهای هوشمند متولد خواهند شد.

بر پایه گزارش بی‌بی سی، محققان با تقلید از شیوه ساخت نورون‌ها و ارتباط کلامی آنها با یکدیگر قصد دارند نسل جدیدی از کامپیوترها را بسازند.

مبنا قرار دادن نورون‌ها برای ساخت کامپیوتر می‌تواند به پیشرفت‌هایی در زمینه پردازش‌های صوتی و تصویری در کامپیوترها منجر شود. این به آن معنا خواهد بود که کامپیوترها با اتکای کمتر به حسگرها قادر خواهند بود دیدن و شنیدن را در آینده بیاموزند.

همزمان با تلاش‌ها برای ساختن نسل جدید کامپیوترها محققان در حال کمک برای شناخت بیشتر سلول‌های عصبی و عملکرد آنها هستند.

در حالی که شبکه‌های مصنوعی نورونی 5 دهه است که در دنیا ایجاد شده این شبکه‌ها چندان شباهتی به نورون‌های واقعی و عملکرد آنها ندارند.

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

دکتر ونکرس می‌گوید: ما می‌خواهیم برای ساخت کامپیوترهای نسل آینده از بیولوژی الهام بگیریم.مغز بسیار پیچیده‌تر از شبکه‌های نورونی مصنوعی موجود است. دانشمندان اکنون توجه خود را معطوف ورقه‌های ریز مدار مانند نئوکورتکس کرده‌اند که این ورقه‌ها یا لایه‌ها در عملکرد بالاتر مغز نظیر دیدن و گوش دادن مؤثر هستند.

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

دکتر ونکرس می‌گوید: ما با رعایت جزئیات، مدل‌های دقیقی از کورتکس دیداری ساختیم و خواص معین ریز مدارها را نیز مورد بررسی قرار دادیم.ما در حال تلاش هستیم تا دریابیم کدام بخش از خواص کورتکس دیداری در تشخیص شیء یا شناسایی کلمات مؤثر هستند.

امیدهایی وجود دارد که حاصل این کار به چیزی بیش از پیشرفت شبکه‌های حسگر بینجامد.

دکتر ونکرس می‌گوید: ممکن است نتیجه این تحقیقات به تولید اجزای هوشمند و حتی اجزای دارای حافظه و قدرت تصمیم‌گیری منجر شود. ما در حال کار در زمینه‌‌های کاملا متفاوت هستیم.

در حالی که دکتر ونکرس و تیم محققانش در حال کار روی شبیه‌سازهای نرم افزاری هستند، پروفسور استیو فوربر از منچستر در حال الهام گرفتن از فعالیت نورون‌ها برای ساخت سخت‌افزار جدیدی است.

پروفسور فوربر در قالب پروژه خود موسوم به اسپیناکر در تلاش است کامپیوتری را تولید کند که به‌طور طبیعی کار کند. دستگاه جدیدی را که فوربر قصد تولید آن را دارد قرار است از نظر سخت افزاری کار تعداد زیادی از نورون‌ها را شبیه‌سازی‌ کند.

پروفسور فوربر در این باره می‌گوید: ما اکنون مدل‌های زیادی از نورون‌ها را به دست آورده‌ایم.

او که سیستم جدید خود را هم‌نام پروژه‌اش نامگذاری کرده است، می‌گوید: سیستم اسپیناکر در سخت افزارها می‌تواند عملکرد تعداد زیادی از نورون‌ها را شبیه‌سازی‌ کند.

اسپیناکر از پردازشگرهای ARM استفاده می‌کند که هر یک از آنها در حدود هزار مدل نورونی را اجرا می‌کنند. در حال حاضر این سیستم از 8 پردازشگر برخوردار است اما به گفته فوربر در مراحل نهایی سیستم به 18 پردازشگر ARM که 16 پردازشگر به مدل‌سازی‌ نورون‌ها خواهند پرداخت، مجهز خواهد بود.

این تحقیقات می‌تواند در آینده به این واقعیت تبدیل شود که رایانه‌ها می‌توانند ببینند. فوربر می‌گوید: هدف نهایی تولید سیستم رایانه‌ای است که می‌تواند یک میلیارد نورون را روی یک میلیون پردازشگر ARM تحت کنترل بگیرد.

همچنین دانشمندان امیدوارند این شبیه‌سازی‌‌ها منجر به ابداع سیستم‌های پردازشگر رایانه‌ای هوشمند شود و دیدگاهی جدید از شیوه اتصال اجزای پردازشگر رایانه‌ای با یکدیگر به دست‌آید.


ادامه مطلب
نوشته شده در تاريخ شنبه دوم مهر 1390 توسط عطا الله سعیدی

آيا تاكنون به فرآيند فكر كردن خود فكر كرده‌ايد؟ يا اين‌كه چه‌طور چيز جديد ياد مي‌گيريد؟ يا حتا اين‌كه چه‌طور مي‌توانيد بعد از گذشت چند سال چهره‌ي هم‌كلاسي‌ها‌ي دبستان خود را بشناسيد؟ يا چه‌طور مي‌توانيد دست‌خط آدم‌هاي مختلف با تمام تفاوت‌هاي ميان خط‌هايشان را به‌راحتي بخوانيد؟(البته به‌جز دست‌خط پزشك‌ها!)


پاسخ تمام اين پرسش‌ها در نحوه‌ي كاركرد  مغز نهفته  است.  قدرت  شگفت‌انگيز  مغز  به‌خاطر وجود تعداد زيادي
 نُرُن (Nuron) در آن و ارتباط ميان نُرُن‌ها است. اين نُرُن‌ها اصولاً با سازوكارهاي الكتروشيميايي اطلاعات را منتقل مي‌كنند.

مغز انسان حدود 10 ميليارد سلول عصبي (نُرُن) دارد. هر نُرُن با ديگر نُرُن‌ها به‌طور ميانگين از طريق 10000 سيناپس(synapses) ارتباط دارند. شبكه‌ي سلول‌هاي عصبي در مغز يك سامانه‌ي بزرگ پردازش اطلاعات موازي تشكيل مي‌دهند. اين بر خلاف نحوه‌‌ي كاركرد رايانه‌هاست كه در آن‌ها يك پردازش‌گر به‌طور منفرد مجموعه‌اي از دستور‌العمل‌ها را انجام مي‌دهد.

هوش‌مند

آموزش پذير

روش محاسبه

سرعت پردازش

انرژي مصرفي

اندازه‌ي عنصر

عناصر پردازش‌گر

اغلب

بله

موازي،توزيعي

100هرتز

30 وات

6 -10 متر

1014سيناپس

تاكنون نه

بسيار كم

متوالي،مركزي

109 هرتز

30 وات(cpu)

6 -10 متر

108 ترانزيستور


همان‌طور كه كامپيوتر براي پردازش اطلاعات از روش پردازش ‌اطلاعات در حافظه‌ي انسان مدل برداري كرد، فناوري نوين شبكه‌هاي عصبي مصنوعي ساختار محاسباتيِ موازي مغز او را مدل مي‌كند.

درسال 1943 دو پژوهش‌‌‌گر به‌ نام‌هاي وارن مك كالچ Waren Mc Culloch و والتر پيتز Waltter Pitts مقاله‌اي در مورد شبكه‌هاي عصبي نوشتند. اين مقاله نخستين جرقه‌ي طراحي شبكه‌هاي عصبي مصنوعي بود.

از آن زمان تاكنون انواع گوناگوني از شبكه‌ها به‌وجود آمده‌اند ولي همه‌ي آن‌ها در دو چيز مشترك‌اند: مجموعه‌اي از گره‌ها و رابطه‌هاي ميان گره‌ها. گره‌ها مي‌توانند به عنوان واحدهاي محاسبات در نظر گرفته شوند. ورودي‌ها به آن‌ها وارد مي‌شوند و پردازش مي‌شوند تا در نهايت يك خروجي به‌دست آيد. اين پردازش‌ها ممكن است بسيار ساده باشند (مانند جمع زدن ورودي‌ها) يا كاملاً پيچيده باشند (يك گره شامل يك شبكه‌ي ديگر باشد...). رابطه‌هاي ميان گره‌ها اطلاعات جاري ميان گره‌ها را تعيين مي‌كنند. تعامل ميان گره‌ها به‌وسيله‌ي اين رابطه‌ها منجر به يك رفتار سراسري در شبكه مي‌شود كه آن‌را برآيند مي‌نامند(چيزي شبيه كاركرد شبكه‌ي عصبي مغز!).

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

شبكه‌هاي عصبي مصنوعي تنها بخش كوچكي از ويژگي‌هاي شبكه‌هاي عصبي زيستي (طبيعي) را شبيه‌سازي مي‌كنند. در واقع از ديد متخصصان اين رشته هدف از ايجاد يك شبكه‌ي عصبي نرم‌افزاري ايجاد يك سازوكار براي حل مسايل مهندسي با الهام از الگوي رفتاري شبكه‌هاي زيستي است.

ساختار نُرُن‌هاي مدل‌شده خيلي ساده‌تر از مشابه طبيعي‌شان است. آن‌ها اساساً شامل ورودي‌هايي (مانند سيناپس) هستند كه در وزن نُرُن ضرب مي‌شوند (قدرت هر سيگنال)‌ وسپس به‌وسيله‌ي يك تابع رياضي كه فعاليت نُرُن را تعيين مي‌كند محاسبه مي‌شوند. تابع ديگري (كه ممكن است تابع هماني باشد) خروجي‌هاي نُرُن مصنوعي را محاسبه مي‌كنند. در نهايت براي پردازش اطلاعات شبكه‌هاي عصبي نتايج نُرُن‌هاي مصنوعي را با هم تلفيق مي‌كنند.

هرچه قدرت ورودي بيشتر باشد وزن نُرُن مصنوعي بيشتر خواهد بود و برعكس. با تغيير و درنهايت تعديل وزن‌هاي يك سلول عصبي مي‌توانيم براي يك ورودي‌ِ مشخص، خروجيِ دل‌خواه را به‌دست‌آوريم. ولي وقتي شبكه‌ي عصبي شامل صدها يا هزاران نُرُن باشد تغيير وزن نُرُن‌ها بدون ابزار‌ بسيار پيچيده و شايد ناممكن باشد. فرآيند تطبيق وزن‌ها آموزش يا يادگيري ناميده مي‌شود. شبكه‌هاي مصنوعي و كاربرد‌هاي آن‌ها بسيار متنوع است. تفاوت ميان آن‌ها از تفاوت ميان توابع آن‌ها، مقادير پذيرفته شده، توپولوژي، و الگوريتم يادگيري و... ناشي مي‌شود.

شبكه‌ها در مسايل متنوعي از شناخت الگوي فكر كردن گرفته تا تفسير توالي نوكلئوتيدها، طبقه‌بندي سرطان‌ها ، پيش‌بيني ژنتيك و حتا در تحليل داده‌هاي استخراج نفت و هواشناسي به‌كار مي‌آيند.

شبكه‌ها براي مدل‌سازي طيف گسترده‌اي از پديده‌ها در فيزيك، علوم كامپيوتر، بيوشيمي، كردارشناسي (Ethology)، رياضي، جامعه‌شناسي، اقتصاد، ارتباط‌هاي دور‌برد، و بسياري ديگر از زمينه‌ها استفاده مي‌شود. استفاده‌ي گسترده از اين زمينه‌ي جديد دانش و فناوري به اين دليل است كه به بسياري از سامانه‌ها مي‌توان به ‌مثابه يك شبكه نگريست. پروتئين‌ها، كامپيوتر‌ها، جوامع و ... نمونه‌هايي از اين سامانه‌ها هستند. كمي‌ فكر كنيد. چه سامانه‌هاي ديگري را مي‌توانيد به عنوان شبكه نام ببريد؟ چرا؟


ادامه مطلب
نوشته شده در تاريخ شنبه دوم مهر 1390 توسط عطا الله سعیدی
تمامی حقوق این وبلاگ محفوظ است | طراحی : پیچک