Derin Q-öğrenme
Pekiştirmeli öğrenme için yapay sinir ağlarını kullanma
Derin Q-öğrenme, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 5 dersinin 4. 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, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 5 dersten oluşur.
Derin Q-Öğrenmesi Nedir?
Derin Q-Öğrenmesi
Derin Q-Öğrenmesi, Q-Tablosunu yaklaşık olarak hesaplamak için sinir ağı kullanan bir Q-Öğrenmesi uzantısıdır. Bu sayede pekiştirmeli öğrenme, büyük veya sürekli durum-eylem uzaylarına sahip ortamlara ölçeklenebilir.

Derin Q-Öğrenmesi Neden Kullanılır?
Derin Q-Öğrenmesi Neden Kullanılır?
Derin Q-Öğrenmesi, geleneksel Q-Öğrenmesinin sınırlamalarını giderir:
- Yüksek boyutlu durum uzaylarını (ör. görüntüleri) işleyebilir.
- Büyük Q-Tablolarını bellekte saklama gereksinimini ortadan kaldırır.
- Sinir ağlarını kullanarak durumlar arasında genelleme yapar.
DQN Algoritması
DQN Algoritması
Derin Q-Öğrenmesi, Q-değerlerini yaklaşık olarak hesaplamak için Q-Ağı adı verilen bir sinir ağı kullanır. Temel adımlar şunlardır:
- Q-Ağını rastgele ağırlıklarla başlatın.
- Deneyim demetlerini
(state, action, reward, next_state)toplamak için ortamla etkileşime geçin. - Bellman denklemini kullanarak Q-Ağını güncelleyin:
Q(s, a) ≈ r + γ max(Q(s', a'))
Q-Ağını Oluşturma
Q-Ağını Oluşturma
Q-Ağı, mevcut durumu girdi olarak alan ve olası tüm eylemler için Q-değerleri üreten basit bir ileri beslemeli sinir ağıdır:
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# Define the Q-Network
q_network = Sequential([
Dense(24, activation='relu', input_shape=(state_space_size,)),
Dense(24, activation='relu'),
Dense(action_space_size, activation='linear')
])
q_network.compile(optimizer='adam', loss='mse')Deneyim Tekrarı
Deneyim Tekrarı
Derin Q-Öğrenmesi, öğrenmeyi iyileştirmek için deneyim tekrarı adı verilen bir teknik kullanır:
- Deneyimleri
(state, action, reward, next_state)bir bellek arabelleğinde saklayın. - Q-Ağını eğitmek için deneyim gruplarından rastgele örnekler alın.
from collections import deque
# Initialize replay memory
memory = deque(maxlen=2000)
# Add experience to memory
memory.append((state, action, reward, next_state, done))Q-Ağını Eğitme
Q-Ağını Eğitme
Q-Ağını bellek arabelleğindeki deneyimleri kullanarak eğitiyoruz:
import numpy as np
# Sample a batch of experiences
batch_size = 32
batch = random.sample(memory, batch_size)
# Train the Q-Network
for state, action, reward, next_state, done in batch:
target = reward
if not done:
target += gamma * np.max(q_network.predict(next_state[np.newaxis, ...]))
q_values = q_network.predict(state[np.newaxis, ...])
q_values[0][action] = target
q_network.fit(state[np.newaxis, ...], q_values, epochs=1, verbose=0)Hedef Ağlar
Hedef Ağlar
Eğitimi kararlı hâle getirmek için DQN bir hedef ağ kullanır:
- Hedef Q-değerlerini hesaplamak için ayrı bir ağ tutun.
- Ağırlıkları Q-Ağından hedef ağa belirli aralıklarla kopyalayın.
Derin Q-Öğrenmesinin Avantajları
Derin Q-Öğrenmesinin Avantajları
Derin Q-Öğrenmesi çeşitli avantajlar sunar:
- Görüntüler gibi yüksek boyutlu durum uzaylarını işleyebilir.
- Sinir ağlarını kullanarak durumlar arasında genelleme yapar.
- Atari oyunları ve robotik denetimi gibi karmaşık görevleri çözebilir.
Özet ve Sonraki Adımlar
Özet ve Sonraki Adımlar
Bu derste:
- Derin Q-Öğrenmesinin temellerini inceledik.
- Q-değerlerini yaklaşık olarak hesaplamak için bir Q-Ağı oluşturduk.
- Kararlı eğitim için deneyim tekrarını ve hedef ağları ele aldık.
Sırada OpenAI Gym'i inceleyecek ve pekiştirmeli öğrenmeyi benzetilmiş ortamlara uygulayacağız.

Sıkça Sorulan Sorular
“Derin Q-öğrenme” dersi ücretsiz mi?
Evet — “Derin Q-öğrenme” 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 Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 5 dersten oluşur.
“Derin Q-öğrenme” dersinde ne öğreneceğim?
Pekiştirmeli öğrenme için yapay sinir ağlarını kullanma Python Academy 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.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, 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, 5 dersinin 4. dersidir.
“Derin Q-öğrenme” 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 Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy 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
- Pekiştirmeli öğrenmenin temel kavramları
- Q-Tablosu kavramı
- Python'da Q-Tablosu uygulama
- Derin Q-öğrenme
- OpenAI Gym'i keşfetme