Pembelajaran Penguatan pada Data Historis

9

Saya telah bekerja mempelajari kebijakan komunikasi optimal untuk pelanggan (pemberitahuan mana yang harus dikirim, berapa yang harus dikirim dan kapan harus dikirim). Saya memiliki data historis pemberitahuan sebelumnya yang dikirim (dengan cap waktu) dan kinerjanya. Sedang mencoba menerapkan RL untuk masalah ini untuk mempelajari kebijakan yang optimal. Namun, satu kendala utama di sini adalah bahwa saya tidak memiliki kemewahan mempelajari kebijakan dengan cepat (on-line) karena saya saat ini tidak mengontrol tindakan (pemberitahuan mana yang dapat dikirim ke pelanggan apa). Saya punya dua pertanyaan:

  1. Apakah RL kerangka kerja yang tepat di bawah kendala seperti itu?
  2. Bagaimana kita dapat mempelajari kebijakan optimal secara offline dalam situasi seperti itu dan bagaimana kita mengevaluasi hal yang sama?
Ashay Tamhane
sumber

Jawaban:

6
  1. Apakah RL kerangka kerja yang tepat di bawah kendala seperti itu?

Tampaknya mungkin , tetapi mungkin beberapa detail kecil yang belum Anda berikan akan membuat pendekatan lain lebih layak. Misalnya, jika acara notifikasi dapat diperlakukan sebagai lebih atau kurang mandiri, maka pendekatan pembelajaran yang diawasi mungkin lebih baik, atau setidaknya lebih pragmatis.

Lebih praktisnya, tidak jelas 100% kondisi negara, waktu dan pilihan tindakan Anda nantinya. Ini perlu didefinisikan dengan baik agar pendekatan RL bekerja. Selain itu, Anda ingin dapat membangun negara yang memiliki (atau hampir memiliki) properti Markov - pada dasarnya bahwa segala sesuatu yang diketahui dan tidak acak tentang hadiah yang diharapkan dan keadaan selanjutnya dicakup oleh negara.

  1. Bagaimana kita dapat mempelajari kebijakan optimal secara offline dalam situasi seperti itu

Anda ingin pelajar yang offline (data historis, bukan "langsung") dan di luar kebijakan (data dihasilkan oleh kebijakan yang berbeda dengan yang ingin Anda evaluasi). Selain itu, saya menduga Anda tidak tahu kebijakan perilaku yang menghasilkan data Anda, jadi Anda tidak bisa menggunakan sampel penting .

Mungkin Anda dapat menggunakan pendekatan pembelajaran-Q , dan bekerja melalui data yang ada baik dengan memutar ulang setiap lintasan menggunakan Q ( ) dalam batch, atau beberapa varian DQN menggunakan sampel mini-batch .λ

Ini tidak dijamin berhasil, karena pembelajaran di luar kebijakan cenderung kurang stabil daripada di-kebijakan, dan mungkin memerlukan beberapa upaya untuk mendapatkan hiper-parameter yang akan berfungsi. Anda akan membutuhkan sejumlah sampel yang mencakup pilihan optimal atau mendekati optimal pada setiap langkah (tidak harus dalam episode yang sama), karena Q-learning bergantung pada bootstrap - pada dasarnya menyalin estimasi nilai dari pilihan tindakan mundur ke langkah waktu sebelumnya sehingga dapat mempengaruhi yang sebelumnya menyatakan agen lebih suka mengambil tindakan untuk menuju.

Jika negara / ruang tindakan Anda cukup kecil (ketika Anda menyebutkan secara penuh negara dan tindakan), Anda mungkin lebih suka menggunakan bentuk tabel Q-learning karena memiliki beberapa jaminan konvergensi. Namun, untuk sebagian besar masalah praktis ini tidak benar-benar mungkin, jadi Anda ingin melihat opsi untuk menggunakan fungsi aproksimasi.

... dan bagaimana kita mengevaluasi hal yang sama?

Jika Anda bisa mendapatkan nilai tindakan konvergensi yang tampak realistis dari pembelajaran Q Anda (dengan inspeksi), maka hanya ada 2 cara yang masuk akal untuk menilai kinerja:

  • Dengan menjalankan agen dalam simulasi (dan mungkin selanjutnya memperbaikinya di sana) - Saya tidak berharap ini layak untuk skenario Anda, karena lingkungan Anda mencakup keputusan yang dibuat oleh pelanggan Anda. Namun, ini adalah batu loncatan yang baik untuk beberapa skenario, misalnya jika lingkungan didominasi oleh fisika dasar dunia nyata.

  • Dengan menjalankan agen secara nyata, mungkin pada beberapa bagian dari beban kerja, dan membandingkan imbalan yang sebenarnya dengan yang diprediksi selama cukup waktu untuk membangun kepercayaan statistik.

Anda juga bisa mengeringkan agen bersama operator yang ada, dan mendapatkan umpan balik apakah sarannya untuk tindakan (dan prediksi imbalan) tampak realistis. Itu akan menjadi umpan balik subyektif, dan sulit untuk menilai kinerja secara numerik ketika tindakan mungkin atau mungkin tidak digunakan. Namun, itu akan memberi Anda sedikit QA.

Neil Slater
sumber
1

Jawaban singkatnya adalah: Tidak.

Sekarang Anda sudah memiliki aksi dan kinerja historis, ini adalah masalah pembelajaran klasik yang diawasi yang memetakan tuple (profil pelanggan, tindakan) Anda ke skor kinerja.

Alasan di bawah ini adalah mengapa pembelajaran penguatan akan menjadi pilihan yang buruk untuk tugas Anda:

  1. Pembelajaran penguatan sangat tidak efisien dalam penggunaan data, jadi biasanya dibutuhkan jenis data tak terbatas yang disediakan baik dari simulator atau pengalaman nyata. Saya pikir kedua kasus ini tidak berlaku untuk Anda, karena Anda tidak ingin model yang tidak terlatih mengirim pemberitahuan acak kepada pelanggan Anda pada tahap awal pelatihan, dan masalah Anda akan dianggap diselesaikan jika Anda sudah memiliki simulator.

  2. Pembelajaran penguatan biasanya digunakan untuk menangani urutan tindakan yang panjang, dan tindakan awal dapat memiliki pengaruh drastis pada hasil akhir, seperti dalam catur. Dalam hal itu, tidak ada pembagian yang jelas dari hadiah akhir yang diterima di akhir setiap langkah tindakan Anda, maka persamaan Bellman digunakan secara eksplisit atau implisit dalam pembelajaran penguatan untuk memecahkan masalah atribusi hadiah ini. Di sisi lain, masalah Anda tampaknya tidak memiliki sifat sekuensial ini (kecuali saya salah paham atau sistem Anda mengirim surel bolak-balik dengan pelanggan), dan setiap sampel dari data Anda adalah IID langkah-tunggal.

DiveIntoML
sumber
1

Makalah-makalah ini menyediakan metode yang disebut Fitted Q Iteration untuk pembelajaran penguatan batch (yaitu mempelajari kebijakan dari pengalaman masa lalu) https://pdfs.semanticscholar.org/2820/01869bd502c7917db8b32b75593addfbbc68.pdf https://pdfs.semanticscholar.org/03fd/378907e .pdf

Anda akan membutuhkan fungsi, status, dan tindakan imbalan yang didefinisikan dengan jelas.

Untuk pengujian, yang terbaik adalah menggunakan kohort pengguna kecil dan uji A / B sehubungan dengan metrik Anda.

DaT
sumber