عیب‌یابی (هوش مصنوعی)

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

عبارت *تشخیص یا عیب‌یابی* به این سوال پاسخ می‌دهد که آیا سیستم دچار مشکل است یا خیر و همچنین به فرایند محاسبه پاسخ اشاره دارد. این کلمه از علم پزشکی می‌آید که در آن تشخیص، فرایند شناسایی یک بیماری با علائم آن است.

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

## عیب‌یابی تخصصی
عیب‌یابی تخصصی (یا تشخیص توسط سیستم خبره) بر اساس تجربه با سیستم است. با استفاده از این تجربه، نگاشتی صورت می‌گیرد که به طور موثر مشاهدات را به تشخیص‌های مربوطه مرتبط می‌کند.

تجربه از طریق مسیرهای زیر فراهم می‌گردد:
* توسط منابع انسانی: در این صورت دانش بشری باید به زبان کامپیوتری ترجمه شود.
* با نمونه‌هایی از رفتار سیستم: در این مورد، نمونه‌ها باید به عنوان درست یا معیوب (در مورد دوم، بر اساس نوع خطا) طبقه‌بندی شوند. در نهایت از روش‌های یادگیری ماشینی برای تعمیم نمونه‌ها استفاده می‌شود.

اشکالات اصلی این روش‌ها عبارتند از:
* دشواری در کسب تخصص: تخصص معمولاً تنها پس از استفاده طولانی مدت از سیستم (یا سیستم‌های مشابه) بدست می‌آید؛ بنابراین، این روش‌ها برای سیستم‌های ایمنی یا مأموریت‌های حیاتی (مانند نیروگاه هسته‌ای یا ربات‌هایی که در فضا کار می‌کنند) مناسب نیستند. علاوه بر این، تضمین کامل بودن دانش تخصصی به دست آمده هرگز ممکن نیست. در صورتی که رفتاری رخ دهد که قبلاً دیده نشده و منجر به مشاهدات غیرمنتظره شود، تشخیص صحیح غیرممکن است.
* پیچیدگی فرایند یادگیری: فرایند ساخت یک سیستم خبره به صورت آفلاین، ممکن است به زمان و حافظه کامپیوتری زیادی نیاز داشته باشد.
* اندازه سیستم خبره نهایی: از آنجایی که هدف سیستم خبره نگاشت هر مشاهده به یک تشخیص است، در برخی موارد به فضای ذخیره‌سازی زیادی نیاز دارد.
* مقاوم نبودن در برابر تغییرات: اگر حتی یک اصلاح کوچک در سیستم ایجاد شود، فرایند ساخت سیستم خبره باید تکرار شود.

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

## تشخیص مبتنی بر مدل
تشخیص مبتنی بر مدل، نمونه‌ای از استدلال ربایشی با استفاده از مدلی از سیستم می‌باشد. به‌طور کلی به صورت زیر عمل می‌کند:
وسط|قاب|اصول تشخیص مبتنی بر مدل
ما مدلی داریم که رفتار سیستم (یا محصول) را توصیف می‌کند. مدل مذکور، خلاصه‌ای از رفتار سیستم است و می‌تواند ناقص باشد. به‌طور خاص، رفتار معیوب معمولاً شناخته شده‌ نیست و بنابراین مدل آن ممکن است نشان داده نشود. با توجه به مشاهدات، سیستم تشخیص، سیستم بدست آمده با استفاده از مدل را شبیه‌سازی می‌کند و مشاهدات واقعی را با مشاهدات پیش‌بینی شده با استفاده از شبیه‌سازی مقایسه می‌کند.

مدل‌سازی را می‌توان با قوانین زیر ساده کرد (که در آن {\displaystyle Ab\,} پیش‌بینی رفتار غیرعادی است):

\neg Ab(S) \Rightarrow Int1 \wedge Obs1

(مدل اشتباه) Ab(S) \Rightarrow Int2 \wedge Obs2

معنای این فرمول‌ها مطابق توضیحات زیر می‌باشد: اگر رفتار و عملکرد سیستم غیرعادی نباشد (یعنی عادی باشد)، پس رفتار درونی (غیرقابل مشاهده) Int1 و رفتار قابل مشاهده Obs1 خواهد بود. در غیر این صورت، رفتار درونی Int2 و رفتار قابل مشاهده Obs2 می‌باشد. با توجه به مشاهدات Obs، مسئله مشخص شدن این مورد است که رفتار سیستم عادی است یا خیر ({\neg Ab(S)} یا Ab(S)). این نمونه‌ای از استدلال ربایشی است.

## قابلیت تشخیص
سیستم **قابل تشخیص** سیستمی است که رفتار سیستم هرچه که باشد، بتوانیم بدون ابهام تشخیص منحصر به فردی ارائه کنیم.

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

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

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

## جستارهای وابسته
* هوش مصنوعی در مراقبت پزشکی
* اثر هوش مصنوعی
* کابردهای هوش مصنوعی
* نمای کلی هوش مصنوعی

## منابع

* 

## پیوند به بیرون
### کارگاره‌های آموزشی DX
DX یک کارگاه بین‌المللی سالانه در رابطه با اصول تشخیص است که از سال ۱۹۸۹ آغاز شده‌است.

رده:هوش مصنوعی