BaşlayınÜcretsiz Başlayın

Ayrık dağılımlarla çalışmak

Yakında stokastik politikalarla çalışacaksın: bir durumda ajan davranışını eylemler üzerindeki olasılık dağılımı olarak temsil eden politikalar.

PyTorch, ayrık dağılımları torch.distributions.Categorical sınıfıyla temsil edebilir; şimdi bununla denemeler yapacaksın.

Girdi olarak kullanılan sayıların, olasılıklarda olduğu gibi toplamının 1 olmasının aslında gerekli olmadığını göreceksin; otomatik olarak normalize edilirler.

Bu egzersiz

Python ile Deep Reinforcement Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Kategorik olasılık dağılımını başlat.
  • Dağılımdan bir örnek al.
  • Olasılık olarak davranması için toplamı 1 olan 3 pozitif sayı belirt.
  • 5 pozitif sayı belirt; Categorical bunları sessizce normalize ederek olasılıklara dönüştürecek.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

from torch.distributions import Categorical

def sample_from_distribution(probs):
    print(f"\nInput: {probs}")
    probs = torch.tensor(probs, dtype=torch.float32)
    # Instantiate the categorical distribution
    dist = ____(probs)
    # Take one sample from the distribution
    sampled_index = ____
    print(f"Taking one sample: index {sampled_index}, with associated probability {dist.probs[sampled_index]:.2f}")

# Specify 3 positive numbers summing to 1
sample_from_distribution([.3, ____, ____])
# Specify 5 positive numbers that do not sum to 1
sample_from_distribution([2, ____, ____, ____, ____])
Kodu Düzenle ve Çalıştır