Pembelajaran Mesin dan Deep Learning

Ilham Imaduddin
6 min readNov 13, 2016

--

Sejak awal, komputer telah berhasil melakukan berbagai tugas yang sulit bagi manusia. Berikan permasalahan gravitasi, perancangan roket, simulasi reaksi kimia, dan berbagai hal lain yang terlihat mustahil, komputer dapat menyelesaikannya dengan baik — dan sangat cepat.

Namun anehnya, ketika berusaha menyelesaikan masalah yang sangat mudah bagi manusia — seperti mengenali objek dalam foto dan memahami percakapan manusia, komputer seakan tak berdaya. Setidaknya sampai era Deep Learning dimulai.

Artikel ini telah saya tulis ulang di blog baru saya (inteligensia.id). Silahkan kunjungi untuk mengikuti tulisan terbaru tentang inteligensia buatan.

Sudah pernah mencoba Google Photos? Jika belum, coba perhatikan gambar ini.

Hasil pencarian dengan kata kunci “laut”.

Itu galeri foto saya di Google Photos. Terlihat normal, kecuali bahwa saya tak pernah menandai ada laut dalam foto-foto itu. Jadi bagaimana mungkin Google Photos mengetahuinya?

Jawabannya — tentu saja, Deep Learning.

Artikel ini adalah bagian pertama dari seri Deep Learning. Silahkan kunjungi halaman Deep Learning — Pengantar untuk melihat seri lengkapnya.

Cerita Tentang Inteligensia Buatan

Jauh sebelum AlphaGo memenangkan permainan Go melawan juara dunia, mobil mengemudi dengan sendirinya, dan asisten virtual seperti Siri, ilmuwan-ilmuwan komputer telah berusaha membuat sistem yang memiliki kecerdasan— Artificial Intelligence (AI).

Jenis AI yang paling sederhana dapat kita lihat pada sistem berbasis aturan-aturan. Sederhananya, komputer melakukan tindakan berdasarkan aturan-aturan seperti “Jika A maka B”. Aturan-aturan ini ditulis secara formal dengan bahasa yang dapat dipahami komputer. Pendekatan seperti ini disebut dengan Knowledge Base.

Tentu saja pendekatan seperti ini tidak praktis untuk permasalahan yang luas. Semakin luas permasalahan yang akan diselesaikan, semakin banyak pula aturan-aturan yang perlu ditulis secara manual. Masalahnya, sangat sulit untuk menyusun pengetahuan dalam aturan-aturan formal yang cukup kompleks untuk mendeskripsikan lingkup permasalahan secara akurat.

Kesulitan ini mendorong sebuah pendekatan sistem AI yang baru. Dari pada memberikan sistem AI pengetahuan yang tertulis secara formal, sistem AI diberikan kemampuan untuk belajar — kemampuan untuk mencari pengetahuannya sendiri. Kemampuan ini disebut Pembelajaran Mesin (Machine Learning).

Pembelajaran Mesin

Pembelajaran mesin menggunakan algoritma yang umum — dapat digunakan untuk berbagai masalah yang berbeda. Kita hanya perlu memberikan data, lalu algoritma itu akan mencari hal-hal yang menarik dalam data yang kita berikan, hingga akhirnya sistem AI akan membangun pengetahuan berdasarkan data tersebut. Dengan kata lain, pembelajaran mesin dapat beradaptasi terhadap suatu masalah dengan mempelajari pola-pola yang ditemukan dalam data.

Sebagai contoh, kita dapat mengelompokkan spesies bunga dari genus Iris dengan melihat ukuran sepal (kelopak) dan petalnya (mahkota).

Dataset tiga spesies bunga dalam genus Iris

Tabel di atas adalah contoh data yang dapat kita gunakan untuk melatih algoritma pembelajaran mesin dalam mengenali spesies bunga iris. Algoritma pembelajaran mesin akan mempelajari karakteristik dari masing-masing spesies berdasarkan contoh ukuran sepal dan petal yang diberikan.

Jadi, jika suatu hari kita menemukan bunga iris di jalan, kita dapat bertanya pada algoritma yang telah kita latih untuk mengetahui spesies bunga tersebut.

Dua Jenis Algoritma Pembelajaran Mesin

Secara umum algoritma pembelajaran mesin dapat dikategorikan menjadi dua jenis tergantung dari data yang diberikan, yaitu Supervised Learning dan Unsupervised Learning.

Supervised Learning

Contoh kasus bunga iris di atas adalah contoh Supervised Learning. Pada supervised learning, algoritma pembelajaran mesin diberikan contoh input (ukuran sepal dan petal) dan pasangan outputnya (spesies). Tugas algoritma pembelajaran mesin adalah mencari hubungan antara masing-masing pasangan ukuran sepal dan petal dengan spesiesnya— mencari operasi-operasi yang dibutuhkan agar semua input mengarah pada output yang tepat.

Dalam pembelajaran mesin, output dari contoh input tertentu biasa disebut dengan label.

Beberapa contoh algoritma supervised learning adalah Decision Tree, Naive Bayes, Nearest Neighbor, dan Support Vector Machine.

Unsupervised Learning

Berbeda dengan supervised learning, label tidak diberikan pada algoritma unsupervised learning. Bayangkan tabel dataset bunga iris diatas, namun tanpa kolom spesies. Tentu saja algoritma unsupervised learning tidak akan secara ajaib mengetahui bahwa ukuran sepal dan petal tertentu masuk ke spesies Iris setosa, namun algoritma unsupervised learning dapat menemukan struktur dari data yang diberikan.

Beberapa contoh algoritma unsupervised learning adalah k-Means dan Hidden Markov Model.

Pentingnya Representasi Data

Dalam kebanyakan kasus, sistem pembelajaran mesin klasik tidak belajar berdasarkan data mentah, melainkan berdasarkan representasi dari data tersebut.

Misalnya, kita memiliki data sensor akselerometer untuk mengenali aktivitas manusia. Data mentah dari akselerometer tersebut terlalu berantakan untuk dipelajari langsung oleh sistem pembelajaran mesin. Sistem akan kesulitan menemukan informasi penting dari data mentah yang polanya tak teratur, sehingga performa pembelajaran menjadi buruk. Maka dari itu perlu dicari informasi-informasi yang dapat mewakilkan data tersebut, seperti nilai rata-rata dari suatu data dan warna dan bentuk objek pada gambar. Masing-masing informasi yang mewakilkan data disebut sebagai Fitur. Pemilihan fitur ini tergantung pada karakteristik datanya.

Performa suatu algoritma pembelajaran mesin sangat bergantung pada representasi data yang digunakan. Sayangnya, dalam banyak kasus sulit untuk mengetahui fitur yang perlu diekstrak dari suatu data.

Misalnya, kita tahu bahwa burung memiliki sayap, sehingga kita dapat menggunakan keberadaan sayap sebagai fitur untuk mengenali burung dalam sebuah gambar. Namun sayap itu sendiri sangat sulit untuk dideskripsikan dalam nilai-nilai piksel, sehingga sulit untuk mengekstrak fitur yang mewakilkan berbentuk sayap.

Masalah seperti ini dapat diatasi dengan menggunakan pembelajaran mesin bukan hanya untuk menemukan output dari representasi data, tapi juga untuk menemukan representasi data itu sendiri. Pendekatan ini disebut sebagai Pembelajaran Representasi (Representation Learning). Dengan mengandalkan sistem untuk mencari representasi datanya sendiri, algoritma-algoritma pembelajaran representasi memungkinkan fitur-fitur terbaik ditemukan dengan cepat tanpa intervensi manusia. Selain itu, representasi yang dihasilkan pun biasanya lebih baik daripada representasi yang dicari secara manual.

Pembelajaran representasi terdengar sempurna, namun pada aplikasinya data yang sangat kompleks masih sulit untuk direpresentasikan dengan baik. Sehingga pada akhirnya performa pembelajaran pun buruk. Untuk mengatasi masalah tersebut, representasi data yang kompleks dapat dideskripsikan dengan susunan representasi-representasi yang lebih sederhana, membentuk struktur representasi dengan lapisan-lapisan bertingkat. Dengan menggunakan struktur yang berlapis-lapis, kita pun mulai memasuki dunia Deep Learning.

Deep Learning

Mari kembali ke pertanyaan di awal, bagaimana Google Photos dapat mengenali laut dalam foto-foto saya, meskipun saya tak pernah menandai ada laut foto dalam foto-foto itu?

Padahal, jika kita perhatikan, ada banyak perbedaan dalam karakteristik foto-foto itu. Lihat saja tiga gambar ini:

Algoritma pembelajaran mesin tradisional akan mengalami kesulitan untuk mengenali gambar-gambar semacam ini. Perbedaan karakteristik data yang sangat luas menyulitkan pembuatan representasi yang umum dengan akurat.

Kuncinya adalah membuat representasi yang bertingkat, mulai dari representasi yang paling sederhana sampai yang paling abstrak. Misalnya dengan model seperti ini:

Fitur-fitur pada gambar yang disusun dalam beberapa lapisan bertingkat, dari lapisan paling sederhana sampai lapisan paling abstrak.

Jika Anda belum pernah mempelajari Jaringan Saraf Tiruan, gambar diatas akan terlihat gaib. Jadi seperti inilah kira-kira penjelasan sederhananya:

  1. Dengan input piksel-piksel pada gambar, lapisan pertama dapat dengan mudah mengenali tepi.
  2. Dengan representasi gambar oleh tepi pada lapisan pertama, lapisan kedua dapat dengan mudah mengenali sudut dan kontur.
  3. Dengan representasi gambar oleh sudut dan kontur pada lapisan kedua, lapisan ketiga dapat dengan mudah mengenali bagian-bagian objek.
  4. Akhirnya, representasi gambar oleh bagian-bagian objek pada lapisan ketiga dapat digunakan untuk mengenali objek (Ingat keberadaan sayap sebagai representasi burung?).

Sejak dulu pun pencarian di Google Images dapat menghasilkan gambar yang relevan. Bedanya, gambar yang dihasilkan Google Images sudah ditandai dengan kata kunci yang sesuai.

Ide dari deep learning adalah membuat hierarki konsep-konsep dengan arsitektur yang terdiri dari beberapa lapisan, menyusun konsep yang kompleks dari konsep-konsep yang lebih sederhana. Sifat ini memberikan deep learning kemampuan untuk merepresentasikan sebuah permasalahan dengan fleksibilitas yang tinggi.

Machine learning diterjemahkan menjadi pembelajaran mesin dan representation learning menjadi pembelajaran representasi. Tapi pembelajaran dalam terdengar kurang enak, jadi saya akan tetap menggunakan istilah deep learning.

--

--

Ilham Imaduddin

A computer geek, photography enthusiast, and curious inventor.