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