رباتیک جزئی از هوش مصنوعی است؟ یا هوش مصنوعی جزئی از رباتیک است؟
این دو اصطلاح چه تفاوتی دارند؟
رباتیک و هوش مصنوعی اهداف بسیار متفاوتی را دنبال میکنند. اما، افراد عادی همیشه این دو را با هم اشتباه میگیرند.
بسیاری از مردم گمان میکنند که رباتیک زیرمجموعه هوش مصنوعی است و برخی از افراد فکر میکنند که هر دو اینها یک چیز هستند.
در سالهای اخیر، استفاده فزاینده از کلمه «ربات» به معنای اتوماسیون و خودکارسازی تردید بیشتری را درباره نحوه تطابق رباتیک و هوش مصنوعی ایجاد کردهاست.
زمان آن فرا رسیده است که یکبار برای همیشه همه چیز را روشن کنیم.
آیا رباتیک و هوش مصنوعی یکی هستند؟
اولین چیزی که باید مشخص کنیم این است که علم رباتیک و هوش مصنوعی به هیچ وجه یک چیز نیستند. در حقیقت، این دو حوزه تقریباً به طور کامل از هم جدا هستند.
ارتباط این دو حوزه باهم به این شکل است:
همانطور که میببینید، این دو حوزه همپوشانی کمی با یکدیگر دارند: رباتهایی که هوش مصنوعی دارند.
همین همپوشانی است که باعث میشود مردم گاهی این دو مفهوم را اشتباه بگیرند.
برای درک نحوه ارتباط این سه اصطلاح با یکدیگر، اجازه دهید جداگانه به هرکدام نگاهی بیاندازیم:
دانش رباتیک چیست؟
دانش رباتیک شاخهای از فناوری است که با رباتهای فیزیکی سروکار دارد. رباتها ماشینهای قابل برنامهریزی هستد که قادرند برخی از کارها را به صورت مستقل یا نیمه مستقل انجام دهند.
در ارتباط با رباتها باید این سه فاکتور مهم را در نظر بگیریم:
- رباتها از طریق سنسور و محرک با دنیای فیزیکی ارتباط برقرار میکنند.
- رباتها قابل برنامهریزی هستند.
- رباتها معمولاً خودکار یا نیمه-خودکار هستند.
برخی از رباتها مستقل هستند، تعدادی هم نه.
برای نمونه، تِله رباتها (نوعی ربات هستند، که با کانال ارتباطی معینی، از مسافت دور توسط یک اپراتور (انسان یا ماشین) دستورات و فرمانها را اجرا میکنند) به طور کامل توسط عامل انسانی هدایت میشوند.
با این وجود تله رباتیک در دسته رباتیک قرار میگیرد. این یکی از نمونههایی است که در آن تعریف رباتیک خیلی روشن و واضح نیست.
نباید از کارشناسان انتظار داشته باشیم که تعریف دقیقی از رباتها ارائه دهند. عدهای میگویند رباتها باید قابلیت «فکر کردن» و تصمیمگیری داشته باشند. اما، تعریف واحد و مشخصی از «تفکر رباتها» وجود ندارد.
به نظر میرسد اگر یک ربات «فکر کند» به این معنی است که در طراحی آن ربات از هوش مصنوعی استفاده شده است، اما بسیاری از رباتهای غیرهوشمند نشان دادهاند که تفکر، ویژگی مشخصه و الزامیی برای رباتها نیست.
دانش رباتیک به طور کل شامل طراحی، ساخت و برنامهریزی رباتهای فیزیکی میشود که قادرند با جهان پیرامون خود ارتباط برقرار کنند. فقط بخش بسیار کوچکی از علم رباتیک دربرگیرنده هوش مصنوعی است.
نمونهای از یک ربات: کوبات (cobot) مبتدی
ربات همکار نمونهی بارزی از یک ربات غیرهوشمند است.
برای مثال،به راحتی میتوانیم یک کوبات را برنامهنویسی کنیم که یک شیء را بردارد و جای دیگری بگذارد. کوبات دائماً با یک روش اشیاء را برمیدارد و جای دیگر میگذارد و به این کار ادامه میدهد تا آن را خاموش کنیم.
این یک کار مستقل است چراکه بعد از برنامهنویسی، نیازی به دخالت انسان نیست. این کار نیازی به هوش ندارد چون کاری که کوبات انجام میدهد تغییری نمیکند.
صنعتیترین رباتها غیرهوشمند هستند.
هوش مصنوعی چیست؟
هوش مصنوعی (Artificial intelligence) شاخهای از علوم کامپیوتر است. هدف این حوزه توسعه برنامههای کامپیوتری است تا وظایفی را انجام دهند که انجامشان مستلزم هوش انسان است.
الگوریتمهای هوش مصنوعی میتوانند از عهده آموزش، ادراک، حل مسأله، درک زبان و یا استدلالهای منطقی برآیند.
در دنیای مدرن از هوش مصنوعی به روشهای مختلفی استفاده میشود. برای مثال، الگوریتمهای هوش مصنوعی در جستجوهای گوگل، سیستم پیشنهاددهنده آمازون(Amazon Recommender System) و جیپیاسها استفاده میشوند.
از هوش مصنوعی تنها برای کنترل رباتها استفاده نمیشود.
حتی وقتی از هوش مصنوعی برای کنترل رباتها استفاده میشود، الگوریتمهای هوشمصنوعی فقط بخش کوچکی از یک سیستم بزرگتر (که همان رباتیک است: سنسورها و برنامهنویسی غیر هوشمصنوعی) هستند.
هوشمصنوعی غالباً ـــ نه همیشه ــــ از یادگیری ماشین هم بهره میبرد یعنی در آن الگوریتمها آموزش میبینند تا بتوانند با توجه به ورودیها و خروجیهای مشخص، به یک ورودی خاص واکنش نشان دهند.
چه تفاوتی وجود دارد؟
تمایز هوشمصنوعی از برنامهنویسی سنتی، کلمه «هوش» است. برنامههای غیر هوشمصنوعی بهراحتی دستوراتِ تعریف شده را زنجیروار انجام میدهند. اما الگوریتمهای هوش مصنوعی تاحدودی از هوش انسانی تقلید میکنند.
نمونهای تمام و کمال از هوش مصنوعی: آلفاگو
کاربردهای رایج هوش مصنوعی را میتوانید در بازیها ببینید. نمونهای قدیمی و فراموش نشدنی در اینباره بازی شطرنج است، که در آن دیپبلو (DeepBlue: ابررایانه آیبیام) توانست گری کاسپارف، قهرمان جهان را در سال ۱۹۹۷ شکست دهد.
نمونه جدیدتر «آلفاگو» نام دارد، یک هوشمصنوعی که توانست لی سِدُل، قهرمان جهان را در سال ۲۰۱۶ شکست دهد. هیچ المان رباتیکیای در آلفاگو وجود ندارد. قطعات بازی توسط انسانی که فقط حرکات ربات را روی نمایشگر تماشا و تقلید میکرد جابهجا میشدند .
رباتهای هوشمند چه رباتهایی هستند؟
رباتهای هوشمند پل ارتباطی علم رباتیک و هوشمصنوعی هستند که توسط الگوریتمهای هوشمصنوعی کنترل میشوند.
اکثر رباتها هوشمند نیستند. تا همین سالهای اخیر، تمام رباتهای صنعتی فقط برای انجام یک سری حرکات تکراری و متناوب برنامهنویسی میشدند.
که مشخصاً این اعمال مستلزم هوش مصنوعی نیستند رباتهای غیر هوشمند به طور معمول عملکرد نسبتاً محدودی دارند.
وقتی که بخواهید به ربات این امکان را بدهید که کارهای پیچیدهتری انجام دهند، به الگوریتمهای هوش مصنوعی نیاز خواهید داشت.
ربات انباردار (warehousing robot) شاید از الگوریتم مسیریاب برای مسیریابی در انبار استفاده کند. وقتی باتری یک پهباد خالی میشود، از مسیریابی مستقل برای برگشتن به خانه استفاده میکند. یک ماشین خود-ران (self-driving car) شاید از ترکیب الگوریتمهای هوش مصنوعی برای تشخیص و اجتناب از خطرهای بالقوه در جاده استفاده کند. اینها همه نمونه رباتهایی هستند که از هوش مصنوعی استفاده میکنند.
نمونه روباتهای همکار هوشمند
میتوان با استفاده از هوش مصنوعی، قابلیتهای رباتهمکار را گسترش داد.
تصوّر کنید میخواهید به کوبات خود دوربین اضافه کنید. دید یا بینایی ربات در دسته «ادراک» قرار میگیرد و معمولاً نیاز به الگوریتمهای هوش مصنوعی دارد.
فرض کنید که میخواستید کوبات شیئی را که برمیدارد شناسایی کند و براساس نوع شیء، آن را در مکانی دیگر بگذارد. این مسئله شامل نوشتن برنامه بینایی ماشین (machine vision) خاصی است تا بتواند انواع مختلف اشیاء را شناسایی کند.
یک راه برای انجام این کار استفاده از نوعی الگوریتم هوش مصنوعی به نام تطبیق الگو است.
به طور کلی، رباتهای هوشمند فقط در حالات خاصی از هوش مصنوعی استفاده میکنند. در مثالی که ذکر کردیم، از هوش مصنوعی فقط برای شناسایی اشیاء استفاده میشود. حرکات ربات واقعاً توسط هوش مصنوعی کنترل نمیشوند (اگرچه درواقع حرکات آن تحت تأثیر خروجی ردیاب اشیاء است).
کجا تمام این موارد سردرگمکننده میشوند...
همانطور که میبینید، رباتیک و هوش مصنوعی دو مفهوم کاملاً متفاوت هستند.
رباتیک درواقع ساختن سازه فیزیکی ربات است درحالیکه هوش مصنوعی نوشتن برنامهای هوشمند را در بر میگیرد.
اما، اینجاست که همه چیز نسبتاً سردرگمکننده میشود:
رباتهای نرمافزاری
چرا رباتهای نرمافزاری ربات نیستند
عبارت «ربات نرمافزاری» به نوعی برنامه کامپیوتری اشاره میکند که به طور مستقل عمل میکند تا وظیفهای مجازی را انجام دهد. مانند:
- «رباتهای» موتور جستجوگر که خزنده وب (Web Crawler) نیز نامیده میشوند. این رباتها در اینترنت میگردند، وبسایتها را بررسی میکند و آنها را برای جستجو طبقهبندی میکند.
- اتوماسیون فرآیند رباتیک (Robotic Process automation)ــــ این فناوری تا اندازهای کلمه ربات را در چند سال گذشته ربوده است.
- چتباتها (ربات سخنگو یا پاسخگو) ــــ اینها برنامههایی هستند که در وبسایتها ظاهر میشوند و با یک سری از پاسخهای از پیش نوشته شده با شما صحبت میکنند.
رباتهای نرمافزاری رباتهای فیزیکی نیستند بلکه فقط در کامپیوتر وجود دارند. بنابراین، ربات واقعی نیستند.
حتی اگر برخی از رباتهای نرمافزاری پیشرفته، شامل الگوریتمهای هوش مصنوعی هم باشند، بخشی از رباتیک نیستند.