Bagaimana cara kerja game AI hibrid dan apa kelebihannya

Sebagai kelanjutan dari topik kecerdasan buatan game yang pernah diangkat di blog kita, kita akan berbicara tentang bagaimana pembelajaran mesin dapat diterapkan untuk itu dan dalam bentuk apa. Jacob Rasmussen, pakar masalah AI di Apex Game Tools, berbagi pengalamannya dan solusi yang dipilih atas dasar itu.



Dalam beberapa tahun terakhir, ada banyak pembicaraan bahwa pembelajaran mesin akan secara radikal mengubah industri game, karena teknologi ini telah menjadi terobosan di banyak aplikasi digital lainnya. Tapi jangan lupa bahwa permainannya jauh lebih rumit daripada simulator mengemudi mobil, program kendali drone atau algoritma pengenalan wajah dalam gambar.

Sejauh ini, di industri game, masih biasa menggunakan metode AI tradisional, seperti metode mesin negara terbatas, pohon perilaku, dan - baru-baru ini - AI berbasis utilitas (sistem berbasis utilitas). AI tersebut juga disebut berbasis desain (kecerdasan desain buatan) atau sistem pakar. Tetapi menjadi semakin jelas - dan bagi para pemain di tempat pertama - bahwa sistem ini kurang dan kurang cocok untuk menciptakan lawan yang benar-benar maju yang dapat meniru perilaku pemain. Ini terutama berlaku untuk solusi kreatif. Ini dapat dijelaskan oleh fakta bahwa pengembang kecerdasan buatan tidak dapat memperhitungkan semua taktik dan strategi perilaku yang mungkin dan berhasil menerapkannya dalam sistem AI tradisional. Untuk pemain, ini sering menjadi membosankan dan dapat diprediksi untuk bermain dengan lawan yang perilakunya mudah diingat.

Banyak alasan mengarah pada hasil ini, tetapi salah satu yang utama adalah ketidakmampuan AI untuk belajar. Oleh karena itu, ketika menciptakan kecerdasan buatan musuh, keputusan tentang transisi ke pembelajaran mesin, yang telah membuktikan dirinya dalam banyak aplikasi lain, muncul dalam pikiran dengan sendirinya. Namun ada beberapa nuansa yang patut dipertimbangkan. Jadi, game AI harus dapat beradaptasi dengan situasi apa pun dan menggunakan kelebihan yang diberikannya, serta beradaptasi dengan gaya permainan saingan yang berbeda - pemain live dan AI lainnya.


Bagaimana kabarnya sekarang


Perusahaan Inggris DeepMind, yang terlibat dalam pengembangan kecerdasan buatan, baru-baru ini menunjukkan bagaimana AI dapat secara mandiri belajar bermain game, mempelajari aturan mereka dan menemukan cara untuk melewati permainan atau memenangkannya - namun, sejauh ini hanya pada contoh permainan sederhana, seperti game Atari awal - misalnya, catur dan permainan logika Jepang pergi. Hasil yang diperoleh untuk mereka menunjukkan bahwa kecerdasan buatan mampu membentuk sendiri penilaian yang memadai tentang apa yang terjadi di lapangan. Jika kita berbicara tentang adaptasi AI ke berbagai gaya permainan lawan, maka hasilnya tidak begitu mengesankan.

Saat ini, jaringan saraf telah belajar mengenali gambar dan mengendarai mobil. Tetapi fungsi-fungsi ini dapat direalisasikan dengan bantuan arsitektur yang relatif sederhana, bahkan jika hasilnya ternyata cukup dalam dan tebal. Jadi, AI untuk pengenalan gambar di Facebook memiliki kedalaman sekitar 100 lapisan, itulah sebabnya ia menyerupai otak biologis - dalam jumlah dan kompleksitas hubungan antara neuron yang membentuk satu jaringan besar.


Game AI


Adapun aplikasi pembelajaran mesin di industri game, ada sejumlah keterbatasan, karena itu tidak selalu mungkin untuk menggunakan jenis arsitektur ini. Ini termasuk persyaratan sistem, khususnya yang terkait dengan CPU, yang menentukan kemampuan komputer untuk memproses struktur game yang kompleks dan kesesuaiannya untuk mendongeng dan gameplay game.

Dengan demikian, ternyata di banyak permainan untuk implementasi sistem kecerdasan buatan yang kompleks, tidak mungkin untuk mengatur perangkat keras yang diperlukan dan terlebih lagi cluster server, yang ada, misalnya, untuk jaringan pengenalan gambar di Facebook. Terkadang beberapa AI harus bekerja secara bersamaan - tidak hanya pada komputer, tetapi juga pada perangkat seluler, dan pada platform lain yang kurang produktif. Semua ini memberlakukan batasan pada ukuran dan kompleksitas arsitektur pembelajaran mesin, karena semua perhitungan juga harus dilakukan dengan durasi bingkai urutan 1 atau 2 milidetik. Tentu saja, Anda dapat menggunakan berbagai teknologi pengoptimalan dan penyeimbangan beban antar bingkai, tetapi tetap saja Anda tidak bisa menghilangkan batasan ini sama sekali.

Masalah serius bagi AI dapat menyebabkan kompleksitas permainan. Memang, dalam game seperti StarCraft II, mekanisme permainannya jauh lebih rumit daripada di game Atari. Oleh karena itu, Anda tidak boleh berharap bahwa untuk frekuensi bingkai tertentu dan dengan persyaratan sistem yang diketahui, pembelajaran mesin pasti akan mengatasi studi tentang seluruh kondisi permainan dan akan dapat berinteraksi dengannya. Karena seorang pemain sering dipandu oleh intuisi pada tahap-tahap awal permainan, maka AI harus belajar cara memproses keadaan permainan untuk menyederhanakan bagian selanjutnya. Misalnya, dalam salah satu API terbaru untuk Starcraft II pada peta, hanya informasi yang dianggap penting oleh pengembang yang ditampilkan: dalam satu kasus, AI menggunakan tampilan yang berkurang dari seluruh wilayah peta, pada detik - seperti pemain, ia dapat memindahkan kamera, dan kemudian persepsinya terbatas pada informasi. di layar.

gambar
Visualisasi dari game AlphaStar AI melawan pemain di StarSraft II: tangkapan layar menunjukkan pengamatan input mentah, aktivitas jaringan saraf, beberapa kemungkinan tindakan dan koordinatnya, serta hasil yang diharapkan dari pertandingan

Ini adalah aspek yang sangat relevan dalam hal permainan. Seringkali, metode yang diterima secara umum untuk memecahkan masalah pembelajaran mesin tidak berlaku untuk kecerdasan buatan game. Misalnya, biasanya ia tidak diwajibkan untuk menang atau melakukan segala daya untuk menang, seperti halnya dengan permainan Atari. Lebih sering peran AI adalah untuk membuat permainan yang lewat lebih menarik. Mungkin perlu baginya untuk memainkan peran dan berperilaku seperti karakter dari karakter yang menjadi tanggung jawabnya. Dengan demikian, AI game lebih terikat pada desain game dan mendongeng dan harus memiliki alat yang diperlukan untuk mengendalikan perilaku mereka untuk mencapai tujuan mereka. Pembelajaran mesin murni tidak selalu cocok untuk ini - yang berarti Anda harus mencari sesuatu yang lain.


Masalah Pembelajaran Mesin Praktis


Masalah-masalah ini muncul dalam pengembangan kecerdasan buatan berbasis pembelajaran mesin untuk Unleash , di mana AI harus berperilaku seperti pemain biasa - yaitu, menjadi fleksibel dan banyak akal.

Seperti Starcraft II, Unleashed jauh lebih kompleks daripada catur dan pergi untuk Atari. Gameplay di dalamnya intuitif dan mudah dipelajari, tetapi untuk benar-benar berhasil, Anda perlu keterampilan manajemen meta tertentu. Pemain harus membangun labirin, mengatur monster pada musuh dan memikirkan strateginya dalam bidang ekonomi, serangan dan pertahanan struktur di seluruh permainan. Untuk melakukan ini, ia perlu menggertak dan menghitung langkah orang lain di depan, serta mengelola meta psikologis - dialah yang membuat poker lebih dari sekadar permainan statistik.

gambar
Tangkapan layar dari Unleashed

Dalam mencari arsitektur yang paling cocok untuk tujuan ini, teknologi seperti neuroevolution dan pembelajaran mendalam pertama kali diperkenalkan ke dalam permainan dalam bentuk yang hampir tidak berubah, dan kami memeriksa bagaimana mereka akan menunjukkan diri mereka mentah sebagai AI musuh.

Itu mengerikan.

Dengan cepat menjadi jelas bahwa Unleashed perlu menyelesaikan banyak masalah global yang sulit untuk diadaptasi dengan pembelajaran mesin.

Salah satunya adalah pembangunan labirin yang efektif. Seperti dalam banyak permainan yang tujuannya adalah untuk melindungi menara, di sini pemain perlu membangun labirin di sekitarnya, di mana monster akan menerobos. Mereka, pada gilirannya, harus dihilangkan dengan bantuan senjata yang ditempatkan di labirin. Idealnya, labirin harus selama mungkin untuk dapat menimbulkan kerusakan yang cukup pada monster dan mencegah mereka mencapai menara. Untuk beberapa jenis senjata, monster lebih rentan daripada yang lain, jadi untuk efektivitas yang lebih besar mereka harus ditempatkan di labirin lebih awal daripada yang lainnya. Keunikan dari Unleash adalah bahwa tidak ada labirin yang sempurna: ada begitu banyak jenis monster dalam permainan sehingga satu atau lain cara dari mereka akan dengan bebas melewati setiap bagian dari labirin. Setiap labirin harus disesuaikan untuk monster baru yang diluncurkan oleh pemain lain. Dengan demikian, perlu tidak hanya mengajarkan kecerdasan buatan untuk membangun labirin - perlu juga mengajarkannya cara membuat labirin yang efektif untuk berbagai skenario, yang hanya dapat ditemui dalam versi awal dan akhir permainan.

Juga, AI harus belajar bagaimana mencari tahu monster mana yang akan muncul di labirin. Ini adalah semacam masalah terbalik sehubungan dengan pembangunan labirin. Seperti di banyak game lain, di Unleash, tidak cukup hanya dengan membangun pasukan dan mengirimkannya ke kamp musuh: Anda juga perlu memata-matai pertahanan musuh dan menyusun pasukan Anda sedemikian rupa untuk mengenai titik sakit musuh seefisien mungkin. Pasukan monster harus berinteraksi satu sama lain sedemikian rupa sehingga paling berhasil menembus labirin. Kadang-kadang juga diperlukan untuk melepaskan monster dalam urutan tertentu tergantung pada fungsi dan peran mereka. Ini juga meningkatkan jumlah kombinasi yang berbeda.

Akhirnya, karena pemain harus membuat labirin dan mengumpulkan pasukan monster, AI juga perlu belajar bagaimana menemukan keseimbangan dalam serangan dan pertahanan. Juga patut dipertimbangkan bahwa semakin banyak pemain membangun pasukan monster dan semakin dia membangun labirin, semakin banyak sumber daya yang dia butuhkan untuk ini. Oleh karena itu, strategi serangan yang benar sangat penting baik untuk ekonomi selama pertandingan maupun untuk kemenangan di dalamnya. Dan untuk memastikan daya saing, AI harus mampu membuang sumber daya sedemikian rupa untuk menciptakan pasukan monster yang kuat, tanpa membahayakan kekuatan labirin. Berinvestasi pada monster secara maksimal dapat menghemat biaya, tetapi ini meningkatkan risiko monster musuh mengambil labirin. Jika Anda bertaruh untuk memperkuat perlindungan labirin, ini dapat merusak ekonomi Anda. Tak satu pun dari skenario ini akan mengarah pada kemenangan. Dengan demikian, masalah pengoptimalan di Unleashed lebih besar daripada dalam hal catur atau Starcraft, dan termasuk kebutuhan untuk mengorbankan sesuatu dan menghitung keuntungan Anda beberapa langkah ke depan.

Ketika kecerdasan buatan dilatih, banyak masalah yang sebelumnya tidak diketahui muncul. Jadi, pada awalnya, AI sering mencapai tingkat perkembangan tertentu, di mana ia mulai memahami beberapa aspek permainan - misalnya, senjata mana dalam labirin yang efektif terhadap jenis monster tertentu atau monster mana yang paling baik melewati bagian tertentu dari labirin. Tetapi belajar lambat dan mengarah pada pengembangan strategi yang seragam.


Perlunya pendekatan paralel


Sementara pembelajaran AI berbasis pembelajaran mesin berkembang lambat dan tidak terlalu berhasil, tahap pengujian dan pengembangan lainnya membutuhkan AI yang lebih baik dan AI saingan yang lebih kuat. Untuk mengimplementasikannya, arsitektur Utility digunakan, dengan mana Anda dapat membuat AI khusus untuk menguji dan memeriksa kualitas game, tes dalam game dan menyeimbangkan senjata dan monster, dan membuat labirin dan monster tertentu. Namun, selama pengembangan Unleash, pencipta sendiri mengasah keterampilan mereka dalam melewatinya, dan kemudian memutuskan untuk menggunakan pengetahuan yang diperoleh untuk membuat Utilitas AI yang lebih kompleks. Jadi menjadi jelas bahwa banyak masalah yang muncul dalam sistem pembelajaran buatan berdasarkan pembelajaran mesin dapat dengan mudah diselesaikan dengan bantuan sistem Utility yang menggunakan pengetahuan mereka, dan sebaliknya.

Sebagai contoh, lebih baik untuk membangun labirin yang lebih efektif menggunakan Utility AI, berdasarkan pada basis pengetahuan yang disusun dari tes internal. Anda dapat dengan mudah menggambarkan dan memprogram algoritma untuk membangun labirin dan lokasi senjata di dalamnya sedemikian rupa sehingga akan lebih mudah untuk mempertahankan menara dari monster tertentu menjadi pemain yang hidup. Tetapi penciptaan pasukan monster berdasarkan pengetahuan pangkalan musuh adalah tugas yang sulit bagi AI tersebut, karena jumlah kondisi dan kombinasi yang berbeda yang harus diperhitungkan sangat mengagumkan. Dengan arsitektur AI semacam ini, menemukan set monster yang cocok akan membutuhkan waktu yang sangat lama. Kemudian, mengingat batasan yang diberikan, pembelajaran mendalam akan menjadi solusi ideal untuk tugas ini.


Pembuatan AI Hibrid


Jadi, diputuskan untuk menggabungkan dua pendekatan dan dengan demikian menciptakan sistem hybrid kecerdasan buatan berdasarkan pembelajaran mesin dan Utilitas. Idenya adalah bahwa di mana diperlukan untuk memproses sejumlah besar kombinasi dan kondisi permainan, atau di mana diperlukan untuk melatihnya dengan sesuatu, pembelajaran mesin digunakan. Untuk tugas-tugas lain, di mana lebih baik mengandalkan pengalaman pribadi pengembang, sistem Utilitas dilibatkan. Keuntungan dari pendekatan ini juga terletak pada kenyataan bahwa, jika perlu, adalah mungkin untuk lebih mengontrol perilaku AI untuk memastikan kepatuhan yang lebih tepat terhadap tujuan yang diberikan. Misalnya, Anda dapat menggunakan Utility AI untuk memastikan keseimbangan antara serangan dan pertahanan dan dengan demikian menciptakan tingkat agresi yang berbeda, atau Anda dapat membuat konfigurasi labirin yang berbeda untuk AI yang berbeda untuk membuat gaya permainan tersendiri bagi mereka. Anda juga dapat mengatur sistem nilai tertentu untuk jaringan saraf untuk membentuk berbagai preferensi saat merekrut monster udara atau darat dan dengan demikian juga menambah kepribadian individu AI. Ada banyak pilihan lain untuk menerapkan keputusan desain, dan semuanya menekankan kekuatan dari jenis arsitektur AI tertentu.

Pendekatan hibrida juga menjawab pertanyaan lain yang dihadapi tim pengembangan dalam proses pengembangan kecerdasan buatan untuk Unleash: apakah layak menerapkan jaringan saraf global tunggal berdasarkan pembelajaran mesin untuk memperhitungkan semua data input dan output, atau lebih baik merancang AI dengan struktur hierarkis?

gambar
Dua arsitektur yang digunakan di Unleash: di sebelah kiri adalah jaringan saraf besar yang dalam dengan arsitektur terpadu, di sebelah kanan adalah sistem hierarkis di mana setiap jaringan memiliki tugasnya sendiri

Namun demikian, saya ingin membuat pendekatan umum untuk sistem kecerdasan buatan, dalam arsitektur yang para pengembang tidak akan meletakkan pengalaman mereka sendiri. Namun, semakin banyak pintu masuk ke game yang dibuat, semakin banyak jaringan saraf tumbuh. Pada saat yang sama, tidak mungkin memisahkan pelatihan AI dan hanya mengajarkan satu hal kepada mereka: pertahanan atau serangan. Dan ada kekhawatiran bahwa pendekatan yang lebih umum akan mengarah pada peningkatan yang signifikan dalam jumlah perhitungan.

Dari sinilah muncul ide untuk menciptakan arsitektur hierarkis di mana setiap tugas spesifik akan dilakukan oleh jaringan saraf khusus. Menurut ide ini, kecerdasan buatan pertama harus membuat keputusan tentang distribusi sumber daya untuk serangan (meningkatkan pasukan monster) dan pertahanan (pembangunan labirin). Begitu dia melakukan ini, dia pergi ke lapisan berikutnya sesuai dengan pilihannya dan mendapatkan akses ke bagian yang diperlukan dari kondisi permainan, setelah itu dia membuat keputusan terperinci tentang monster mana yang harus dipilih dan senjata apa yang harus dipasang di labirin.


Kesimpulan dan langkah selanjutnya


Dalam pendekatan hybrid Utility, AI dengan jaringan yang mendukung pembelajaran mesin menyerupai arsitektur hierarkis. Dan itu, pada gilirannya, mirip dengan otak biologis di mana pusat saraf yang berbeda masing-masing bertanggung jawab untuk tugas mereka.

Sekarang AI musuh di Unleash sangat sulit dikalahkan: mereka mampu beradaptasi dengan situasi apa pun dalam game - tetapi pada saat yang sama, pengembang dapat mengubah pengaturan mereka atas kebijakan mereka. Menurut penulis artikel tersebut, seiring waktu, pendekatan hibrida harus menjadi lebih luas dan muncul di banyak permainan lainnya. Mungkin suatu hari nanti akan dimungkinkan untuk memperkenalkan kecerdasan buatan berdasarkan pembelajaran mesin dalam bentuk paling murni dalam gameplay. Tapi, jelas, ini masih butuh waktu. Sementara itu, tujuannya adalah untuk menemukan arsitektur yang menyesuaikan dengan tantangan yang dihadapinya dan menemukan cara optimal untuk menyelesaikannya.

Source: https://habr.com/ru/post/id473932/


All Articles