Derin Q-Öğrenme
Pekiştirmeli öğrenme için yapay sinir ağlarını kullanma.
Derin Q-Öğrenme, CoddyKit'te ücretsiz bir Learn AI with Python 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, 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 5 dersten oluşur.
Derin Q-Öğrenmesi Nedir
Derin Q-Öğrenmesi
Derin Q-Öğrenmesi, Q-Tablosunu yaklaşık olarak hesaplamak için bir sinir ağı kullanan Q-Öğrenmesi'nin bir 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ıyla (örneğin görüntülerle) başa çıkar.
- Büyük Q-Tablolarını bellekte saklama gereksinimini ortadan kaldırır.
- Sinir ağlarını kullanarak farklı 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ğerlerini çıktı olarak veren basit, ileri beslemeli bir 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 tamponunda saklayın. - Q-Ağını eğitmek için deneyim kümelerinden rastgele sample 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 tamponundaki deneyimleri kullanarak eğitiriz:
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
DQN, eğitimi kararlı hâle getirmek için bir hedef ağ kullanır:
- Hedef Q-değerlerini hesaplamak için ayrı bir ağ bulundurun.
- Ağırlıkları Q-Ağından hedef ağa düzenli aralıklarla kopyalayın.
Derin Q-Öğrenmesinin Avantajları
Derin Q-Öğrenmesinin Avantajları
Derin Q-Öğrenmesi çeşitli faydalar sunar:
- Görüntüler gibi yüksek boyutlu durum uzaylarıyla başa çıkar.
- Sinir ağlarını kullanarak farklı durumlar arasında genelleme yapar.
- Atari oyunları ve robotik kontrol 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.
Sonraki derste OpenAI Gym'i inceleyecek ve benzetilmiş ortamlarda pekiştirmeli öğrenmeyi 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 Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 5 dersten oluşur.
“Derin Q-Öğrenme” dersinde ne öğreneceğim?
Pekiştirmeli öğrenme için yapay sinir ağlarını kullanma. 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, 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 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
- Pekiştirmeli Öğrenmenin Temel Kavramları
- Q-Table Kavramı
- Python'da Q-Table Uygulama
- Derin Q-Öğrenme
- OpenAI Gym'i Keşfetme