Memahami Deep Learning
(udlbook.github.io)- Ini adalah situs pembelajaran yang mengumpulkan praktik coding, materi kuliah, dan bacaan tambahan di satu tempat agar pembaca dapat belajar mengikuti buku MIT Press 2023 karya Simon J.D. Prince, Understanding Deep Learning
- Tersedia 68 notebook Python yang mencakup keseluruhan buku; format latihannya meminta pembelajar mengisi bagian kode yang kosong sambil membaca teks utama
- Materi untuk pengajar mencakup file gambar, video kuliah untuk 12 bab pertama, slide, booklet jawaban, gambar interaktif untuk kelas, hingga file LaTeX untuk persamaan
- Slide disusun dengan mempertimbangkan mata kuliah deep learning sarjana 20 pertemuan, mulai dari supervised learning hingga CNN, generasi gambar, serta Transformers and LLMs
- Bacaan tambahan diperluas ke computer vision, matematika machine learning, optimisasi, reinforcement learning, teori ML, Responsible AI, dan lainnya, sehingga dapat digunakan baik untuk belajar mandiri maupun persiapan mengajar
Informasi buku dan sitasi
- Understanding Deep Learning adalah buku yang ditulis oleh Simon J.D. Prince, dan informasi sitasi BibTeX menunjukkan bahwa buku ini diterbitkan oleh MIT Press pada 2023
- Entri BibTeX yang disediakan mencakup informasi berikut
author = "Simon J.D. Prince"title = "Understanding Deep Learning"publisher = "The MIT Press"year = 2023url = "http://udlbook.com"
Praktik coding yang mengikuti buku
- Situs ini menyediakan 68 praktik notebook Python yang mencakup seluruh buku
- Praktik berbentuk pengisian kode kosong berdasarkan isi buku
- Notebook berada di repositori
udlbook/udlbookdi GitHub, dan tiap item dapat dibuka melalui tautanipynb/colab -
Dasar dan penyusunan neural network
- Bab-bab awal membahas matematika latar belakang, supervised learning, shallow neural networks, activation functions, network composition, dan deep neural networks
- Praktik loss function mencakup least squares loss, binary cross-entropy loss, dan multiclass cross-entropy loss
-
Optimisasi dan komputasi pembelajaran
- Notebook optimisasi membahas line search, gradient descent, stochastic gradient descent, momentum, dan Adam
- Praktik komputasi gradien mencakup backpropagation pada toy model, backpropagation umum, dan initialization
-
Performa, regularisasi, CNN
- Praktik terkait performa membahas MNIST-1D performance, bias-variance trade-off, double descent, dan high-dimensional spaces
- Praktik regularisasi mencakup L2 regularization, implicit regularization, ensembling, Bayesian approach, dan augmentation
- Praktik convolution mencakup 1D convolution, MNIST-1D convolution, 2D convolution, downsampling & upsampling, serta convolution untuk MNIST
-
Topik deep learning modern
- Notebook terkait stabilisasi dan arsitektur jaringan membahas shattered gradients, residual networks, dan batch normalization
- Praktik Transformer mencakup self-attention, multi-head self-attention, tokenization, dan decoding strategies
- Topik graph neural network mencakup graph representation, graph classification, neighborhood sampling, dan graph attention networks
- Praktik model generatif membahas GAN toy example, Wasserstein distance, normalizing flows, latent variable models, dan diffusion models
- Praktik reinforcement learning mencakup Markov decision processes, dynamic programming, Monte-Carlo methods, temporal difference methods, dan control variates
- Topik terakhir mencakup random data, full-batch gradient descent, lottery tickets, adversarial attacks, bias mitigation, dan explainability
Kuliah dan materi untuk pengajar
- Resource untuk pengajar mencakup materi gambar, slide, dan booklet jawaban
- Disediakan tautan pendaftaran untuk mendapatkan answer booklet setelah mendaftar ke MIT Press
- Interactive figures adalah materi yang digunakan untuk menjelaskan ide di kelas
- Disediakan working Latex file yang mencakup semua persamaan
-
Slide deep learning sarjana 20 pertemuan
- Slide ini merupakan materi untuk 20 lecture undergraduate deep learning course
- Topik slide yang dipublikasikan mencakup Introduction, Supervised Learning, Shallow Neural Networks, Deep Neural Networks, Loss Functions, Fitting Models, Computing Gradients, Initialization, Performance, Regularization, Convolutional Networks, Image Generation, serta Transformers and LLMs
Bacaan tambahan
- Situs ini mengelompokkan tulisan, blog, dan buku lain yang menggunakan gaya serupa dan notasi yang sama dengan Understanding Deep Learning sebagai materi tambahan
-
Dasar computer vision dan machine learning
- Computer vision: models, learning, and inference adalah buku yang diterbitkan oleh CUP pada 2012, berfokus pada model probabilistik dan memuat banyak materi ML dari era pre-deep learning
- Materi matematika machine learning membahas aljabar linear, pengantar probabilitas, distribusi probabilitas, pencocokan distribusi probabilitas, dan distribusi normal
- Materi machine learning mencakup learning and inference, regression models, classification models, few-shot learning, dan meta-learning
-
Transformers, LLMs, NLP
- Materi Transformers dan LLMs mencakup ikhtisar LLM, Transformers I·II·III, pelatihan dan fine-tuning LLM, serta percepatan inference LLM
- Materi NLP membahas neural natural language generation, parsing I·II·III, dan XLNet
- Topik terkait Transformer mencakup self-attention, position encoding, struktur multi-head, Transformer block, encoder, decoder, dan training tricks
-
Optimisasi, model waktu, reinforcement learning
- Materi optimisasi mencakup gradient-based optimization, Bayesian optimization, dan SAT Solvers I·II·III
- Materi model waktu membahas Kalman filter, smoothing, Extended Kalman filter, Unscented Kalman filter, dan particle filtering
- Materi reinforcement learning Transformers in RL mencakup tantangan RL, keunggulan Transformer dalam RL, representation learning, reward learning, policy learning, interpretability, dan applications
-
ODEs, SDEs, teori ML
- Kumpulan ODEs and SDEs in machine learning membahas ODEs, SDEs, gradient descent, stochastic gradient descent, residual networks, diffusion models, dan physics-informed machine learning
- Materi terkait mencakup pengantar ODE, closed-form solutions untuk ODE, metode numerik ODE, serta stochastic processes and SDEs
- Materi ML Theory mencakup gradient flow, neural tangent kernel, NTK applications, Bayesian ML I·II, Bayesian neural networks, dan neural network Gaussian processes
-
Unsupervised learning, graphical models, Responsible AI
- Materi unsupervised learning membahas complex data densities, variational autoencoders, dan normalizing flows
- Materi graphical models mencakup graphical models, models for chains and trees, serta models for grids
- Materi Responsible AI mencakup bias and fairness, explainability I·II, dan differential privacy I·II
1 komentar
Opini-opini di Hacker News
Komentar di sini secara umum terbagi menjadi dua kelompok: 1) karena kita bisa membuat sistem AI tanpa pengetahuan semacam ini, tidak perlu mengetahuinya; 2) untuk memahami apa yang sebenarnya terjadi, pengetahuan dasar seperti ini diperlukan
Keduanya benar, dan menurut saya bidang ini sedang terbelah menjadi dua kemampuan: ML engineer dan ML scientist/peneliti
Akan bagus jika tim punya keduanya. Scientist bisa lambat, sementara engineer cepat mencoba berbagai API dan model open source, tetapi saat mentok atau harus mengubah algoritme, banyak engineer jadi goyah. Di titik ini dibutuhkan cara berpikir ala riset dan pengembangan yang asing bagi banyak engineer, dan AI scientist menjadi penting
Selama 10 tahun terakhir saya melihat pola yang sama di beberapa tim. Setelah perusahaan punya sedikit anggaran dan percaya bahwa masalah mereka istimewa, mereka merekrut data scientist bergelar PhD yang punya beberapa paper, tetapi sering kali mereka hanya tahu R dan baru saja menyelesaikan bootcamp Python
Setelah 3 bulan, hasilnya tidak banyak dan yang ada hanya setumpuk notebook Jupyter; ada juga yang tidak punya kode produksi, bahkan lingkungan eksperimen pun tidak ada
Masalah bisnis tetap ada. Perusahaan menyadari bahwa jika mereka punya banyak data scientist tetapi kekurangan data/ML engineer, mereka akan tersendat di deployment produksi atau, karena kurang memahami Python, membuat Death Star yang terdiri dari data pipeline + algoritme + infrastruktur dan menghabiskan resource 70% lebih banyak
Proyek tertunda dan orang-orang mulai tidak sabar. Kini tim senilai 2,5 juta dolar per tahun bahkan tidak bisa menyajikan lewat batch atau REST API, sehingga proof of concept pun tidak bisa dikeluarkan
Perusahaan kehilangan momentum, sementara pesaing meluncurkan solusi yang belum sempurna tetapi lebih dulu, mengumpulkan pengguna, lalu memperbaikinya. Setelah itu PM dan engineering manager bertengkar soal siapa yang bertanggung jawab, dan VP produk/engineering mulai mencari kambing hitam. Beberapa PhD dipecat lalu pergi mengajar di universitas lokal
Dalam arti itu, saya tidak tahu dari mana pemisahan ML engineer/scientist ini muncul, dan terlihat seperti pembedaan untuk memuaskan diri sendiri oleh sebagian orang
Sebagai orang yang ketinggalan ini, saya penasaran apakah mempelajarinya sekarang hanya punya makna historis, atau masih relevan untuk pekerjaan ke depan
Terkait AI, terbayang seolah OpenAI akan mengambil jatah makan siang semua orang; apakah pikiran itu sepenuhnya meleset?
Materi seperti video penjelasan LLM terbaru dari Karpathy adalah bahan setengah-mendalam yang bagus untuk orang awam, tetapi intuisi praktis satu tingkat lebih dalam sulit didapat tanpa mencobanya langsung. Tidak perlu menghafal semua matematikanya, tetapi sebaiknya tahu seperti apa “interface” dari komponen-komponennya
Yang penting adalah apa yang sebenarnya dilakukan tiap teknik model, terutama apa yang dilakukannya pada waktu inferensi, ketika harus terintegrasi dengan baik dengan sisa stack
Untuk pertanyaan apakah ini tetap relevan, deep learning dalam arti dense neural network yang dilatih untuk mengoptimalkan fungsi tertentu secara praktis belum berubah mendasar selama sekitar 15 tahun, secara teoretis lebih lama lagi, dan untuk sebagian besar penggunaan jauh lebih penting serta lebih luas dipakai daripada tipe OpenAI
Hal-hal yang melibatkan estimasi angka seperti optimasi iklan atau pemodelan finansial tidak memakai LLM, melainkan memakai model khusus tujuan sebagai bagian dari sistem yang lebih besar. Interface “masukkan angka, terima angka” bisa dijelaskan, mudah diintegrasikan ke software stack, dan juga enak diukur
Ada error bar yang bisa dipahami, dan kadang bahkan konsisten. Ada juga interface yang bisa dikendalikan, yang tidak tiba-tiba membocorkan rahasia perusahaan atau lupa melakukan serialisasi JSON. Latensi dan biayanya juga jauh lebih rendah
Jika Anda harus merender halaman web dalam 100 ms atau menjalankan optimasi di atas jutaan pilihan, AI generatif bukan pilihan praktis, dan menurut saya kemungkinan besar tidak akan menjadi pilihan praktis ke depannya
Latar belakang saya dalam matematika atau teori ML tidak besar, tetapi sebagian besar dari 10 tahun terakhir saya habiskan bersama para ahli ML membangun infrastruktur, data pipeline, dan monitoring. Saya tidak bisa mengintegralkan sigmoid secara spontan, tetapi itu bukan inti masalahnya. Saya pernah melakukannya sekali, punya gambaran bagaimana fungsi itu bekerja, dan bisa bernalar tentangnya sebagai komponen black box
Berbeda dari area ML lain, komponen-komponen deep learning saling cocok dengan baik. Jika mau, Anda juga bisa memakai Transformer bersama CNN. Selain itu, deep learning memungkinkan penerapan machine learning pada data apa pun seperti teks, gambar, video, audio, dan secara komputasi juga diskalakan secara natural
Sebagai orang yang cukup terlibat di bidang ini, saya menyayangkan bahwa karena LLM, orang-orang menjauh dari ML dan deep learning lalu mengikuti salah paham bahwa “sekarang tidak ada alasan untuk melakukannya”. Algoritme besar mahal untuk dijalankan, throughput-nya lambat, dan secara umum performanya kalah dari model khusus tujuan. Untuk banyak tugas, itu juga tidak lebih mudah dipakai dibanding jaringan encoder
Mungkin ini pemikiran yang bias, tetapi menurut saya ini salah satu bidang paling menyenangkan untuk dipelajari dalam komputasi. Jika punya ide bagus, Anda bisa membuat sesuatu yang mutakhir bahkan dengan GPU biasa di rumah. Tinggal mencari niche yang tidak mendapat perhatian sebesar LLM
Deep learning adalah salah satu bagiannya. Banyak bagiannya sudah dibungkus dalam library dan API, jadi pekerjaannya menjadi menyiapkan data yang benar, memanggil API yang tepat, lalu memanfaatkan hasilnya
Misalnya, OpenAI kemungkinan tidak akan tertarik mengembangkan neural network embedded kecil di atas chip sensor yang mendeteksi molekul tertentu di udara secara real time
Buku ini mengesankan. Ada juga bab tentang topik favorit saya, efektivitas deep learning yang tidak masuk akal. Apakah ada buku lain yang patut diperhatikan?
Kalau terburu-buru, lihat slide 123. Rekomendasi utamanya adalah Murphy, Gelman, Barber, dan Deisenroth
Perlu diingat bahwa slide-slide ini punya bias Bayesian. Meski begitu, Murphy adalah buku deep learning yang sangat bagus, dan masuk ke deep learning lewat model linear tergeneralisasi juga merupakan cara yang baik
Fakta menariknya, makalah Attention yang terkenal itu sudah mendekati 10 ribu sitasi dan tampaknya akan mencapainya sekitar akhir tahun ini. Kemungkinan besar ini adalah makalah yang paling cepat mencapai tonggak penting tersebut
Buku deep learning yang ditulis sebelum makalah Attention sebaiknya dianggap usang dan perlu diperbarui. Situasinya mirip buku teks fisika lama yang memuat hukum Newton tetapi tidak memuat ekuivalensi energi Einstein
Kalau mulai sekarang membaca dan mempelajari AI, apakah saya bisa mencapai level mendekati pakar?
Saya khawatir ini berarti memulai perjalanan yang membutuhkan gelar master atau doktor
Namun, mungkin tidak mencakup pelajaran praktis seperti tip kecil dan intuisi yang diperlukan untuk membuat sistem nyata berjalan. Itu butuh waktu, dan menurut saya sama halnya seni seperti halnya sains
Pertanyaan seperti “bisakah saya menjadi pakar?” terlalu kabur sehingga sulit menjadi tonggak yang baik
Selama 10 tahun saya menangani beberapa platform machine learning di perusahaan teknologi terkenal, dan semua yang saya kerjakan menjadi usang cukup cepat
Semuanya sangat sementara, dari algoritma ML sampai platform komputasi. Ditambah fakta bahwa sebagian besar inovasi ML dihasilkan oleh segelintir perusahaan elite, mempelajari banyak materi seperti ini terasa agak kontradiktif
Namun algoritma dan ide machine learning tidak. Kalau Anda belajar SVN atau naive Bayes tetapi tidak mendapatkan apa pun yang berguna hari ini, sebenarnya Anda tidak belajar apa-apa
Misalnya, Transformer dikembangkan untuk mengatasi vanishing gradient pada LSTM untuk urutan panjang, dan memperbaiki masalah LSTM yang secara inheren sekuensial pada dimensi waktu sehingga pemanfaatan GPU kurang baik
Dasarnya tidak banyak berubah. Ada banyak aliran di bidang ini, dan sangat banyak algoritma yang bertahan lama serta benar-benar digunakan. Tentu beberapa bisa ditingkatkan jika mau, tetapi kalau terus-menerus mengejar kelinci putih, yang tersisa di tangan hanya gumpalan kapas
Secara pribadi, saya melihat kekuatan sejenis evolusi yang menggerakkan teknologi. Sepertinya Linus Torvalds juga pernah mengatakan bahwa Linux berevolusi melalui seleksi alam
Buku seperti ini sangat sulit dinilai. Apakah harus menilainya hanya dari daftar isi?
Saya penasaran siapa penulisnya, apakah ada karya lain yang sangat dihargai, apakah ada ulasan bagus dari orang yang memahami isinya, atau ulasan bagus dari mahasiswa yang tidak tahu apa-apa
Saya berencana membeli buku ini dalam versi cetak
Anda bertanya apakah harus menilai hanya dari daftar isi, tetapi di situs yang ditautkan Anda bisa mengunduh draf bab 1–21, lebih dari 500 halaman
Penulisnya, Simon J. D. Prince, adalah profesor emeritus ilmu komputer di University of Bath, dan penulis Computer Vision: Models, Learning and Inference. Ia adalah research scientist yang berspesialisasi dalam AI dan deep learning, serta pernah memimpin tim research scientist di akademia dan industri seperti Anthropics Technologies Ltd dan Borealis AI
Publikasi lain yang sangat dihargai mencakup lebih dari 50 makalah peer-reviewed di konferensi papan atas seperti CVPR, ICCV, dan SIGGRAPH: https://scholar.google.com/citations?user=fjm67xYAAAAJ&hl=en
Untuk ulasan, buku ini belum terbit, dan yang sedang Anda lihat secara harfiah adalah draf gratis. Di Amazon tersedia sebagai pre-order seharga 85 dolar
https://github.com/udlbook/udlbook/releases/download/v1.16/U...
Semoga ini bukan pertanyaan bodoh, tapi bagaimana cara membeli buku cetaknya?
https://mitpress.mit.edu/9780262048644/understanding-deep-le...
Pada gambar PDF, Why does deep learning work tampak menunjuk ke Deep learning and ethics, dan sebaliknya juga demikian
Dari sudut pandang saya yang terakhir membaca Deep Learning karya Ian Goodfellow pada 2016, menarik bahwa tidak ada bab RNN tetapi ada bab Transformer
Karena itu, sekarang tidak banyak digunakan. Namun secara pribadi, menurut saya konsepnya cukup menarik sehingga layak dibahas dalam kuliah seperti ini