Anasayfa / Yapay Zeka Ansiklopedisi / PPO (Proximal Policy Optimization)
📖 Açık Ansiklopedi Maddesi • Son Değişiklik: 3 Ekim 2026, 18:13

PPO (Proximal Policy Optimization)

ℹ️
Ansiklopedi Dokümantasyonu: Bu madde, yapay zeka literatüründeki teknik standartlara ve akademik yayınlara dayalı olarak YZ Hocası kurulları tarafından incelenmiştir.

PPO (Yakınsal Politika Optimizasyonu); pekiştirmeli öğrenmede (Reinforcement Learning) bir ajanın veya dil modelinin karar alma politikasını (policy) optimize ederken, modelin bir anda aşırı büyük ve dengesiz adımlar atarak performansının çökmesini engelleyen en popüler politika gradyanı (policy gradient) algoritmasıdır.

OpenAI tarafından 2017 yılında (Schulman ve ark.) geliştirilen PPO; robotik, oyun yapay zekâları (OpenAI Five gibi Dota 2 botları) ve özellikle Büyük Dil Modellerinin insan tercihlerine göre uyumlanmasında (RLHF) altın standart haline gelmiştir.

1. PPO Neden Doğdu? (Temel Çıkmaz: Politika Çöküşü)

Geleneksel politika gradyanı yöntemlerinde ajan, aldığı ödüle göre ağırlıklarını günceller. Ancak derin yapay sinir ağlarında küçük bir parametre değişimi bile ajanın davranışında (politikasında) muazzam ve telafisi zor sapmalara yol açabilir:

  • Ajan iyi bir adım attığını sanarak parametrelerini aşırı güncellerse, daha önce öğrendiği tüm stratejileri unutabilir (catastrophic forgetting).
  • Bir kez kötü bir politika bölgesine düşen ajanın tekrar toparlanıp doğru verilere ulaşması neredeyse imkânsız hale gelir (eğitim tamamen çöker).

Önceki çözüm olan TRPO (Trust Region Policy Optimization) bu ani sapmaları matematiksel bir “güven bölgesi” ile sınırlandırmayı başarmış; fakat hesaplama açısından aşırı karmaşık ikinci dereceden türevler (Hessian matrisleri) gerektirdiği için ölçeklenememiştir. PPO, TRPO’nun güven bölgesi mantığını yalın, birinci dereceden bir kırpma (clipping) mekanizmasıyla çözmüştür.

2. PPO Nasıl Çalışır? (Kırpılmış Amaç Fonksiyonu)

PPO’nun kalbinde Clipped Surrogate Objective (Kırpılmış Yedek Amaç) fonksiyonu yer alır.

Öncelikle yeni politika ile eski politikanın eylemi seçme olasılıkları arasındaki oran hesaplanır:

$$r_t(\theta) = \frac{\pi_\theta(a_t \mid s_t)}{\pi_{\theta_{old}}(a_t \mid s_t)}$$

  • $r_t(\theta) > 1$: Yeni politika bu eylemi eskisinden daha olası kılıyor.
  • $r_t(\theta) < 1$: Yeni politika bu eylemi eskisinden daha az olası kılıyor.

PPO, bu oranı avantaj fonksiyonu ($A_t$, yani o eylemin ortalamaya göre ne kadar iyi olduğu) ile çarpar; ancak oranın $1 – \epsilon$ ile $1 + \epsilon$ aralığının dışına taşmasına izin vermez (genellikle $\epsilon = 0.2$ seçilir):

$$L^{CLIP}(\theta) = \hat{\mathbb{E}}_t \left[ \min \left( r_t(\theta)\hat{A}_t, \, \text{clip}(r_t(\theta), 1 – \epsilon, 1 + \epsilon)\hat{A}_t \right) \right]$$

Bu Kırpmanın (Clipping) Pratikteki Mantığı:

  • Eğer eylem iyiyse ($A_t > 0$): Algoritma bu eylemin olasılığını artırmak ister; fakat $r_t(\theta)$ oranı $1 + \epsilon$ değerini (örneğin $1.20$) aştığında kârı sınırlandırır. Modele “Aferin bu iyi bir adımdı, ama abartma; bir seferde bu kadar büyük adım atamazsın” der.
  • Eğer eylem kötüyse ($A_t < 0$): Algoritma eylemin olasılığını düşürür; ancak oran $1 – \epsilon$ değerinin (örneğin $0.80$) altına indiğinde cezayı dondurur. Böylece politikanın yıkıcı biçimde sıfırlanması önlenir.

3. Aktör-Eleştirmen (Actor-Critic) Mimarisi

PPO genellikle iki bağımsız sinir ağı bloğuyla (veya ortak bir gövdenin iki başlığıyla) çalışır:

[Mevcut Durum / Girdi (s)] 
            │
    ┌───────┴───────┐
    ▼               ▼
[Aktör (Actor)]   [Eleştirmen (Critic)]
Politika: π(a|s)   Değer: V(s)
(Eylemi seçer)    (Durumun ne kadar iyi olduğunu puanlar)
    │               │
    └───────┬───────┘
            ▼
[Avantaj Hesabı: A = Ödül - V(s)] ──> PPO Kırpma Güncellemesi
  1. Aktör (Actor – Politika): Ortamdaki girdiye (veya istemdeki kelimelere) bakarak bir sonraki adımı seçen asıl modeldir.
  2. Eleştirmen (Critic – Değer Fonksiyonu): Ortamın o anki durumunun genel kalitesini ($V(s)$) tahmin eder.
  3. Avantaj ($A_t$): Alınan gerçek ödülün, Eleştirmenin beklediği değerden ne kadar iyi olduğunu ölçer ($A_t = R_t – V(s_t)$). Eğer gerçek ödül beklenenden yüksekse pozitif avantaj oluşur ve Aktör o yöne doğru güncellenir.

4. Büyük Dil Modellerinde (LLM / RLHF) PPO Kullanımı

Büyük dil modellerini ChatGPT haline getiren RLHF aşamasında PPO şu şekilde konumlandırılır:

  • Durum ($s_t$): Kullanıcının istemi ve o ana kadar üretilmiş kelimeler (tokens).
  • Eylem ($a_t$): Bir sonraki kelimenin (token) seçilmesi.
  • Ödül ($R$): İnsan tercihlerine göre eğitilmiş harici Ödül Modelinin (Reward Model) cümlenin sonuna verdiği skaler puan.
  • KL Cezası (Kullback-Leibler Divergence): Dil modellerinde PPO çalıştırılırken, ödül fonksiyonuna bir ceza terimi eklenir:$$R_{toplam} = R_{ödül\_modeli} – \beta \, D_{KL}(\pi_\theta \parallel \pi_{referans})$$Bu ceza, eğitilen modelin orijinal eğitilmiş temel dilden (referans model) aşırı uzaklaşıp anlamsız, bozuk veya yapay ödül hilesi (reward hacking) yapan bir saçmalamaya dönüşmesini engeller.

5. PPO’nun Güçlü Yönleri ve Sınırlılıkları

  • Güçlü Yönleri:
    • Kararlılık: Kırpma mekanizması sayesinde hiperparametre değişikliklerine karşı son derece toleranslıdır; eğitim kolay kolay patlamaz.
    • Örneklem Verimliliği: Aynı veri parçacığı üzerinde birden fazla küçük optimizasyon adımı (mini-batch updates) atılmasına imkân tanır.
    • Evrensel Kabul: Robotikten NLP’ye kadar açık ara en çok test edilmiş, kütüphane desteği (Hugging Face TRL, Stable-Baselines3) en zengin algoritmadır.
  • Sınırlılıkları (Özellikle LLM’ler İçin):
    • Yüksek Kaynak Tüketimi: Bellekte aynı anda 4 ayrı model (Eğitilen Model, Referans Model, Ödül Modeli, Değer/Eleştirmen Modeli) tutulmasını gerektirdiğinden devasa VRAM ihtiyacı doğurur.
    • Karmaşık Boru Hattı: DPO gibi yeni nesil alternatiflerin aksine, bağımsız bir ödül modeli ve çok katmanlı pekiştirmeli öğrenme orkestrasyonu gerektirir.

📚 Kaynakça ve Bu Maddeye Atıf

APA Formatı: YZ Hocası. (2026). PPO (Proximal Policy Optimization). YZ Hocası Ansiklopedisi. Erişim adresi: https://yzhocasi.com/ppo-proximal-policy-optimization/

BibTeX: @misc{yzhocasi_3342, title={PPO (Proximal Policy Optimization)}, url={https://yzhocasi.com/ppo-proximal-policy-optimization/}, journal={YZ Hocası Ansiklopedisi}, year={2026}}