Antarmuka AI dan di mana mereka tinggal

Baru-baru ini, kami menulis kolom di Habr tentang bagaimana kami merilis mainan online kami sendiri. Salah satu trik yang kami sangat bingung adalah avatar generasi AI untuk karakter Anda β€œon the fly” dari sebuah foto (saat bekerja dalam prototipe dan bukan bagian dari permainan). Pada saat yang sama, teknologinya sendiri menarik dan dapat diterapkan jauh tidak hanya dengan kami. Seperti yang dijanjikan, kami membicarakannya lebih detail dan biarkan kami merasakan prototipe langsung!


Di bawah potongan Anda juga dapat menemukan: mengapa mereka membuat pilihan yang mendukung sistem pelatihan AI atipikal - tanpa menandai data, dan mengapa kami menganggap ini sebagai inovasi ilmiah; kepalsuan kami saat membuat avatar AI yang tidak perlu diulang; bagaimana dan di mana Adaptasi Domain digunakan hari ini.


gambar

Jika tidak ada waktu untuk membaca posting


Kami mengikuti tautan untuk melihat karya AI sekarang.


Harap dicatat:
1. Konverter tidak bekerja dengan cepat, jadi bersabarlah, kapasitas non-produksi digunakan.
2. Sistem hanya dilatih di bidang pria, sehingga foto-foto wanita akan meninggalkan Anda pria, mungkin banci. Kesamaan potret seharusnya tidak diharapkan, karena jumlah elemen yang digunakan sengaja dibatasi, kita akan membicarakan ini di bawah ini.

Dari mana ide untuk membuat avatar AI berasal?


Dia tidak muncul tiba-tiba. Bekerja pada pembelajaran mesin di Grup uKit telah berlangsung selama beberapa tahun. Jadi, proyek WebScore AI , yang secara real-time mengevaluasi daya tarik visual dari situs tersebut, sekitar setahun yang lalu, terbuka untuk semua pendatang dan berhasil digunakan untuk keperluan internal perusahaan.


Penggunaan jaringan saraf dalam pengembangan game adalah topik yang secara berkala mendapatkan banyak sensasi. Ingatlah Sky No Man atau RimWorld, yang menerima bagian dari perhatian permainan, dan bukan hanya komunitas karena alam semesta yang sepenuhnya dihasilkan, yang memiliki variabilitas yang hampir tak terbatas menurut penulis sendiri. Benar, pada kenyataannya, generasi dunia adalah prosedural, dan karena itu tidak ada hubungannya dengan jaringan saraf. Namun, tren di sini sudah jelas - pasar siap untuk ini dan sedang menunggu, menggosok tangannya!


Kami berpikir bahwa kemampuan untuk mengunggah foto Anda ke permainan dan segera mendapatkan avatar pribadi yang paling mirip dengan Anda, yang tidak dimiliki orang lain, menyenangkan dan dapat menjadi chip yang menarik. Selain itu, teknologi dapat dengan jelas menemukan aplikasinya di luar permainan.


Perlu dicatat bahwa kesamaan karakter dengan orang sungguhan di Web Tycoon akan relatif. Ini adalah langkah yang disengaja, karena kami akan mengumpulkan avatar dari elemen yang diambil oleh desainer kami. Dan ada beberapa alasan untuk ini. Pertama, di pintu keluar kami ingin mendapatkan avatar game dengan gaya permainan, sambil mempertahankan favorit rata banyak orang. Kedua, kami tentu memainkannya dengan aman, karena memungkinkan Anda untuk selalu mendapatkan gambar potret, terlepas dari apa yang telah diunggah pengguna.


gambar

Lagi pula, tidak semua orang ingin melihat mentimun yang realistis di antara para pesaing.


Pelatihan model tanpa data yang ditandai


Pendekatan pembelajaran mesin ini bisa disebut inovatif, karena pada kenyataannya, AI belajar tanpa data awal yang ditandai. Karena apa yang terjadi? Kunci keberhasilan adalah ketersediaan alat untuk menghasilkan data sintetis. Menjelang pertanyaan yang mungkin: kita tidak bisa memberikan pertanyaan kita sendiri.


Mengapa Anda memutuskan untuk melatih AI kami dengan cara ini? Markup data adalah pekerjaan penilai yang monoton dan sangat produktif. Dan jika desainer tiba-tiba memutuskan untuk menambahkan, misalnya, jenis kacamata ketiga (pada saat penulisan sistem ada dua), maka Anda perlu menandai ulang semuanya, karena setiap contoh yang sebelumnya ditandai sekarang menjadi berpotensi tidak optimal.


Selain itu, dalam kasus kami, patut juga dipertimbangkan momen seperti subjektivitas: jika Anda memberi 10 orang untuk mengumpulkan avatar untuk satu foto, kami mendapatkan 10 avatar berbeda di output. Kami sudah memeriksa.


Foto asli:


gambar

Dan hasil dari dua desainer berbeda dari perusahaan kami:


gambar

Man vs Machine


Pelatihan itu tidak mudah. Pertama, AI kami menyerah dalam semua hal:


gambar

Jika seseorang tiba-tiba tidak mengerti, maka foto aslinya sama di sini. AI mengubah tas di bawah mata menjadi kacamata hitam. Antena berkuda sebagai hadiah. Pecandu kerja nyata dapat menganggap ini sebagai fitur, bukan bug.


Berikut adalah beberapa hasil indikatif lainnya.


gambar

gambar

Dia hanya tidak menambah poin lagi dan bahkan bisa berdandan! Ada beberapa masalah dengan reproduksi warna.


Langsung tentang proses pengembangan


Sebagai titik awal, kami mengambil beberapa solusi Transfer Gaya yang sudah jadi, tetapi kami dengan cepat harus meninggalkannya, karena mereka tidak cocok dengan kami dalam bentuk murni mereka. Kami juga mencoba menggunakan model generatif sendiri, tetapi dengan cepat sampai pada kesimpulan bahwa sebagian besar solusi yang kami temui tidak memiliki contoh implementasi, atau tidak memberikan hasil.


Sebagai hasilnya, model generatif yang sukses pertama adalah CycleGAN, yang kami ambil sebagai dasar, menyelesaikannya sesuai dengan kebutuhan kami. Kehilangan Persepsi dipanggil untuk membantu CycleGAN standar. Ini sangat terlihat menambah keindahan pada gambar yang dihasilkan.


Di bawah ini Anda dapat melihat CycleGAN beraksi:


gambar

Atau contoh lain, jelas dan tidak asing bagi semua orang yang setidaknya pernah menggunakan aplikasi Prisma:


gambar

Kesulitan utama secara tradisional adalah untuk mendapatkan model generatif untuk belajar secara normal. Seluruh keluarga model tersebut memiliki banyak luka yang agak khas yang dalam beberapa tahun terakhir telah mencoba untuk menyelesaikan semuanya: waktu pelatihan yang lama, keruntuhan mode, sensitivitas terhadap inisialisasi.


Ada juga masalah rekayasa murni, yang, secara teori, harus dihadapi oleh banyak orang, tetapi untuk beberapa alasan beberapa orang menulis tentang itu. Sebagai contoh, kami perlu melakukan pemuatan paralel data secara cepat dengan augmentasi, dan set augmentasi standar yang disajikan dalam keras / tf / pytorch tidak cukup bagi kami. Plus, awalnya saya ingin menambah CPU. Augmentasi pada CPU memiliki kelebihan yang tidak dapat disangkal, yang utamanya, menurut pendapat kami, adalah kemampuan untuk "melepas" kartu video, dengan demikian berbagi tanggung jawab antara kedua komputer.


Bagaimana mengatasi masalah


Dalam kasus pelatihan GAN, kami terutama bekerja dengan fungsi kehilangan (fungsi hilang). Jadi, kami menambahkan lebih banyak kehilangan identitas dan kehilangan warna. Pada saat yang sama, kami bermain dengan arsitektur generator di dalam CycleGAN, dan sebagai hasilnya kami sampai pada reznet 12-blok (yang asli agak pendek untuk kami).


Dalam hal kode berulang, kami menulis pembungkus tingkat lebih tinggi atas model, memungkinkan kami untuk menggunakan kembali kode yang digunakan dalam beberapa model sekaligus. Kode untuk generator tanggal juga digeneralisasi dengan cara yang sama untuk alasan yang sama.


Untuk mengatasi masalah ketiga (memuat dengan augmentasi pada CPU), saya harus membuat dan menulis chip sendiri, tetapi tentang hal ini lain kali. Kami hanya akan mengatakan bahwa itu karena teknologi dapat berhasil digunakan untuk proyek lain yang sama sekali tidak terkait dengan avatar.


Fakapy saat membuat antarmuka AI


Kesalahan utama adalah penilaian yang salah dari kompleksitas tugas. Pada pandangan pertama, seringkali tampak bahwa ada sejumlah besar solusi siap pakai yang 99% cocok untuk Anda. Mereka hanya perlu dibawa dan dipindahkan dengan aman ke kasing Anda. Jadi tidak seperti itu. Secara terpisah, perlu untuk menunjukkan bagaimana rasanya mengamati bagaimana di GAN, yang telah berhasil dipelajari selama beberapa hari, tiba-tiba sesuatu benar-benar meledak, mengapa ia mulai menghasilkan permainan penuh.


Sesuatu seperti ini:


gambar

Faktor serius lainnya adalah bahwa pada tahap awal kami lupa memperbaiki benih acak, dan kami ingat bahwa GAN sangat sensitif terhadap inisialisasi. Kegagalan yang sangat memalukan di pihak kita, seperti kejujuran.


Di mana Adaptasi Domain Digunakan Saat Ini


Adaptasi domain perlahan tapi pasti menembus tugas AI. Tren yang stabil ini disebabkan oleh fakta bahwa meskipun pertumbuhan cepat dari informasi yang tersedia di dunia modern, markup masih tetap menjadi tugas yang panjang dan mahal. Pengembangan Transfer Learning dan generalisasinya dalam menghadapi Adaptasi Domain menyelesaikan masalah ini.


Contoh aplikasi praktis adaptasi domain adalah karya Apple untuk memperluas set data foto mata manusia dengan mengadaptasi gambar yang dihasilkan secara sintetis. Dalam studi mereka, mereka menunjukkan bahwa pendekatan yang efisien adalah untuk menghasilkan data buatan yang awalnya berlabel dengan perkiraan selanjutnya untuk data nyata menggunakan metode Adaptasi Domain.


gambar

Atau inilah contoh menarik lainnya. Pada tahun 2017, sekelompok ilmuwan datang dengan pendekatan yang tidak biasa untuk mengumpulkan data di jalan, jalan, pejalan kaki dan lingkungan lain di mana mobil self-driving harus ditempatkan untuk pelatihan mereka.


Mereka menyarankan untuk mengambil informasi ini dari GTA V.


gambar

Untuk ini, dalam lingkungan virtual Grand Theft Auto V, lebih dari 480.000 gambar virtual yang ditandai untuk berkendara di jalan raya normal dihasilkan. Dengan menggunakan gambar-gambar ini, sistem dilatih untuk membaca semua variabel dasar yang diperlukan untuk mengemudi otonom dasar: untuk menentukan jarak ke mobil dan benda-benda lain di depan, penandaan strip dan sudut mengemudi (kursus sudut relatif terhadap garis tengah strip). Kecelakaan Tesla yang fatal di Florida juga dianalisis.


Masa depan adalah NST dan GAN


Apakah mungkin untuk membicarakan hal ini dengan percaya diri? Mungkin ya. Transfer Gaya Saraf menggunakan Prisma. Dengan analogi dengan ini, aplikasi baru sedang dibuat, dan tidak hanya untuk tujuan hiburan. GAN juga dapat digunakan sebagai alat untuk memecahkan berbagai masalah: pewarnaan gambar, pembuatan gambar dari noise, bahkan pembuatan gambar dari teks.


Kembali ke tema gamedev. Di sini, kemungkinan adaptasi domain berpotensi tidak terbatas: jika kasus dengan pelatihan kendaraan tak berawak diambil dari tekstur dunia game GTA V, dari mana sesuatu yang sangat mirip dengan foto dunia nyata keluar, maka sama sekali tidak ada yang mencegah Anda melakukan hal yang sebaliknya: menghasilkan tekstur game dari gambar panorama kota-kota nyata .


Keuntungan dari mobil ini adalah tidak lelah. Komputer sekarang dapat menghasilkan sejumlah besar tampilan berbeda dalam sepersekian detik. Tugas kita adalah belajar bagaimana melakukannya dengan efisien dan efisien, dan kemudian tinggal memisahkan gandum dari sekam dan menikmatinya.


Masih ada pertanyaan? Kami akan dengan senang hati menjawabnya di komentar.

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


All Articles