انسان موجود کاملی نیست و به همین دلیل همواره نیازهای فراوانی در زندگی وی ظاهر میشوند. این نیازها در ادوار مختلف تمدن بشری، از نظر نوع و شدت، تغییرات فراوانی داشتهاند. در بسیاری از مواقع، نیازهای دو نسل پیاپی از انسانها، تفاتهای بسیاری با هم دارند و مسائلی برای افراد یک نسل اهمیت دارند که نسل پیشین یا پسین، کاملا نسبت به آن مسائل، بی توجه هستند. اما چیزی که در میان تمام نسلهای بشری مشترک است، تلاش برای رفع نیازها و کمبودهای ذاتی است.علی رغم کمبودها و نیازهای بسیاری که همراه انسان هستند، قدرت تفکر و نوآوری انسان، این امکان را به او میدهد که بتواند با ابداع و اختراع، بخش قابل توجهی از محدودیتها و نیازهایش را جبران کند.
انسان از نظر توان فیزیکی، موجودی محدود است. در میان جاندارانی که در خشکی، دریا و هوا حرکت میکنند؛ انسان جایگاه قابل توجهی ندارد. سرعت حرکت انسان در خشکی و آب،کاملا محدود است. اقامت انسان در زیر آب فقط محدود به مدت زمان کوتاهی بوده و پرواز در آسمان نیز برای انسان غیر ممکن است. انسان قدرت بلند کردن هر وزنهای را ندارد. با درک چنین نیازهایی، در طول قرون و اعصار مختلف، اختراعاتی چون: هواپیما، کشتی، چاقو، جرثقیل، لباس و تجهیزات غواصی و طناب اختراع شدهاند. تمامی اختراعات یاد شده، در جهت رفع محدودیتهای فیزیکی انسانها ایجاد شدهاند.
پس از مدتی که تمدن نوپای بشری کار خود را آغاز نمود، نوع دیگری از نیازها برای انسان مطرح شدند. نیازهایی که در مقایسه با نیازهای فیزیکی، قدری لوکستر به نظر میرسند. انسان در این مرحله، علاقهمند به ثبت وقایع و دستاوردهای خود شد. نقاشیهایی که امروزه در غارها کشف میشوند و سنگنوشتهها و کتیبههایی که در موزههای مختلف وجود دارند نشان از علاقهمندی بشر، به حفظ و انتقال اطلاعات دارد. نیاز به ذخیرهسازی و تبادل اطلاعات، در زمانهای مختلف توسط بشر حس شده است و اختراعات و ابداعاتی از قبیل دیسکهای نوری، دوربین عکاسی، خط، تلفن، کبوتر نامهبر، و اینترنت، همگی محصول توجه به این نیاز بودهاند.
دستهی دیگری از محدودیتهایی که انسان رفته رفته بیشتر با آنها روبرو شد، و سعی در رفع آنها نمود، شامل خستگی، محدودیت سرعت کار، و عدم مصونیت از خطا است. به عنوان مثال، محاسبات سنگین و حجیم، حتی اگر توسط انسان قابل انجام هم باشد؛ قطعا مصون از خطا و اشتباه نخواهد بود. انسان نمیتواند یک طرح را صدها بار بدون هیچ تفاوت (حتی جزئی) اجرا نماید. ساعات کار مفید انسان، در هر کاری که باشد، کاملا محدود و متاثر از محدودیتهای فیزیکی اوست. به خصوص اگر ماهیت کار به نوعی باشد که با قوای فکری و محاسباتی انسان مرتبط باشد. قطعا با طولانیتر شدن زمان کار، کیفیت کار نیز خدشهدار خواهد شد. این نوع از نیازها و محدودیتها منجر به ایجاد اختراعاتی چود ساعت، چاپگر، و کامپیوتر شدند. این اختراعات، مجموعهای از کارها (احتمالا تکراری) را بدون هیچ خستگی یا خطایی انجام میدهند.
بشر امروز، علاوه بر نیازهای فیزیکی، ثبت و انتقال اطلاعات و پردازش دقیق نوع دیگری از نیاز را تجربه میکند. نیازی که تا ۵۰ سال پیش، هیچ گاه به صورت جدی برای انسان مطرح نشده بود. تا پیش از این، انسان در پی ایجاد ابزارهایی بود که به جای او: کارهای فیزیکی انجام دهند، اطلاعات را به یاد داشته باشند (و منتقل کنند) و به جای او محاسبه کنند! اما امروزه انسان در پی ایجاد ابزارها و ادواتی است که به جای او فکر کنند، یاد بگیرند و تصمیم گیری کنند. ابزارهایی که از قدرت تحلیل و هوش انسان تقلید میکنند. به این ترتیب بود که هوش مصنوعی (Artificial Intelligence) به عنوان یکی از نیازهای عصر جدید مورد توجه انسانها قرار گرفت.
فرض کنید که به جای استفاده از یک هوش انسانی در زمینه کنترل امنیت یک سازمان یا اداره، از سیستمی استفاده شود که قدرت تشخیص اثر انگشت، چهره و صدای افراد را دارد و میتواند تمام افراد وارد شونده یا خارج شونده را شناسایی نماید. این کاربرد نمونه، نیازمند استفاده از چندین تخصص از رشتههای مختلف علمی و مهندسی است که اصلیترین مورد در میان آنها، بحث هوش مصنوعی می باشد. سیستمهایی همچون خلبان خودکار در هواپیما، کنترل کنندههای ترافیک شهری، ادوات مراقبت پزشکی هوشمند، ابزارهای تبدیل صوت به متن و روباتهای هوشمند، از جمله مظاهر استفاده از هوش مصنوعی در زندگی روزمره هستند.
هوش مصنوعی از جمله مباحثی است که تا پیش از اختراع کامپیوترها صحبت کردن در مورد آنها عملا غیر ممکن بود. پس از ورود کامپیوترها به زندگی بشری بود که بحث در خصوص هوش مصنوعی به یکی از مباحث داغ تبدیل شد. هوش مصنوعی از نظر علمی، بخشی از علوم کامپیوتر است و امروزه به عنوان مبحثی اساسی و کاربردی در رشتههای مختلف علوم پایه و مهندسی مورد مطالعه و پژوهش قرار میگیرد. اطلاعات بیشتر درباره آن را می توانید در این دو بخش (۱ – ۲) بخوانید.
هوش محاسباتی (Computational Intelligence)
یکی از زیر بخشهای بسیار مهم و کاربردی هوش مصنوعی است، که در آن از ابزارهای مختلفی برای تحقق ایدهی هوش مصنوعی استفاده میشود. ابزارهای مورد استفاده در هوش محاسباتی، غالبا ابزارهایی ریاضی هستند که به نوعی از طبیعت و دنیای اطراف الهام گرفته شدهاند. مهمترین ابزارها و الگوهایی که در هوش محاسباتی مطرح میشوند، شامل موارد زیر هستند:
محاسبات تکاملی (Evolutionary Computation)
محاسبات تکاملی شامل مجموعهای از روشها است که به نام الگوریتمهای تکاملی معروف هستند. مشهورترین این الگوریتمها الگوریتم ژنتیک است که از نظریه تکامل و علم ژنتیک الهام گرفته شده است. در این الگوریتم، فرآیند تکامل، که طی میلیونها سال در طبیعت اتفاق افتاده است، شبیهسازی میشود. اصلیترین مورد کاربرد الگوریتمهای تکاملی، حل مسائل بهینهسازی و برنامه ریزی ریاضی است.
روشهایی که در این دسته قرار میگیرند، الگوی دیگری را برای حل مسائل بهینهسازی پیشنهاد میکنند. در این روشها، تعداد قابل توجهی از عاملهای بسیار ساده و کم هوش، برای تشکیل نوعی هوش ازدحامی یا هوش جمعی با یکدیگر همکاری یا رقابت میکنند. به عنوان مثال، الگوریتم بهینهسازی مورچگان، که از رفتار جمعی مورچهها الهام گرفته شده است، یکی از الگوریتمهای هوش ازدحامی است.
شبکههای عصبی مصنوعی (Artificial Neural Networks)
تقریبا همه دانشمندان یقین دارند که مغز انسان پیچیده ترین ساختار موجود و شناخته شده در کل هستی است. ریاضیدانها و مهندسین هوش مصنوعی، با الهام از یافتههای عصبشناسان (نورولوژیستها)، شبکههای عصبی مصنوعی را معرفی کردند که استفادههای فراوانی در مدلسازی و طبقهبندی اطلاعات دارد. شاید بتوان شبکههای عصبی را مهمترین ابزار در زمینه یادگیری ماشینی به حساب آورد.
نظریهی مجموعههای فازی و محاسبات فازی از ابداعات پرفسور لطفی عسگرزاده، استاد ایرانی-آذربایجانی دانشگاه برکلی آمریکا است. در محاسبات فازی، به جای استفاده از اعداد دقیق برای توصیف یک مفهوم، از کلماتی مانند کم یا زیاد استفاده میشود. به عنوان مثال در عبارتی مانند سود زیاد دقیقا مشخص نشده است که چه مقدار سود چقدر است. سیستمهایی که در آنها به جای نظریه کلاسیک مجموعهها و محاسبات کلاسیک ریاضی، از نظریه مجموعههای فازی و محاسبات فازی بهره گرفته میشود، به نام سیستمهای فازی شناخته میشوند. امروزه از سیستمهای فازی در طراحی سیستمهای مختلف، از جمله لوازم خانگی هوشمند، استفادههای فراوانی میشود.
در کنار موارد یاد شده، ابزارهای ریاضی دیگری نیز به کار گرفته میشوند تا عملکرد کلی سیستمهای مبتنی بر هوش محاسباتی بهبود یابند. هدف اصلی محققین حوزههای هوش مصنوعی و هوش محاسباتی، ایجاد ابزار آلاتی است که ما را به ایجاد هوش مصنوعی هم تزار با هوش انسانی نزدیکتر نماید.
یک شبکه عصبی مصنوعی (Artificial Neural Network – ANN) ایده ای برای پردازش اطلاعات است که از سیستم عصبی زیستی الهام گرفته و مانند مغز به پردازش اطلاعات میپردازد. عنصر کلیدی این ایده، ساختار جدید سیستم پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهم پیوسته به نام نورونها (neurons) تشکیل شده که برای حل یک مسئله با هم هماهنگ عمل میکنند.
شبکه های عصبی مصنوعی نیز مانند انسانها با مثال یاد می گیرند و یک شبکه عصبی برای انجام وظیفههای مشخص مانند شناسایی الگوها و دسته بندی اطلاعات، در طول یک پروسه یاد گیری تنظیم میشود. در سیستمهای زیستی، یاد گیری با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است. از این روش در شبکه های عصبی نیز استفاده میشود.
شبکه های عصبی مصنوعی (ANN) که به اختصار به آن شبکه عصبی نیز گفته میشود، نوع خاصی از مدل یادگیری است که روش کارکرد سیناپسها در مغز انسان را تقلید میکند.
شبکههای عصبی مصنوعی با پردازش دادههای تجربی، دانش یا قانون نهفته در ورایدادهها را به ساختار شبکه منتقل میکند که به این عمل یادگیری میگویند. اصولاًتوانایی یادگیری مهمترین ویژگی یک سیستم هوشمند است. سیستمی کهقابلیت یادگیری داشته باشد، منعطف تر است وساده تر برنامهریزی میشود، بنابراین بهتر میتواند در مورد مسایل ومعادلات جدید پاسخگو باشد.
ساختار شبکه عصبی
انسانها از زمانهای بسیار دور سعی بر آن داشتندکه بیوفیزیولوژی مغز را دریابند زیرا که همواره مسئله هوشمندی انسان و قابلیت یادگیری، تعمیم، خلاقیت، انعطاف پذیری و پردازش موازی در مغز برای بشر جالب بوده و بکارگیریاین قابلیتها در ماشینها بسیار مطلوب مینمود. روشهای الگوریتمیک برای پیاده سازیاین خصایص در ماشینها مناسب نمیباشند، در نتیجه میبایست روشهایی مبتنی بر همانمدلهای بیولوژیکی ابداع شوند.
به عبارت دیگر شبکهی عصبی یک سامانه پردازش دادهها است که از مغز انسان ایده گرفته و پردازش دادهها را به عهدهپردازندههای کوچک و بسیار زیادی میسپارد که به صورت شبکهای به هم پیوسته و موازی با یکدیگر برای حل یک مسئله رفتار میکنند. در این شبکهها به کمک دانش برنامه نویسی، ساختار دادهای طراحی میشود که میتواند همانندنورون عمل کند. به این ساختار داده گره گفته میشود.
در این ساختار با ایجاد شبکهای بین این گرهها و اعمال یک الگوریتم آموزشی به آن، شبکه را آموزش میدهند. در این حافظه یا شبکه عصبی گرهها دارای دو حالت فعال (روشن یا ۱) و غیرفعال (خاموش یا ۰) اند و هر یال (سیناپس یا ارتباط بین گرهها) دارای یک وزن میباشد. یالهای با وزن مثبت، موجب تحریک یا فعال کردن گره غیر فعال بعدی میشوند و یالهای با وزن منفی، گره متصل بعدی را غیر فعال یا مهار (در صورتی که فعال بوده باشد) میکنند.
مثالی برای شبکه عصبی
در روشهای محاسباتی سنتی، از یک سری عبارات منطقی برای اجرای یک عمل استفاده میشود؛ اما در مقابل، شبکه های عصبی از مجموعه نودها (به عنوان نرون) و یالها (در نقش سیناپس) برای پردازش داده بهره میگیرند. در این سیستم، ورودیها در شبکه به جریان افتاده و یک سری خروجی تولید میگردد.
سپس خروجیها با دادههای معتبر مقایسه میگردند. مثلا فرض کنید میخواهید کامپیوتر خود را به گونهای آموزش دهید که تصویر گربه را تشخیص دهد. برای این کار میلیونها تصویر از گربههای مختلف را وارد شبکه کرده و آنهایی که از سوی سیستم به عنوان خروجی انتخاب میشوند را دریافت میکنید.
در این مرحله کاربر انسانی میتواند به سیستم بگوید که کدام یک از خروجیها دقیقا تصویر گربه هستند. بدین ترتیب مسیرهایی که به تشخیص موارد درست منجر شده، از طرف شبکه تقویت خواهند شد. با تکرار این فرایند در دفعات زیاد، شبکه نهایتا قادر است به دقت بسیار خوبی در اجرای وظیفه موردنظر دست یابد.
البته شبکه های عصبی را نمیتوان پاسخ تمام مسائل محاسباتی پیش روی انسان دانست، اما در مواجهه با دادههای پیچیده، بهترین گزینه به شمار میروند.
اخیرا گوگل و مایکروسافت هر دو اعلام کردند یادگیری مبتنی بر شبکه های عصبی را به نرمافزارهای مترجمشان افزودهاند.
گوگل و مایکروسافت از شبکه های عصبی برای تقویت اپلیکیشنهای ترجمه خود بهره گرفتهاند و به نتایج بسیار خوبی دست یافتهاند، زیرا عمل ترجمه از جمله فرایندهای بسیار پیچیده محسوب میگردد.
بدین ترتیب با استفاده از قابلیت یادگیری شبکه های عصبی، سیستم ترجمه میتواند ترجمههای صحیح را برای یادگیری به کار گرفته و به مرور زمان به دقت بیشتری دست یابد.
چنین وضعیتی در تشخیص گفتار نیز به وجود آمد. پس از افزودن یادگیری با شبکه های عصبی در Google Voice نرخ خطای این برنامه تا ۴۹% کاهش یافت. البته این قابلیت هیچوقت بدون نقص نخواهد بود، اما به مرور زمان شاهد پیشرفت آن هستیم.
در مجموع با به کار گیری روشهای یادگیری مبتنی بر شبکه های عصبی، آنالیز دادههای پیچیده روز به روز پیشرفت میکند و در نهایت به قابلیتهای انعطاف پذیرتری در نرمافزارها و کاربرد آنها در زندگی روزانه دست خواهیم یافت.
شبکه های عصبی در مقابل کامپیوتر های معمولی
شبکه های عصبی نسبت به کامپیوترهای معمولی مسیر متفاوتی را برای حل مسئله طی میکنند. کامپیوترهای معمولی یکمسیر الگوریتمی را استفاده میکنند به این معنی که کامپیوتر یک مجموعه از دستورالعملها را به قصد حل مسئله پی میگیرد. اگر قدمهای خاصی که کامپیوتر باید بردارد، شناخته شده نباشند، کامپیوتر قادر به حل مسئله نخواهد بود. این حقیقت قابلیت حل مسئلهی کامپیوترهای معمولی را به مسائلی محدود میکند که ما قادر به درک آنها هستیم و می دانیم چگونه حل میشوند.
از طرف دیگر، کامپیوترهای معمولی از یک مسیر مشخص برای حل یک مسئله استفاده میکنند. راه حلی که مسئله از آن طریق حل میشود باید از قبل شناخته شده و به صورت دستورات کوتاه و غیر مبهمی شرح داده شده باشد. این دستورات به زبانهای برنامه نویسی سطح بالا برگردانده شده و سپس به کدهایی قابل درک و پردازش برای کامپیوترها تبدیل میشوند.
شبکه های عصبی اطلاعات را به روشی مشابه با کاری که مغز انسان انجام میدهد پردازش میکنند. آنها از تعداد زیادی ازعناصر پردازشی (سلول عصبی) که فوق العاده بهم پیوستهاند تشکیل شده است که این عناصر به صورت موازی باهم برای حل یک مسئله مشخص کار میکنند. شبکه های عصبی با مثال کار میکنند و نمیتوان آنها را برای انجام یک وظیفه خاص برنامه ریزی کرد. مثالها میبایست با دقت انتخاب شوند در غیر این صورت باعث اتلاف وقت و هزینه میشود و حتی بدتر از آن، ممکن است شبکه درست کار نکند.
امتیاز شبکه عصبی در آن است که چگونگی حل مسئله را خودش کشف میکند!
شبکه های عصبی و کامپیوترهای معمولی با هم در حال رقابت نیستند بلکه کامل کننده یکدیگرند. انجام بعضی وظایف مانند عملیاتهای محاسباتی بیشتر مناسب روشهای الگوریتمی است. همچنین انجام برخی دیگر از وظایف که به یادگیریو آزمون و خطا نیاز دارند را بهتر است به شبکه های عصبی بسپاریم. فراتر که میرویم، مسائلی وجود دارد که به سیستمیترکیبی از روش های الگوریتمی و شبکه های عصبی برای حل آنها مورد نیاز است (بطور معمول کامپیوتر های معمولی برای نظارت بر شبکه های عصبی به کار گرفته میشوند ) به این منظور که بیشترین کارایی بدست آید.
مزیتهای شبکه عصبی
شبکه عصبی با قابلیت قابل توجه آنها در جست و جو معانی از دادههای پیچیده یا مبهم، میتواند برای استخراج الگوها و شناسایی روشهایی که آگاهی از آنها برای انسان و دیگر تکنیکهای کامپیوتری بسیار پیچیده و دشوار است به کار گرفته شود. یک شبکه عصبی تربیت یافته میتواند به عنوان یک متخصص در مقوله اطلاعاتی که برای تجزیه تحلیل به آن داده شده به حساب آید.
شبکه های عصبی معجزه نمیکنند اما اگر خردمندانه به کار گرفته شوند نتایج شگفت آوری خلق میکنند.
مزیتهای دیگر شبکه های عصبی
یادگیری انطباق پذیر (Adaptive Learning)
یادگیری انطباق پذیر، قابلیت یادگیری و نحوه انجام وظایف بر پایه اطلاعات داده شده برای تمرین و تجربههای مقدماتی.
سازماندهی توسط خود (Self Organization)
سازماندهی توسط خود یعنی یک شبکه هوش مصنوعی سازماندهی یا ارائهاش را برای اطلاعاتی که در طول دوره یادگیری دریافت میکند، خودش ایجاد کند.
عملکرد بهنگام (Real Time Operation)
در عملکرد بهنگام محاسبات شبکه هوش مصنوعی میتواند بصورت موازی انجام شود و سخت افزارهای مخصوصی طراحی و ساخته شده که میتواند از این قابلیت استفاده کنند.
تحمل اشتباه بدون ایجاد وقفه در هنگام کد گذاری اطلاعات
خرابی جزئی یک شبکه منجر به تنزل کارایی متناظر با آن میشود، اگر چه تعدادی از قابلیتهای شبکه حتی با خسارت بزرگی هم به کار خود ادامه میدهند.
ما شبکه های عصبی را با تلاش اولیه در جهت یافتن خصوصیات اساسی سلولهای عصبی و اتصالات آنها هدایت میکنیم. سپس بطور معمول یک کامپیوتر را برای شبیه سازی این خصوصیات برنامهریزی میکنیم. اگر چه بدلیل اینکه دانش ما از سلولهای عصبی ناقص است و قدرت محاسبات ما محدود است، مدلهای ما لزوما آرمانهای خام و ناقصی از شبکههای واقعی سلولهای عصبی است.
انواع شبکه عصبی مصنوعی
شبکههای پیش خور (FeedForward Neural Network)
شبکههای پیش خور، شبکههایی هستند که مسیر پاسخ در آنها همواره رو به جلو پردازش شده و به نرونهای لایههای قبل خود باز نمیگردد. در این نوع شبکه به سیگنالها تنها اجازه عبور از مسیر یکطرفه (از ورودی تا خروجی) داده میشود. بنابراین بازخورد یا فیدبک وجود ندارد به این معنی که خروجی هر لایه تنها بر لایه بعد اثر میگذارد و در لایهی خودش تغییری ایجاد نمیکند.
شبکههای پسخور (FeedBack Neural Network)
تفاوت شبکه هاِی پس خور با شبکههای پیش خور در آن است که در شبکههای برگشتی حداقل یک سیگنال برگشتی از یک نرون به همان نرون یا نرونهای همان لایه یا نرونهای لایههای قبل وجود دارد و اگر نرونی دارای فیدبک باشد بدین مفهوم است که خروجی نرون در لحظه حال نه تنها به ورودی در آن لحظه بلکه به مقدار خروجی خود نرون در لحظه ی گذشته نیز وابسته است.
یادگیری در شبکه های عصبی
یادگیری با ناظر (Supervised learning)
در یادگیری با ناظر به الگوریتم یادگیری، مجموعه ای از زوج دادهها داده میشود. هر داده یادگیری شامل ورودی به شبکه و خروجی هدف است. پس از اعمال ورودی به شبکه، خروجی شبکه با خروجی هدف مقایسه میگردد و سپس خطای یادگیری محاسبه شده و از آن جهت تنظیم پارامترهای شبکه (وزن ها)، استفاده میگردد. به گونه ای که اگر دفعه بعد به شبکه همان ورودی را دادیم، خروجی شبکه به خروجی هدف نزدیک گردد.
یادگیری تشدیدی
یادگیری تشدیدی حالت خاصی از یادگیری با ناظر و یک یادگیری برخط (On-Line) از یک نگاشت ورودی-خروجی است. این کار از طریق یک پروسه سعی و خطا به صورتی انجام میپذیرد که شاخصی موسوم به سیگنال تشدید، ماکزیمم شودکه در آن بجای فراهم نمودن خروجی هدف، به شبکه عددی که نشاندهنده میزان عملکرد شبکه است ارائه میگردد.
یادگیری بدون ناظر (UnSupervised learning)
در یادگیری بدون ناظر یا یادگیری خود سامانده، پارامترهای شبکه عصبی تنها توسط پاسخ سیستم اصلاح و تنظیم میشوند. به عبارتی تنها اطلاعات دریافتی از محیط به شبکه را بردارهای ورودی تشکیل میدهند.
همان طور که متوجه شدید شبکه عصبی از مهمترین گرایشهای هوش مصنوعی ، علمی روبه رشد و در حال پیشرفت است و شرکتهای بزرگ نظیر گوگل و مایکروسافت از آن در نرمافزارهای خود استفاده میکنند.
ساختار شبکه های عصبی مصنوعی به زبان ساده (Artificial Neural Network)
شبکه عصبی مصنوعی روشی عملی برای یادگیری توابع گوناگون نظیر توابع با مقادیر حقیقی، توابع با مقادیر گسسته و توابع با مقادیر برداری میباشد.
مطالعه شبکه های عصبی مصنوعی تا حد زیادی ملهم از سیستم های یادگیر طبیعی است که در آنها یک مجموعه پیچیده از نرونهای به هم متصل درکار یادگیری دخیل هستند.
گمان میرود که مغز انسان از تعداد ۱۰۱۱ نرون تشکیل شده باشد که هر نرون با تقریبا ۱۰۴ نرون دیگر در ارتباط است. سرعت سوئیچنگ نرونها در حدود ۳–۱۰ ثانیه است که در مقایسه با کامپیوترها ۱۰–۱۰ ثانیه بسیار ناچیز مینماید. با این وجود آدمی قادر است در ۰٫۱ ثانیه تصویر یک انسان را بازشناسائی نماید. ولی برای کامپیتر دقایقی طول می کشد که این بازشناسی انجام شود.
شاید بد نباشد ابتدا به این سوال فکر کنید، چرا با اینکه سرعت سوئیچنگ نرونهای کامپیوتر از مغز انسان بیشتر است ولی انسانها سریعتر چهره یک شخص را به یاد میآورند؟
ساختار شبکه عصبی
هر دو تصویر بالا را مشاهده کنید. چه شباهتهایی میبینید؟
همانطور که ملاحظه می کنید، تصویر اول یک نرون طبیعی بیولوژیکی است. اطلاعات از طریق ورودی یا همان دندریت وارد نرون می شوند، همان ورودیها در تصویر دوم با مقادیر (x1,…….,xm) قابل مشاهده هستند. در مدل شبکه عصبی مصنوعی به هر ورودی یک وزن (w1,…….,wm) اختصاص می دهیم. این وزنها در واقع اهمیت ورودیها برای ما هستند، یعنی هر چه وزن بیشتر باشد، ورودی برای آموزش شبکه مهمتر است. سپس تمامی ورودیها با هم جمع (Σ) شده و به صورت یکلایه به آکسون وارد می شوند. در مرحله بعد Activation Function را بر روی دادهها اعمال میکنیم.
Activation Function در واقع نسبت به نیاز مسئله و نوع شبکه عصبی ما (در آموزش های بعدی به آن می پردازیم) تعریف می شود. این function شامل یک فرمول ریاضی برای بروزرسانی وزنها در شبکه است.
پس از انجام محاسبات در این مرحله اطلاعات ما از طریق سیناپس های خروجی وارد نرون دیگر میشوند، و این مرحله تا جایی ادامه پیدا میکند که شبکه اصطلاحا train شده باشد.