“Teknologi yang cukup maju tidak bisa dibedakan dari sihir.”
--Arthur C. Clarke (penulis 2001: A Space Odyssey)
Pelajari AI Generatif dengan PyTorch bertujuan untuk memandu Anda dalam pembuatan berbagai konten (bentuk, angka, gambar, teks, dan musik) dari awal. Ini dimulai dengan model sederhana, membantu pembaca membangun keterampilan pembelajaran mendalam yang mendasar sebelum melanjutkan ke tantangan yang lebih kompleks. Semua model generatif dalam buku ini adalah jaringan saraf dalam. Buku ini dimulai dengan proyek pembelajaran mendalam yang komprehensif di PyTorch, ideal bagi mereka yang baru mengenal bidang ini. Setiap bab disusun dengan cermat untuk melanjutkan bab sebelumnya. Pertama-tama Anda akan membuat konten dasar seperti bentuk, angka, dan gambar menggunakan Generative Adversarial Networks (GANs) dengan arsitektur sederhana. Seiring kemajuan Anda, kompleksitasnya meningkat, yang berpuncak pada pembuatan model canggih seperti Transformers dan Model Difusi.
Pelajari AI Generatif dengan PyTorch dirancang untuk penggemar pembelajaran mesin dan ilmuwan data di berbagai bidang bisnis yang memiliki keterampilan pemrograman Python tingkat menengah. Buku ini bertujuan untuk mengajarkan teknik AI generatif untuk membuat konten baru dan inovatif, seperti gambar, teks, pola, angka, bentuk, dan audio, untuk meningkatkan bisnis pemberi kerja dan karier mereka sendiri. Meskipun banyak materi pembelajaran gratis tersedia online yang mencakup topik individual, buku ini menggabungkan semuanya ke dalam format yang jelas, mudah diikuti, dan terkini, menjadikannya sumber daya yang sangat berharga bagi siapa pun yang ingin menjadi ahli dalam AI generatif.
Buku ini memiliki 16 bab, disusun menjadi empat bagian.
Bagian I memperkenalkan Anda pada AI generatif dan pembelajaran mendalam dengan PyTorch.
• Bab 1 menjelaskan apa itu AI generatif dan alasan di balik pemilihan PyTorch dibandingkan framework AI lainnya seperti TensorFlow untuk membuat model generatif dalam buku ini.
• Bab 2 menggunakan PyTorch untuk membuat jaringan saraf dalam untuk melakukan klasifikasi biner dan multi-kategori sehingga Anda menjadi ahli dalam pembelajaran mendalam dan tugas klasifikasi. Tujuannya adalah untuk mempersiapkan Anda menghadapi bab-bab mendatang, di mana Anda menggunakan jaringan saraf dalam di PyTorch untuk membuat berbagai model generatif.
• Bab 3 memperkenalkan Anda pada Generative Adversarial Networks (GANs). Anda belajar menggunakan GAN untuk menghasilkan bentuk dan urutan angka dengan pola tertentu.
Bagian II mencakup pembuatan gambar.
• Bab 4 membahas cara membangun dan melatih GAN untuk menghasilkan gambar berwarna resolusi tinggi. Secara khusus, Anda akan belajar menggunakan jaringan saraf konvolusional (CNN) untuk menangkap fitur spasial dalam gambar. Anda juga akan belajar menggunakan lapisan konvolusional yang dialihkan untuk mengambil sampel dan menghasilkan peta fitur resolusi tinggi dalam gambar.
• Bab 5 merinci dua cara untuk memilih karakteristik pada gambar yang dihasilkan. Metode pertama melibatkan pemilihan vektor tertentu dalam ruang laten. Metode kedua menggunakan GAN bersyarat, di mana Anda membuat dan melatih GAN dengan data berlabel.
• Bab 6 mengajarkan Anda cara menggunakan CycleGAN untuk menerjemahkan gambar antara dua domain seperti gambar berambut hitam dan gambar berambut pirang, atau gambar kuda dan gambar zebra.
• Bab 7 menjelaskan cara menghasilkan gambar resolusi tinggi menggunakan model generatif lain: autoencoder (AE) dan variannya, variasional autoencoder (VAE).
Bagian III mendalami pemrosesan bahasa alami (NLP) dan pembuatan teks.
• Bab 8 membahas pembuatan teks dengan jaringan saraf berulang (RNN). Sepanjang prosesnya, Anda mempelajari cara kerja tokenisasi dan penyematan kata. Anda juga akan mempelajari cara membuat teks secara otomatis dengan model terlatih dan cara menggunakan pengambilan sampel suhu dan K atas untuk mengontrol kreativitas teks yang dihasilkan.
• Bab 9 membuat Transformer dari awal, berdasarkan makalah Attention Is All You Need, untuk menerjemahkan dua bahasa. Anda akan menerapkan baris demi baris mekanisme perhatian multi-kepala dan Transformer encoder-decoder.
• Bab 10 melatih Transformer yang Anda buat di Bab 9 dengan lebih dari 47.000 pasang terjemahan Inggris-Prancis. Anda akan belajar menerjemahkan frasa umum bahasa Inggris ke bahasa Prancis dengan model terlatih.
• Bab 11 membuat GPT-2XL, versi terbesar GPT-2, dari awal. Setelah itu, Anda akan mempelajari cara mengekstrak bobot terlatih dari Hugging Face dan memuatnya ke model GPT-2 Anda sendiri untuk menghasilkan teks.
• Bab 12 membuat versi model GPT yang diperkecil dengan sekitar lima juta parameter sehingga Anda dapat melatihnya di komputer biasa. Anda akan menggunakan tiga novel karya Ernest Hemingway sebagai data pelatihan. Model yang dilatih dapat menghasilkan teks dengan gaya Hemingway.
Bagian IV membahas beberapa penerapan praktis model generatif dalam buku ini dan perkembangan terkini di bidang AI generatif.
• Bab 13 membangun dan melatih MuseGAN untuk menghasilkan musik. MuseGAN memperlakukan sebuah karya musik sebagai objek multidimensi yang mirip dengan gambar. Generator menghasilkan musik lengkap dan menyerahkannya kepada kritikus untuk dievaluasi. Generator kemudian memodifikasi musik berdasarkan masukan kritikus hingga sangat mirip dengan musik asli dari kumpulan data pelatihan. Dengarkan contoh musik yang dihasilkan: https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• Bab 14 mengambil pendekatan berbeda terhadap pembuatan musik AI. Daripada memperlakukan sebuah karya musik sebagai objek multidimensi, Anda memperlakukannya sebagai rangkaian peristiwa musik. Anda kemudian akan menerapkan teknik dari pembuatan teks untuk memprediksi elemen berikutnya secara berurutan. Dengarkan contoh musik yang dihasilkan: https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• Bab 15 memperkenalkan Anda pada model difusi, yang menjadi dasar semua Transformer teks-ke-gambar terkemuka (seperti DALL-E atau Imagen). Anda akan membuat dan melatih model difusi untuk menghasilkan gambar bunga beresolusi tinggi.
• Bab 16 mengakhiri buku ini dengan sebuah proyek di mana Anda menggunakan perpustakaan LangChain untuk menggabungkan model bahasa besar (LLM) yang telah dilatih sebelumnya dengan Wolfram Alpha dan API Wikipedia untuk menciptakan asisten pribadi yang serba tahu.
Lampiran membahas cara menginstal PyTorch di komputer Anda, dengan atau tanpa GPU berkemampuan Compute Unified Device Architecture (CUDA).
Semua program Python dalam buku ini tersedia untuk diunduh di repositori GitHub buku https://github.com/markhliu/DGAI. Program ini disusun berdasarkan bab dengan setiap bab dalam satu file Jupyter Notebook. Lihat Lampiran buku tentang cara menginstal Notebook Python, PyTorch, dan Jupyter di komputer Anda.