REINFORCEMENT LEARNING

 

Reinforcement Learning

Reinforcement Learning berbeda berbeda dengan supervised maupun unsupervised learning. Algoritma ini dimaksudkan untuk membuat komputer dapat belajar sendiri dari lingkungan (environtment) melalui sebuah agent. Jadi komputer akan melakukan pencarian sendiri (self discovery) dengan cara berinteraksi dengan environment.

Reinforcement-learning didefinisikan sebagai metode machine learning yang berkaitan dengan bagaimana agent perangkat lunak harus mengambil action di dalam environment. RL adalah bagian dari metode deep learning yang membantu Anda memaksimalkan sebagian dari reward kumulatif.

Model Pembelajaran Reinforcement Learning

Ada dua model pembelajaran penting dalam reinforcement learning yaitu:

  • Markov Decision Process

Markov Decision Process lebih dikenal dengan MDP adalah suatu pendekatan dalam RL untuk mengambil keputusan dalam environment gridworld. Lingkungan gridworld terdiri dari state dalam bentuk grid.

MDP mencoba menangkap dunia dalam bentuk grid dengan membaginya menjadi state, action, model / model transition, dan reward. Solusi untuk MDP disebut policy dan tujuannya adalah menemukan policy yang optimal untuk tugas MDP tersebut. Oleh karenanya parameter berikut digunakan untuk mendapatkan solusi yang diharapkan:

    • Set of states -S
    • Set of actions- A(s), A
    • Transition- T(s,a,s’) ~ P(s’|s,a)
    • Reward- R(s), R(s,a), R(s,a,s’)
    • Policy- n
    • Value- V

MDP jika digambarkan kurang lebih seperti ini:

Cara Kerja Reinforcement Learning
          Cara Kerja Reinforcement Learning (MDP)

    Algoritma RL akan mencoba berbagai pilihan dan kemungkinan yang berbeda, melakukan pengamatan (observation) dan evaluasi (evaluation) setiap pencapaian. Reinforcement learning dapat belajar dari pengalaman. Agent di dalam environtment diharuskan mengambil tindakan yang didasarkan pada state saat ini. Jenis pembelajaran ini berbeda dengan supervised learning dalam artian data training pada model sebelumnya memiliki output mapping yang disediakan sedemikian rupa sehingga model mampu mempelajari jawaban yang benar. Sedangkan dalam hal ini RL tidak ada kunci jawaban yang disediakan kepada agent ketika harus melakukan action tertentu. Jika tidak ada set data pelatihan, ia belajar dari pengalamannya sendiri.

Q Learning

Q-learning (disebut sebagai model free algorithm) adalah algoritma RL tanpa model untuk mempelajari policy yang memberi tahu agen tindakan apa yang harus diambil dalam keadaan apa. Q-learning tidak memerlukan model dari environtment, dan dapat menangani masalah dengan transisi stokastik dan reward, tanpa memerlukan adaptasi.

Apa ini 'Q'?
Definisi Q-learning

  • Q * (s, a) adalah nilai yang diharapkan (reward diskon kumulatif) dari melakukan a in state dan kemudian mengikuti kebijakan yang optimal.
  • Q-learning menggunakan Perbedaan Temporal (TD) untuk memperkirakan nilai Q * (s, a). Perbedaan temporal adalah agen yang belajar dari lingkungan melalui episode tanpa pengetahuan sebelumnya tentang lingkungan.
  • Agen memelihara tabel Q [S, A] , di mana S adalah himpunan status dan A adalah himpunan tindakan .
  • Q [s, a] mewakili estimasi saat ini dari Q * (s, a).
Agen dan Lingkungannya
Memperkenalkan Q-Table
Fungsi-Q
Persamaan Bellman. Sumber: link
Proses Algoritma Q-learning
Algoritma Q-learning
Langkah 1: Inisialisasi Q-Table
Langkah 2: Pilih Tindakan
Langkah 3: Lakukan Tindakan
Tindakan: Agen mengikuti 'benar'

Tabel Q yang diperbarui

Penjelasan Persamaan Bellman untuk episode

Gambar (a) Imbalan Positif, (b) & (c) Imbalan Negatif

Contoh tabel-Q akhir

Navigasi agen menuju tujuan

Merencanakan hasil untuk jumlah langkah (a) Episode melalui langkah, (b) Episode melalui biaya
'Q' dalam Q-learning berarti kualitas. Kualitas di sini mewakili seberapa berguna tindakan tertentu dalam mendapatkan imbalan di masa mendatang.

Di bagian ini, pembelajaran Q telah dijelaskan bersama dengan demo.

Katakanlah seorang agen harus berpindah dari titik awal ke titik akhir di sepanjang jalur yang memiliki rintangan. Agen harus mencapai target dalam jalur sesingkat mungkin tanpa mengenai rintangan dan dia harus mengikuti batas yang dicakup oleh rintangan. Demi kenyamanan kami, saya telah memperkenalkan ini dalam lingkungan grid yang disesuaikan sebagai berikut.

Q-Table adalah struktur data yang digunakan untuk menghitung imbalan masa depan maksimum yang diharapkan untuk tindakan di setiap negara bagian. Pada dasarnya, tabel ini akan memandu kita ke tindakan terbaik di setiap negara bagian. Untuk mempelajari setiap nilai dari Q-table digunakan algoritma Q-Learning.

Fungsi-Q menggunakan persamaan Bellman dan mengambil dua masukan: keadaan (s) dan aksi (a).

Pertama, Q-table harus dibangun. Ada n kolom, di mana n = jumlah tindakan. Ada m baris, di mana m = jumlah status.

Dalam contoh kita n = Ke Kiri, Ke Kanan, Ke Atas dan Ke Bawah dan m = Mulai, Diam, Jalan Yang Benar, Jalan Yang Salah dan Akhir. Pertama, mari kita inisialisasi nilai pada 0.

Kombinasi langkah 2 dan 3 dilakukan untuk waktu yang tidak ditentukan. Langkah-langkah ini berjalan hingga waktu pelatihan dihentikan, atau saat loop pelatihan berhenti seperti yang ditentukan dalam kode.

Pertama, tindakan (a) di negara bagian dipilih berdasarkan Q-Table. Perhatikan bahwa, seperti yang disebutkan sebelumnya, saat episode pertama kali dimulai, setiap nilai Q harus 0.

Kemudian, perbarui nilai Q untuk berada di awal dan ke kanan menggunakan persamaan Bellman yang disebutkan di atas.

Konsep strategi rakus Epsilon ikut bermain di sini. Pada awalnya, tingkat epsilon akan lebih tinggi. Agen akan menjelajahi lingkungan dan memilih tindakan secara acak. Ini terjadi secara logis, karena agen tidak tahu apa-apa tentang lingkungan. Saat agen menjelajahi lingkungan, laju epsilon menurun dan agen mulai mengeksploitasi lingkungan.

Selama proses eksplorasi, agen semakin percaya diri dalam memperkirakan nilai-Q.

Dalam contoh Agen kami, saat pelatihan agen dimulai, agen sama sekali tidak menyadari lingkungan. Jadi katakanlah itu mengambil tindakan acak ke arah yang 'benar'.

Sekarang kita dapat memperbarui nilai-Q untuk berada di awal dan bergerak ke kanan menggunakan persamaan Bellman.

Langkah 4: Mengukur Imbalan

Sekarang kami telah mengambil tindakan dan mengamati hasil dan penghargaan.

Langkah 5: Evaluasi

Kita perlu memperbarui fungsi Q (s, a).

Proses ini diulangi lagi dan lagi sampai pembelajaran dihentikan. Dengan cara ini Tabel-Q diperbarui dan fungsi nilai Q dimaksimalkan. Di sini Q (keadaan, tindakan) mengembalikan imbalan masa depan yang diharapkan dari tindakan itu pada keadaan itu.

Dalam contoh, saya telah memasukkan skema penghargaan sebagai berikut.

Hadiah ketika jangkauan semakin dekat ke tujuan = +1

Imbalan saat terkena rintangan = -1

Hadiah saat idle = 0

Awalnya, kami menjelajahi lingkungan agen dan memperbarui Q-Table. Ketika Q-Table siap, agen mulai mengeksploitasi lingkungan dan mulai mengambil tindakan yang lebih baik. Tabel Q akhir bisa seperti berikut (misalnya).


Algoritma Reinforcement Learning
Algoritma yang termasuk reinforcement learning: Q-Learning, State-Action-Reward-State-Action (SARSA), Deep Q Network (DQN), Deep Deterministic Policy Gradient (DDPG), Actor Critic, Monte Carlo Tree Search (MCTS) [1].

Untuk lebih lengkapnya tentang algoritma RL bisa dilihat pada gambar berikut ini:

Reinforcement Learning Algorithm
Reinforcement Learning Algorithm
Penerapan Reinforcement Learning
Google telah mengimplementasikan penerapan reinforcement learning pada sistem Google’s Active Query Answering (AQA) mereka. Jadi chat bot ini akan melakukan formulasi ulang atas pertanyaan yang diketikkan oleh pengguna.

Sebagai contoh, jika anda menanyakan pertanyaan “Kapan hari kemerdekaan RI” maka AQA ajab mereformulasi pertanyaan tersebut menjadi beberapa pertanyaan berbeda misalnya “Tanggal berapa hari kemerdekaan RI”, “Kapan HUT RI”, “Ulang tahun Indonesia”, dll. Proses reformulasi ini telah mengutilisasi model sequence to sequence, tetapi Google telah mengintegrasikan reinforcement learning agar pengguna dapat berinteraksi dengan sistem menjadi lebih baik.

Area penerapan reinforcement learning meliputi:

Robotika untuk otomasi industri.
Perencanaan strategi bisnis
Pembelajaran mesin dan pemrosesan data
Membuat sistem pelatihan yang menyediakan instruksi dan materi khusus sesuai dengan kebutuhan siswa.
Kontrol pesawat dan kontrol gerak robot
Pendekatan Implementasi
Ada tiga pendekatan untuk mengimplementasikan algoritma Reinforcement Learning (RL) yaitu:

1. Value Based
Dalam metode RL berbasis nilai (value based), Anda harus mencoba memaksimalkan fungsi nilai V (s). Dalam metode ini, agen mengharapkan pengembalian jangka panjang dari keadaan saat ini berdasarkan policy π.

2. Policy Based
Dalam metode RL berbasis policy, Anda mencoba menghasilkan aturan sedemikian rupa sehingga action yang dilakukan di setiap state membantu Anda mendapatkan reward maksimum di masa mendatang. Dua jenis metode berbasis policy based adalah:

Deterministik: Untuk setiap state, action yang sama dihasilkan oleh policy π.
Stochastic: Setiap action memiliki probabilitas tertentu, yang ditentukan oleh persamaan stochastic policy.
3. Model Based
Dalam metode RL ini, Anda perlu membuat model virtual untuk setiap environtment. Agent belajar untuk bekerja di environment spesifik tersebut.

Sumber : 
pertemuan 13 machine learning Institut Teknologi PLN
https://www.vpslabs.net/reinforcement-learning/
https://ichi.pro/id/panduan-pemula-untuk-q-learning-215378165392700