Reinforcement Learning |
Halo teman-teman, pada pembahasan sebelumnya, kita telah berusaha memahami mengenai supervised learning dan unsupervised learning. Sebelum lanjut ke pemodelan statistik selanjutnya, ada baiknya kita membahas tentang satu lagi jenis algoritma machine learning yang akhir-akhir ini banyak digunakan dalam membentuk artificial intelligence (AI), yaitu algoritma reinforcement learning.
Kita ke pengertian berdasarkan studi literatur daring (online) dulu teman-teman. Saya coba mengambil salah satu pengertian reinforcement learning, misalkan dari situsnya Algoritma, menyatakan bahwa reinforcement learning merupakan algoritma yang diterapkan untuk pembelajaran mesin (machine learning) sedemikian rupa sehingga dapat menentukan aksi yang tepat dan pada akhirnya sebuah program dapat bekerja secara otomatis memberikan hasil atau putusan yang benar.
Lebih lanjut dalam situs algoritma mengangkat sebuah perumpamaan reinforcement learning dengan menggunakan proses penugasan pada seekor anjing. Menurut situs tersebut, jika kita memberikan pelatihan terhadap seekor anjing, maka sebuah perintah akan dilaksanakan oleh anjing tersebut dengan benar sesuai yang kita latih. Karena perintah telah dilakukan dengan benar oleh si anjing, maka kita akan memperoleh sebuah penghargaan (reward). Artinya, dalam algoritma ini, sebuah mesin didesain melakukan sebuah perintah berdasarkan situasi yang dihadapinya. Karena tidak ada jawaban yang pasti benar, dalam reinforcement learning sebuah mesin akan belajar dari pengalaman-pengalaman sebelumnya agar terhindar dari kesalahan yang berujung pada pemberian hukuman (punishment) dari atasannya.
Itu sekilas pengertian reinforcement learning menurut situs Algoritma. Masih bingung? Belum paham maksudnya? Baik, kita coba ulas dengan bahasa lain disertai dengan pemisalan lainnya.
Paling enak kalau kita berdiskusi soal reinforcement learning itu kita kaitkan dengan permainan atau game. Sebelum jauh pembahasannya, kita perlu sebuah grafik alur (flow chart) dulu untuk mengulasnya lebih mendalam sebagai berikut:
Flow chart reinforcement learning pada machine learning |
Jadi, dalam struktur algoritma reinforcement learning, itu terdapat 2 elemen setidaknya yang saling berkaitan, yaitu agent dan enviroment. Agent ini kalau di dalam dunia game itu merupakan karakter asli (wujud orang, binatang, atau lainnya) yang menggambarkan pengguna (user) dari game. Kalau kita bermain PUPG misalkan, avatar atau orang (karakter) yang kita mainkan itu disebut sebagai agent.
Biasanya dalam sebuah game, terdapat beberapa karakter (entah bentuknya benda, bandar, guide, pelayan, dan sejenisnya) yang mengambil peran sebagai pemberi informasi sekaligus memberikan pelayanan terhadap karakter yang kita gunakan (agent), misalkan bila kita ingin membeli senjata atau pistol, itu akan dilayani oleh karakter tersebut. Karakter pemberi informasi dan layanan inilah yang kalau di dalam algoritma reinforcement learning disebut sebagai enviroment atau kalau kita meminjam istilah dunia game disebut sebagai Non Player Character (NPC). Biasanya NPC inilah yang menawarkan pelayanan jual beli senjata atau item karakter, sebagai guide. Sehingga di dalam Environment atau NPC ini biasa tersedia sebuah pasar (market) tempat bertemunya antara agent dengan NPC. Ini kalau situasi dan kondisinya adalah game-game berjenis Battle Royale Arena (BRA).
Interaksi antara agent dengan environment yang berbentuk NPC tadi sebenarnya merupakan data. Mirip dengan ketika kita melatih sejumlah perintah kepada seekor anjing sebagaimana pengertian dari situs Algoritma tadi. Data interaksi itu akan disimpan dalam memori environment termasuk NPC untuk menghadapi situasi atau kemungkinan yang berikutnya yang pasti berbeda, misalnya di dalam game yang berjenis Massively Multiplayer Online Role Playing Game (MMOR-PG). Algoritma yang sama juga diaplikasikan dalam game berjenis Multiplayer Online Battle Arena (MOBA) seperti mobile legend, DOTA, COC, termasuk game berjenis FPS online seperti Counter Strike atau game berjenis Role Playing Game (RPG) semisal Angry Birds.
Berikutnya, keluaran atau output dari proses pelayanan NPC di dalam environment ini akan membentuk sebuah penghargaan (reward) atau state kepada si agent. Mirip dengan kesuksesan seekor anjing tadi, ketika ia berhasil melaksanakan perintah dengan benar, maka sebuah reward atau state diberikan kepada si pelatih (agent).
Prinsip dasar dari reinforcement learning ini adalah bagaimana membuat mesin semakin cerdas dan fleksibel mengikuti situasi dan kondisi dengan cara memberikan data-data yang akumulatif sehingga keputusan yang diambil oleh mesin lebih tepat karena mempertimbangkan situasi dan kondisi sesuai pengalamannya. Data interaksi berupa kata-kata, pertanyaan, atau harga, masuk satu per satu ke dalam memori mesin sehingga mesin dapat membentuk pola situasional sebagai bekal melakukan tugas berikutnya.
Lantas? Apa bedanya dengan supervised learning? Inti perbedaan reinforcement learning dengan supervised learning terletak pada kepastian jawaban yang diberikan oleh environment. Kalau supervised learning, jawaban yang diberikan bersifat kaku karena data terlabelisasinya terbatas dan tidak situasional, sedangkan jawaban yang diberikan oleh algoritma reinforcement learning bersifat situasional, lebih fleksibel, dan untuk menentukan sebuah keputusan benar-benar mempertimbangkan banyak data yang telah dihasilkan dari proses interaksi antara agent dan environment.
Demikian sedikit ulasan mengenai reinforcement learning, semoga sedikit membuka gerbang pemahaman kita semua. Khususnya bagi penggemar analisis data, tetapi tidak memiliki latar belakang keahlian IT seperti saya. Terima kasih dan selamat memahami!