Nvidia Deep Learning Institute


Kampus ikut program Nvidia Deep Learning Institute. Ini semacam course online tentang deep learning. Ada banyak course disana, tapi saya coba ikutan kursus yang dasar dulu namanya: Getting started with Deep Learning.

Course ini ada 7 modul:

  1. Pengenalan Deep Learning
  2. Teori Neural Network
  3. Convolutional Neural Network
  4. Augmentasi data dan Deployment
  5. Pre-trained Model
  6. Recurren Neural Networks
  7. Assessment

Tiap modul ada Videonya, ada slide sama latihan dalam bentuk jupyter notebook. Berikut ini beberapa catatan saya dari course ini. Sekarang saya bahas modul 1 dulu.

Modul 1 ini ngasih pengenalan tentang deep learning. Pertama dibahas tentang apa bedanya cara orang belajar dengan cara mesin belajar. Disana dikenalkan tentang istilah “Relaxed alertness” yaitu belajar sambil nyantai. Klo di mesin ini dianalogikan dengan training. Sementara kalo kita lagi stres, biasanya kita akan fokus banget untuk menyelesaikan sebuah tugas. Kalo di mesin bisa dianalogikan kayak lagi melakukan prediksi.

Tentang relaxed alertness :

https://tomprof.stanford.edu/posting/1508

Orang selalu cari cara untuk ngajarin mesin supaya bisa niru kecerdasan manusia. Awalnya mesin diajari untuk membaca tulisan tangan, maupun main backgammon. Penemuan neural network tahun 50an didukung dengan arsitektur Von Neuman mulai mengakselerasi kemampuan mesin.

Beberapa link tentang sejarah neural network:

https://www.cs.cornell.edu/boom/2001sp/Tsinteris/gammon.htm

https://cs.stanford.edu/people/eroberts/courses/soco/projects/neural-networks/History/history1.html

Namun masih ada banyak kendala. Saat itu yang berkembang adalah pendekatan expert system. Pendekatan ini membutuhkan pemrograman yang kompleks oleh ratusan orang. Contohnya robot trading saham, mesin diagnosa medis

https://hbr.org/1988/03/putting-expert-systems-to-work

https://www.britannica.com/technology/expert-system

Namun expert system ini ada banyak batasan. Misalnya pada task yang sederhana bagi manusia seperti membedakan gambar kucing dan anjing, namun mengembangkan sistemnya akan sangat rumit bagi komputer.

Kemudian orang mulai mempelajari bagaimana bayi belajar? Ternyata dengan memberikan banyak sekali data, dan orang tua membantu memberikan jawaban yang benar. Kemudian bayi akan mempelajari polanya secara mandiri. Ada juga teknik trial and error.

Awal tahun 2000an ada 2 faktor yang mempercepat pengembangan deep learning. Yang pertama adalah tersedianya data dalam jumlah banyak. Dengan munculnya internet, maka data dapat dikumpulkan dengan cepat.

Faktor kedua adalah meningkatnya kecepatan komputer (computing power). Namun masih jauh dibandingkan otak manusia. Menurut peneliti, resolusi mata kita adalah 576 megapixel, jauh bila dibandingkan kamera iphone 7 yaitu 12 mega pixel. Munculnya GPU sangat berpengaruh terhadap perkembangan Deep Learning. Neural network adalah mesin perkalian matriks. Sama dengan teknologi komputer grafis. GPU dibangun untuk perhitungan matematik dari grafis.

CPU biasa biasanya punya 4-8 core untuk paralel processing. Sementara GPU yang digunakan NVIDIA pada course ini memiliki ribuan cores. Deep learning memiliki cara yang berbeda dengan programing dalam menyelasaikan masalah.

Dengan programming kita menetapkan berbagai rules untuk melakukan klasifikasi. Kemudian kita membuat kode program untuk rules itu. Setelah itu program diberi masukan, dan menggunakan rules tadi untuk melakukan klasifikasi.

Sementara pada Deep learning kita membutuhkan daftar variabel yaitu Input dan outputnya. Kemudian kita melatih model untuk mempelajari input dan output tadi. Model melakukan prediksi dan mempelajari hubungan antara input dan output. Ini yang disebut dengan training.

Deep Learning memiliki jaringan yang lebih dalam dan lebih kompleks. Contohnya untuk NLP, network bisa memiliki sejumlah miliaran parameter. Seberapa dalam deep learning tergantung pada jumlah layernya (hidden layer)

Contoh penggunaan deep learning pada computer vision misalnya pada robotik, otomasi industri, deteksi obyek dan self driving cars. Pada NLP untuk real time translation, voice recognition dan virtual asisten. Contoh lainnya untuk sistem rekomendasi yang digunakan Facebook, spotify , youtube, netflix dan lainnya. Sistem ini bisa melakukan pengumpulan konten, targeted advertising dan memberi rekomendasi untuk belanja (amazon).

Selain itu ada juga Reinforcement Learning yang digunakan untuk game Alpha-Go berhasil mengalahkan juara dunia, Selain itu juga digunakan sebagai bot pada videogame seperti starcraft dan Dota serta pada robot trading saham.

Pada course ini terdapat berbagai latihan yang harus diselesaikan yaitu:

  1. Training model komputer vision
  2. Training model vision yang lebih kompleks
  3. Mengenalkan arsitektur baru dan teknik untuk meningkatkan performa model dan akurasi
  4. Menggunakan model training untuk membuat prediksi
  5. Menggunakan model pre-trained
  6. Transfer learning
  7. Melatih model bahasa

Ada tiga framework utama deep learning:

  1. Tensorflow+Keras (google)
  2. Pytorch (Facebook)
  3. MXNet (apache)

Pada course ini digunakan tensorflow dan keras. Latihan pertama adalah klasifikasi tulisan tangan digital menggunakan dataset MNIST, dengan 70 ribu gambar digital tulisan tangan. Sampai disini dulu. Insyaallah nanti saya lanjutkan pada tulisan berikutnya

Semoga Bermanfaat!


Silahkan tuliskan tanggapan, kritik maupun saran