التعلم المعزز العميق Q
استخدام الشبكات العصبية في التعلم المعزز
التعلم المعزز العميق Q درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 4 من أصل 5. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 5 دروس في المجموع.
ما المقصود بـ Deep Q-Learning؟
Deep Q-Learning
Deep Q-Learning هو امتداد لـ Q-Learning يستخدم شبكة عصبية لتقريب جدول Q. ويسمح ذلك للتعلّم المعزّز بالتوسع ليشمل البيئات ذات فضاءات الحالات والأفعال الكبيرة أو المستمرة.

لماذا نستخدم Deep Q-Learning؟
لماذا نستخدم Deep Q-Learning؟
يعالج Deep Q-Learning قيود Q-Learning التقليدي:
- يتعامل مع فضاءات الحالات عالية الأبعاد، مثل الصور.
- يلغي الحاجة إلى تخزين جداول Q كبيرة في الذاكرة.
- يعمّم عبر الحالات باستخدام الشبكات العصبية.
خوارزمية DQN
خوارزمية DQN
يستخدم Deep Q-Learning شبكة عصبية تُسمى Q-Network لتقريب قيم Q. وتتمثل الخطوات الرئيسية فيما يلي:
- تهيئة Q-Network بأوزان عشوائية.
- التفاعل مع البيئة لجمع خُبرات على شكل أزواج
(state, action, reward, next_state). - تحديث Q-Network باستخدام معادلة Bellman:
Q(s, a) ≈ r + γ max(Q(s', a'))
بناء Q-Network
بناء Q-Network
Q-Network هي شبكة عصبية أمامية بسيطة تأخذ الحالة الحالية كمدخل، وتُخرج قيم Q لجميع الأفعال الممكنة:
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')إعادة تشغيل الخبرات
إعادة تشغيل الخبرات
يستخدم Deep Q-Learning تقنية تُسمى إعادة تشغيل الخبرات لتحسين التعلّم:
- تخزين الخبرات
(state, action, reward, next_state)في مخزن مؤقت للذاكرة. - أخذ دفعات من الخبرات عشوائيًا لتدريب Q-Network.
from collections import deque
# Initialize replay memory
memory = deque(maxlen=2000)
# Add experience to memory
memory.append((state, action, reward, next_state, done))تدريب Q-Network
تدريب Q-Network
نُدرّب Q-Network باستخدام الخبرات الموجودة في مخزن الذاكرة المؤقت:
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)الشبكات الهدف
الشبكات الهدف
لتثبيت التدريب، يستخدم DQN شبكة هدف:
- الاحتفاظ بشبكة منفصلة لحساب قيم Q الهدف.
- نسخ الأوزان دوريًا من Q-Network إلى شبكة الهدف.
مزايا Deep Q-Learning
مزايا Deep Q-Learning
يوفّر Deep Q-Learning عدة فوائد:
- يتعامل مع فضاءات الحالات عالية الأبعاد، مثل الصور.
- يعمّم عبر الحالات باستخدام الشبكات العصبية.
- يمكنه حل مهام معقدة، مثل ألعاب Atari والتحكم في الروبوتات.
الملخص والخطوات التالية
الملخص والخطوات التالية
في هذا الدرس، قمنا بما يلي:
- استكشفنا أساسيات Deep Q-Learning.
- بنينا Q-Network لتقريب قيم Q.
- ناقشنا إعادة تشغيل الخبرات والشبكات الهدف لتحقيق تدريب مستقر.
بعد ذلك، سنستكشف OpenAI Gym ونطبّق التعلّم المعزّز في بيئات محاكاة.

الأسئلة الشائعة
هل درس «التعلم المعزز العميق Q» مجاني؟
نعم — نص درس «التعلم المعزز العميق Q» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 5 دروس في المجموع.
ماذا ستتعلم في «التعلم المعزز العميق Q»؟
استخدام الشبكات العصبية في التعلم المعزز تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 5.
كم من الوقت يستغرق درس «التعلم المعزز العميق Q»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المفاهيم الأساسية للتعلم المعزز
- مفهوم جدول Q
- تطبيق جدول Q في Python
- التعلم المعزز العميق Q
- استكشاف OpenAI Gym