2 poin oleh GN⁺ 2023-11-27 | 1 komentar | Bagikan ke WhatsApp
  • 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 = 2023
    • url = "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/udlbook di GitHub, dan tiap item dapat dibuka melalui tautan ipynb/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

 
GN⁺ 2023-11-27
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

    • Pengalaman saya justru kebalikannya. Orang-orang meremehkan kekuatan untuk membangun sistem, dan fakta bahwa sebagian besar masalah yang layak dipecahkan membutuhkan teknik yang membosankan dan tidak baku
      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
    • Apakah pembagian ini terlihat seperti analogi serupa? Orang yang membuat model dan orang yang menggunakan model, orang yang membuat bahasa pemrograman dan orang yang menggunakan bahasa itu
    • Ini terdengar seperti kalimat promosi untuk menjual AI scientist
    • Dalam praktik, saat mentok lalu kembali ke dasar itu hampir sudah jelas, dan orang yang bagus seharusnya berusaha melakukan keduanya
      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?

    • Untuk tujuan praktis, hal terpenting adalah mempelajari apa yang sebenarnya bisa dilakukan benda ini. Di sekitar ML ada banyak pemikiran kabur seperti “lempar AI ke masalahnya, nanti secara ajaib jadi lebih baik”
      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
    • Ini tentang deep learning, kategori yang lebih luas daripada LLM. Jika Anda tertarik pada machine learning, Anda harus belajar deep learning, dan itu sangat berguna karena berbagai alasan
      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
    • Jika ingin membuat sistem ML, ini masih sangat relevan. OpenAI memang banyak menguasai media, tetapi pada kenyataannya ada sangat banyak tim yang membuat hal-hal berguna dan menarik
    • Dari sudut pandang aplikasi, yang lebih penting adalah memahami bagaimana keseluruhan proses ML bekerja, apa konsep intinya, dan bagaimana komponen-komponennya saling terkait
      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
    • Pasar layanan AI mungkin akan dikuasai seseorang, tetapi aplikasi AI edge kecil terlalu banyak sehingga satu vendor tidak bisa menguasai semuanya
      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?

    • Presentasi dari DeepMind ini merangkum buku-buku dasar ML: https://drive.google.com/file/d/1lPePNMGMEKoaDvxiftc8hcy-rFp...
      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
    • Benar-benar mengesankan, dan tampaknya berpotensi menjadi buku teks utama untuk topik ini
      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
    • https://news.ycombinator.com/item?id=38425368
  • 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

    • Dengan membaca buku ini, Anda bisa mendapatkan fondasi teori yang sangat kuat, dan akan memahami lebih dalam daripada banyak engineer ML
      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
    • Di dunia tempat informasi yang perlu dipelajari terus bertambah, satu-satunya tonggak yang berguna adalah bertanya pada diri sendiri, “apakah saya menikmati mempelajari ini?”
      Pertanyaan seperti “bisakah saya menjadi pakar?” terlalu kabur sehingga sulit menjadi tonggak yang baik
    • Sangat sulit dijawab jika tidak tahu tujuannya. Tergantung apakah Anda ingin menjadi praktisi deep learning atau peneliti
    • Mungkin besar kemungkinan Anda tidak akan menjadi pakar, tetapi saya juga tidak begitu tahu mengapa Anda ingin menjadi pakar
  • 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

    • Platform machine learning menjadi usang
      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
    • Cukup banyak teknik deep learning sudah teruji oleh waktu. Teknik baru pun bergantung pada teknik lama atau dikembangkan untuk mengatasi kekurangannya
      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
    • Saya sangat tidak setuju. Kalau menjadi usang, besar kemungkinan yang diikuti hanyalah tren terbaru
      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
    • Sangat sedikit hal dalam teknologi yang tetap sama. Teknologi perlu dilihat sebagai bentuk lain dari evolusi
      Secara pribadi, saya melihat kekuatan sejenis evolusi yang menggerakkan teknologi. Sepertinya Linus Torvalds juga pernah mengatakan bahwa Linux berevolusi melalui seleksi alam
    • Jadi pengetahuan dasar apa yang harus dipelajari? Bukankah dalam ML juga ada prinsip-prinsip umum yang tetap berlaku seiring waktu?
  • 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 bisa sangat merekomendasikan penulisnya. Buku sebelumnya, Computer Vision: Models, Learning, and Inference, mudah dibaca, mendekati topik dari sudut pandang yang tidak ortodoks, dan punya banyak ilustrasi bagus yang mendukung teksnya
      Saya berencana membeli buku ini dalam versi cetak
    • Bisa dicek lewat pencarian
      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
    • PDF lengkapnya tersedia sebagai unduhan gratis di halaman itu. Itu tautan pertama di bagian paling atas
      https://github.com/udlbook/udlbook/releases/download/v1.16/U...
    • Marcus Hutter menulis di [Marcus' AI Recommendation Page] bahwa “Prince(2023) adalah satu-satunya buku teks yang bagus tentang deep learning”
  • Semoga ini bukan pertanyaan bodoh, tapi bagaimana cara membeli buku cetaknya?

  • 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

    • RNN bisa dibilang kalah dalam hardware lottery karena secara struktural tidak efisien untuk dilatih pada hardware hemat biaya yang tersedia saat ini
      Karena itu, sekarang tidak banyak digunakan. Namun secara pribadi, menurut saya konsepnya cukup menarik sehingga layak dibahas dalam kuliah seperti ini