Semua pelajaran

Kursus

AI tahun 10: Pembelajaran Mendalam dan AI Multimodal

Bina dan latih rangkaian neural dalam PyTorch untuk imej, teks, dan bunyi.

Buat pelajaran mengikut turutan. Di akhir, kamu boleh mengira output neuron, membandingkan pengaktifan, dan menulis laluan ke hadapan dengan NumPy. Kamu boleh memilih kehilangan, menerangkan penurunan kecerunan dan perambatan balik, dan menulis gelung latihan dan ujian yang penuh dalam PyTorch. Kamu boleh melatih CNN untuk mengelas imej, melatih pengelas sentimen untuk membezakan ulasan positif dan negatif, menerangkan bagaimana atensi menimbang token lain, dan mengelas klip audio yang pendek. Kamu boleh mengurangkan overfitting, melaras halus model pra-latih pada kelas baharu, mengumpulkan kesilapan dan mencari sebabnya, dan membentangkan pemantau hidupan liar pada imej yang belum dilihat.

Cara guna pelajaran ini

  • Mula pada pelajaran yang bertanda Buat ini. Teruskan bila kamu boleh buat sendiri baris di bawah tajuk.
  • Main Permainan dulu. Kemudian jawab Kuiz. 8 daripada 10 betul untuk lulus. Lembaran kerja ada di kertas. Jawapan ada di bawah.
  • Setiap pelajaran dibina di atas pelajaran sebelumnya. Catat setiap larian latihan: tetapan, lengkung kehilangan, dan skor ujian.
  • Pelajaran kod guna Python dan PyTorch dalam buku nota dalam talian percuma dengan GPU. Model kecil dan set data kecil sudah cukup. Guna hanya set data terbuka yang kamu dibenarkan guna, dan jangan sekali-kali latih pada foto orang tanpa izin mereka.

Setiap pelajaran ada permainan, kuiz dan lembaran kerja.

0 daripada 36

Asas Rangkaian Neural

  1. 1NeuronKira output neuron daripada input, pemberat, dan bias.
    • Tulis jumlah berpemberat campur bias.
    • Kira dengan tangan untuk 3 input.
    • Kira dalam kod dengan hasil darab titik.
  2. 2PengaktifanBandingkan pengaktifan ReLU, sigmoid, dan softmax.
    • Plot setiap pengaktifan.
    • Terangkan mengapa rangkaian perlukan pengaktifan tak linear.
    • Guna softmax untuk tukar skor menjadi kebarangkalian.
  3. 3Lapisan dan RangkaianSusun lapisan menjadi sebuah rangkaian.
    • Tulis satu lapisan sebagai pendaraban matriks.
    • Jejak bentuk data pada setiap lapisan.
    • Kira parameter sebuah rangkaian.
  4. 4Rangkaian KecilTulis laluan ke hadapan rangkaian kecil dengan NumPy.
    • Bina rangkaian 2 lapisan dalam NumPy.
    • Jalankan satu kelompok input melaluinya.
    • Semak bentuk output.

Melatih Rangkaian Neural

  1. 5KehilanganPilih kehilangan untuk satu tugas dan kirakannya.
    • Guna ralat kuasa dua min untuk regresi.
    • Guna entropi silang untuk pengelasan.
    • Katakan apa maksud kehilangan yang turun.
  2. 6Penurunan KecerunanTerangkan bagaimana kecerunan menggerakkan pemberat menurun.
    • Cari kecerunan lengkung kehilangan.
    • Ambil langkah dengan kadar pembelajaran.
    • Lihat apa yang berlaku bila kadar pembelajaran terlalu besar atau terlalu kecil.
  3. 7Perambatan BalikJejak bagaimana ralat mengalir balik melalui rangkaian dalam perambatan balik.
    • Guna petua rantai pada rangkaian kecil.
    • Kira satu kecerunan dengan tangan.
    • Semak dengan pembezaan automatik.
  4. 8Latih RangkaianLatih rangkaian kecil dan plot kehilangan.
    • Latih dengan mini-kelompok.
    • Plot kehilangan latihan dan kehilangan pengesahan.
    • Berhenti bila kehilangan pengesahan tidak lagi bertambah baik.

Rangka Kerja Pembelajaran Mendalam

  1. 9TensorCipta dan ubah bentuk tensor PyTorch.
    • Cipta tensor dan semak bentuk serta jenisnya.
    • Ubah bentuk, susun, dan hiris tensor.
    • Alih tensor ke GPU.
  2. 10ModulBina model modul dengan torch.nn.
    • Buat subkelas nn.Module.
    • Guna lapisan Linear dan pengaktifan.
    • Cetak model dan bilangan parameternya.
  3. 11PengoptimumLatih dengan pengoptimum SGD dan Adam.
    • Guna zero_grad, backward, dan step.
    • Bandingkan SGD dan Adam pada satu tugas.
    • Guna jadual kadar pembelajaran.
  4. 12Skrip LatihanTulis gelung latihan dan ujian yang penuh.
    • Muat data dengan DataLoader.
    • Latih, sahkan, dan uji.
    • Simpan model yang terbaik.

Penglihatan Komputer

  1. 13Imej sebagai TensorMuat imej sebagai tensor dan normalkannya.
    • Muat imej sebagai saluran, tinggi, dan lebar.
    • Ubah saiz dan normalkan.
    • Tunjuk satu kelompok sebagai grid.
  2. 14KonvolusiTerangkan bagaimana penapis konvolusi mencari tepi.
    • Luncurkan penapis 3×3 di atas imej dengan tangan.
    • Guna penapis tepi dalam kod.
    • Terangkan stride, padding, dan pooling.
  3. 15CNNBina rangkaian neural konvolusi, iaitu CNN.
    • Susun lapisan konvolusi, pengaktifan, dan pooling.
    • Ratakan dan tambah kepala pengelas.
    • Jejak bentuk melalui rangkaian.
  4. 16Pengelas ImejLatih CNN untuk mengelas imej.
    • Latih pada set data imej yang kecil.
    • Laporkan ketepatan ujian.
    • Tunjuk imej yang salah kelas.

Pemprosesan Bahasa Semula Jadi

  1. 17TokenisasiTukar teks menjadi token dan ID melalui tokenisasi.
    • Bandingkan token perkataan dan token subperkataan.
    • Bina perbendaharaan kata.
    • Samakan panjang jujukan dengan padding.
  2. 18PembenamanTerangkan bagaimana pembenaman meletakkan perkataan yang serupa berdekatan.
    • Guna lapisan pembenaman.
    • Cari perkataan yang paling hampir dengan satu perkataan.
    • Plot pembenaman dalam 2 dimensi.
  3. 19Model TeksBina model teks yang membaca jujukan token.
    • Puratakan pembenaman menjadi satu vektor.
    • Guna lapisan berulang yang mudah.
    • Bandingkan keduanya.
  4. 20Pengelas SentimenLatih pengelas sentimen untuk membezakan ulasan positif dan negatif.
    • Latih pada set data ulasan.
    • Laporkan ketepatan, kepersisan, dan recall.
    • Cari ulasan yang memperdaya model, seperti sindiran.

Transformer

  1. 21AtensiTerangkan bagaimana atensi menimbang token lain.
    • Terangkan query, key, dan value.
    • Kira berat atensi untuk ayat yang pendek.
    • Katakan mengapa atensi membantu makna jarak jauh.
  2. 22Blok TransformerNamakan bahagian blok transformer.
    • Namakan multi-head attention, feed-forward, dan lapisan penormalan.
    • Terangkan sambungan residual.
    • Terangkan pengekodan kedudukan.
  3. 23Model Pra-latihGuna transformer pra-latih untuk satu tugas.
    • Muat model pra-latih dan tokenizer.
    • Kelaskan teks dengannya.
    • Bandingkan dengan pengelas sentimen buatan kamu.
  4. 24Peta AtensiBaca visualisasi peta atensi.
    • Plot berat atensi sebagai peta haba.
    • Cari perkataan mana yang diberi perhatian oleh satu token.
    • Katakan mengapa atensi bukan penjelasan yang penuh.

Audio dan AI Multimodal

  1. 25Bunyi sebagai DataTukar bunyi menjadi bentuk gelombang dan spektrogram.
    • Muat bunyi dan plot bentuk gelombangnya.
    • Terangkan kadar sampel.
    • Buat spektrogram.
  2. 26Pengelas AudioKelaskan klip audio yang pendek.
    • Anggap spektrogram sebagai imej.
    • Latih CNN pada spektrogram itu.
    • Uji dengan hingar latar.
  3. 27Input MultimodalTerangkan bagaimana model menggabungkan input multimodal imej dan teks.
    • Terangkan pengekod berasingan untuk setiap input.
    • Terangkan ruang pembenaman yang dikongsi.
    • Namakan 3 aplikasi multimodal.
  4. 28Imej dan TeksPadankan imej dengan kapsyen teks menggunakan model pra-latih.
    • Benamkan imej dan kapsyen.
    • Susun kapsyen untuk setiap imej.
    • Cari imej dengan pertanyaan teks.

Penambahbaikan Model

  1. 29RegularisasiKurangkan overfitting dengan regularisasi dropout dan weight decay.
    • Tambah dropout.
    • Tambah weight decay.
    • Bandingkan lengkung pengesahan.
  2. 30Augmentasi DataTambah imej terbalik dan terpotong ke set latihan sebagai augmentasi data.
    • Guna terbalik, potongan, dan perubahan warna.
    • Buat augmentasi data pada set latihan sahaja.
    • Ukur perubahan ketepatan ujian.
  3. 31Pembelajaran PindahanLaras halus model pra-latih pada kelas baharu dengan pembelajaran pindahan.
    • Bekukan lapisan pra-latih.
    • Ganti dan latih kepalanya.
    • Nyahbeku, kemudian laras halus dengan kadar pembelajaran yang kecil.
  4. 32Analisis KesilapanKumpulkan kesilapan dan cari sebabnya.
    • Baca matriks kekeliruan untuk banyak kelas.
    • Susun kesilapan ke dalam kumpulan.
    • Pilih pembetulan untuk kumpulan yang terbesar.

Projek Pembelajaran Mendalam

  1. 33Data Hidupan LiarPilih dan bahagi set data imej hidupan liar yang terbuka.
    • Pilih set data perangkap kamera atau hidupan liar yang terbuka.
    • Pilih 5 hingga 10 spesies.
    • Bahagikan mengikut lokasi supaya ujian adil.
  2. 34Laras Halus ModelLaras halus pengelas imej pada kelas hidupan liar.
    • Laras halus model pra-latih.
    • Jejak ketepatan pengesahan.
    • Simpan checkpoint yang terbaik.
  3. 35Antara Muka DemoBina antara muka demo yang menunjukkan ramalan pada imej yang dimuat naik.
    • Terima imej yang dimuat naik.
    • Tunjuk 3 spesies teratas dan skornya.
    • Tunjuk “tidak pasti” bila keyakinan rendah.
  4. 36Pemantau Hidupan Liar PintarBentangkan ketepatan pemantau hidupan liar pada imej yang belum dilihat dan kesilapan utamanya.
    • Laporkan ketepatan pada imej yang belum dilihat.
    • Tunjuk kesilapan utama dan sebabnya.
    • Katakan apa yang kamu akan ubah seterusnya.