Belajar Deep Learning (1)

Apa itu deep learning?

Saya dengar istilah ini beberapa tahun yang lalu dan tiba-tiba saja topik ini mendominasi bahasan di machine learning. Istilah deep learning memang mirip seperti istilah big data, jadi  buzz word yang bercampur aduk antara marketing, science, produk dsb yang  mempersulit orang yang mau belajar dan memanfaatkannya.

Deep learning atau deep nueral network merupakan bagian dari machine learning. Machine learning sendiri mencakup berbagai teknik  yang memungkinkan komputer “belajar” berdasarkan data. Seperti permainan catur, daripada menginputkan aturan yang sangat banyak dan kompleks, berikan saja pada komputer jutaan contoh permainan dan biarkan komputer “belajar” dari contoh-contoh tersebut.  Itu sebabnya machine learning adalah  bagian dari kecerdasan buatan (AI), karena polanya mirip seperti pola belajar manusia. Tentu saja otak manusia masih jauh lebih unggul dan kompleks.

Deep learning  adalah neural network (jaringan syaraf tiruan) dengan topologi dan arsitektur yang relatif rumit. Istilah “deep” muncul  karena  topologi neural network yang digunakan umumnya mengandung banyak lapisan (hidden layer) .

Teknik neural net memang sudah ada sangat lama (puluhan tahun bahkan) dan sempat timbul tenggelam.  Lalu kenapa sekarang muncul lagi?

Ada beberapa alasan:

  1. Perkembangan hardware, terutama dengan adanya GPU yang dapat dimanfaatkan untuk komputasi paralel (NVIDIA dengan CUdanya).
  2. Sistem terdistribusi. Proses training yang berat dapat didistribusikan ke multi mesin dan cloud computing.
  3.  Algoritma dan teknik baru di bidang neural net (fungis aktivasi, optimasi).
  4.  Ketersediaan data.

Hal-hal  tersebut di atas memungkinankan neural network yang rumit  dengan jutaan parameter dapat ditraining untuk menyelesaikan masalah. Dampaknya, teknik deep learning mulai menggungguli teknik-teknik lain, terutama di bidang visual computing (misalnya mengenali objek).  Jadi kenapa deep learning kemudian menjadi trend?

  1. DL dapat mengungguli teknik-teknik yang ada. Bidang machine learning sangat terukur, dan berbasis eksperimen. Selalu ada task standard  yang menjadi patokan.  Jadi begitu ada teknik baru yang unggul, apalagi cukup jauh, maka langsung menarik perhatian para peneliti dan praktisi machine learning.
  2. Teknik machine learning yang ada sebelumnya seringkali memerlukan feature engineering untuk mendapatkan hasil yang baik. Feature engineering artinya perlu dilakukan utak-atik atribut atau fitur. Ini memerlukan waktu yang lama, sistem yang kompleks dan pemahaman tentang data yang mendalam. Di sisi lain, deep learning memungkinan end-to-end framework, cukup berikan input dan outputnya saja.
  3. Dapat diterapkan di multi bidang. Topologi neural network untuk pemrosesan image dapat diterapkan di teks dan pengenalan suara dengan relatif mudah.

Saat ini perkembangan deep learning masih belum terlihat surut. Berbagai cloud provider seperti Amazon, Google dan MS menyediakan fasilitas dengan dukungan GPU untuk melakukan training neural net di cloud  (walaupun mahal).  Perusahaan besar seperti Google, MS, FB membuka tools software deep learning yang mereka gunakan menjadi opensource (Tensorflow, CNTK, FBlearner). Google membuat hardware khusus untuk neural net (TPU), IBM membuat chip True North, Apple berencana akan menambahkan chip neural net dalam Iphone.  Teknik deep learning juga masih mendominasi lomba-lomba (khususnya yang terkait visual), paper-paper dan conference tentang deep learning bermunculan untuk berbagai bidang. Jadi saya pikir akan sangat bermanfaat untuk belajar tentang deep learning ini.

Lanjutan bagian dua

Leave a Reply

Your email address will not be published. Required fields are marked *