Log-probabilitas kebijakan Gaussian
Kebijakan untuk aksi kontinu (misalnya torsi motor) mengeluarkan rata-rata μ(s), dengan simpangan baku σ=elog_std yang dipelajari. Hitung log-probabilitas aksi a di bawah distribusi normal yang dimensinya independen:
logπ(a∣s)=d∑[−2σd2(ad−μd)2−logσd−21log2π]a = 0, μ = 0, log σ = 0 → −½ log 2π ≈ −0.919
Dari kategorikal ke kontinu
Dengan aksi diskret, π(a∣s) adalah satu angka dari softmax. Dengan aksi kontinu, ada tak terhingga aksi, jadi kebijakan adalah kepadatan peluang. Nilainya bisa lebih dari 1, sehingga log-nya bisa positif (lihat case dengan σ kecil).
Policy gradient dan PPO tidak berubah sama sekali. Mereka hanya butuh logπ(a∣s) dan gradiennya. Gradien terhadap μ adalah (a−μ)/σ2: rata-rata ditarik ke arah aksi yang ber-advantage positif.
Kenapa log_std yang dipelajari
σ harus positif. Mempelajari logσ (bebas di R) lalu meng-exponensialkannya adalah trik standar. σ besar berarti eksplorasi lebar. Seiring training, σ biasanya mengecil saat agen yakin. Di lab Pendulum, entropi Gaussian ∑d(logσd+21log2πe) ikut turun.
Penjelasan
Yang diminta. Array (N,).
Langkah di kode: std = exp(log_std), z = (a - mu) / std, lalu per dimensi -0.5*z**2 - log_std - 0.5*log(2π), dijumlahkan di axis terakhir.
Cek case 1 dan 2. Di pusat (a=μ): −0.919. Satu σ dari pusat: −0.919−0.5=−1.419.
Case σ kecil. log_std = -2 berarti σ≈0.135. Aksi tepat di μ mendapat log-prob positif (≈1.08), karena kepadatan yang sempit bisa melebihi 1. Aksi yang jauh dari μ mendapat log-prob sangat negatif.
Yang dikembalikan: array (N,).
Topik
Petunjuk 1
Per dimensi: −½((a − μ)/σ)² − log σ − ½ log 2π, dengan σ = exp(log_std).
Petunjuk 2
Jumlahkan di axis terakhir. log_std berbentuk (D,) dan di-broadcast ke setiap baris.
Nilai ditulis sebagai JSON. Output yang diharapkan dihitung dari solusi referensi.