0Pricing
Learn AI with Python · Ders

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-Öğrenme — resim 1

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:

  1. Q-Ağını rastgele ağırlıklarla başlatın.
  2. Deneyim demetlerini (state, action, reward, next_state) toplamak için ortamla etkileşime geçin.
  3. 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.

Derin Q-Öğrenme — resim 10

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

  1. Pekiştirmeli Öğrenmenin Temel Kavramları
  2. Q-Table Kavramı
  3. Python'da Q-Table Uygulama
  4. Derin Q-Öğrenme
  5. OpenAI Gym'i Keşfetme
← Learn AI with Python Sayfasına Dön