Melanjutkan topik yang pernah diangkat di blog kita Mari kita bahas bagaimana penerapan pembelajaran mesin terhadapnya dan dalam bentuk apa. Kita akan menggunakan pengalaman dan solusi yang telah kita pilih berdasarkan pengalaman tersebut. Jakob Rasmussen, pakar AI di Apex Game Tools.

Dalam beberapa tahun terakhir, banyak pembicaraan tentang bagaimana pembelajaran mesin akan mengubah industri game secara radikal, karena teknologi ini telah terbukti inovatif dalam banyak aplikasi digital lainnya. Namun, penting untuk diingat bahwa game jauh lebih kompleks daripada simulator mengemudi, program kendali drone, atau algoritma pengenalan wajah.
Meskipun industri game masih sangat bergantung pada metode AI tradisional, seperti mesin berstatus terbatas, pohon perilaku, dan—yang lebih baru—AI berbasis utilitas, AI semacam itu juga dikenal sebagai sistem berbasis desain atau sistem pakar. Namun, semakin jelas—terutama bagi para pemain—bahwa sistem ini semakin tidak cocok untuk menciptakan lawan yang benar-benar canggih yang dapat meniru perilaku pemain. Hal ini terutama berlaku untuk solusi kreatif. Hal ini dapat dijelaskan oleh ketidakmampuan pengembang AI untuk mempertimbangkan semua taktik dan strategi yang memungkinkan dan berhasil menerapkannya dalam sistem AI tradisional. Bagi para pemain, hal ini seringkali menghasilkan permainan yang membosankan dan mudah ditebak melawan lawan yang pola perilakunya mudah dihafal.
Ada banyak alasan untuk hasil ini, tetapi salah satu yang utama adalah ketidakmampuan AI untuk belajar. Oleh karena itu, ketika menciptakan kecerdasan buatan lawan, pilihan yang jelas adalah beralih ke pembelajaran mesin, yang telah terbukti efektif di banyak aplikasi lain. Namun, ada beberapa nuansa yang perlu dipertimbangkan. Misalnya, AI gim harus mampu beradaptasi dengan situasi apa pun dan memanfaatkan keunggulan yang ditawarkannya, serta beradaptasi dengan berbagai gaya bermain lawan—baik pemain manusia maupun AI lainnya.
Bagaimana keadaannya sekarang?
Perusahaan kecerdasan buatan asal Inggris, DeepMind, baru-baru ini menunjukkan bagaimana AI dapat belajar bermain game sendiri, mempelajari aturannya, dan menemukan cara untuk menyelesaikan atau memenangkan permainan—meskipun sejauh ini hanya pada game sederhana, seperti game awal. Misalnya, catur dan permainan logika Jepang, Go. Hasil yang diperoleh untuk permainan-permainan ini menunjukkan bahwa kecerdasan buatan mampu membentuk penilaian yang memadai tentang apa yang terjadi di papan permainan. Namun, dalam hal mengadaptasi AI untuk berbagai gaya bermain lawan, hasilnya belum begitu mengesankan.
Saat ini, jaringan saraf telah mampu mengenali gambar dan mengemudikan mobil. Namun, fungsi-fungsi ini dapat diimplementasikan menggunakan arsitektur yang relatif sederhana, meskipun pada akhirnya menjadi sangat mendalam dan kompleks. Misalnya, AI pengenal gambar Facebook memiliki kedalaman sekitar 100 lapisan, membuatnya menyerupai otak biologis dalam hal jumlah dan kompleksitas koneksi antar neuron yang membentuk satu jaringan besar.
AI Permainan
Dalam penerapan pembelajaran mesin di industri game, terdapat sejumlah keterbatasan yang mencegah jenis arsitektur ini selalu digunakan. Keterbatasan tersebut antara lain persyaratan sistem, terutama yang berkaitan dengan CPU, yang menentukan kemampuan komputer untuk memproses struktur game yang kompleks dan kesesuaiannya untuk penceritaan dan gameplay game.
Dengan demikian, ternyata dalam banyak gim, perangkat keras yang dibutuhkan, apalagi klaster server seperti yang digunakan, misalnya, untuk jaringan pengenalan gambar Facebook, tidak cukup untuk mengimplementasikan sistem AI yang kompleks. Terkadang, beberapa sistem AI harus berjalan secara bersamaan—tidak hanya di komputer, tetapi juga di perangkat seluler dan platform lain yang kurang canggih. Semua ini membatasi ukuran dan kompleksitas arsitektur pembelajaran mesin, karena semua kalkulasi harus dilakukan dengan durasi bingkai sekitar 1 atau 2 milidetik. Meskipun berbagai teknologi optimasi dan penyeimbangan beban antarbingkai dapat digunakan, keterbatasan ini tidak dapat sepenuhnya dihilangkan.
Kompleksitas permainan dapat menimbulkan tantangan serius bagi AI. Lagipula, dalam permainan seperti StarCraft II, mekanismenya jauh lebih kompleks daripada di game-game Atari. Oleh karena itu, tidak realistis untuk mengharapkan bahwa, dengan frame rate tertentu dan persyaratan sistem yang diketahui, pembelajaran mesin akan mampu memahami dan berinteraksi dengan keseluruhan status permainan. Sebagaimana pemain sering kali mengandalkan intuisi di tahap awal permainan, AI juga harus belajar cara memproses status permainan di awal untuk menyederhanakan perkembangan selanjutnya. Misalnya, dalam sebuah permainan baru-baru ini, Peta hanya menampilkan informasi yang dianggap penting oleh pengembang: dalam satu kasus, AI menggunakan tampilan yang diperkecil dari seluruh area peta; dalam kasus kedua, seperti pemain, ia dapat menggerakkan kamera, dan kemudian persepsinya terbatas pada informasi di layar.

Visualisasi AlphaStar AI versus pemain manusia di StarSraft II: tangkapan layar menunjukkan observasi masukan mentah, aktivitas jaringan saraf, beberapa kemungkinan tindakan dan koordinat, serta hasil pertandingan yang diharapkan.
Hal ini khususnya relevan untuk gim. Pendekatan pembelajaran mesin konvensional seringkali tidak dapat diterapkan pada AI gim. Misalnya, AI biasanya tidak diharuskan untuk menang atau mengerahkan segala daya upayanya untuk meraih kemenangan, seperti yang terjadi pada gim Atari. Seringkali, peran AI adalah untuk membuat gim lebih menarik. AI mungkin perlu bertindak dan berperilaku sesuai dengan karakter yang menjadi tanggung jawabnya. Oleh karena itu, AI gim lebih erat kaitannya dengan desain dan penceritaan gim, dan harus memiliki perangkat yang diperlukan untuk mengelola perilakunya guna mencapai tujuan tertentu. Pembelajaran mesin murni tidak selalu cocok untuk hal ini, yang berarti perlu dicari solusi lain.
Masalah praktis pembelajaran mesin
Masalah-masalah ini muncul dalam pengembangan kecerdasan buatan berbasis pembelajaran mesin untuk , di mana AI harus berperilaku seperti pemain biasa - yaitu, harus fleksibel dan banyak akal.
Seperti Starcraft II, Unleashed jauh lebih kompleks daripada catur dan Go Atari. Aspek gimnya intuitif dan mudah dipelajari, tetapi untuk benar-benar unggul, diperlukan keterampilan tertentu dalam mengelola meta. Pemain harus membangun labirin, melepaskan monster ke musuh, dan menyusun strategi sepanjang permainan, dengan fokus pada ekonomi, menyerang, dan mempertahankan struktur. Ini membutuhkan kemampuan menggertak dan mengantisipasi gerakan lawan, serta mengelola meta psikologis—meta inilah yang menjadikan poker lebih dari sekadar permainan statistik.

Tangkapan layar dari Unleashed
Dalam mencari arsitektur yang paling cocok untuk tujuan ini, teknologi seperti dan pembelajaran mendalam, dan menguji bagaimana kinerjanya dalam bentuk mentah sebagai AI yang bersifat adversarial.
Itu mengerikan.
Segera menjadi jelas bahwa Unleashed perlu memecahkan banyak masalah skala besar yang sulit diadaptasi dengan pembelajaran mesin.
Salah satunya adalah membangun labirin yang efektif. Seperti dalam banyak game menara pertahanan, pemain harus membangun labirin di sekitar menara, yang memungkinkan monster untuk menerobos. Monster-monster ini, pada gilirannya, harus dilenyapkan menggunakan senjata yang ditempatkan di seluruh labirin. Idealnya, labirin harus sepanjang mungkin untuk memberikan kerusakan yang cukup pada monster dan mencegah mereka mencapai menara. Monster lebih rentan terhadap beberapa senjata daripada yang lain, jadi untuk efektivitas maksimal, mereka harus ditempatkan di labirin lebih awal daripada yang lain. Fitur unik Unleash adalah tidak ada labirin yang sempurna: ada begitu banyak jenis monster dalam game sehingga, dengan satu atau lain cara, beberapa akan melewati beberapa bagian labirin tanpa hambatan. Setiap labirin harus disesuaikan untuk mengakomodasi monster baru yang diluncurkan oleh pemain lain. Oleh karena itu, penting untuk tidak hanya mengajarkan kecerdasan buatan untuk membangun labirin tetapi juga mengajarkannya untuk membuat labirin yang efektif untuk berbagai skenario yang dihadapi di versi awal dan akhir game.
AI juga harus belajar memprediksi monster mana yang akan muncul di labirin. Ini semacam masalah yang berkebalikan dengan desain labirin. Seperti di banyak gim lain, di Unleash, tidak cukup hanya membangun pasukan dan mengirimnya ke kamp musuh: Anda juga perlu memata-matai pertahanan musuh dan menyusun pasukan untuk menyerang titik lemah mereka secara efektif. Pasukan monster harus berinteraksi satu sama lain agar dapat menembus labirin dengan sukses. Terkadang, melepaskan monster dalam urutan tertentu, tergantung pada fungsi dan perannya, juga diperlukan. Hal ini juga meningkatkan jumlah kombinasi yang berbeda.
Terakhir, karena pemain harus menciptakan labirin sekaligus mengumpulkan pasukan monster, AI juga harus belajar menyeimbangkan serangan dan pertahanan. Perlu juga dipertimbangkan bahwa semakin banyak pasukan monster yang dibangun pemain dan semakin banyak labirin yang mereka bangun, semakin banyak sumber daya yang mereka butuhkan. Oleh karena itu, strategi serangan yang tepat sangat penting, baik untuk ekonomi permainan maupun untuk meraih kemenangan. Untuk memastikan daya saing, AI harus mampu mengelola sumber daya sedemikian rupa sehingga dapat menciptakan pasukan monster yang kuat tanpa mengorbankan kekuatan labirin. Berinvestasi besar-besaran pada monster dapat menguntungkan secara ekonomi, tetapi meningkatkan risiko monster musuh merebut labirin. Mengandalkan penguatan pertahanan labirin dapat melemahkan ekonomi Anda. Kedua skenario ini tidak akan menghasilkan kemenangan. Dengan demikian, masalah optimasi dalam Unleashed memiliki cakupan yang lebih luas daripada dalam catur atau StarCraft, dan melibatkan kebutuhan untuk berkorban dan menghitung keuntungan Anda beberapa langkah lebih awal.
Seiring kecerdasan buatan belajar, banyak masalah tak terduga muncul. Awalnya, AI seringkali mencapai tingkat perkembangan tertentu di mana ia mulai memahami aspek-aspek tertentu dalam permainan—misalnya, senjata apa di labirin yang efektif melawan jenis monster tertentu atau monster mana yang paling baik dalam menavigasi bagian-bagian tertentu labirin. Namun, proses pembelajaran berjalan lambat dan menyebabkan pengembangan strategi yang berulang.
Kebutuhan akan pendekatan paralel
Meskipun pelatihan AI berbasis pembelajaran mesin berjalan lambat dan dengan tingkat keberhasilan yang terbatas, AI yang lebih baik dan AI adversarial yang lebih tangguh menjadi penting untuk tahap pengujian dan pengembangan lainnya. Untuk mengimplementasikan kemampuan ini, arsitektur Utilitas digunakan, yang memungkinkan pembuatan AI khusus untuk pengujian dan jaminan kualitas permainan, pengujian dan penyeimbangan senjata dan monster dalam permainan, serta pembuatan labirin dan monster tertentu. Namun, selama pengembangan Unleash, para kreator mengasah keterampilan mereka dalam bermain game dan kemudian memutuskan untuk menggunakan pengetahuan ini untuk menciptakan AI Utilitas yang lebih kompleks. Hal ini mengarah pada kesadaran bahwa banyak masalah yang dihadapi dalam sistem AI berbasis pembelajaran mesin dapat dengan mudah dipecahkan oleh sistem Utilitas yang memanfaatkan pengetahuan bawaannya, dan sebaliknya.
Misalnya, labirin yang lebih efisien paling baik dibangun menggunakan AI Utilitas berdasarkan basis pengetahuan yang dikompilasi dari pengujian internal. Algoritme untuk membangun labirin dan menempatkan senjata di dalamnya dapat dengan mudah dijelaskan dan diprogram sedemikian rupa sehingga memudahkan pemain manusia untuk mempertahankan menara dari monster tertentu. Namun, menciptakan pasukan monster berdasarkan pengetahuan tentang markas musuh merupakan tugas yang menantang bagi AI semacam itu, karena jumlah kondisi dan kombinasi berbeda yang harus dipertimbangkan sangat banyak. Dengan arsitektur AI jenis ini, menemukan kumpulan monster yang sesuai akan membutuhkan waktu yang tak terbatas. Dengan batasan yang ada, pembelajaran mendalam akan menjadi solusi ideal untuk masalah ini.
Penciptaan AI hibrida
Maka, diputuskan untuk menggabungkan kedua pendekatan tersebut, menciptakan sistem AI hibrida berbasis pembelajaran mesin dan Utilitas. Idenya adalah menggunakan pembelajaran mesin di mana sejumlah besar kombinasi dan status permainan perlu diproses, atau di mana pembelajaran khusus diperlukan. Untuk tugas-tugas lain, di mana lebih baik mengandalkan pengalaman pribadi pengembang, sistem Utilitas digunakan. Keuntungan lain dari pendekatan ini adalah memungkinkan kontrol yang lebih besar atas perilaku AI, jika diperlukan, untuk memastikannya lebih akurat mengikuti tujuan yang diberikan. Misalnya, AI Utilitas dapat digunakan untuk menyeimbangkan serangan dan pertahanan, sehingga menciptakan berbagai tingkat agresi, atau konfigurasi labirin yang berbeda dapat dibuat untuk AI yang berbeda untuk mengembangkan gaya bermain individu. Jaringan saraf juga dapat diprogram dengan sistem nilai tertentu untuk menghasilkan preferensi yang berbeda ketika merekrut monster udara atau darat, sehingga menambah kepribadian pada AI individu. Ada banyak pilihan lain untuk menerapkan solusi desain, yang semuanya menyoroti kekuatan jenis arsitektur AI tertentu.
Pendekatan hibrida juga menjawab pertanyaan lain yang dihadapi tim pengembangan saat mengembangkan AI untuk Unleash: haruskah mereka menggunakan jaringan saraf dalam global tunggal yang berbasis pada pembelajaran mesin untuk memperhitungkan semua masukan dan keluaran, atau akankah lebih baik merancang AI dengan struktur hierarkis?

Dua arsitektur yang digunakan dalam Unleash: di sebelah kiri adalah jaringan saraf dalam yang besar dengan arsitektur terpadu sendiri, di sebelah kanan adalah sistem hierarkis di mana setiap jaringan memiliki tugasnya sendiri.
Namun, akan lebih baik jika pendekatan umum untuk sistem kecerdasan buatan dibuat, yang arsitekturnya tidak akan bergantung pada pengalaman pribadi para pengembang. Namun, semakin banyak pemain yang masuk ke dalam permainan, semakin besar jaringan sarafnya. Pada saat yang sama, mustahil untuk memisahkan pelatihan AI dan hanya mengajarkan satu keterampilan: bertahan atau menyerang. Dan ada kekhawatiran bahwa pendekatan yang lebih umum akan menyebabkan peningkatan komputasi yang signifikan.
Hal ini memunculkan ide untuk menciptakan arsitektur hierarkis, di mana setiap tugas spesifik akan dilakukan oleh jaringan saraf khusus. Berdasarkan ide ini, kecerdasan buatan pertama-tama perlu memutuskan apakah akan mengalokasikan sumber daya antara serangan (menambah pasukan monster) dan pertahanan (membangun labirin). Setelah itu, ia berpindah ke lapisan berikutnya berdasarkan pilihannya dan mendapatkan akses ke bagian yang relevan dari status permainan, setelah itu ia membuat keputusan terperinci tentang monster mana yang akan dipilih dan senjata apa yang akan digunakan di labirin.
Kesimpulan dan langkah selanjutnya
Dalam pendekatan hibrida Utility, AI dengan jaringan pembelajaran mesin tertanam menyerupai arsitektur hierarkis. Arsitektur ini, pada gilirannya, menyerupai otak biologis, dengan pusat-pusat saraf yang berbeda bertanggung jawab atas tugasnya masing-masing.
Saat ini, AI musuh di Unleash sangat sulit dikalahkan: mereka dapat beradaptasi dengan situasi apa pun dalam permainan, tetapi pengembang juga dapat menyesuaikan pengaturannya sesuai keinginan. Menurut penulis artikel, seiring waktu, pendekatan hibrida akan semakin meluas dan muncul di banyak permainan lain. Mungkin suatu hari nanti, AI berbasis pembelajaran mesin murni dapat diintegrasikan ke dalam permainan. Namun, hal ini tentu membutuhkan waktu. Untuk saat ini, tujuannya adalah menemukan arsitektur yang dapat beradaptasi dengan tantangan yang dihadapi dan menemukan solusi optimal.
Sumber: www.habr.com
