Pada bulan Maret tahun 2016 lalu, dunia dikejutkan oleh sebuah program komputer yang berhasil memenangkan pertandingan formal dari sebuah permainan papan strategis yang biasa dimainkan oleh dua pemain, yaitu Go. Program komputer tersebut disebut AlphaGo dan program tersebut mengalahkan pemain professional yang bahkan juga disebut sebagai pemain legendary. Pemain tersebut bernama Lee Sedol, yang berasal dari Korea Selatan. Dalam pertandingan tersebut, AlphaGo berhasil mengalahkan Lee Sedol dengan skor 4 – 1.

AlphaGo adalah sebuah program komputer yang dikembangkan oleh Google Deepmind di London. Algoritma yang ada di AlphaGo menggunakan kombinasi dari teknik machine learning dan teknik tree search, lalu juga digabung dengan latihan secara ekstensif yang didapat dari pertandingan melawan manusia juga komputer program lain. AlphaGo dikembangkan menggunakan teknik deep neural network. Sistem neural network ini awalnya ‘ditanamkan pengetahuan’ yang berasal dari permainan manusia. Awalnya AlphaGo dilatih untuk menirukan gaya permainan manusia dengan cara mencoba menirukan langkah yang dilakukan oleh para pemain ahli, menggunakan data yang ada dari dahulu sampai sekarang, yang kurang lebih memiliki tiga puluh juta langkah. Setelah AlphaGo mencapai pada titik tertentu, AlphaGo kemudian dilatih melawan dirinya sendiri dalam jumlah permainan yang besar, dan kemudian menggunakan teknik reinforcement learning untuk meningkatkan kualitas permainannya sendiri. AlphaGo sendiri sudah diatur untuk menyatakan dirinya kalah jika probabilitas kemenangan dari AlphaGo berada dibawah nilai tertentu. Pada pertandingan melawan Lee Sedol, batas nilai ini diatur pada angka 20%.

Reinforcement Learning sendiri adalah salah satu teknik dari Machine Learning dimana agent mempelajari sesuatu hal dengan cara melakukan aksi tertentu dan melihat hasil dari aksi tersebut (belajar berdasarkan pengalaman yang dialami oleh agent tersebut). Pada Reinforcement Learning (RL), proses belajar dapat digambarkan sebagai sebuah loop dimana:

  • Agent menerima sebuah State (S0) dari Environment yang ada.
  • Berdasarkan State tersebut (S0), agent akan melakukan sebuah aksi (A0)
  • Environment akan berubah menjadi State baru (S1)
  • Environment akan memberikan sebuah ‘Reward’ (R1) pada agent.

Lalu, proses tersebut akan dilakukan berulang, yang tujuannya nanti adalah agent tersebut dapat memaksimalkan kumulatif reward yang didapat.

Reinforcement learning cocok untuk digunakan ketika pada saat proses learning, kita tidak memiliki ‘kunci jawaban‘ yang tepat untuk latihan yang kita lakukan terhadap mesin kita. Tidak seperti supervised learning, dimana ‘kunci jawaban’ tersebut sudah di definisikan. Namun, agent tetap harus bisa menjalankan tugasnya , oleh karena itu agent pada RL , dilatih dengan cara belajar dari pengalaman dan trial and error saat mencoba melakukan sesuatu tugas tertentu, dan memaksimalkan reward yang dapat di peroleh oleh si agent tersebut.

Seperti pada proses pengembangan AlphaGo, AlphaGo akan melawan dirinya sendiri dalam angka yang besar, dan mempelajari setiap aksi yang dilakukan oleh dirinya sendiri, tujuannya untuk melatih dirinya sendiri. Data yang didapat dari setiap hasil pertandingan melawan dirinya sendiri akan digunakan dalam proses Reinforcement Learning untuk mengembangkan ‘kepintaran’ dari AlphaGo dalam mengambil langkah dan aksi yang tepat di pertandingan selanjutnya. Begitu seterusnya sampai AlphaGo menjadi program komputer yang dapat mengalahkan pemain professional .

Author :

  • Kevin Chandra (1901464176)
  • Irene Anindaputri Iswanto, S.Kom., M.Sc.Eng (D5874)

Reference: