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. Contoh yang paling mudah adalah deteksi wajah di aplikasi facebook di mana kita bisa tahu wajah seseorang secara otomatis. Saat kita melakukan proses tagging (menandai wajah), maka program FB merekam semuanya. Ia akan belajar dari cara kita menandai wajah seseorang. Semakin lama ia akan semakin akurat mendeteksi wajah foto yang diupload, bahkan tanpa kita minta.

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, K-nearest neighbors, support vector machine, decision tree classification, random forest classification)
  6. Clustering (K-means clustering, hierarchical clustering)
  7. Reinforcement learning
  8. Natural language processing
  9. Deep learning
  10. Principal component analysis (PCA)
  11. Linear descriminant analysis (LDA)
  12. Building AI models

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

  • Computer vision (object detection, face recognition, dll)
  • Cognitive modeling
  • 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

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 blog saya.

Terima kasih