هوش مصنوعی و كاربردهای آن در پزشكی (بخش اول)

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

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

در مقایسه هوش مصنوعی با هوش انسانی می‌توان گفت كه انسان قادر به مشاهده و تجـزیـه و تحلیـل مسـایـل در جهـت قضاوت و اخذ تصمیم است در حالی كه هوش مصنوعی مبتنی بر قوانین و رویه‌هایی از قبل تعبیه شده بر روی كامپیوتر است. در نتیجه علی رغم وجود كامپیوترهای بسیار كارا و قوی در عصر حاضر هنوز كسی قادر به پیاده كردن هوشی نزدیك به هوش انسان در ایجاد هوش های مصنوعی نیست.

ایجاد و ابداع فنون و تكنیك‌های لازم برای مدیریت پیچیدگی را باید به عنوان هسته بنیادین تلاش‌های علمی و پژوهشی گذشته، حال و آینده، در تمامی زمینه‌های علوم رایانه و به ویژه در هوش مصنوعی معرفی كرد. شیوه‌ها و تكنیك‌های هوش مصنوعی، در واقع، برای حل آن دسته از مسائل به وجود آمده ‌است كه به طور سهل و آسان توسط برنامه‌نویسی تابعی (Functional programming)، یا شیوه‌های ریاضی قابل حل نبوده‌اند.

 

امروزه دانش مدرن هوش مصنوعی به دو دسته تقسیم می‌شود:

ا) هوش مصنوعی سمبلیك یا نمادین ( Symbolic Artificial Intelligence (AI))

2) هــــوش غــیــــر ســمــبـلـیـــك یـــا پـیـــونـــدگـــرا (Connection Artificial Intelligence (AI))

 

در مـیــان مـعــروف‌تــریـن شـاخـه‌هـای هـوش مصنوعی سمبلیك می‌توان به سیستم‌های خبره(Expert Systems) و شبكه‌های Bayesian اشاره كـرد. امـا هـوش پیـونـدگـرا متكـی بـر یـك منطق استقرایی است و از رهیافت بهره می‌گیرد. این آموزش‌ها نه بر اساس نتایج و تحلیل‌های دقیق آمــاری، بـلكـه مبتنـی بـر شیـوه آزمـون و خطـا و یادگیری از راه تجربه‌است. در هوش مصنوعی پیوندگرا، قواعد از ابتدا در اختیار سیستم قرار نمی‌گیرد، بلكه سیستم از طریق تجربه، خودش قـوانـین را استخراج می‌كند. روش های ایجاد شـبـكـه‌هـای عـصـبـی(Network Neural) و نیز به كـارگـیـری مـنطق فازی (Fuzzy Logic) در این دسته قرار می‌گیرد.

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

 

كاربردهای هوش مصنوعی

 

سیستم های خبره (Expert Systems)

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

یكی از اهداف هوش مصنوعی، فهم هوش انـسـانـی بـا شـبـیـه‌سـازی آن تـوسـط بـرنـامـه‌های كامپیوتری است. البته بدیهی است كه هوش‌را می‌توان به بسیاری از مهارت‌های مبتنی بر فهم، از جمله توانایی تصمیم‌گیری، یادگیری و فهم زبان تعمیم داد و از این رو واژه‌ای كلی محسوب می‌شود.

بیشتر دستاوردهای هوش مصنوعی در زمینه تـصـمـیــم‌گـیــری و حــل مـسـئـلــه بـوده اسـت كـه اصلی‌ترین موضوع سیستم‌های خبره را شامل مــی‌شــونــد. بــه آن نــوع از بــرنــامــه‌هـای هـوش مصنوعی كه به سطحی از خبرگی می‌رسند كه می‌توانند به جای یك متخصص در یك زمینه خاص تصمیم‌گیری كنند، Expert Systems یا سیستم‌های خبره گفته می‌شود. این سیستم‌ها برنامه‌هایی هستند كه پایگاه دانش آن‌ها انباشته از اطلاعاتی است كه انسان‌ها هنگام تصمیم‌گیری درباره یك موضوع خاص، براساس آن‌ها تصمیم می‌گیرند. روی این موضوع باید تأكید كرد كه هیچ ‌یك از سیستم‌های خبره‌ای كه تا‌كنون طراحی و بـرنـامـه‌نـویسـی شـده‌انـد، همـه ‌منظـوره نبـوده‌انـد و تنهـا در یـك زمینـه محـدود قـادر به شبیه‌سازی فرایند تصمیم‌گیری انسان هستند. ‌به محدوده اطلاعاتی از الگوهای خبرگی انسان كه به یك سیستم خبره منتقل می‌شود Task Domain گفته می‌شود. این محدوده، سطح خبرگی یك سیستم خبره را مشخص می‌كند و نشان می‌دهد ‌كه آن سیستم خبره برای چه كارهایی طراحی شده است. سیستم خبره با این Taskها یا وظایف می‌تواند كارهایی چون برنامه‌ریزی، زمان‌بندی و طراحی را در یك حیطه تعریف شده انجام دهد.

‌به روند ساخت یك سیستم خبره، Knowledge Engineering یا مهندسی دانش گفته می‌شود. یك مهندس دانش باید اطمینان حاصل كند كه سیستم خبره طراحی شده، تمام دانش مورد نیاز برای حل یك مسئله را دارد. طبیعتا در غیر این‌صورت، تصمیم‌های سیستم خبره قابل اطمینان نخواهند بود.

 

ساختار یك سیستم خبره

هــر سـیـسـتــم خـبــره از دو بـخــش مجـزا سـاختـه شـده اسـت: پـایگـاه دانـش و مـوتـور تصمیم‌گیری. پایگاه دانش یك سیستم خبره از هر دو نوع دانش مبتنی بر حقایق (Factual) و نیز دانش غیرقطعی (Heuristic) استفاده می‌كند. Factual Knowledge، دانش حقیقی یا قطعی نوعی از دانش است كه می‌توان آن را در حیطه‌های مختلف به اشتراك گذاشت و تعمیم داد؛ چراكه درستی آن قطعی است. در سوی دیگر، Heuristic knowledge قرار دارد كه غیرقطعی‌تر و بیشتر مبتنی بر برداشت‌های شخصی است. هرچه حدس‌ها یا دانش هیورستیك یك سیستم خبره بهتر باشد، سطح خبرگی آن بیشتر خواهد بود و در شرایط ویـژه، تـصـمـیـمـات بـهـتـری اتـخـاذ خـواهـد كـرد. دانـش مـبـتـنـی بر ساختار Heuristic در سیستم‌های خبره اهمیت زیادی دارد این نوع دانش می‌تواند به تسریع فرآیند حل یك مسئله كمك كند .

البته یك مشكل عمده در ارتباط با به كارگیری دانش Heuristic آن است كه نمی‌توان در حل همه مسائل از این نوع دانش استفاده كرد.

 

چند سیستم خبره مشهور

از نـخـسـتـیـن سـیـسـتـم‌هـای خـبـره مـی‌تـوان بـه Dendral اشاره كرد كه در سال 1965 تـوسـطEdward Feigenbaum و Joshun Lederberg پـژوهـشـگـران هـوش مصنوعی در دانشگاه استنفورد ساخته شد.

‌وظـیـفـه ایـن بـرنـامـه كـامـپـیـوتـری، تـحـلـیـل‌هـای شـیـمـیـایـی بـود. مـاده مورد آزمایش می‌توانست تركیبی پیچیده از كربن، هیدروژن و نیتروژن باشد. Dendral می‌توانست با بررسی آرایش و اطلاعات مربوط به یك ماده، ساختار مولكولی آن را شبیه‌سازی كند. كاركرد این نرم‌افزار چنان خوب بود كه می‌توانست با یك متخصص رقابت كند.

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

 

منطق فازی (Fuzzy Logic)

تئوری مجموعه‌های فازی و منطق فازی را اولین بار پرفسور لطفی‌زاده در رساله‌ای به نام مجموعه‌های فازی ، اطلاعات و كنترل در سال 1965 معرفی كرد. هدف اولیه او در آن زمان، توسعه مدلی كارآمدتر برای توصیف فرآیند پردازش زبان‌های طبیعی بود.

 

مجموعه‌های فازی

بـنـیاد منطق فازی بر شالوده نظریه مجموعه‌های فازی استوار است. این نظریه تعمیمی از نظریه كلاسیك مجموعه‌ها در علم ریاضیات است. در تئوری كلاسیك مجموعه‌ها، یك عنصر، یا عضو مجموعه است یا نیست. در حقیقت عضویت عناصر از یك الگوی صفر و یك و باینری تبعیت می‌كند. اما تئوری مجموعه‌های فازی این مفهوم را بسط می‌دهد و عضویت درجه‌بندی شده را مطرح می‌كند.

 

تفاوت میان نظریه احتمالات و منطق فازی

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

با این حال، اكثریت طرفداران نظریه منطق فازی، كارشناسان و متخصصانی هستند كه به طـور مستقیـم یـا غیـرمستقیـم بـا علـم مهنـدسی كنترل سروكار دارند. حتی تعدادی از پیروان منطق فازی همچون بارت كاسكو تا آنجا پیش مــــــی‌رونــــــد كــــــه احــتــمـــــالات را شـــــاخـــــه و زیرمجموعه‌ای از منطق فازی می‌نامند.

تفاوت ظریف و در عین حال پررنگی میان نظریه احتمالات و نظریه فازی وجود دارد كه اگر دقت نشود، دچار اشتباه می‌شوید؛ زیرا این دو نـظریه معمولا در كنار یكدیگر و در مورد اشـیـای مـخـتـلـف هـمـزمـان مـصـداق‌هـایی پیدا می‌كنند.

 

كاربردهای منطق فازی‌

مـنـطــق فــازی كــاربــردهـای مـتـعـددی دارد. ســاده‌تــریــن نمـونـه یـك سیستـم كنتـرل دمـا یـا ترموستات است كه بر اساس قوانین فازی كار می‌كند. سال‌ها است كه از منطق فازی برای كـنـتـرل دمـای آب یـا مـیـزان كـدرشـدن آبی كه لـبـاس‌هـا در آن شـسـتـه شـده‌انـد در ساختمان اغلب ماشین‌های لباسشویی استفاده می‌شود.

امروزه ماشین‌های ظرفشویی و بسیاری از دیـگر لوازم خانگی نیز از این تكنیك استفاده می‌كنند. منطق فازی در صنعت خودروسازی نیز كاربردهای فروانی دارد. مثلا سیستم ترمز و ABS در بــرخــی از خــودروهـا از منطـق فـازی اســتــفـــاده مـــی‌كــنـــد. یـكــی از مـعــروف‌تــریــن نــمـــونـــه‌هــای بــه‌كــارگـیــری مـنـطــق فــازی در سـیـسـتـم‌هـای تـرابـری جـهان، شبكه مونوریل (قـطـار تـك ریـل) تـوكـیـو در ژاپـن است. سایر سـیـسـتـم‌هـای حـركـتـی و جـابه‌جایی بار، مثل آسانسورها نیز از منطق فازی استفاده می‌كنند.

سیستـم‌هـای تهـویـه هـوا نیز به طور فراوان منطق فازی را به‌كار می‌گیرند. از منطق فازی در سیستـم‌هـای پـردازش تصـویـر نیـز استفـاده مـی‌شـود. یـك نـمـونـه از ایـن نـوع كاربردها را می‌توانید در سیستم‌های <تشخیص لبه و مرز> اجسام و تصاویر مشاهده كنید كه در روباتیك نـیـز كـاربـردهـایـی دارد. بـه طـور كلی خیلی از مـواقـع در سـاخـتـمـان سـیـسـتـم‌هـای تشخیص الگوها (Pattern Recognition) مثل سیستم‌های تـشـخـیـص گـفـتـار و پـردازش تصویر از منطق فازی استفاده می‌شود.

 

منطق فازی و هوش مصنوعی‌

جـالـب‌تـریـن كـاربرد منطق فازی، تفسیری است كه این علم از ساختار تصمیم‌گیری‌های مـوجـودات هـوشمند، و در راس آن‌ها هوش انسانی، به دست می‌دهد.

این منطق به خوبی نشان می‌دهد كه چرا منطق دو ارزشـی صفـر و یـك در ریاضیات كلاسیك قادر به تبیین و توصیف مفاهیم نادقیقی همچون گــــــرمــــــا و ســــــرمــــــا كــــــه مـــبــنـــــای بــســیـــــاری از تصمیم‌گیری‌های هوشمند را تشكیل می‌دهند، نیست. شاید یكی از جالب‌ترین كاربردهای منطق فازی هوش مصنوعی در بازی‌های رایانه‌ای و جلوه‌های ویژه سینمایی باشد.

 

شبكه های عصبی (Neural Network)

شبكـه‌هـای عصبـی را مـی‌تـوان با اغماض زیاد، مدل‌های الكترونیكی از ساختار عصبی مغز انسان نامید. مكانیسم فراگیری و آموزش مغز اساسا بر تجربه استوار است. مدل‌های الكترونیكی شبكه‌های عصبی طبیعی نیز بر اساس همین الگو بنا شده‌اند و روش برخورد چنین مدل‌هایی با مسائل، با روش‌های محاسباتی كه به‌طور معمول توسط سیستم‌های كامپیوتری در پیش گرفته شده‌اند، تفاوت دارد. می‌دانید كه حتی سـاده‌تـرین مغز‌های جانوری هم قادر به حل مسائلی هستند كه اگر گفته نشود كه كامپیوترهای امروزی از حل آن ها عاجز هستند، حداقل در حل آن ها دچار مشكل می‌شوند. به عنوان مثال، مسائل مختلف شناسایی الگو، نمونه‌ای از مواردی هستند كه روش‌های معمول محاسباتی برای حل آن ها به نتیجه مطلوب نمی‌رسند. در حالی‌كه مغـز سـاده‌تـریـن جـانـوران به ‌راحتی از عهده چنین مسائلی بر می‌آید. تصور عموم كارشناسان IT)Information Technology)بر آن است كه مدل‌های جدید محاسباتی كه بر اساس شبكه‌های عصبی بنا می‌شوند، جهش بعدی صنعت IT را شكل می‌دهند. تحقیقات در این زمینه نشان داده است كه مغز، اطلاعات را همانند الگو‌ها Patterns ذخیره می‌كند. فرایند ذخیره‌سازی اطلاعات به‌صورت الگو و تجزیه و تحلیل آن الگو‌، اسـاس روش نـویـن محـاسبـاتـی را تشكیـل مـی‌دهنـد. این حوزه از دانش محاسباتی (Computation) بـه هیـچ وجـه از روش‌هـای بـرنـامه‌نویسی سنتی استفاده نمی‌كند و به‌جای آن از شبكه‌های بزرگی كه به‌صورت موازی آرایش شده‌اند و تعلیم یافته‌اند، بهره می‌جوید.

 

شباهت با مغز

یكی ازسلول‌های عصبی، معروف به نرون (Neuron) است كه دانش بشری آن را به ‌عنوان سازنده اصلی مغز می‌انگارد. سلول‌های عصبی قادرند تا با اتصال به ‌یكدیگر تشكیل شبكه‌های عظیم بدهند. گفته می‌شود كه هر نرون می‌تواند به هزار تا ده هزار نرون دیگر اتصال یابد.

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

 

روش كار نرون‌ها

در شكل3، نمای ساده شده‌ای از ساختار یك نرون بیولوژیك نمایش داده شده اسـت. بـه‌طور خلاصه، یك نرون بیولوژیك، پس از دریافت سیگنال‌های ورودی (به‌شكل یك پالس الكتریكی) از سلول‌های دیگر، آن سیگنال‌ها را با یكدیگر تركیب كـرده و پـس از انـجـام یـك عـمـل (Operation) دیـگـر بـر روی سیگنال تركیبی، آن را به‌صورت خروجی ظاهر می‌سازد.

‌هـمـان‌طور كه در شكل مشاهده می‌كنید، نرون‌ها از چهار بخش اصلی ساخته شــــده‌انـــد. دنـــدریـــت‌هـــا(Dendrite)، ســـومـــا (Soma)، اكــســـان (Axon) و بـــالاخـــره سیناپس (Synapse) دندریت‌ها، همان اجزایی هستند كه به‌شكل رشته‌های طویل از مركز سلول به اطراف پراكنده می‌شوند. دندریت‌ها نقش كانال‌های ارتباطی را برای انـتـقــال‌دادن سـیـگـنــال‌هــای الكتـریكـی بـه مـركـز سلـول بـر عهـده دارنـد. در انتهـای دنـدریـت‌هـا، سـاخـتـار بیولوژیكی ویژه‌ای به‌نام سیناپس واقع شده است كه نقش دروازه‌های اتصالی كانال‌های ارتباطی را ایفا می‌كند. در واقع سیگنال‌های گوناگون از طریق سیناپس‌ها و دندریت‌ها به مركز سلول منتقل می‌شوند و در آنجا با یكدیگر تركیب می‌شوند. عمل تركیب كه به آن اشاره شد، می‌تواند یك عمل جمع جبری ساده باشد.البته تحقیقات جدید نمایانگر این واقعیت هستند كه نرون‌های بیولوژیك بسیار پیچیده‌تر از مدل ‌ساده‌ای هستند كه در بالا اشاره شد . اما همین مدل ساده می‌تواند زیـربـنـای مستحكمی برای دانش شبكه‌های عصبی مصنوعی Artificial Neural Network – ANN تـلـقـی شـود و مـتـخـصـصـان گـرایش شبكه‌های عصبی یا هوش مصنوعی مـی‌تـوانـنـد بـا پـیـگـیـری كـارهـای دانـشـمـنـدان علوم زیست‌شناسی، به بنیان‌گذاری ساختار‌های مناسب‌تری در آینده دست بزنند.

 

مدل ریاضی

‌در متون فنی برای نمایش مدل ساده‌ای كه در بالاتشریح شد، به‌ طور معمول از شـكـلی مشابه شكل4 استفاده می‌شود. در این شكل كلاسیك، از علامت p برای نشان‌دادن یك سیگنال ورودی استفاده می‌شود. در واقع در این مدل، یك سیگنال ورودی پس از تقویت (یا تضعیف) شدن به اندازه پارامتر w، به‌صورت یك سیگنال الكتریكی با اندازه pw وارد نرون می‌شود. به‌جهات ساده‌سازی مدل ریاضی، فرض می‌شود كه در هسته سلول عصبی، سیگنال ورودی با سیگنال دیگری به اندازه b جمع مـی‌شود. در واقع سیگنال b خود به معنی آن است كه سیگنالی به اندازه واحد در پارامتری مانند b ضرب (تقویت یا تضعیف) می‌شود. مجموع حاصل، یعنی سیگنالی به اندازه pw + b، قبل از خارج شدن از سلول تحت عمل یا فرایند دیگری واقع می‌شود كه در اصطلاح فنی به آن تابع انتقال (Transfer Function) می‌گویند. این موضوع در شكل به‌ وسیله جعبه‌ای نمایش داده شده است كه روی آن علامت f قرار داده شده است. ورودی این جعبه همان سیگنال pw b + است و خروجی آن یا همان خروجی سلول، با علامت a نشانه گذاری شده است. در ریاضی، بخش آخر مدل‌سازی توسط رابطه)a = fpw + b( نمایش داده می‌شود. پارامتر w یا همان ضریبی كه سیگنال ورودی p در آن ضرب می‌شود، در اصطلاح ریاضی به نام پارامتر وزن یا weight نیز گفته می‌شود.

طراح شبكه با اندازه‌گیری خروجی و با انتخاب پارامترهای w و b به‌گونه‌ای كه خروجی مطلوب به‌دست آید، شبكه را آموزش می‌دهد. به این ترتیب پس از آنكه چنین شبكه به ازای مجموعه‌ای از ورودی‌ها برای ساختن خروجی‌های مطلوب آموزش دید، می‌توان از آن برای حل مسائلی كه از تركیب متفاوتی از ورودی‌ها ایجاد می‌شوند، بهره برد.

تـابـع f مـی‌تواند بر حسب كاربردهای گوناگون به‌‌ طور ریاضی، به شكل ‌های متفاوتی انتخاب شود. در برخی از كاربردها، پاسخ مسائل از نوع دودویی است. مثلا مسأله به‌گونه‌ای است كه خروجی شبكه عصبی باید چیزی مانند سیاه یا سفید (یا آری یا نه) باشد. در واقع چنین مسائلی نیاز به آن دارند كه ورودی‌های دنیای واقعی به مقادیر گسسته مانند مثال فوق تبدیل شوند.

در گروه دیگری از مسائلی كه حل آن‌ها به شبكه‌های عصبی واگذار می‌شود، خروجی شبكه عصبی الزاما بین مقادیر معلوم و شناخته شده‌واقع نمی‌شود. مسائلی از نوع شناسایی الگو‌های تصویری، نمونه‌ای از چنین مواردی محسوب می‌شوند. شـبـكـه‌های عصبی در این موارد، باید به‌گونه‌ای باشند كه قابلیت تولید مجموعه نــامتنـاهـی از پـاسـخ‌هـا را داشتـه بـاشنـد. رفتـار حركتی یك روبات نمونه‌ای از هوشی است كه چـنـیـن شـبـكـه‌هـای عـصـبـی مـی‌تـوانـنـد فراهم آورند. اما در چنین شبكه‌هایی هم لازم خواهد بود كه خروجی بین مقادیر مشخصی محدود شده باشد.

فرض كنید قرار است از شبكه عصبی برای كنترل حركت بازوی یك روبات استفاده شود. در صورتی‌كه خروجی یك شبكه عصبی برای كنترل نیروی حركتی به‌كار گرفته شود، طبیعی خواهد بود كه اگر خروجی شبكه محدود نشده باشد، ممكن است بازوی روبات بر اثر حركت بسیار سریع، به خود و یا محیط اطراف آسیب برساند.

در هـر صـورت، پـس از آنكـه ورودی‌هـا با یكدیگر تركیب شدند، سیگنال حاصل به واحد دیــگـــری كـــه در آن تــابــع انـتـقــال یــا Transfer Function بـه سـیـگـنال اعمال می‌شود، هدایت مـی‌شـود. خـروجـی ایـن بـخـش، سـیگنال‌های حقیقی خواهند بود. بدین ترتیب جعبه‌ای در دست خواهید داشت كه تعداد n عدد سیگنال ورودی را به m عدد سیگنال خروجی تبدیل می‌كند.

 

عملیات شبكه‌های عصبی

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

تكنولوژی مدارات مجتمع امروز این امكان را مـی‌دهـد كـه شبكه‌های عصبی را در ساختار‌های دو‌بـعـــدی طـــراحـــی كــرد. عــلاوه بــر ایــن، چـنـیــن شبكه‌های مصنوعی دارای تعداد محدودی لایه و اتصـالات بین نرون‌ها خواهند بود. بدین ترتیب، این واقعیات و محدودیت‌های فیزیكی تكنولوژی فعلی، دامنه كاربردهای شبكه‌های عصبی مبتنی‌بر تكنولوژی سیلیكونی را مشخص می‌سازند.

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

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

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

در بـسـیــاری از شـبـكــه‌هــای عصبـی، اتصـالات بین‌نرونی به گونه‌ای است كه نرون‌های لایه‌های میانی، ورودی خود را از تمام نرون‌های لایه پایینی خــود (بــه طــور مـعـمــول لایـه نـرون‌هـای ورودی) دریافت می‌كنند. بدین ترتیب در یك شبكه عصبی، سیگنال‌ها به تدریج از یك لایه نرونی به لایه‌های بـالاتر حركت می‌كنند و در نهایت به لایه آخر و خروجی شبكه می‌رسند. چنین مسیر در اصطلاح فـنــی Feed Forward نــامـیــده مــی‌شــود. ارتـبـاطـات بـیـن‌نـرونی در شبكه‌های عصبی از اهمیت بسیار زیـادی بـرخـوردار هـسـتـنـد و بـه نوعی قدرت یك شبكه عصبی را تعیین می‌كنند. قاعده آن است كه ارتبـاطـات بیـن نـرونـی را بـه دو گروه تقسیم‌بندی مـــی‌كـنـنـــد. یـــك نــوع از ارتـبــاطــات بـیــن نــرونــی، به‌گونه‌ای هستند كه باعث جمع شدن سیگنال در نـرون بعـدی مـی‌شـونـد. گـونـه دوم ارتبـاطـات بین نــرونــی بــاعــث تـفــریــق سـیـگـنــال در نــرون بعـدی مــی‌شــونــد. در اصـطــلاح مـحــاوره‌ای گــروهـی از ارتـبـاطـات انگیـزش ایجـاد مـی‌كننـد و گـروه دیگـر ممانعت به عمل می‌آورند.

در مـواردی، نـرون مـشـخـصـی از شـبكه عصبی تمایل دارد كه سیگنال دیگر نرون‌های لایه خود را نادیده بگیرد. چنین حالتی به ‌طور معمول در لایه خـــروجـــی ایــجـــاد مــی‌شــود. بــه عـنــوان مـثــال، در كاربردهای تشخیص متن (OCR)، فرض كنید كه احتمال آنكه كاراكتر مورد شناسایی، حرف P باشد برابر با 85 درصد تعیین شده است و به همین ترتیب احـتـمـال آن كـه كـاراكتر مورد نظر حرف F باشد، 65‌درصــد تـخـمـیــن زده اســت. در ایـن وضـعـیـت، سیستم باید كاراكتری را برگزیند كه دارای درصد احـتـمــال بــزرگ‌تـر اسـت. در نتیجـه در ایـن شبكـه عصبی، نرون‌هایی كه خروجی F را تجویز می‌كنند، بـایـد نادیده گرفته ‌شوند یا Inhibit شوند. به چنین فرایندی، Lateral Inhibition گفته می‌شود.

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

 

آموزش شبكه‌های عصبی

‌تا اینجا ساختار شبكه‌های عصبی مورد بررسی قــرار گــرفــت و گـفـتــه شـد كـه شبكـه‌هـای عصبـی مـی‌تـوانـنـد بـر اسـاس طـراحـی خـود سـیـگنال‌های ورودی را پردازش كنند و به سیگنال‌های خروجی مورد نظر تبدیل نمایند. به طور معمول، پس از آن كه یك شبكه عصبی طراحی و پیاده‌سازی شد، باید پـــارامـتــرهــای w و b بــه ازای مـجـمــوعــه‌هــایــی از سـیـگنال‌های ورودی، به‌گونه‌ای تنظیم شوند كه سیگنال‌های خروجی شبكه خروجی مطلوب را تشكیل دهند. چنین فرایندی را آموزش دیدن شبكه عـصـبـی مـی‌نـامـنـد (در نـخـسـتـیـن مـرحله آموزش، مقادیر w و b به‌طور تصادفی انتخاب می‌شوند. زیرا تا این پارامترها مقدار نداشته باشند، شبكه عصبی قابل استفاده نخواهد بود) در حین آموزش دیدن شـبـكـه عـصبی (یعنی به تدریج همزمان با افزایش دفعاتی كه مقادیر پارامترها برای رسیدن به خروجی مـطـلـوب‌تـر، تـنـظـیم می‌شوند) مقدار پارامتر‌‌ها به مقدار حقیقی و نهایی خود نزدیك‌تر می‌شوند.

بــــه‌طــــور كــلـــی دو روش بـــرای آمـــوزش دادن شبكه‌های عصبی وجود دارد. روش Supervised و روش Unsupervised. روش نـــخـــســـــت، شـــــامـــــل مـراحـلی است كه در بخش قبل، به ‌طور مختصر شرح داده شد. اما در روش Unsupervised ، شبكه عـصـبـی بـایـد بدون كمك گرفتن از جهان خارج، بتواند كار آموزش را انجام دهد.

‌واقـــعـــیـــــت آن اســــت كــــه در عــمــــل از روش Supervised و یــا حــداكـثــر از روش‌هـای تـركـیـبـی استفاده می‌شود و فرایند آموزش Unsupervised به شكل خالص تنها وعده‌ای است كه شاید در آینده بتواند تحقق یابد.

در حـال حـاضـر و در كـاربـردهـای پـیـشرفته، از روش آموزش Unsupervised برای ایجاد تنظیمات اولـیـه بـر روی سـیـگـنـال‌هـای ورودی شـبـكـه‌هـای عصبـی استفـاده مـی‌شـود و بـاقـی مـراحل آموزش شبكه به روش Supervised ادامه می‌یابد.

همان‌طور كه قبلا اشاره شد، در روش معمول آمــــــــــــوزش شــــــبــــــكــــــــــــه‌هـــــــــــای عـــــصـــــبـــــــــــی، از مـجـمـوعـه‌شـنـاخـته‌شده‌ای از داده‌های ورودی و خـروجـی‌هـای مـتـنـاظر آن ها (Training Set Data) برای آموزش دادن شبكه استفاده می‌شود. در چنین فـرایـنـدی، پـس از اعـمـال مـجـموعه‌های داده‌های آمـوزشـی، پـارامـتـرهـای شـبـكه به تدریج به سمت مقادیر نهایی خود همگرا می‌شوند.

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

در مواردی ممكن است كه شبكه‌عصبی اصولا موفق به فراگیری نشود. بدین معنی كه پارامترهای شبكه پس از زمان‌های طولانی به مقدار مشخصی همگـرا نشـود. چنیـن مـواردی ممكـن اسـت بر اثر نـاكـافـی بـودن داده‌هـای آمـوزشـی یـا اصولا نقص طراحی شبكه ایجاد شوند. حتی مواردی در عمل وجــود دارنــد كـه شبكـه عصبـی مشخصـی، بـر اثـر آموزش بیش از حد، اصطلاحا Over Trained شود. تـوجـه داشـتـه باشید كه فرایند آموزش شبكه‌های عصبی فقط به ازای زیر مجموعه‌ای از داده‌هایی كه قـرار است شبكه آن ها را در كاربرد حقیقی خود پردازش كند، آموزش داده می‌شوند. در صورتی‌ كه تعداد داده‌های آموزشی یك شبكه عصبی بیش از اندازه زیاد باشد (در واقع از تمامی داده‌های مسئله برای آموزش دادن به شبكه استفاده شود)، شبكه عـصـبـی بـه جـای آن كـه آمـوزش بـبـیـنـد، به حالتی می‌رسد كه به آن حفظ كردن اطلاعات می‌گویند. در واقع به جای آن كه یك شبكه عصبی برای حل مسئلـه از هوش خود كمك بگیرد، از محفوظات خود استفاده می‌كند.

پـس از آن كه یك شبكه عصبی به اندازه كافی آمــوزش دیــد، طــراح یــا كــاربــر شـبـكــه مــی‌تــوانـد پارامترهای شبكه را قفل كند. در این مرحله شبكه عصبی برای كاربرد واقعی خود و حل مسائل آماده خواهد بود. در برخی از ابزارهای تولید و طراحی شـبـكـه‌هـای عـصـبـی، كـل شـبـكـه عـصبی به همراه پارامترهای قفل شده آن، تبدیل به نرم‌افزار مستقلی می‌شوند كه می‌توان از آن در پروژه‌های مشخصی اسـتـفــاده كــرد. در بــرخــی از مــوارد دیـگـر، چـنـیـن شـبـكـــه‌هـــایـــی پـــس از آمـــوزش دیــدن، بــه شـكــل سخـت‌افـزاری در قـالـب یك مدار مجتمع (IC) به تولید انبوه یا نیمه انبوه می‌رسند.

 

‌آموزش Unsupervised یا تطبیقی (Adaptive)

در مــــورد ایــــن روش آمـــوزش گـفـتـــه شـــد كـــه شـبـكـه‌عـصـبـی بـدون در اخـتـیـار داشـتـن داده‌های خروجی، در معرض آموزش قرار می‌گیرد. در واقع سیستم به تنهایی و بدون كمك خارجی باید با توجه به شكل سیگنال‌های خروجی خود، درباره درستی و نادرستی آن ها تصمیم‌گیری كند. در دنیای واقعی شــرایــط بـسـیــار زیـادی وجـود دارنـد كـه در آن هـا مجمـوعـه اطـلاعـات كـافـی بـرای آموزش دادن به سـیستـم فـراهـم نیستنـد. تحقیقـات نظـامـی یكـی از گرایش‌هایی است كه به این موضوع توجه دقیقی دارد. به عنوان مثال گفته می‌شود كه شرایط جنگی بـه دلـیـل فـراوانـی پـارامـتـرها و تكنیك‌های نظامی متغیر و پیشرفت‌های تكنولوژی نظامی، از نمونه مواردی است كه در آن ها به هیچ وجه نمی‌توان مجموعه داده‌های آموزشی كافی به دست آورد. در این زمینه یكی از محققان شبكه‌های عصبی، به نام Tuevo Kohonen از دانـشـگــاه هـلـسـیـنكـی فعـالیتـی جـدی دارد. كـوهـنـن بـا تـحقیقات در ساختارهای عصبی غیرمتعارف، به پژوهش در این زمینه ادامه مـی‌دهـد. كـوهـنـن، نـرون‌هـای شـبـكـه‌عـصبی را به زمــیــنـــه‌هـــای مــخــتــلــفــی تـقـسـیــم‌بـنــدی مــی‌كـنــد. گــروه‌بـنــدی‌هــای سـه‌بـعـدی كـه در سـاخـتـار مـغـز پــســتــــانــــداران یـــافـــت شـــده اســـت، نـمـــونـــه‌ای از مــرتـب‌سـازی تـوپـولـوژیـك مـحـسـوب مـی‌شـونـد. كـــوهـنـــن مـعـتـقـــد اســـت كـــه فـقـــدان مـــلاحـظـــات تـوپـولـوژیـك در مدل‌های عصبی امروزی، باعث مـی‌شـود كـه شبكه‌های عصبی امروزی، مدل‌های ساده شده‌ای از شبكه‌های عصبی واقعی موجود در مـغـز مـحـسوب شوند. در هر صورت این حوزه از مبحث شبكه‌های عصبی، هنوز در مرحله تحقیقات آزمایشگاهی قرارداد و كاربرد واقعی نیافته است.

 

تفاوت‌های شبكه‌های عصبی با روش‌های محاسباتی متداول و سیستم‌های خبره

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

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

درحــالــی كــه سـیـسـتــم‌هــای خـبــره در عـمـل بـه مـوفقیـت‌های بسیاری دست یافته‌اند، شبكه‌های عـصبـی در كـاربـردهـایـی همچـون دیـد مصنـوعـی، تشخیص و تولید پیوسته گفتار، فراگیری ماشینی و نظایر آن با مشكلاتی روبرو بوده‌اند. در حال حاضر شبكه‌های عصبی كاملا وابسته به سرعت پردازنده سیستم اجرا كننده هستند.

 

بینایی ماشین

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

 

كنترل كیفیت خط تولید

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

 

‌عكس‌برداری

در ایـن مـثـال سـعـی در مـكـانیزه كردن فرآیندی یـكـنواخت است كه به‌صورت معمول و تكراری توسط انسان انجام می‌شود . اولین مسأله و مشكل این است كه چگونه عكس‌های تهیه شده از اشیایی كه در حال حركت بر روی نوار نقاله هستند، تبدیل به داده‌های قابل فهم و تفسیر برای سیستم است، ایــن مـشـكــل تـوسـط دوربـیـن CCD حـل مـی‌شـود. عملكرد این دوربین را می‌توان به عملكرد چشم انسان كه قادر است سطوح مختلف نور را تشخیص دهد تشبیه كرد.

 

چشم انسان

چشم انسان، تقریبا یك عدسی كروی با قطر 5/2 ســانـتـی‌متـر اسـت كـه از چنـدیـن لایـه مختلـف كـه درونـی‌تـریـن آن‌هـا شـبـكـیـه نـام دارد تـشـكیل شده است. ماهیچه‌های اطراف چشم اندازه لنز را تنظیم مـی‌كننـد كه این‌كار چشم را قادر به زوم (Zoom) كردن روی اشیاء می‌كند. وظیفه عدسی چشم، فرم و شكل دادن به تصویری است كه توسط میلیون‌ها سلـول گیـرنده مخروطی (Cone) و میله‌ای (Rod) گــرفـتــه شــده و بــرروی پـرده شبكیـه افتـاده اسـت. سلول‌های میله‌ای به یك عصب معمولی كه از انتها به شبكیه ختم می‌شود و فقط در سطح نور پایین فعال است متصلند و سلول‌های مخروطی هر كدام بــه یــك عـصــب اتـصــال دارنـد. آن‌هـا در نـورهـای شدیدتر، بیشتر فعالند و میزان درك ما از رنگ‌ها را نوع فعالیت این‌مخروط‌ها مشخص می‌كند.

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

 

‌دوربین Coupled Device Charge) CCD)

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

 

‌درك تصویر

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

‌خوشبختانه در حال حاضر تكنیك‌هایی برای انـجــام ایـن كـار وجـود دارد. از بـیـن بـردن نـویـزهـا به‌صورت نرمال توسط تعدادی از توابع ریاضی یا الگـوریتـم‌هـایـی كـه تحـت عنوان 'Treshholding' یا 'Quantizing' نــامیـده مـی‌شـود انجـام مـی‌شـود. ایـن فرایند بسیار حرفه‌ای و پیچیده‌ای است و نیاز به دانـش و پـشـتـوانـه بـالای ریـاضـی دارد. زمـانـی كـه خرابی‌ها از بین رفت، می‌توان پردازش عكس‌ها را ادامــه داد كــه ایــن كــار بــا اسـتخـراج صـورت‌هـا و حـالت‌ها از یك تصویر انجام می‌شود. یك شیوه مـعـمــول كــه غــالـبــا مــورد اسـتـفــاده قـرار مـی‌گـیـرد استخراج لبه‌ها است. عملیات بینایی كامپیوتر در حقیقـت مقـایسـه دو مجمـوعـه عـدد اسـت كـه اگـر تفاوت این دو مجموعه از یك محدوده خاص فراتر بـرود، از پـذیـرفـتـن مـحصول امتناع شده و در غیر این‌صورت محصول‌پذیرفته می‌شود.

 

‌پردازش اطلاعات در مغز

در مورد بینایی انسان یكی از قسمت‌های از مغز كه بیشتر فعالیت درك تصویر را انجام می‌دهد ناحیه Visual Cortex اســت. ایــن‌جــا نـاحـیـه‌ای اسـت كـه اطلاعات منتقل شده در طول عصب بینایی در آن پردازش می‌شود. البته این را هم مدنظر داشته باشید كه قسمتی از فعالیت پردازش اطلاعات در ناحیه شبكیه چشم قبل از این‌كه اطلاعات به مغز برسند، انجـام مـی‌شـود. ‌البتـه خـود نـاحیـه شبكیـه به‌عنوان قسمتی از مغز شمرده می‌شود. در ضمن این مسأله هم قبلا مشخص شده است كه نواحی مختلف قشر بینـایی مخ در مقابل تصاویر مختلف عكس‌العمل نـشـان مـی‌دهـد. به عبارت دیگر هر قسمت از این ناحیه مربوط به یك حالت خاص است. مثلا نواحی مـعـیـن و مـشـخـصـی در مـقـابـل رنـگ‌هـای متفاوت عـكـس‌الـعـمل‌نشان می‌دهند یا مثلا نواحی وجود دارنـد كـه سـلـول‌هـایـشـان در مـقابل جزییات دقیق موجود در یك تصویر عكس‌العمل نشان می‌دهند.

به‌طور خلاصه، با توجه به این‌كه سیستم بینایی انسان در بسیاری موارد دچار خطا می‌شود، نیاز به درنظرگرفتن شیوه‌ای متفاوت برای بینایی ماشین است.

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

همچنین بخوانید:

مشاوره مجازی در ارائه خدمات بهداشتی

چگونه مراقبت سلامت از راه دور به پیشرفت خود در سال جدید ادامه می دهد؟

10 برنامه برتر خدمات پزشکی از راه دور سال 2019

بالا