gray and white robot

Politika Gradyanı Metodlarına Başlama Rehberi -4

Yazar : Umut Can Altın


Deterministik Politika Gradyanı Yötemleri

Şu ana kadar kullandığımız politikalar hep durum girdisi üzerinden oluşan bir olasılıksal dağılımı ifade etmekteydi, yani stokastik politikalar üretiyorduk. Şimdi ele alacağımız konuda ise deterministik hareketler sergileyeceğimiz politikalar üzerine duracağız, yani artık politikamız girdi olarak aldığı duruma direkt olarak hareket üretimi yapacak.

Deterministik bir politikaya göre davranmak yeterli ortam keşfini sağlayamayıp ve yetersiz(lokal optimal) çözümlere yol açabilir. Bununla birlikte, ilk algoritmamız deterministik bir politikayı öğrenen ve izleyen politika üzerinde bir aktör-kritik algoritmadır.

Stokastik aktör kritik gibi, deterministik aktör kritik de iki bileşenden oluşur. Kritik aksiyon-değer fonksiyonunu tahmin ederken aktör hareket alım görevini üstlenir.

Deterministik durumda politika gradyanı teoremi nasıl işliyor buna bakalım. Öncelikle objective function denklemimize bakalım. Bu fonksiyon bizim maximixe etmeye çalıştığımız amacımız gibi düşünebiliriz.

Image for post
Politika Gradyanı Objective Function denklemi
Image for post
Deterministik Politika Gradyanı Objective Function denklemi

Yukarıda iki formül arasında iki farklılık görülmekte. Politika gradyanında kullandığımız olasılıksal politika Q değeri ile çarpılarak geri dönüş yapılırken deterministik politika zaten kesin sonuç vereceği için direkt olarak Q değeri politikadan alanan hareket üzeriden geri dönüş olarak sağlanmış. p ise belirlediğimiz politikayı takip etme durumunda karşımıza çıkacak durumların olasılıksal dağılımıdır.

Image for post

Denklemimizin iki tarafına da gradyanı uyguladığımız zaman epey alışık olduğumuz bir görüntü ortaya çıkıyor.

Basitçe eğer olasılıksal politikada tek bir aksiyon olasılığı 0 dan farklı ise bu deterministiktir diyebiliriz, deterministik politikayı stokastik politikanın özel bir örneği olarak düşünebiliriz.

Yukarıdaki denklemde bir farklılıkta chain rule yöntemi ile gradyanını aldığımızda ortaya çıkan aksiyon değeridir. Yani önce Q fonksiyonunun aksiyona göre gradyanı ardından da politikanın theta’ya göre gradyanı alınmıştır. Eğer bu denklemleri politika güncellemesi olarak kullanmak istiyorsak aşağıdaki hale getirmemiz yeterli olacaktır.

Image for post

Yukarıda on-policy sarsa actor critic güncellemesi sunulmuştur. Yazılan önceki yazılardan actor-critic yapısını okumanızı öneririm. Q paramtrelendirmesi(w) ve politika parametrelendirmesi(theta) farklıdır.

On policy oluşu aşağıda vermekte olduğum Q learning update ve sarsa update kıyası ile anlaşılabilir.

Image for post
SARSA Update
Image for post
Q learning Update

Q learning güncellemesi ile SARSA güncellemesi arasındaki fark Q learningte maximum hareketin Q değeri güncellemeye katılırken SARSA da ele alınan politikanın seçeceği yeni durum hareketi üzerinden güncelleme yapılmaktadır. Bu da on-policy güncelleme olarak anılır. Ancak on-policy metodlar kimi zaman keşif konusunda sorun yaşamaktadırlar, bunun için gürültü ekleme yöntemi kullanılabilir.

Aslında Deterministik veya Stokastik fark etmeksizin artık politika gradyanları konusunda yavaş yavaş bilgimiz oturmaya başladı. Bu yazımız deterministik politika gradyanı uygulamasını anlamaya yönelikti, bu yazı ardından yazılacak Deep Deterministic Policy Gradient yazısına hazırlık olarak okunmalıdır.

ref :

https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html#dpg

Bir Cevap Yazın

Başa dön