0Pricing
Learn AI with Python · Ders

Politika Gradyanı Yöntemleri: REINFORCE

Politika gradyanı teoremi, REINFORCE algoritması, taban çıkarma, varyans azaltma.

Politika Gradyanı Yöntemleri: REINFORCE, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Değer Tabanlı ve Policy Tabanlı RL

Bazı RL yöntemleri eylemlerin değerini öğrenir ve ardından açgözlü bir şekilde davranır. Politika gradyanı yöntemleri ise bunun yerine politikayı doğrudan öğrenir: eylem olasılıklarını üreten bir işlevi. Bu yaklaşım, sürekli eylemleri ve stokastik politikaları doğal biçimde ele alır.

Policy pi(a|s)

Parametreleştirilmiş politika pi(a|s, theta), bir durumu eylemler üzerindeki olasılık dağılımına eşler; parametreleri theta'dır (bir sinir ağı). Eğitim, daha fazla ödül getiren eylemleri tercih etmesi için theta'yı ayarlar.

class Policy(nn.Module):
    def __init__(self, obs_dim, n_actions):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(obs_dim, 128), nn.ReLU(),
            nn.Linear(128, n_actions)
        )
    def forward(self, s):
        return torch.softmax(self.net(s), dim=-1)

Eylemleri Örnekleme

Politika bir dağılım olduğundan, en yüksek değeri seçmek yerine bir eylemi sample edersiniz. Örnekleme keşif sağlar ve politikayı stokastik hâle getirir.

probs = policy(state)
dist = torch.distributions.Categorical(probs)
action = dist.sample()
log_prob = dist.log_prob(action)

Bir Yörüngeyi Yürütme

Bir bölüm (yörünge), başlangıçtan sona kadar olan durum, eylem ve ödül dizisidir. Ortamda bölüm sona erene kadar eylem gerçekleştirerek tam bir yörünge toplarsınız.

states, actions, rewards, log_probs = [], [], [], []
state, _ = env.reset()
done = False
while not done:
    probs = policy(torch.tensor(state).float())
    dist = torch.distributions.Categorical(probs)
    a = dist.sample()
    state, r, term, trunc, _ = env.step(a.item())
    rewards.append(r); log_probs.append(dist.log_prob(a))
    done = term or trunc

İskontolu Getiri G_t

Getiri G_t, t zamanından sonraki toplam gelecekteki ödüldür; daha yakın ödüllerin daha fazla ağırlık taşıması için gamma ile iskontolanır. t adımından itibaren gerçekleştirilen eylemlerin ne kadar iyi sonuç verdiğini gösterir.

def returns(rewards, gamma=0.99):
    G, out = 0, []
    for r in reversed(rewards):
        G = r + gamma * G
        out.insert(0, G)
    return torch.tensor(out)

REINFORCE Amaç Fonksiyonu

REINFORCE, beklenen getiri üzerinde gradyan yükselmesi gerçekleştirir. Sezgisel olarak: yüksek getiriye yol açan eylemlerin olasılığını artırır, düşük getiriye yol açanların olasılığını azaltır. Her eylem, G_t değeriyle ağırlıklandırılır.

Politika Gradyanı

Kayıp, -sum(log_prob * G_t) şeklindedir. Eksi işareti, eniyileyicinin getiriyi maksimize etmesi için gradyan yükselmesini gradyan inişine dönüştürür. Getirisi yüksek eylemlerin log olasılığı artırılır.

G = returns(rewards)
loss = -torch.sum(torch.stack(log_probs) * G)

Politikayı Güncelleme

Geri yayılım uygulayın ve her zamanki gibi step çağrısını yapın. Bir güncellemede tüm yörünge kullanılır, ardından bu yörünge atılır (REINFORCE mevcut politika verileriyle sınırlıdır: yalnızca geçerli politikadan gelen veriler kullanılır).

optimizer.zero_grad()
loss.backward()
optimizer.step()

Yüksek Varyans Sorunu

Saf REINFORCE, herkesçe bilinen ölçüde kararsız ve yüksek varyanslıdır: getiriler bölümler arasında büyük ölçüde değişir; bu nedenle gradyan tahminleri gürültülü, öğrenme ise yavaş ve düzensiz olur.

Varyansı Azaltmak için Taban Değer

G_t değerinden bir taban değer (örneğin ortalama getiri) çıkarmak, gradyanı yanlı hâle getirmeden varyansı azaltır. Eylemleri yalnızca pozitif getiri sağladıkları için değil, beklenenden daha iyi oldukları için ödüllendiririz.

baseline = G.mean()
advantage = G - baseline
loss = -torch.sum(torch.stack(log_probs) * advantage)

REINFORCE Neden Önemlidir

REINFORCE, tüm politika gradyanı yöntemlerinin temelidir. Yüksek varyans ve örnek verimsizliği gibi zayıflıkları, sırada göreceğiniz actor-critic ve PPO yöntemlerinin geliştirilmesini teşvik etmiştir.

Hızlı Kontrol

Politika gradyanı anlayışınızı sınayın.

Özet: REINFORCE

Bir policy pi(a|s,theta) parametreleştirmeyi, yörüngeleri çalıştırmayı, iskonto edilmiş getiriyi G_t hesaplamayı ve -sum(log_prob * G_t) kaybıyla gradyan yükselmesi gerçekleştirmeyi öğrendiniz. REINFORCE'ın yüksek varyansını ve bir taban değerin bunu nasıl azalttığını gördünüz.

Sıkça Sorulan Sorular

“Politika Gradyanı Yöntemleri: REINFORCE” dersi ücretsiz mi?

Evet — “Politika Gradyanı Yöntemleri: REINFORCE” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“Politika Gradyanı Yöntemleri: REINFORCE” dersinde ne öğreneceğim?

Politika gradyanı teoremi, REINFORCE algoritması, taban çıkarma, varyans azaltma. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Politika Gradyanı Yöntemleri: REINFORCE” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Politika Gradyanı Yöntemleri: REINFORCE
  2. Aktör-Eleştirmen Yöntemleri (A2C)
  3. Yakınsal Politika Optimizasyonu (PPO)
  4. Özel Gymnasium Ortamları
← Learn AI with Python Sayfasına Dön