Artificial Intelligence

Ilustrasi AI

Artificial Intelligence (AI) atau yang diartikan sebagai kecerdasan buatan merupakan topik yang sangat hangat. Aplikasinya pun sangat luas, mulai dari skala yang kecil, besar, bahkan hingga tingkat kenegaraan. Secara umum, AI dapat diartikan sebagai sebuah keilmuan yang meniru kecerdasan manusia. Sebuah program AI belajar dari pengalamannya untuk bisa menentukan keputusan yang akan dibuatnya. Semakin lama ia dijalankan, maka ia akan semakin pintar, dan semakin ‘bijak’ dalam mengambil keputusan.

Secara teknis, untuk bisa membuat sebuah program AI, maka tidak akan lepas dari machine learning (ML). ML adalah cabang ilmu AI yang mempelajari bagaimana membuat sebuah program belajar. Saat kita membahas AI, maka kita akan selalu membahas ML.

Secara umum, ML dibagi menjadi 3 yaitu:

  • Supervised learning
  • Unsupervised learning
  • Reinforcement learning

Supervised learning (SL) adalah teknik di mana kita mengajarkan program apa yang harus ia lakukan. Kita memberikan soal sekaligus memberikan jawabannya. Harapannya adalah program dapat belajar dari jawaban yang sudah diberikan untuk bisa menyelesaikan soal yang benar-benar baru di masa depan. Misal kita ingin melakukan peramalan permintaan dari sebuah penjualan produk. Maka kita memberikan berapa jumlah permintaan selama 3 tahun terakhir. Dengan demikian, SL akan mampu memprediksi penjualan untuk tahun-tahun selanjutnya.

Unsupervised learning (UL) adalah teknik pembelajaran program tanpa kita beri contoh sama sekali. Semisal sebuah perusahaan ingin mengelompokkan pelanggannya. Pemilik perusahaan tidak tahu apakah pelanggannya bisa dikelompokkan ke dalam beberapa kelompok (cluster) atau tidak. Ia pun juga tidak tahu, jika memang bisa dikelompokkan, harus berapa jumlah kelompok idealnya. Pengelompokannya seperti apa? Kriterianya apa saja? dan parameter lainnya. UL akan melakukan proses clustering untuk pemilik perusahaan tadi. Tentunya semakin ketat parameter algoritmanya, semakin baik hasilnya.

Reinforcement learning (RL) menurut hemat saya adalah program AI yang sesungguhnya. Ia belajar dari pengalaman yang didapat. Layaknya manusia, yang juga belajar dari pengalaman, maka semakin lama usia manusia tersebut, semakin banyak pula pengalamannya. Seperti apa aplikasinya? Banyak sekali. Salah satu contohnya adalah ketika kita mengajarkan kepada robot bagaimana caranya berjalan, berlari, berbicara dan melakukan aktivitas lain seperti layaknya manusia. Dengan sebuah teknik yang meniru cara otak berpikir, maka proses pembelajaran robot ini bisa semakin cepat. Teknik ini sering dikenal dengan istilah Deep Reinforcement Learning, kombinasi antara deep learning dan reinforcement learning.

Logo AlphaGo

Contoh lain dari RL adalah aplikasi AlphaZero buatan IBM. Ini merupakan aplikasi catur yang bisa mengalahkan grandmaster juara dunia catur Garry Kasparov di tahun 1997. Mirip dengan catur, aplikasi Alphago buatan Google (program catur jepang) juga berhasil mengalahkan juara dunia Lee Sedol di tahun 2016.

Manusia kalah dengan mesin? Ya, itulah yang terjadi. Program-program ini belajar dari pengalaman lawan mainnya. Di mana semakin banyak ia bermain, maka semakin pintar ia. Tentunya sebelum melawan juara dunia tadi, aplikasi ini sudah dilatih melalui permainan ratusan bahkan ribuan kali melawan manusia sungguhan untuk mendapatkan pengalaman dan pembelajaran yang sempurna. Hebatnya mesin tidak pernah lupa, sementara manusia mungkin lupa dan lalai. Walau demikian, mesin tetaplah mesin, ia hanya bisa melakukan perintah pembuatnya, yaitu bermain catur!

Dalam aplikasi real di dunia nyata, sebuah program AI tidaklah dipisah-pisah ke dalam 3 golongan tadi. Bisa jadi algoritmanya merupakan algoritma campuran kombinasi ketiga-tiganya. Semakin sulit tujuan pembuat program, maka semakin kompleks pula algoritma yang harus disusun.

Beberapa teknik ML yang akan kita pelajari adalah sebagai berikut:

  1. Persiapan data awal (preprocessing)
  2. Training set dan test set
  3. Feature scaling
  4. Regression (simple linear, multilinear, polynomial, support vector regression, decision tree regression, random forest regression)
  5. Classification (logistic regression, k-nearest neighbors, support vector machines, naive Bayes, decision tree classification, random forest classification)
  6. Clustering (k-means clustering, hierarchical clustering)
  7. Association rule learning (apriori, eclat)
  8. Natural language processing
  9. Reinforcement learning (K-armed bandit, tic-tac-toe, markov decision process, dynamic programming, monte carlo)
  10. Deep learning (artificial neural networks (teori), ANN (aplikasi), convolutional neural networks (teori), CNN (aplikasi), recurrent neural networks, deep Boltzmann machines, self-organizing maps, auto-encoders).
  11. Deep reinforcement learning
  12. Principal component analysis (PCA)
  13. Linear discriminant analysis (LDA)
  14. Building AI models

Beberapa aplikasi AI dengan mengombinasikan berbagai teknik ML yang akan dipelajari:

  • Computer vision (object detection, face recognition, dll)
  • Diagnosis penyakit di tahap awal
  • Memprediksi kanker (ganas dan tidak ganas)
  • Cognitive modeling
  • Meminimasi biaya di perusahaan (real case studies)
  • Memaksimalkan profit perusahaan (real case studies)
  • Game creation (human vs machine)

Agar bisa memahami aplikasi AI dalam dunia nyata dan bukan hanya teori, saya akan berbagi dan mengawalinya dengan memperkenalkan dua bahasa pemrograman yaitu Python dan R. Pembahasan dua bahasa ini hanya pada intisarinya saja. Walau demikian, materi disusun semudah mungkin untuk dipahami. Tidak perlu menguasai dua-duanya, cukup pilih salah satu saja, apakah Python atau R:

  1. Basic Python for ML
  2. Basic R for ML

Bahasa pemrograman lain yang familiar untuk AI adalah menggunakan Matlab. Namun karena Matlab adalah aplikasi berbayar dan mahal, dibandingkan dengan Python dan R yang gratis, maka kita tidak akan membahas Matlab di sini.

Untuk bisa membaca beberapa artikel terkait AI yang saya tulis, silakan klik artikel artificial intelligence.

Halaman ini akan terus saya update. Saya akan berbagi berbagai teknik AI, cara programming, dan aplikasi realnya.

Terus kunjungi web saya!

Terima kasih

Bagikan artikel ini: