Dalam artikel sebelumnya, kami bertemu Anda, dan seseorang menyegarkan cara kami mengajar mesin untuk memahami ucapan kami. Sekarang sulit untuk mengejutkan dengan program atau robot yang dapat melakukan percakapan dengan seseorang. Tetapi bagaimana jika seseorang memberi tahu robot "buat aku matahari terbenam di pantai"? Bisakah robot memahami ini dan menggambar? Sekarang dia bisa. Berkat pengembangan Xiaodong He (kami tidak akan menerjemahkan nama, agar tidak merusaknya) dan tim peneliti kecerdasan buatannya. Kami akan mencari tahu bagaimana kreasi mereka bekerja dan apakah mungkin untuk membuka galeri seni dengan karya-karya program ini. Ayo pergi.
Secara singkat tentang esensi
Jika Anda melebih-lebihkan, maka program ini bekerja berdasarkan prinsip "Saya menggambar, apa yang mereka katakan kepada saya." Anda mengatakan "teko ungu dengan hidung panjang", dan program piksel demi piksel mencoba untuk secara akurat menggambarkan informasi ini, dengan kata lain, memvisualisasikan kata-kata Anda. Untuk melakukan ini, ia perlu, pertama-tama, untuk memahami apa yang Anda katakan, kemudian menentukan kata-kata yang paling penting - vektor, atas dasar yang Anda dapat membangun asumsi tentang versi gambar yang diperlukan.
Xiaodong Dia mengatakan ini: "... Jika Anda menggunakan Bing dan mencari burung, Anda akan mendapatkan gambar burung itu. Tetapi dalam kasus kami, gambar dibuat oleh komputer, piksel demi piksel, dari awal ... Burung-burung ini mungkin tidak ada di dunia nyata - mereka akan menjadi contoh representasi komputer dari burung ... "
Proyek ini bukan yang pertama untuk Xiaodong He dan rekan-rekannya. Sebelumnya, mereka sedang mengembangkan sistem CaptionBot AI, yang secara otomatis membuat deskripsi untuk foto. Ada juga SeeingAI, sebuah sistem yang menjawab pertanyaan manusia tentang fotografi. Menurut para peneliti, yang terakhir akan sangat cocok untuk orang buta dan tunanetra.
Dasar dari proyek “artis sesuai permintaan” adalah kombinasi dari dua sistem: Generative Adversarial Network (GAN) - generator gambar dan diskriminator (diskriminator) - modul yang secara kritis menganalisis kualitas gambar yang diterima.
Komponen penting lain dari sistem ini adalah perhitungan matematis dan ekspresi perhatian manusia. Ketika kita melihat suatu objek, kita memperhatikan, meskipun secara tidak sadar, terhadap karakteristik eksternalnya. Itu sama ketika mereka memberi tahu kami tentang suatu objek. Kami diberitahu tentang lemon, kami melihat buah kuning kecil berbentuk oval. Kami tidak mewakili buah persik. Itu terjadi di otak kita secara otomatis. Sedangkan untuk mesin, Anda perlu memprogram otaknya agar bekerja setidaknya sedikit seperti manusia. Tetapi kita tahu bahwa sebuah mesin memahami dengan baik bahasa angka - matematika, itulah sebabnya para peneliti mengubah hal seperti perhatian menjadi formula matematika. Dan sekarang lebih banyak tentang masing-masing komponen sistem.
Jaringan Generatif Perhatian GAN
Menurut para peneliti, sistem GAN mereka berbeda dari yang serupa dalam memperhatikan detail. GAN biasa menganggap seluruh kalimat (misalnya, "teko ungu dengan hidung panjang") sebagai vektor tunggal yang harus diikuti ketika rendering. Dalam kasus pengembangan pahlawan kita, perhatian diberikan pada kata-kata individual yang menjadi vektor visualisasi untuk bagian individu dari gambar. Sederhananya, program ini tidak menggambar seluruh gambar sekaligus, tetapi membaginya menjadi potongan-potongan (seperti puzzle) dan menggambar masing-masing secara terpisah.
Untuk menjelaskan dengan kata-kata sederhana bagaimana sistem matematika bekerja, mari kita bayangkan bahwa kalimat kita (deskripsi untuk gambar) adalah rumus, dan kata-katanya adalah variabel.
Representasi skematis dari algoritma programSetiap kata adalah vektor yang penting, artinya menentukan ke arah mana program akan berpikir. Untuk memulainya, sistem harus memilih kata-kata yang paling signifikan. Sistem mencoba untuk mencocokkan kata-kata dan bagian individual dari gambar masa depan. Misalnya, burung biru dengan paruh hitam - jika kita menganggap kata "hitam", maka itu merujuk pada paruh - bagian terpisah dari gambar.
Setelah menentukan vektor dari masing-masing kata, program mengumpulkan semua informasi dalam bentuk matriks, yang kemudian mulai disadari sebagai gambar.

Sebagai contoh, para peneliti mengusulkan mempertimbangkan 4 permintaan yang berbeda (gambar di atas).
Perhatikan tiga gambar pertama seekor burung. Seperti yang Anda lihat, mereka sangat berbeda dalam kualitas dan detail. Faktanya adalah bahwa frame pertama (buram dan tidak akurat) adalah hasil generasi gambar ketika menganalisis seluruh kalimat sebagai vektor tunggal. Dalam bingkai kedua, burung kita sudah lebih terlihat, karena kalimat itu dibagi menjadi kata-kata yang terpisah (vektor), yang memungkinkan mengklarifikasi beberapa detail (misalnya, eyering hitam - mata hitam).
Gambar yang sama ditunjukkan di bawah ini, tetapi dengan alokasi masing-masing bagian sesuai dengan kata-kata tertentu, program ini terlibat dalam pembuatannya untuk perbandingan lebih lanjut menjadi satu keseluruhan. Foto-foto terbaru menunjukkan kata-kata mana dalam deskripsi gambar masa depan yang dianggap paling penting oleh program.

Himpunan ini menyajikan hasil pembuatan gambar ketika dua vektor kata yang paling signifikan (hitam + putih, merah + kuning, biru + merah) dipilih dari kalimat.

disajikan pada gambar di atas. "Kucing hitam berbulu yang mengambang di permukaan danau" secara praktis tidak bisa dibedakan, meskipun danau itu sendiri digambarkan dengan sangat baik. Situasi yang sama dengan rambu-rambu jalan. Namun, gambar kedua ternyata praktis akurat ("bus bertingkat merah mengambang di permukaan danau"). Satu-satunya hal bukanlah bus, tetapi perahu atau kapal pesiar.
Hasil kueri eksperimental seperti itu hanya mengkonfirmasi bahwa sistem masih memiliki banyak hal untuk dipelajari. Secara khusus, perlu untuk terus menambah basis pengetahuan sistem. Sehingga dia tahu seperti apa objek ini atau itu. Namun, terlepas dari semua ketidakakuratan dan kekurangan pada gambar yang dihasilkan, sistem ini luar biasa. Rentang aplikasinya cukup luas: mulai dari bantuan desain interior hingga pembuatan film animasi hanya dengan membaca skrip. Selain itu, dalam hubungannya dengan sistem pengenalan wajah, program pembuatan gambar juga dapat melayani lembaga penegak hukum, misalnya, ketika menyusun photobot yang dicurigai.
Artikel ini menjelaskan prinsip-prinsip dasar dan esensi dari program untuk menghasilkan gambar melalui deskripsi mereka. Untuk pengenalan lebih merpati dengan komponen matematika dari algoritma program, Anda dapat
mengunduh laporan yang sesuai dari para peneliti- Apakah sangat sulit untuk melukis?
"Mudah atau tidak mungkin."
(Salvador Dali)
Terima kasih telah tinggal bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikannya kepada teman-teman Anda,
diskon 30% untuk pengguna Habr pada analog unik dari server entry-level yang kami buat untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps dari $ 20 atau bagaimana membagi server? (pilihan tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4 RAM).
Dell R730xd 2 kali lebih murah? Hanya kami yang memiliki
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV dari $ 249 di Belanda dan Amerika Serikat! Baca tentang
Cara Membangun Infrastruktur Bldg. kelas menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?