روباتهایی که میبینند و از انسان میآموزند-
اگر عضو یکی از شبکههای زیر هستید میتوانید این مطلب را به شبکهی خود ارسال کنید:
[26 Oct 2018]
[ مهدی صنعتجو]
محققانی از شرکت انویدیا سامانه هوشمندی توسعه دادهاند که بنا به ادعای آنها، در نوع خود نخستین سامانه مبتنی بر یادگیری عمیق محسوب میشود که میتواند با مشاهده نحوه انجام یک کار توسط انسان، آن کار را بیاموزد. این روش با هدف ارائه راهی مناسب برای برقراری ارتباط بین انسان و روبات طراحیشده و کمک خواهد کرد که در آینده روباتها به طرز مناسبتری در کنار انسان کار کنند. آنچه انویدیا ارائه کرده بسیار ابتدایی است، اما دریچهای جدید را در حوزه روباتیک گشوده است.
روباتهای صنعتی بهگونهای طراحی میشوند که از پس انجام کارهای تکراری برآیند. بهمنظور حفظ ایمنی در محیط کار، همیشه سعی شده روباتها از انسان فاصله داشته باشند. اما محققان در تلاش هستند این فاصله را به حداقل برسانند و شرایطی را فراهم کنند که روبات در کنار انسان کار کند و حتی وظایف خود را از انسان بیاموزد. اگر میخواهیم روباتهایی داشته باشیم که در دنیای واقعی مفید باشند باید بتوانیم وظایفشان را با روشهایی ساده به آنها بیاموزیم. بهگونهای که هم هدف نهایی روبات را به او بفهمانیم و هم اگر ایرادی در کارش بود به او تذکر دهیم تا عملکرد خود را بهبود دهد. از سوی دیگر، روبات باید بتواند حتی در صورت بروز تغییرات در شرایط محیط، عدم قطعیت ورودیها یا خطاهای کنترلی احتمالی، کار خود را با حداکثر اطمینان انجام دهد.
آزمایشگاه روباتیک انویدیا برای تحقق چنین ایدهای مشغول فعالیت است. این آزمایشگاه کار خود را بهطور رسمی از سال گذشته میلادی آغاز کرده و شش کارمند دارد و در آینده نزدیک دفاتری را در نزدیکی دانشگاه واشنگتن در سیاتل خواهد گشود.
بنا به گفته Dieter Fox مدیر ارشد تحقیقات روباتیک انویدیا و استاد دانشگاه واشنگتن، گروه تحقیقاتی انویدیا در تلاش هستند تا شرایطی را فراهم کنند که این روباتهای نسل جدید با ایمنی کامل در کنار انسان کار کنند. اما برای دستیابی به این هدف، روبات باید قادر به شناسایی افراد باشد، بتواند فعالیتها و رفتار همکاران انسان خود را درک کند و بیاموزد که چطور به انسان کمک کند. به گفته Fox: «ما از روباتهایی سخن میگوییم که باید درها را باز کنند، کشوها را بیرون بکشند، اشیا را بردارند و جابهجا کنند و حتی تعامل فیزیکی با انسان داشته باشند و به آنها کمک کنند. چنین روباتهایی باید قادر به شناسایی انسان باشند، باید ببینند که یک نفر میخواهد چه کاری انجام دهد، آنها باید بتوانند از انسان یاد بگیرند و برای اینکه به کسی کمک کنند، باید قادر به پیشبینی حرکت بعدی او باشند.»
ماشین هوشمند انویدیا
به عقیده محققان انویدیا اگر ما به دنبال ساخت روباتهایی هستیم که در دنیای واقعی مفید باشند، باید راهی مناسب و ساده برای برقراری ارتباط با آنها بیابیم. بهطوریکه نیاز کمتری به استفاده از برنامهریزیهای معمول باشد و آنها بتوانند با دیدن یا شنیدن دستورات، وظایف خود را بیاموزند یا ایرادهای خود را برطرف سازند.در روشهای فعلی آموزش که غالبا روبات از خطاهایش درس میگیرد و عملکرد خود را تصحیح میکند، فرآيند یادگیری بسیار کند و ناکارآمد است. محققان انویدیا سامانهای هوشمند طراحی کردهاند که قادر است با دیدن، ترتیب انجام دادن یک کار را از انسان بیاموزد؛ روشی که به «نمایش وظیفه» (demonstration) معروف است. آنها این سامانه را بهگونهای آموزش دادهاند که چند بلوک رنگی و یک ماشین اسباببازی را شناسایی کند (شکل ۱).
روباتهایی که میبینند و از انسان میآموزند
شکل۱- در این آزمایش، ترتیب قرارگرفتن مکعبهای رنگی به سامانه نشان داده شد و سامانه با یادگرفتن این ترتیب، روبات را به حرکت در آورد و همان چیدمان را تکرار کرد.
فرد این اشیا را با ترتیبی خاص میچیند، سپس چیدمان را به هم میریزد و روبات باید دوباره اشیا را آنطور که به او نشان دادهشده درست بچیند. در این آزمایش محققان مجموعهای از شبکههای عصبی را آموزش دادهاند که روی پردازندههای گرافیکی TitanX اجرا میشدند و اطلاعات دریافتی از دوربین را پردازش کرده و بر اساس نتایج تحلیلهای خود، روباتی را به حرکت درمیآوردند. این کار ساده به نظر میرسد اما انجام موفق آن گامی بلند در حوزه روباتیک بهشمار میآید، زیرا فرآیند آموزش یک روبات و محول کردن وظایف جدید به آن را سرعت میبخشد. با استفاده از دستاوردهای چنین پروژهای میتوان در آینده راهی سادهتر برای بازآموزی روباتها یافت و روباتهایی ساخت که با ایمنی زیادی در کنار انسان و در محیطهای صنعتی یا خانگی کار میکنند. Stan Birchfield یکی از محققان انویدیا میگوید: «در محیطهای تولیدی (کارخانهها)، روباتها در انجام کارهای تکراری بسیار خوب عمل میکنند اما آنها بهسختی با تغییرات محیط سازگار میشوند و نمیتوانند وظایف جدید را بیاموزند.» در نتیجه برای اینکه روبات بتواند وظایف جدید را انجام دهد به متخصصی نیاز دارد که سختافزار آن را دوباره برنامهریزی کند و چنین فرآیندی بسیار پرهزینه است. به گفته Birchfield: «هدف ما این بود که راهی بیابیم تا یک کاربر غیرمتخصص بهسادگی بتواند تنها با نشان دادن اینکه چهکاری قرار است انجام شود، وظایف جدید را به روبات بیاموزد.»
ترکیبی از چند شبکه عصبی
این سامانه متشکل از مجموعهای از شبکههای عصبی عمیق است که فرآیندهای درک (perception)، تصمیمگیری (planning) و کنترل را اجرا میکنند و همه این شبکههای عصبی بر پایه دادههای ساختگی (synthetic data) آموزش داده شدهاند (شکل ۲).
روباتهایی که میبینند و از انسان میآموزند
شکل۲- یک دوربین، تصاویر ویدیویی زنده از صحنه میگیرد. موقعیت و ارتباط بین اشیای درون صحنه بهطور زنده و توسط دو شبکه عصبی تشخیص داده میشود. این نتایج بهمنظور تصمیمگیری به شبکه دیگری ارسال میشود و درنهایت یک شبکه اجرا (execution) بر اساس این تصمیم گرفتهشده روبات را به حرکت درمیآورد.
در این سامانه، هر یک از شبکههای عصبی استفادهشده وظیفه خاص خود را دارند. شبکه نخست، وظیفه شناسایی اجسام را دارد و تشخیص اینکه دوربین چه چیزی را میبیند. شبکه دوم ارتباط بین اجسام را تعیین میکند، بهعنوان مثال، درک اینکه بلوک آبی روی بلوک قرمز قرارگرفته است. شبکه سوم «تولید برنامه» (program generation) است؛ این شبکه مشخص میکند که چهکارهایی برای رسیدن به هدف باید انجام شوندو درنهایت یک «شبکه اجرا» (execution network) روبات را راهنمایی میکند تا بلوکها را بچیند. روبات بهطور خودکار به اشتباههای خود پی میبرد. اگر در هر مرحلهای سردرگم شود میفهمد که هنوز نمیتواند به هدف برسد و دوباره تلاش میکند؛ اما پیش از انجام هر کاری، توضیحی از تصمیمی را که گرفته بهگونهای که برای انسان قابلفهم باشد، ارائه میدهد و سرپرست روبات با بررسی این پیغام درمییابد که آیا روبات وظیفه خود را بهدرستی متوجه شده یا اینکه نیاز به آموزش بیشتر دارد (شکل ۳).
شکل۳- شبکهای که وظیفه یافتن رابطه بین مکعبها را دارد، در اینجا موفق نشده موقعیت مکعب قرمز نسبت به زرد را بیابد (پیام بالای شکل)؛ اما درنهایت، سامانه خود را تصحیح میکند و ارتباط بین این دو مکعب را نیز لحاظ میکند (پیام پایین شکل).
به گفته این محققان، روش «نمایش وظیفه» روش قدرتمندی برای آموزش یک روبات است. در حالت ایدهآل کافی است یکبار به روبات نشان داده شود که قرار است چهکاری انجام دهد و روبات وظیفه جدید خود را خواهد آموخت. متأسفانه در این راه یک محدودیت اساسی وجود دارد. فرض کنیم فردی در لیوانی آب میریزد. هدف از این کار مبهم است. آیا روبات هم باید همین کار را انجام دهد؟ اگر اینطور است در کدام لیوان؟ آیا در فنجان کنار لیوان هم باید آب ریخته شود؟ چه زمانی باید این کار انجام شود؟ چه میزان آب باید ریخته شود؟ اگر آب نبود روبات باید چه کار کند؟ و پرسشهایی ازاینقبیل. با در اختیار داشتن یک توصیف قابلخواندن توسط انسان میتوان این مشکل را برطرف کرد و فقط، درصورتیکه روبات مقصود را فهمیده به آن اجازه انجام کار را داد و در صورت نیاز خطاها را برطرف کرد.
آموزش با دادههای ساختگی
کلید دستیابی به این دستاورد، استفاده از قدرت «دادههای ساختگی» (synthetic data) برای آموزش شبکههای عصبی است. در روشهای معمول آموزش شبکههای عصبی، نیاز به حجم زیادی از دادههای آموزشی برچسب خورده و اینیکی از ایرادهای اساسی سامانههای یادگیری عمیق فعلی است زیرا سرعت یادگیری را کاهش میدهد؛ اما با روش «دادههای ساختگی»، میتوان حجم تقریباً نامحدودی از دادههای آموزشی برچسبخورده را با تلاشی به نسبت کمتر از روشهای معمول به دست آورد. Birchfield میگوید: «شاهد نوعی تغییر نگرش و رویکرد در جامعه روباتیک هستیم. اکنون در نقطهای هستیم که میتوانیم از پردازندههای گرافیکی برای تولید میزان نامحدودی از دادههای از پیش برچسبزده استفاده کنیم (که درواقع رایگان تمام میشود) و از این دادهها برای توسعه و آزمودن الگوریتمها بهره ببریم.» به عقیده او این توانایی به ما امکان توسعه سامانههای روباتیکی را میدهد که قادرند نحوه تعامل با محیط اطراف را بیاموزند. چنین سامانههایی سادهتر با محیط سازگار میشوند و ایمنتر هستند.
به گفته Fox: «در حقیقت انویدیا مدتهاست که در چنین حوزهای کار میکند. بهعنوان مثال، در شکل و شمایل بازی (کامپیوتری) که در آن باید محیطهای مجازی سهبعدی را پیکربندی کنید. ما میخواهیم با همه گروههایی که چنین تخصصهایی دارند کار کنیم و به آنها کمک کنیم تا این تخصصها را بهگونهای گسترش دهند که بتوان از آنها در کاربردهای روباتیک استفاده کرد.» به عقیده او تحقیقاتی اینچنینی به تولید نسل جدید روباتها کمک خواهند کرد.
روباتها در کنار انسانها
تاکنون، آموزش روباتها مترادف بوده با برنامهریزی سختافزاری و نرمافزاری آنها. تا پیشازاین، تنها با کدنویسی و تربیت لایههای عصبی میتوانستیم روباتها را به کاری وادار کنیم و وظیفهای را به آنها بفهمانیم؛ اما حالا انویدیا ثابت کرده که میتوان سامانه هوشمندی ساخت که بهطور مستقیم و بدون رابطهای برنامهنویسی و برنامهریزی، یاد بگیرد و برنامهریزی شود؛ بهطوریکه حتی یک فرد عادی، بدون هیچ پشتوانهای در روباتیک یا برنامهنویسی هم میتواند روبات را آموزش دهد. محققان انویدیا معتقد هستند، این روش آموزش، کمک زیادی به تسریع فرآيند یادگیری روباتها خواهد کرد. زیرا دیگر به حجم عظیم دادههای آموزشی برچسبخورده نیازی وجود ندارد. به عقیده انویدیا سختافزارها و نرمافزارهای این شرکت برای چنین پروژههایی بسیار مفید هستند. برای تکمیل این پروژه باید زمان زیادی صرف شود اما این راهکار، امیدهای زیادی در حوزه روباتیک و سامانههای هوشمند ایجاد کرده است.
مطلبهای دیگر از همین نویسنده در سایت آیندهنگری: