این روزها همه جا صحبت از «هوش مصنوعی» (Artificial Intelligence) است که به طور مخفف با عنوان AI از آن یاد میشود. اما هوش مصنوعی واقعا چیست و چه کار میکند؟ این دقیقا همان سوالی است که قصد داریم در این مطلب به آن پاسخ دهیم.
هوش مصنوعی به سیستمهایی گفته میشود که میتوانند واکنشهایی مشابه رفتارهای هوشمند انسانی از جمله درک شرایط پیچیده، شبیهسازی فرایندهای تفکری و شیوههای استدلالی انسانی و پاسخ موفق به آنها، یادگیری و توانایی کسب دانش و استدلال برای حل مسایل را داشته باشند.
به عبارت دیگر هوش مصنوعی به عنوان شاخهای از علوم کامپیوتر می باشد که با خودکارسازی رفتارهای هوشمندانه سر و کار دارد. بخش سخت ماجرا این است که خود هوش را نمیتوانیم به درستی تعریف کنیم، بنابراین امکان تعریف دقیق هوش مصنوعی هم وجود بسیار دشوار است .
به طور کلی اصطلاح هوش مصنوعی برای تشریح کردن سیستمهایی به کار میرود که هدف آنها استفاده از ماشینها برای تقلید و شبیهسازی هوش انسانی و رفتارهای مرتبط با آن است و این هدف گاه ممکن است با استفاده از الگوریتمهای ساده و الگوهای از پیش تعیین شده محقق شود، ولی گاهی هم نیاز به الگوریتمها فوقالعاده پیچیده دارد.
هوش مصنوعی (Artificial Intelligence) یا AI فناوری و شاخهای در علوم کامپیوتر است که به مطالعه و توسعه نرمافزار و دستگاههای هوشمند میپردازد. کتب و محققان برجسته هوش مصنوعی، این رشته را با عبارت «مطالعه و طراحی عناصر هوشمند» توصیف میکنند که در آن یک عنصر یا عامل هوشمند سیستمی است که محیط را درک کرده و اقداماتی را برای حداکثر کردن احتمال موفقیت خود انجام میدهد. جان مککارتی، مبدع این عبارت در سال ۱۹۵۵ آن را به شکل «علم و مهندسی ساخت دستگاههای هوشمند» تعریف کرده است.
تحقیقات هوش مصنوعی همچنین برحسب برخی مسائل فنی نیز تقسیمبندی میشود و این زیر مجموعه بر حل مسائل خاص، بر یکی از چند روش ممکن، بر استفاده از ابزارهای کاملا متفاوت، یا بر رسیدن به کاربردهای خاص متمرکز بودهاند.
مسائل (یا اهداف) اصلی در تحقیقات هوش مصنوعی به منطق، دانش، طراحی، یادگیری، ارتباطات، درک و توانایی حرکت دادن یا استفاده از اشیا مربوط میشود و هوش عمومی (یا هوش مصنوعی قوی) هنوز یکی از اهداف بلندمدت است .
روشهایی که در حال حاضر محبوبیت دارند، عبارتند از :
-
روشهای آماری
-
هوش محاسباتی
-
هوش مصنوعی
-
سمبولیک سنتی
در هوش مصنوعی از ابزارهای متنوعی استفاده شده که شامل نسخههایی از بهینهسازی تحقیق و ریاضیات، منطق، روشهای مبتنی بر احتمالات و اقتصاد و بسیاری موارد دیگر میشود. این رشته مبتنی بر این ادعاست که توانایی اصلی انسان، هوش را میتوان به گونهای دقیق توصیف کرد که دستگاهها هم قادر به شبیهسازی آن باشند.
این ادعا مسائل فلسفی را درباره ماهیت ذهن و مشکل اخلاقی خلق موجودات مصنوعی دوباره زنده میکند که از دیرباز در اسطورهها، افسانهها و فلسفه به آنها پرداخته شده است.
هوش مصنوعی همواره با خوشبینی همراه بوده اما شکستهایی را نیز تجربه کرده است. امروزه هوش مصنوعی به بخشی ضروری از صنعت فناوری و بسیاری از دشوارترین مسائل علوم کامپیوتر تبدیل شده است.
-
طبقهبندی هوش مصنوعی
-
یادگیری ماشین
یادگیری ماشین (Machine Learning) شاخهای از هوش مصنوعی است که به مطالعه و ساخت سیستمهایی با قابلیت یادگیری از دادهها میپردازد. به طور مثال، به کمک سیستم یادگیری ماشین میتوان یک سیستم مدیریت ایمیل را آموزش داد تا پیامهای هرزنامه را از دیگر پیامها تشخیص دهد. این سیستم پس از یادگیری میتواند به دستهبندی ایمیلهای جدید به هرزنامه و غیر آن بپردازد.
مساله اصلی در یادگیری ماشین، عرضه و کلیسازی است. عرضه نمونههای دادهای و توابعی که بر اساس این نمونهها ارزیابی میشوند، همگی بخشی از سیستمهای یادگیری ماشین هستند. کلیسازی به معنی این قابلیت است که سیستم روی نمونههای دادهای نادیده نیز به خوبی عمل خواهد کرد. شرایطی که تحت آنها بتوان این مساله را تضمین کرد، از موضوعات اصلی مطالعه در زیرمجموعه نظریه یادگیری محاسباتی است.
انواع گسترده ای از فعالیتها و کاربردهای موفق یادگیری ماشین وجود دارد. تشخیص اپتیکال کاراکتر که در آن کاراکترهای چاپی به صورت خودکار و بر اساس نمونههای قبلی شناخته میشوند، مثالی سنتی از یادگیری دستگاه است.
-
بینایی ماشین
بینایی ماشین (Machine Vision) فناوری و روشهای مورد استفاده برای بهبود شناسایی و تحلیل خودکار مبتنی بر تصویر در کاربردهایی مانند بازرسی خودکار، کنترل روند و هدایت روبات در صنعت است. حوزه بینایی ماشین بسیار گسترده است.
کاربرد اصلی بینایی ماشین در بازرسی خودکار و هدایت روباتهای صنعتی است، همچنین برخی کاربردهای رایج بینایی ماشین در تضمین کیفیت، دستهبندی، کار با مواد، هدایت روباتها و اندازهگیری نوری است.
روشهای بینایی ماشین به دو صورت تعریف میشوند، تعریف و ایجاد یک برنامه بینایی ماشین و نیز روندی فنی که در جریان اجرای این برنامه اتفاق میافتد. در اینجا به مورد دوم میپردازیم. این مساله شامل رابطهای کاربری، رابطهای ادغام سیستمهای چندبخشی و تبادل داده اتوماتیک میشود.
به هر حال، اولین قدم در جریان اجرای بینایی ماشین، گرفتن یک تصویر است که معمولا با استفاده از دوربین، لنز و نورپردازی انجام میشود و باید وضوح مورد نیاز در پردازشهای بعدی در طراحی آن لحاظ شده باشد.
سپس بسته نرمافزاری بینایی ماشین از تکنیکهای مختلف پردازش تصویر دیجیتال استفاده کرده و اطلاعات مورد نیاز را استخراج و معمولا بر اساس اطلاعات استخراجشده تصمیمگیری (معمولا تایید/رد) میکند.
-
پردازش زبان طبیعی
پردازش زبان طبیعی (Natural Language Processing) یکی از حوزههای علوم کامپیوتر، هوش مصنوعی و زبانشناسی است که به تعامل کامپیوتر و زیان انسان (طبیعی) میپردازد. از این منظر پردازش زبان طبیعی به حوزه تعامل انسان-کامپیوتر مربوط میشود. بسیاری از چالشهای پردازش زبان طبیعی به درک زبان طبیعی مربوط میشود – یعنی ایجاد توانایی در کامپیوتر برای استخراج مفهوم ورودی زیان انسانی یا طبیعی.
با وجود فعالیتهای قدیمیتر، تاریخچه پردازش زبان طبیعی عموما در دهه ۱۹۵۰ آغاز شد. در سال ۱۹۵۰ آلن تورینگ مقالهای را با عنوان «هوش و دستگاه محاسباتی» منتشر و در آن، آنچه را امروز به تست تورینگ موسوم است، به عنوان ابزاری برای هوش معرفی کرده بود.
-
روباتیک
روباتیک شاخهای از فناوری است که به طراحی، ساخت، عملیات و کاربرد روباتها و سیستمهای کامپیوتری برای کنترل، فیدبک حسگرها و پردازش اطلاعات میپردازد. این فناوریها با دستگاههای خودکاری سر و کار دارند که میتوانند جانشین انسان در محیطها یا روندهای تولیدی خطرناک شوند یا ظاهر، رفتار و درک انسانی را شبیهسازی کنند.
بسیاری از روباتهای امروزی از طبیعت الهام گرفتهاند که به شاخه روباتیک ملهم از بیولوژی مربوط میشوند. مفهوم ایجاد ماشینهایی که بتوانند خودکار کار کنند، به زمانهای دور برمیگردد اما تحقیق روی عملیاتی کردن و کاربردهای احتمالی روباتها از قرن بیستم آغاز شد.
در طول تاریخ، روباتها به تقلید رفتار انسانی شناخته شده و توانستهاند کارهای مشابهی نیز انجام دهند. امروزه و با پیشرفت فناوری، رشته روباتیک با سرعت زیادی در حال پیشرفت است.
تحقیق، طراحی و ساخت روباتهای جدید با اهداف کاربردی متفاوت عمومی، تجاری یا نظامی انجام شده است. بسیاری از روباتها کارهایی را انجام میدهند که برای انسان خطرناک است؛ مانند خنثیسازی بمب و مین و بازرسی لاشه کشتی.
-
سیستمهای خبره
در هوش مصنوعی، یک سیستم خبره (Expert System) یک سیستم کامپیوتری است که توانایی تصمیمسازی یک انسان خبره را شبیهسازی میکند. سیستمهای خبره برای حل مشکلات پیچیده از طریق استنتاج در دانش خبرگی همانند یک انسان خبره است نه پیروی از دستورالعملهای برنامهنویس، آنطور که در برنامههای معمولی است.
اولین سیستمهای خبره در دهه ۱۹۷۰ ایجاد شدند و در دهه ۱۹۸۰ توسعه یافتند. سیستمهای خبره از اولین اشکال واقعا موفق نرمافزارهای هوش مصنوعی بودند.
سیستم خبره یک ساختار خاص، متفاوت از برنامههای کامپیوتری متداول است و به دو بخش تقسیم میشود؛ یک بخش ثابت، مستقل از سیستم خبره: موتور استنتاج و یک بخش متغیر: پایگاه دانش. در اجرای سیستم خبره، موتور همانند یک انسان بر اساس پایگاه دانش، استدلال میکند.
در دهه ۸۰ بخش سومی هم ظاهر شد: رابط مکالمه برای ارتباط با کاربران. این توانایی برای مکالمه با کاربران بعدها به مکالمهای شهرت یافت.
-
شبکه عصبی
شبکه عصبی (Neural Networks) مصنوعی گروهی از گرهها (نودها)ی به هم پیوسته، همانند شبکه عصبی گسترده در مغز است. در اینجا هر کدام از نودهای دایرهشکل نشاندهنده یک عصب مصنوعی و فلشها نشانگر اتصال از خروجی یک عصب به ورودی عصب دیگر هستند.
در علوم کامپیوتر و رشتههای مربوطه، شبکههای عصبی مصنوعی مدلهایی الهامگرفته شده از سیستم عصبی مرکزی حیوانات (به ویژه مغز) هستند که توانایی یادگیری دستگاه و تشخیص الگو را دارند. این شبکهها معمولا سیستمی از عصبهای به هم پیوستهاند که میتوانند مقادیر ورودی را با تزریق اطلاعات در شبکه محاسبه کنند.
به طور مثال در شبکه عصبی تشخیص دستخط، مجموعهای از عصبهای ورودی با پیکسلهای تصویر ورودی فعال میشوند که نماینده یک حرف یا عدد است. فعال شدن این عصبها بر اساس تابعی که توسط طراح شبکه تعیین شده، به دیگر عصبها منتقل، ارزیابی یا تغییر داده میشود تا نهایتا عصب خروجی فعال شود و تعیین کند چه کاراکتری خوانده شده است.
همانند دیگر روشهای یادگیری ماشین، شبکههای عصبی هم در انواع فعالیتهایی استفاده میشوند که انجام آنها با برنامهنویسی قراردادی معمولی دشوار است؛ از جمله بینایی ماشین و تشخیص صحبت.
-
الگوریتم ژنتیک
در شاخه هوش مصنوعی از رشته علوم کامپیوتر، یک الگوریتم ژنتیک (Genetic Algorithm) یک جستوجوی مکاشفهای است که روند انتخاب طبیعی را شبیهسازی میکند. این کاشف (که گاهی متامکاشفه نیز نامیده میشود)، به صورت معمول برای ایجاد راهحلهای مفید در مسائل بهینهسازی و جستوجو استفاده میشود.
الگوریتمهای ژنتیکی به طبقهای بزرگتر از الگوریتمهای تکاملی (Evolutionary Algorithm) تعلق دارند که با استفاده از تکنیکهای الهامگرفته از تکامل طبیعی، مانند ارثبری، جهش، انتخاب و عبور، راهحلهایی را برای مسائل بهینهسازی تولید میکنند.
الگوریتمهای ژنتیکی در بیوانفورماتیک، فیلوژنتیک، علوم محاسباتی، مهندسی، اقتصاد، شیمی، تولید، فیزیک، ریاضیات، داروشناسی و دیگر موارد کاربرد دارد.