Apa itu reinforcement learning?

Reinforcement learning (RL) adalah jenis machine learning di mana "agen" mempelajari perilaku optimal melalui interaksi dengan lingkungannya. Alih-alih mengandalkan pemrograman eksplisit atau set data berlabel, agen ini belajar dengan metode uji coba, dengan menerima masukan dalam bentuk reward atau penalti atas tindakannya. Proses ini mencerminkan cara orang biasanya belajar secara alami, sehingga RL menjadi pendekatan yang efektif untuk menciptakan sistem cerdas yang mampu memecahkan masalah kompleks.

Memahami reinforcement learning

Reinforcement learning adalah tentang belajar membuat keputusan. Bayangkan sebuah agen, yang bisa berupa program software atau robot, sedang menjelajahi suatu lingkungan. Lingkungan ini bisa berupa ruang fisik, dunia game virtual, atau bahkan pasar. Agen mengambil tindakan dalam lingkungan ini, dan tindakan tersebut dapat menghasilkan hasil tertentu, beberapa di antaranya lebih diinginkan daripada yang lain.

Tujuan agen adalah mendapatkan reward sebanyak mungkin dari waktu ke waktu. Hal ini dilakukan agen dengan mempelajari kebijakan, yang pada dasarnya adalah strategi yang memberi tahu tindakan apa yang harus diambil dalam situasi apa pun. Kebijakan ini disempurnakan melalui banyak iterasi interaksi dengan lingkungan.

Sebagai ilustrasi, pertimbangkan AI yang bermain catur. Tindakan agen adalah langkah yang dilakukannya di papan catur. Lingkungan adalah status game saat ini, dan rewardnya adalah memenangkan game. Melalui permainan berulang dan masukan tentang langkah-langkahnya, agen RL mempelajari tindakan mana yang lebih mungkin mengarah pada kemenangan.

Bagaimana cara kerja reinforcement learning?

Proses pembelajaran dalam reinforcement learning didorong oleh feedback loop yang terdiri dari empat elemen utama:

  • Agen: Pelajar dan pembuat keputusan dalam sistem
  • Lingkungan: Dunia eksternal tempat agen berinteraksi
  • Tindakan: Pilihan yang dapat dibuat agen di setiap langkah
  • Reward: Masukan yang diterima agen setelah mengambil tindakan, yang menunjukkan keinginan akan hasil

Berikut cara kerja feedback loop ini:

  1. Agen mengamati status lingkungan saat ini.
  2. Berdasarkan kebijakannya, agen memilih dan melakukan tindakan.
  3. Lingkungan merespons tindakan tersebut, dan bertransisi ke status baru.
  4. Agen menerima sinyal reward, yang mencerminkan nilai status baru.
  5. Informasi reward ini digunakan untuk memperbarui kebijakan agen, sehingga agen lebih cenderung memilih tindakan yang menghasilkan reward positif di masa lalu.

Proses bolak-balik mencoba berbagai hal, mendapatkan masukan, dan meningkatkan aturan ini terus berlanjut hingga sistem mempelajari cara terbaik untuk mendapatkan reward terbanyak seiring waktu.

Jenis-jenis reinforcement learning

Ada dua jenis utama reinforcement learning: berbasis model dan bebas model. 

Berbasis model

Dalam reinforcement learning berbasis model, agen mencoba membangun model internal lingkungan. Model ini memungkinkan agen memprediksi konsekuensi dari tindakannya sebelum benar-benar melakukannya, sehingga memungkinkan pendekatan yang lebih terencana dan strategis.

Bayangkan robot yang belajar menavigasi labirin. Agen RL berbasis model akan mencoba membuat representasi internal tata letak labirin. Robot ini kemudian akan menggunakan model ini untuk merencanakan jalur, menyimulasikan berbagai tindakan dan hasil yang diprediksi sebelum benar-benar bergerak.

Bebas model

Di sisi lain, reinforcement learning bebas model tidak bergantung pada pembuatan model lingkungan yang eksplisit. Sebaliknya, RL berfokus pada mempelajari kebijakan optimal secara langsung dengan mengaitkan tindakan dengan nilai berdasarkan reward yang diterima.

Kembali ke contoh labirin, agen bebas model tidak akan repot memetakan seluruh labirin. Sebaliknya, agen akan mempelajari tindakan mana, seperti belok kiri atau kanan di persimpangan tertentu, yang lebih mungkin mengarah ke pintu keluar berdasarkan pengalaman sebelumnya dan reward yang diterima.

Teknik reinforcement learning

Meskipun tujuannya selalu untuk memaksimalkan reward, teknik RL yang berbeda menawarkan strategi yang berbeda untuk mencapainya. Mari kita kembali ke robot kita di labirin:

  • Q-Learning: Ini adalah metode bebas model yang populer. Bayangkan robot membuat "lembar contekan" saat menjelajah. Untuk setiap persimpangan (status), lembar ini mencantumkan "skor kualitas" (nilai Q) untuk setiap belokan (tindakan) yang mungkin. Setelah banyak mencoba, robot mempelajari skor terbaik untuk setiap belokan di setiap persimpangan. Untuk menemukan jalan keluar, robot cukup mengikuti jalur dengan skor tertinggi di lembar contekannya.
  • SARSA (State-Action-Reward-State-Action): Metode ini sangat mirip dengan Q-Learning, tetapi robotnya sedikit lebih berhati-hati. Alih-alih selalu menganggapnya akan mengambil langkah terbaik berikutnya, robot memperbarui lembar contekannya berdasarkan tindakan yang benar-benar diambil sesuai dengan strategi saat ini. Hal ini menjadikannya metode "on-policy", karena metode ini belajar berdasarkan kebijakan yang saat ini diikuti.
  • Deep Q-Networks (DQN): Bagaimana jika labirinnya sangat besar, dengan jutaan kemungkinan status (seperti layar video game)? Lembar contekan tidak praktis. DQN menggantikan lembar contekan dengan jaringan neural dalam. Jaringan ini bertindak sebagai "fungsi" cerdas yang dapat melihat status baru dan memperkirakan Q-value, meskipun belum pernah melihat situasi yang sama persis sebelumnya. Beginilah cara AI DeepMind belajar bermain game Atari.
  • Metode gradien kebijakan: Metode ini mengambil pendekatan yang lebih langsung. Alih-alih mempelajari nilai untuk setiap tindakan, robot mempelajari kebijakan umum, atau serangkaian probabilitas tentang apa yang harus dilakukan dalam situasi apa pun (misalnya, "70% kemungkinan saya harus belok kiri di persimpangan T"). Kemudian, model ini menyesuaikan probabilitas ini secara langsung berdasarkan apakah perjalanan keseluruhannya berhasil atau tidak, sehingga secara bertahap meningkatkan "nalurinya" untuk memaksimalkan reward akhir.

Kapan menggunakan reinforcement learning

Reinforcement learning adalah alat canggih yang paling cocok untuk skenario tertentu. Berikut beberapa contoh keunggulan RL:

Lingkungan kompleks dengan banyak status dan tindakan

RL dapat menangani situasi yang terlalu rumit bagi pemrograman tradisional atau sistem berbasis aturan.

Situasi saat data dihasilkan melalui interaksi

Reinforcement learning berkembang pesat ketika agen dapat belajar dengan berinteraksi aktif dengan lingkungannya dan menerima masukan.

Sasaran yang melibatkan pengoptimalan jangka panjang

Tugas yang memerlukan pemaksimalan reward kumulatif dari waktu ke waktu sangat cocok untuk reinforcement learning.

Keuntungan dan tantangan reinforcement learning

Reinforcement learning adalah cara yang baik untuk memecahkan masalah sulit, tetapi penting untuk memikirkan kekuatan dan kelemahannya. Mengetahui potensi manfaat dan tantangan ini membantu memutuskan apakah RL tepat untuk berbagai pekerjaan dan cara menggunakannya.

Keuntungan RL

  • Dapat menyelesaikan masalah kompleks: Reinforcement learning dapat bekerja dengan baik dalam skenario yang sulit diselesaikan dengan pendekatan pemrograman tradisional, sehingga menawarkan solusi untuk masalah yang rumit
  • Kemampuan beradaptasi: Agen RL dapat beradaptasi dengan lingkungan yang berubah dan mempelajari strategi baru, sehingga cocok untuk situasi dinamis
  • Menemukan solusi optimal: Melalui eksplorasi dan pembelajaran berkelanjutan, RL bertujuan menemukan strategi paling efektif untuk mencapai sasaran

Tantangan RL

  • Dapat menjadi intensif data: Reinforcement learning sering kali memerlukan data interaksi dalam jumlah besar untuk belajar secara efektif, yang dapat memakan waktu dan membutuhkan banyak sumber daya untuk dikumpulkan
  • Desain reward sangat penting: Keberhasilan RL sangat bergantung pada perancangan fungsi reward yang secara akurat mencerminkan perilaku yang diinginkan, yang dapat menjadi tantangan dalam beberapa tugas
  • Masalah keamanan dalam aplikasi dunia nyata: Dalam skenario dunia nyata, seperti robotika, memastikan tindakan agen aman selama proses pembelajaran sangat penting

Reinforcement learning vs. supervised dan unsupervised learning

Reinforcement learning, supervised learning, dan unsupervised learning adalah subbidang machine learning, tetapi ketiganya berbeda dalam pendekatan dasarnya:

  • Supervised learning: Dalam supervised learning, algoritma belajar dari set data berlabel, dengan memetakan input ke output berdasarkan contoh yang diberikan; anggap saja seperti belajar dengan guru yang memberikan jawaban yang benar
  • Unsupervised learning: Algoritma unsupervised learning mengeksplorasi data tidak berlabel untuk mengidentifikasi pola, hubungan, atau struktur; seperti belajar tanpa guru, dengan mencoba memahami data secara mandiri
  • Reinforcement learning: RL, seperti yang telah kita pelajari, berfokus pada pembelajaran melalui interaksi dengan lingkungan dan menerima masukan dalam bentuk reward atau penalti; ini seperti belajar dengan uji coba, dan menyesuaikan perilaku berdasarkan hasil tindakan

Penerapan reinforcement learning

Kemampuan RL untuk mempelajari perilaku kompleks melalui interaksi menjadikannya alat yang cocok untuk berbagai penggunaan, termasuk:

Sistem rekomendasi

Reinforcement learning dapat membantu mempersonalisasi rekomendasi dengan mempelajari interaksi pengguna. Dengan memperlakukan klik, pembelian, atau waktu tonton sebagai sinyal, algoritma RL dapat mengoptimalkan mesin pemberi saran untuk memaksimalkan interaksi dan kepuasan pengguna. Misalnya, layanan streaming musik dapat menggunakan RL untuk menyarankan lagu atau artis yang sesuai dengan preferensi pengguna yang terus berkembang.

Pengembangan game

Industri game telah mengadopsi reinforcement learning, menggunakannya untuk mengembangkan agen bermain game yang sangat terampil. Agen AI ini, yang dilatih melalui RL, dapat mencapai kemahiran luar biasa dalam game yang kompleks, yang menunjukkan kemampuan berpikir strategis dan pengambilan keputusan yang canggih. Contoh pentingnya adalah AlphaGo dan AlphaZero, yang dibuat oleh DeepMind, yang menunjukkan kekuatan RL dengan mencapai performa tingkat atas dalam game seperti catur.

Kontrol robotika

RL membantu robot mempelajari keterampilan motorik yang kompleks dan menavigasi lingkungan yang menantang. Dengan memberi reward kepada robot atas perilaku yang diinginkan, seperti memegang objek atau bergerak secara efisien, RL dapat membantu mengotomatiskan tugas yang memerlukan ketangkasan dan kemampuan beradaptasi. Hal ini dapat diterapkan dalam bidang manufaktur, logistik, dan bahkan layanan kesehatan, di mana robot dapat membantu operasi atau perawatan pasien.

Membangun dan menskalakan solusi reinforcement learning di Google Cloud

Pengembangan sistem reinforcement learning memerlukan platform yang tangguh untuk melatih agen dan lingkungan yang skalabel untuk men-deploy-nya. Google Cloud menyediakan komponen yang diperlukan:

  • Untuk membangun dan melatih model: Vertex AI adalah platform machine learning terpadu yang menyederhanakan seluruh alur kerja ML; Anda dapat menggunakannya untuk membangun, melatih, dan mengelola model, eksperimen, dan data RL Anda di satu tempat
  • Untuk deployment yang skalabel: Agen RL sering kali perlu di-deploy di lingkungan yang kompleks dan dinamis; Google Kubernetes Engine (GKE) menyediakan layanan terkelola dan skalabel untuk menjalankan agen dalam container Anda, sehingga memungkinkan mereka berinteraksi dengan lingkungan dan menskalakannya sesuai kebutuhan

Langkah selanjutnya

Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.