Perkenalan Singkat terkait Artificial Intelligence, Machine Learning, dan Deep Learning

Source: Deep Learning on Medium

Perkenalan Singkat terkait Artificial Intelligence, Machine Learning, dan Deep Learning

Seorang teman kerja menanyakan sebuah hal yang tak biasa. “Mau gak saya sarankan sebuah hal yang bisa menjadikan Anda bermanfaat bagi orang lain?” Terang saja saya tak mungkin menjawab dengan, “Tidak, aku lapar.” maka kujawab dengan pertanyaan balasan, “Apakah itu?”. Dan dia jawab, “Anda kan mengerti AI (Artificial Intelligence), masih belum terlalu banyak sumber informasi tentang AI dengan berbahasa Indonesia, daripada Anda ngoprek yang ilmu dan pengalaman jadi cuma sekedar santapan pribadi, bagaimana kalau share saja ke orang lain dengan bahasa Indonesia? Lagian Anda pintar menulis dan menata bahasa, mahir merangkai kata layaknya pujangga, dan pastinya berbakat.” Oke, kalimat terakhir adalah fiksi dan sepertinya dimulai dari tulisan ini saya usahakan mengeksekusi saran beliau.

Memang beberapa masa hidup belakangan ini saya semakin didominasi oleh informasi-informasi yang berkaitan dengan AI, tentunya setelah saya bekerja menjadi seorang AI engineer (baca: insinyur atau terserah kalian sajalah). Padahal, semenjak saya kuliah S1 pun, setidaknya ada sekian banyak studi kasus yang melibatkan tentang AI. Akan tetapi, saya tak pernah menyadari sebelumnya tentang apa itu dan bagaimana AI bekerja. Entah saya saja yang merasa begitu, atau ke-kuper-an saya terkait ilmu dan akademik pada masa itu atau bahkan memang ruang lingkup jurusan yang membatasi saya untuk tahu lebih banyak tentang AI dan sekitarnya.

Sejatinya saat diruntut lebih rinci, AI atau dalam bahasa Indonesia biasa disebut Kecerdasan Buatan (KB yang tanpa slogan dua anak lebih, baik), secara disiplin ilmu telah ditemukan di sekitar tahun 50-an dan istilah AI itu sendiri telah diciptakan oleh John McCarthy, seorang ilmuwan komputer (computer scientist) asal Amerika, di tahun 1956 pada konferensi Dartmouth. Menurutnya, AI merupakan sebuah ilmu dan rekayasa untuk membuat mesin yang cerdas, khususnya program komputer cerdas.

“AI is the science and engineering of making intelligent machines, especially intelligent computer programs”.

Meskipun di Indonesia dan sekitarnya menganggap secara global bahwa AI digadang-gadang sebagai salah satu faktor pendukung Industri 4.0, namun ia telah tren lebih awal dibandingkan kebanyakan orang kira. Jikalau sebuah mesin dikatakan cerdas kemudian disebut sebagai AI, sebelum McCarthy menyebutkan dan mendefinisikan AI, beberapa tahun sebelumnya telah ada beberapa mesin serupa yang seperti ia definisikan.

Ada di tengah kecamuk Perang Dunia II. Seorang ilmuwan komputer dari Inggris, yang juga matematikawan (mathematician), filsuf, dan gelar lain yang orang sebut padanya; bernama Alan Turing, pun sudah menciptakan sebuah mesin cerdas yang juga diciptakan untuk melawan sebuah mesin cerdas (juga) bernama Enigma yang diciptakan oleh kelompok Nazi Jerman pada saat itu. Enigma merupakan mesin enkripsi yang dikembangkan untuk melindungi pesan-pesan komunikasi baik itu untuk kepentingan komersil, diplomatik, maupun militer-strategis yang sering berlalu lalang di udara melalui gelombang elektromagnet radio. Turing yang memang pada masanya turut serta membantu militer Inggris diminta untuk mendekripsikan pesan dari Jerman yang dienkripsi tersebut.

Jika kita amati kedua mesin tadi dan mau untuk melihat lebih rinci kinerja keduanya, mereka sangat berkaitan erat dengan pemrosesan informasi yang dilakukan secara otomatis. Enigma memiliki “kunci” enkripsi yang dibuat selalu berubah setiap harinya. Hal ini dilakukan untuk menjaga keamanan pesan yang dikirim untuk tidak dapat bisa didekripsi dalam waktu yang cepat. Pada masa itu, dekripsi sebuah pesan normal via udara bisa sampai lebih dari sehari lengkap dengan mencari pola pengacakan kata atau hurufnya. Jika kunci enkripsi itu sendiri selalu diubah setiap hari, musuh yang ingin menyadap pesan yang berlalu lalang tadi akan kesulitan untuk membongkar pesannya karena mereka berpacu dengan waktu. Di situlah mesin Turing berfungsi dengan baik. Turing melihat sebuah pola pada pesan yang dikirim oleh pasukan Jerman. Pola tersebut selalu dapat dipastikan isinya tetap sama olehnya. Dari pola yang sama yang telah ia dapatkan, ia dapat memastikan fungsi pengacakan pesan yang digunakan pada pesan yang lain dan turut serta untuk diaplikasikan pada mesinnya. Tulisan ini bukan terkait enkripsi data, saya melihat tulisannya sudah bergeser dari topik inti. Maka dari itu, meskipun saya teruskan pembahasan terkait kedua mesin lampau ini, saya sendiri butuh riset yang cukup untuk menyampaikan ini semua dan ditambah lagi enkripsi data bukan bidang saya. Haha! However my point was, dengan sistem yang diterapkan oleh kedua mesin tadi yang juga bisa dikatakan peran orang untuk mengendalikan menjadi minim karena adanya otomatisasi di sistem dan mekaniknya, mesin tersebut bisa didefinisikan juga sebagai AI. Kalau pun saya mau mencari sejarah tentang teknologi lebih lampau lagi bukan tidak mungkin bahwa sistem AI sudah benar-benar digunakan jauh lebih lama sebelum istilah AI sendiri itu ada.

Intinya adalah, AI itu seperti apa sih yang secara aktual ada di definisi kekiniannya? Dan lagi, kalian mungkin pernah mendengar istilah lain seperti Machine Learning (ML) dan Deep Learning (DL). Mungkin ya, mungkin tidak. Namun, apa pula ML dan DL? Apa hubungannya dengan AI?

Artificial Intelligence, Machine Learning, dan Deep Learning; apa bedanya?

Evolution of AI — Sumber: https://www.embedded-vision.com

Masih terdapat perdebatan terkait ketiga istilah ini, tentunya saya melihat dari mayoritas pendapat yang sering orang pakai. AI sebenarnya merupakan definisi yang sangat umum. Dari cerita dua mesin cerdas pada masa Perang Dunia II tadi, kita bisa katakan keduanya adalah AI. Banyak pula sebuah perusahaan mengklaim produk mereka menggunakan atau menerapkan AI di dalamnya bahkan seperti yang saya bilang sebelumnya terkait Industri 4.0 yang juga mengklaim teknologi AI di dalamnya. Sementara saat orang yang lebih “mengerti” tentang definisi ini dan memang sering terjun di lingkungan akademik dan riset pada umumnya klaim ini memang tidak salah, namun tidak sepenuhnya benar. Bahasa marketing terkadang membuai orang-orang yang mendengarnya, terlebih jika orang yang mendengar tak menyerap dan mempelajari informasi lebih baik. Saya tak menyalahkan, namun tak juga membenarkan. Toh, saya sendiri berprofesi sebagai AI engineer. Namun generalisir ini perlu diluruskan selagi saya mengerti dan bagi kalian yang ingin mempelajari saja.

Apa sih cerdas? Menurut Kamus Besar Bahasa Indonesia (KBBI), definisi pertama cerdas adalah sempurna perkembangan akal budinya (untuk berpikir, mengerti, dsb); tajam pikiran. Jika mesin bisa berpikir, ya mesin memang dapat berpikir namun dengan informasi yang telah disisipkan oleh si pembuat mesin. Mesin Enigma disisipi perintah untuk mengacak informasi berdasarkan prosedur yang disampaikan. Mesin Turing disisipi perintah untuk menyusun informasi acak berdasarkan prosedur yang juga telah disampaikan. Keduanya berpikir, ya. Karena sistem mesin yang dibuat memang bertujuan untuk itu. Mengapa mereka dikatakan berpikir? Karena sistem mereka adalah duplikasi dari cara berpikir manusia. Jika, dikatakan pesan A adalah B; dan B adalah C; maka dengan info seperti itu kita sudah dapat menebak N adalah O. Mesin dapat dibuat untuk mengerti cara berpikir seperti itu. Sehingga secara umum, mesin atau sistem yang mampu melakukan pengolahan data seperti yang diminta atau dirancang oleh manusia maka ia bisa dikatakan sebagai AI.

Kalkulator=AI. Monitor=AI. Kipas angin=AI. Kompor=AI. Tutup botol=AI. Resleting=AI. Dan lain sebagainya.

Sedangkan Machine Learning (ML), ia merupakan istilah yang jauh lebih mendalam. ML dapat dikatakan sebagai AI, namun tak semua AI adalah ML. ML ini dikatakan sebagai sebuah teknik yang dapat menjadikan komputer memiliki kemampuan untuk melakukan proses belajar (learning) tanpa secara eksplisit dan tegas diprogram atau diberi arahan oleh manusia. Perlu digaris bawahi kata “komputer ”pada kalimat sebelumnya. Kenapa saya tak menggunakan mesin, karena komputer merupakan sebuah mesin yang memang memiliki kemampuan seperti yang dijelaskan tadi. Sedang beberapa mesin pada umumnya tak diberikan kemampuan seperti itu. Itulah alasannya secara spesifik saya menyatakan term komputer di dalamnya. Kita juga tahu bahwa komputer dibuat untuk dapat memudahkan pekerjaan manusia, untuk itulah fungsi pemrograman ada di dalamnya. Namun istilah kedua yang bisa digaris bawahi selanjutnya adalah “proses belajar”. ML memiliki keunggulan dengan sistem learning-nya. Si pengembang tak perlu memprogram secara tegas A=B, B=C, D=E, dan seterusnya dengan gamblang untuk dapat melatihnya mengenkripsi data. Pada kasus ML ini, kita bisa dengan mudah mengajarkan sedikit ilmu dan informasi, misal saja A=B, E=F, K=L, itu sudah cukup untuk ML dapat mempelajari seluruh pola enkripsi dalam sebuah susunan alfabet. Proses belajar pun tak pernah lepas dari namanya kesalahan. Sebelum ML digunakan, ia melakukan proses pelatihan (training) dan di saat itu pula ia akan belajar, melakukan kesalahan, dan belajar dari kesalahan tadi untuk memperbaiki kesalahan, belajar lagi, melakukan kesalahan lagi, sampai akhirnya ia dianggap sudah sangat minim melakukan kesalahan-kesalahan. Takkan sepenuhnya benar, namun ia akan sangat sedikit melakukan kesalahan. Di situlah tiruan kerangka berpikir yang dinamakan proses belajar dari manusia diterapkan, yang bisa kita simpulkan bahwa ML sangat jelas merupakan bagian dari AI.

Struktur ML & DL — Sumber: https://www.xenonstack.com/blog/data-science/log-analytics-deep-machine-learning-ai/

ML yang lebih kekinian dan secara ringkas bisa kita ibaratkan saat kita ingin melatih komputer untuk dapat mengenali sebuah mobil. Maka komputer terlebih dulu kita ajarkan seperti apa mobil, dengan sebuah metode yang sama. Kita masukan banyak informasi, jenis, tipe mobil, supaya nantinya dia paham bahwa ini semuanya adalah mobil. Dengan harapan saat ia diberikan informasi motor, ia memahami bahwa yang ia lihat bukan merupakan mobil. Namun ia belum tahu definisi dari informasi baru tadi. Jika diinginkan komputer tersebut memahami informasi itu adalah motor, maka perlu dilakukan hal yang sama saat ia mempelajari informasi mobil tadi.

Tadi dikatakan bahwa ML memiliki satu metode tertentu untuk melatih sebuah komputer mempelajari satu atau banyak hal. Berbeda halnya dengan Deep Learning (DL). Dalam perspektif yang lain, DL memakai kata deep atau dalam karena proses pembelajaran yang dilakukan lebih kompleks dibandingkan ML. Saking kompleksnya, beberapa ilmuwan yang meriset dan mengembangkan di area DL ini sendiri tak bisa memahami lebih rinci apa yang dikerjakan pada proses DL ini. Bisa dikatakan DL ini semacam black box yang cukup misterius. Namun di sisi yang lain, DL bisa dikatakan sebagai gabungan dari sekian banyak ML atau metode-metode yang dilakukan saat merancang ML. Metode yang dikatakan di sini bisa jadi sama atau beda, kalaupun sama ia memiliki parameter yang berbeda satu sama lain. Dan di sudut pandang yang lain lagi, DL dikatakan sebagai model komputasi yang paling mendekati dengan sistem kerja saraf otak pada manusia. Hal ini akan dibahas lebih lanjut di pembahasan yang lebih detail terkait DL. Dari sekian banyak definisi ini, yang perlu digaris bawahi adalah prinsip kerja dari DL terlalu kompleks untuk didefinisikan secara teoritis. Itulah kenapa banyak peneliti dan pengembang DL di riset ilmiahnya lebih menekankan dalam penjelasan matematis karena lebih mudah untuk direpresentasikan.

Salah satu contoh kasar yang bisa saya ceritakan untuk membedakan secara tegas antara ML dan DL adalah dengan kasus pengenalan mobil tadi. Jika untuk melatih sebuah komputer dengan ML kita harus secara manual memberikan informasi spesifik yang ada pada mobil, seperti roda yang berjumlah empat, terdapat empat sampai delapan kursi di dalamnya, kendali dengan menggunakan setir (biasanya berbentuk lingkaran), pintunya bisa dari dua sampai enam, memiliki mesin di dalamnya, dan ciri-ciri lainnya. Maka, saat kita ingin melatih sebuah komputer dengan tujuan yang sama namun dengan DL, kita hanya perlu menyodorkan atau menunjukkan mobil itu seperti apa. Kita tak perlu mendefinisikan secara rinci ciri-cirinya. DL dengan sendirinya akan memahami ciri-ciri yang ia perlukan pada saat proses belajar berjalan. Bisa jadi ciri yang ia dapatkan kemudian lebih kaya akan informasi dibandingkan ciri yang kita berikan manual saat menggunakan ML.

Dari contoh di atas meskipun DL terkesan lebih dinamis dan lebih “cerdas”, namun saat kalian mempelajari lebih dalam lagi ada sekian banyak trade-off yang perlu dipertimbangkan untuk kita dapat memutuskan teknik apa yang akan kita pakai untuk mengajarkan suatu hal ke komputer.

Dan hey, ML dan DL ini justru lebih relevan dan spesifik saat kita sangkut pautkan untuk menjadi branding sebuah produk atau membawa embel-embel 4.0 something. Tapi saya tak menyalahkan siapapun, after all, any opinions are appreciated kok!

Honda aja disebut sebagai motor gue fine-fine bae! “Pak, beli rinso yang Daia satu!” Mbak-mbak penjual sayur yang numpang lewat aja paham maksudnya. Memang otak manusia bener-bener cerdas, dah!