Deep Reinforcement Learning
يستخدم التعلم العميق المعزز (DRL) الشبكات العصبية لتعلم السياسات والقيم انطلاقًا من مدخلات خام مثل وحدات البكسل. يتناول هذا الموضوع DQN وPPO والنتائج والقيود.
يجمع التعلم المعزز العميق (DRL) بين التعلم المعزز (RL)، حيث يتعلم الوكيل بالمحاولة والخطأ لتعظيم المكافأة، والشبكات العصبية العميقة التي تمثل ما يتعلمه الوكيل. يخزن التعلم المعزز التقليدي قيمةً لكل حالة في جدول، وهذا مستحيل عندما تكون الحالة صورة كاميرا أو زوايا مفاصل روبوت مستمرة. وبدلًا من ذلك، تربط الشبكة العصبية الملاحظات الخام عالية الأبعاد، مثل وحدات البكسل أو عمليات مسح ليدار أو النصوص، بقيم الأفعال أو احتمالاتها، وتعمم على حالات لم ترها من قبل. واشتهر نهج DeepMind DQN عام 2015 من خلال تعلم لعب 49 لعبة من ألعاب Atari 2600 اعتمادًا على وحدات بكسل الشاشة ونتيجة اللعبة فقط، باستخدام بنية شبكة واحدة ومجموعة واحدة من المعلمات الفائقة، محققًا مستوى يضاهي مختبر ألعاب بشريًا محترفًا.
آلية عمل التعلم المعزز العميق#
لا يزال الوكيل يتبع حلقة التعلم المعزز ضمن عملية قرار ماركوف: يرصد حالة، ويتصرف، ويتلقى مكافأة، ثم يحدّث النموذج. لكن الشبكة التي تضم ملايين المعلمات أصبحت تمثل واحدًا أو أكثر مما يلي:
- دالة القيمة: تتنبأ الشبكة بالعائد المتوقع لكل فعل، ويختار الوكيل الفعل الأعلى قيمة. وكانت شبكة DQN تأخذ آخر أربعة إطارات من اللعبة، بعد تصغيرها إلى 84×84 بكسل، لتتمكن من رؤية الحركة.
- السياسة: تخرج الشبكة احتمالًا لكل فعل، أو متوسطًا وتشتتًا لفعل مستمر مثل زاوية التوجيه، وتعدل أساليب تدرج السياسة السياسة مباشرةً لتفضيل الأفعال التي حققت عائدًا مرتفعًا.
- الفاعل والناقد: تختار شبكة الفاعل الأفعال، بينما تقدّر شبكة الناقد القيم لتوضيح مقدار تفوق كل فعل على التوقعات، ما يقلل الضجيج في تحديثاتها.
- نموذج العالم: تدرّب الوكلاء القائمة على النماذج، مثل Dreamer، شبكةً للتنبؤ بالملاحظات والمكافآت المستقبلية، ثم تتعلم سياسةً داخل المحاكي المتعلم.
إن تدريب شبكة على بيانات يولدها الوكيل بنفسه غير مستقر، لأن الإطارات المتتالية مترابطة بشدة، ولأن الأهداف تتغير مع تغير الشبكة. وقد عالج DQN ذلك بفكرتين احتفظت بهما الخوارزميات اللاحقة: مخزن لإعادة تشغيل الخبرات يدرّب الشبكة على دفعات مصغرة عشوائية من الانتقالات السابقة، وشبكة هدف منفصلة لا تُحدّث إلا على فترات:
تدرجات السياسة في التعليمات البرمجية#
تتجاوز أساليب تدرج السياسة جداول القيم بالكامل: فهي تأخذ عينات من الأفعال عبر الشبكة، ثم ترفع احتمال الأفعال التي أعقبها عائد مرتفع. يدرّب مثال PyTorch هذا شبكة سياسة صغيرة باستخدام REINFORCE، خوارزمية تدرج السياسة الأصلية، لموازنة عمود على عربة متحركة في بيئة CartPole من Gymnasium:
import gymnasium as gym
import torch
from torch import nn
torch.manual_seed(0)
env = gym.make("CartPole-v1")
policy = nn.Sequential(nn.Linear(4, 64), nn.ReLU(), nn.Linear(64, 2)) # cart and pole state -> logits for left/right
optimizer = torch.optim.Adam(policy.parameters(), lr=0.02)
lengths = []
for episode in range(500):
obs, _ = env.reset(seed=episode)
log_probs, rewards, done = [], [], False
while not done: # play one episode with the current policy, earning +1 per step the pole stays up
dist = torch.distributions.Categorical(logits=policy(torch.as_tensor(obs)))
action = dist.sample()
obs, reward, terminated, truncated, _ = env.step(action.item())
log_probs.append(dist.log_prob(action))
rewards.append(reward)
done = terminated or truncated
# REINFORCE: raise the log-probability of actions followed by above-average discounted return
returns = torch.tensor([sum(0.99**k * r for k, r in enumerate(rewards[t:])) for t in range(len(rewards))])
loss = -(torch.stack(log_probs) * (returns - returns.mean()) / (returns.std() + 1e-8)).sum()
optimizer.zero_grad()
loss.backward()
optimizer.step()
lengths.append(len(rewards))
print(f"Average episode length: first 20 = {sum(lengths[:20]) / 20:.0f}, last 20 = {sum(lengths[-20:]) / 20:.0f}")يطبع البرنامج first 20 = 14, last 20 = 500: إذ تسقط الشبكة غير المدربة العمود خلال نحو 14 خطوة، وبعد 500 حلقة توازنه طوال الحد الأقصى البالغ 500 خطوة في كل حلقة. وقد يتعثر البرنامج النصي نفسه أو يتراجع في منتصف التدريب عند استخدام بذور عشوائية أخرى؛ وهذا هو التباين الكبير الذي صُممت أساليب النقاد والتحديثات المقيدة في التحسين القريب للسياسة (PPO) للحد منه. وتوفر مكتبات مثل Stable-Baselines3 تطبيقات مختبرة لخوارزميات PPO وDQN والناقد الفاعل اللين (SAC).
تطبيقات بارزة#
- الألعاب: بعد Atari، هزم وكلاء التعلم المعزز العميق أبطال العالم في لعبة Go باستخدام AlphaGo، وبلغوا مستوى الأستاذ الكبير في StarCraft II باستخدام AlphaStar، من خلال الجمع بين التعلم من مباريات البشر والتعلم المعزز باللعب الذاتي.
- سباقات الطائرات المسيّرة: فازت الطائرة المسيّرة Swift من جامعة زيورخ، التي دُرّبت بالتعلم المعزز العميق في المحاكاة وضُبطت بدقة باستخدام بيانات طيران حقيقية، بعدة سباقات مباشرة ضد كل واحد من ثلاثة طيارين أبطال عام 2023، وسجلت أسرع زمن سباق مسجل.
- طاقة الاندماج: استخدم DeepMind ومركز البلازما السويسري في EPFL سياسةً للتعلم المعزز العميق للتحكم في الملفات المغناطيسية في مفاعل توكاماك، وتشكيل البلازما في تكوينات عدة، منها تكوين قطرتين منفصلتين من البلازما في آنٍ واحد.
- الروبوتات: تتعلم الروبوتات ذات الأرجل المشي على التضاريس الوعرة باستخدام سياسات دُرّبت عبر آلاف الروبوتات المحاكاة، مع جعل الاحتكاك والكتلة عشوائيين حتى تصمد السياسة عند الانتقال إلى العتاد الحقيقي.
- النماذج اللغوية: أنتج الضبط الدقيق بالتعلم المعزز لسياسات Transformer باستخدام مكافآت قائمة على التفضيلات أو قابلة للتحقق آليًا مساعدات المحادثة ونماذج الاستدلال الحالية.
الإدراك بوصفه ملاحظة#
كان على الشبكة العصبية الالتفافية في DQN أن تتعلم الرؤية من المكافأة وحدها، انطلاقًا من 84×84×4 = 28,224 قيمة بكسل في كل خطوة. أما كثير من أنظمة الروبوتات والقيادة، فتُمرر إلى السياسة مخرجات نموذج الرؤية الحاسوبية المُدرَّب مسبقًا، ما يقلل حجم الملاحظة ويتيح لخوارزمية التعلم المعزز (RL) تخصيص عيناتها لاتخاذ القرارات. يحوّل Ultralytics YOLO26 في وضع التتبع كل إطار من الكاميرا إلى فئة ومربع ومعرّف مستمر لكل كائن، ما ينتج حالة تتمحور حول الكائنات، ويمكن للسياسة منها أيضًا قراءة حركة كل كائن عبر الإطارات.
التحديات#
يتطلب التعلم المعزز العميق (RL) بيانات كثيرة؛ فقد دُرّب DQN على 50 مليون إطار لكل لعبة، أي نحو 38 يومًا من اللعب، ولهذا تُدرَّب معظم سياسات الروبوتات في المحاكاة ثم تُنقل إلى العتاد. لا تتطابق الفيزياء المحاكية مع الواقع تمامًا، لذا يغيّر المهندسون عشوائيًا الاحتكاك والكتل والإضاءة والأنسجة باستخدام عشوائية المجال، ويضيفون بيانات اصطناعية للحالات النادرة. وتتباين النتائج أيضًا باختلاف البذور العشوائية والمعلمات الفائقة وتفاصيل التنفيذ، وهي مشكلة قابلية إعادة الإنتاج التي تناولتها دراسة التعلم المعزز العميق المهم. كما يجد المُحسِّن القوي ثغرات في أي مكافأة غير مثالية، وهو إخفاق يُعرف باسم التحايل على المكافأة، كما حدث حين تعلم وكيل لسباق القوارب الدوران بلا نهاية لجمع النقاط بدلًا من إنهاء السباق.
التعلم المعزز العميق مقارنةً بالمصطلحات ذات الصلة#
- التعلم المعزز: المجال الأوسع. يصلح التعلم المعزز الجدولي للمسائل الصغيرة، أما التعلم المعزز العميق فهو التعلم المعزز باستخدام الشبكات العصبية بوصفها مقاربات دالية.
- التعلم العميق: يُدرَّب التعلم العميق التقليدي على مجموعة بيانات ثابتة وموسومة. أما في التعلم المعزز العميق، فتُنتج أفعال الوكيل نفسه البيانات، وتكون إشارة التدريب مكافأة مؤجلة بدلًا من تسمية.
- التعلم المعزز من التغذية الراجعة البشرية (RLHF): طريقة للتعلم المعزز العميق يحل فيها نموذج مكافأة تعلّمه من مقارنات التفضيلات البشرية محل المكافأة المكتوبة يدويًا، وتُستخدم لمواءمة النماذج اللغوية.
- التحكم التنبؤي بالنموذج: يحل MPC مسألة تحسين جديدة على نموذج صريح في كل خطوة تحكم، بينما تختار سياسة التعلم المعزز العميق المُدرَّبة كل فعل بتمريرة أمامية واحدة عبر شبكتها.










