به گزارش فناوری فرهنگی، تا حالا به کلمه «هوش مصنوعی» توجه کرده اید؟ انسان برخلاف دیگر پستانداران قدرت تفکر دارد؛ او درباره مسئله ای فکر کرده و در صورت لزوم بین راه های مختلف یکی از آن ها را انتخاب می کند. این قدرت باعث شده تا کل سیاره زمین تحت کنترل بشر قرار گیرد.
به سبب «هوشی» که انسان دارد، بسیاری از کارها برای او راحت تر است. همه ما از هوش خود جهت پیشروی در زندگی استفاده می کنیم. به لطف علوم کامپیوتر، انسان توانست هوش غیرطبیعی یا به عبارتی «هوش مصنوعی» بسازد؛ چیزی که می تواند فکر کند و نسبت به اتفاقات واکنش نشان دهد.
تا چندی پیش هوش مصنوعی بیشتر حول دستوراتی چون «اگر فلان اتفاق رخ داد، این کار را انجام بده» محدود می شد. بسیاری از دشمنانی که در بازی ویدیویی می بینید، بر همین اساس با شما مبارزه می کنند و از بین چندهزار دستوری که در خود ذخیره کرده، یکی را انجام می دهند؛ فرضاً «اگر» شما را دید، شروع به شلیک کردن کند و …
حالا هوش مصنوعی وارد فاز جدیدی شده که به «یادگیری ماشینی» یا Machine Learning معروف است. فرض کنید یک ربات توانایی یادگیری داشته باشد و به مرور زمان پیشرفت کند، یا دشمنی بعد از مبارزه های پی در پی با شما، مشکلات خود را شناسایی کرده و خود را بهبود بخشد.
انسان خود با یادگیری توانست به چنین سطحی برسد. به قطع اینکه یک ربات یا یک نرم افزار بتواند خودش یاد بگیرد، هم شگفت انگیز و هم ترسناک است!
پیرو موج یادگیری ماشینی، این علم در تمام صنایع به مرور زمان کاربرد خود را نشان می دهد. استفاده از یادگیری ماشینی در موتور بازی سازی یونیتی، بهانه ای بود تا در این متن درباره تاثیر یادگیری ماشینی در صنعت بازی سازی، صحبت شود. علاوه بر آن، نیم نگاهی به تاثیر یادگیری ماشینی روی عملکرد ربات ها نیز خواهیم داشت. با دیجیاتو همراه باشید.
همانطور که می دانید، بازی سازها از هوش مصنوعی برای تحرک بخشیدن به شخصیت های درون بازی استفاده کرده اند. شخصیت های غیر قابل بازی یا NPCها، براساس کدهایی که توسط برنامه نویسان نوشته شده عمل می کنند.
با استفاده از تکنولوژِی یادگیری ماشینی، حالا این شخصیت ها می توانند خودشان، برنامه خودشان را نوشته و یا ویرایش کنند؛ به این گونه که براساس تجربیاتی که در بازی به دست می آورند، به مرور زمان باهوش تر می شوند.
این موضوع را دنی لانگ، معاون رئیس بخش هوش مصنوعی و یادگیری ماشینی شرکت یونیتی عنوان کرد. از این موتور بازی سازی در ساخت بسیاری از بازی های محبوب همچون کاپ هد، اوری و جنگل نابینا، فایرواچ، مانیومنت ولی و … استفاده شده است.
حالا می توان موتور بازی سازی یونیتی را به برنامه های یادگیری ماشینی چون «تنسور فلو» شرکت گوگل وصل کرد. با استفاده از این قابلیت، شخصیت های غیر قابل بازی حالا دارای هویت می شوند؛ با آزمون خطا خود را توسعه داده و از استراتژی های خلاقانه که حتی از انسان نیز برنمی آید، بهره ببرد.
این قابلیت در تسریع توسعه ربات ها، همانند ماشین های خودران، به توسعه دهندگان کمک می کند. لانگ توضیح می دهد که می توان نرم افزار اصلی این نوع ماشین ها را در یک محیط پراکنده و مجازی (اما به شدت نزدیک به واقعیت) تمرین داد تا به مرور زمان از انسان نیز بهتر براند.
یونیتی خود در ساخت این تکنولوژی نقش نداشته و فقط استفاده از آن را برای توسعه دهندگان آسان تر کرده. به طور مثال، کمپانی دیپ مایند که جزو دارایی های شرکت گوگل است، با استفاده از یادگیری عمیق تقویتی (Deep Reinforcement Learning) توانسته یک سری عوامل هوش مصنوعی خاص پرورش دهد.
این عوامل یا Agent، بازی های دهه 80 همچون Breakout و بازی سنتی چینی Go (که به سختی بیش از حدش معروف است) را بازی می کنند و به مرور در آن ها ماهر می شوند.
مثال های بسیاری برای تمرین سیستم های ماشین های خودران، در محیط بازی های ویدیویی وجود دارد. شرکت نرم افزاری MSC، با ساخت اپلیکیشن «آزمایش رانندگی مجازی» توانسته یک سری شبیه ساز برای تمرین ماشین فراهم سازد.
بازی هایی همچون The Open Racing Car Simulator و Euro Truck Simulator 2 برای تمرین مجازی ماشین های خودران مورد استفاده قرار می گیرد.
«آزمایشگاه آیزاک» کمپانی انویدیا نیز از موتور بازی سازی آنریل انجین (ساخت کمپانی اپیک گیمز) برای ایجاد محیط های مجازی استفاده می کند. در این محیط ها، الگوریتم هایی که ربات های واقعی را کنترل می کنند، تحت تربیت و یادگیری قرار می گیرند.
لانگ قول داد که ابزارهای عوامل یادگیری ماشینی، که همین حالا نسخه بتای آن در سایت گیت هاب قابل دسترسی است، در سرعت بخشیدن به پروژه بسیار کمک می کند؛ دیگر نیازی نیست تا روزها و یا حتی هفته ها را صرف ارتباط سازی بین موتور بازی سازی و نرم افزار هوش مصنوعی کنید.
او ادامه داد:«کاری که ما قصد انجام آن را داشتیم، این بود که پروسه ارتباط سازی به یک ساعت کاهش پیدا کند.» در واقع، با استفاده از عوامل یادگیری ماشینی جدید، توسعه شخصیت های بازی و یا تمرین دادن ربات ها بسیار آسان تر خواهد شد.
بازی های هوشمندتر
کمپانی یونیتی یک مثال از پتانسیل بالای یادگیری عمیق تقویتی در اوایل سال نشان داد؛ بازی موبایل Crossy Road که تحت موتور یونیتی ساخته شده و ساختار گیم پلی آن برخاسته از بازی «فراگِر» است.
یک مرغ باید از میان بی نهایت جاده های عریض رد شود. هر زمان که به جعبه هدیه برخورد کند امتیاز می گیرد و هر بار که توسط یک ماشینی ضربه می خورد از امتیاز او کم می شود. هدف، بیشینه کردن میزان امتیاز بازی است؛ طبق این اصل تمرین عامل هوش مصنوعی آغاز می شود.
در اوایل، مرغ بازی همانند یک پروانه مست تکان می خورد؛ یا به سمت عقب می رفت یا به سمت جلو حرکت می کرد و برای او برخورد با یک جعبه هدیه یا به ماشینی هیچ فرقی نداشت. بعد از چند ساعت آزمون و خطا، با استفاده از تاکتیک های یادگیری ماشینی، مرغ بازی «کراسی رود» با قدرت خداگونه ای در بازی امتیاز می گرفت.
شخصیت های غیرقابل بازی پیچیده نیز می توانند برای اهداف کوچک، تحت تمرین قرار گیرند. لانگ، بیشینه کردن زمان بازی برای انسان هایی که عناوین اول شخص شوتر بازی می کنند را مثال زد.
«باید استراتژی های خاصی را در این زمینه توسعه داد. به این طریق، دشمنان شما را در موقعیت های خاصی سوپرایز می کنند. شما به دنبال او می روید، اما به آن نمی رسید و از آن طرف دشمن نیز شما را بلافاصله نمی کشد.»
لانگ ادامه داد:«با تکنولوژی یادگیری ماشینی درهای بسیاری به سمت خلاقیت باز می شود که شما حتی فکرش را هم نمی کنید؛ به طوری که برای اجرای چنین چیزی با استفاده از روش کدزنی سنتی نیاز به هزینه، زمان و نیروی انسانی زیادی دارید.»
انتظار نداشته باشید تا دشمنان خودآموز مجازی جای خود را به زودی با هوش مصنوعی سنتی عوض کنند. ساخت شخصیت های غیرقابل بازی با استفاده از یادگیری عمیق تقویتی هنوز یک تجربه آکادمیک و بیشتر در بخش تیم تحقیقاتی کمپانی های تکنولوژی مورد استفاده قرار می گیرد
اگر عامل های یادگیری ماشینی یونیتی بتواند به خوبی عمل کند، این روند سرعت شدیدتری به خود می گیرد و میلیون ها توسعه دهنده ای که از یونیتی استفاده می کنند، حتی بدون بودجه زیاد، می توانند به آزمایش آن ها بپردازند.
ربات های هوشمندتر
موتورهای بازی سازی همچون یونیتی و آنریل حالا می توانند قوانین فیزیک را با دقت در یک محیط بازی ویدیویی پیاده سازی کنند. از تعامل بین پرتوهای نور در محیط گرفته تا اصطکاک بین لاستیک ماشین و جاده بتنی، همه و همه توسط این دو موتور قابل پیاده سازی است. بازی های ویدیویی با تهیه محیط های مجازی، وسیله خوبی برای تمرین ربات های قابل استفاده در محیط واقعی هستند.
با استفاده از پروسه ای به نام رندر رویه ای، یک موتور بازی سازی می تواند جاده هایی با طول بی نهایت و با کیفیت فوق العاده بالا طراحی کند که عوامل هوش مصنوعی در آن ها تربیت شوند. نرم افزار یادگیری ماشینی ویدیوهای گرفته شده از خود ماشین را تحلیل کرده و یاد میگیرد چگونه آنچه را که دیده، تفسیر کند.
لانگ توضیح داد:«فرض کنید ماشینی دارید که در شهر سان فرانسیسکو رانندگی می کند و از صحنه ها فیلم برداری می کند. وقتی یک عامل دوباره در چنین محیطی قرار بگیرد، همان تجربه مشابه را خواهد داشت.» لانگ مدیر بخش یادگیری ماشینی کمپانی اوبر بود اما در ماه دسامبر سال 2016 به یونیتی پیوست.
او ادامه داشت:« کاری که ما باید انجام می دادیم این بود که به خانه مان برویم و تعدادی پیمان کار برای برچسب گذاری ویدیوها استخدام کنیم.» آن ها باید روی هر درخت، ماشین، عابر پیاده، پیاده رو، خطوط جاده و … برچسب گذاری می کردند تا نرم افزار یادگیری بتواند تشخیص دهد که چه می بیند و بعد تکنیک هایی را توسعه دهد تا خود آن ها را درک کند.
در تمرین مجازی، هر شی در یک صحنه برچسب گذاری شده زیرا نرم افزارهایی چون یونیتی و آنریل انجین نسخه واقع گرایانه و بسیار نزدیک به تصویر واقعی را تولید کرده اند.
ماشین های خودران جزو پروژهای بزرگ حال حاضر به حساب می آید. بسیاری از خودروسازان و کمپانی ها سیلیکون ولی برای توسعه این پروژه خود را تحت فشار قرار داده اند. در طرف مقابل، محصولاتی چون موتور یونیتی باعث شده تا توسعه دهندگان بازی های ویدیویی کارشان راحت تر شود.
عامل های یادگیری ماشینی کمپانی یونیتی حالا می توانند ابزار خوبی برای توسعه دهندگان ربات های ماشین ران و ربات های کوچک باشد.
منبع:دیجیاتو