0Pricing
Python Academy · Ders

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-öğ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ı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:

  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ğ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.

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 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

  1. Pekiştirmeli öğrenmenin temel kavramları
  2. Q-Tablosu kavramı
  3. Python'da Q-Tablosu uygulama
  4. Derin Q-öğrenme
  5. OpenAI Gym'i keşfetme
← Python Academy Sayfasına Dön