التعلم المعزز1988متوسط10 دقيقة قراءة
التعلُّم بالتنبؤ عبر أساليب الفارق الزمني
Learning to Predict by the Methods of Temporal Differences
Sutton, R. S. — Machine Learning
المشكلة
في أساليب التعلم المُوجَّه التقليدية، لا يمكن تحديث التنبؤات إلا بعد ظهور النتيجة النهائية. المشكلة أن هذا الانتظار يُضيّع كمّاً كبيراً من المعلومات الوسيطة التي تتكشّف تدريجياً، ويفرض تخزين كل المشاهدات حتى النهاية، ولا يستفيد من التجربة في مسائل التنبؤ متعددة الخطوات حيث تظهر مؤشرات جزئية عند كل خطوة.
الإسهام
يقدّم سوتون عائلة من إجراءات التعلم التزايدي — أساليب TD(λ) — تُحدِّث التنبؤات بالاعتماد على الفارق بين تنبؤات متعاقبة زمنياً بدلاً من انتظار النتيجة النهائية. الورقة تُثبت تقارب TD(0) الخطي وأمثليته على سلاسل ماركوف الممتصة، وتُظهر تجريبياً أن أساليب الفارق الزمني تتعلم أسرع من أساليب التعلم المُوجّه، وتُؤسّس الإطار النظري الذي أصبح لاحقاً العمود الفقري بأكمله.
الأثر
تُمثّل هذه الورقة الأساس النظري للتعلم المعزز الحديث. أساليب الفارق الزمني هي التي أتاحت ظهور TD-Gammon (لعب النرد بمستوى بطل العالم)، وتعلم Q، وSARSA، وبنى الممثل-الناقد، ثم خطوط RLHF التي تُوائم النماذج اللغوية الكبيرة مثل GPT وClaude مع التفضيلات البشرية. في كل مرة يُحدِّث فيها وكيل تعلم معزز دالة القيمة من انتقالة واحدة، فإنه يستخدم امتداداً مباشراً لإطار سوتون 1988.
تخيّل أنك تتسلق جبلاً قمته مخفية وراء الغيوم. في ، تنتظر حتى تصل القمة لتحكم هل كان كل مفترق طرق اختياراً صائباً أم لا.
أما في تعلم ، فأنت تتفقّد الارتفاع عند كل استراحة. إذا صعد بك المسار 200 متر، تُحسِّن رأيك في المفترق السابق — قبل أن ترى القمة. كل قراءة ارتفاع عند استراحة تتحول إلى خطوة تعلُّم فعلية، لا مجرد انتظار للمشهد النهائي من فوق.
مشكلة التنبؤ: لماذا ينتهي الانتظار حتى النهاية بإهدار المعلومات
يطرح سوتون التحدي الجوهري على شكل مسألة : لديك سلسلة من الحالات ، ثم تظهر النتيجة في النهاية. المطلوب هو بناء تنبؤ عند كل خطوة يُقدِّر بأعلى دقة ممكنة.
النهج التقليدي في التعلم المُوجَّه يُعامل كل خطوة كزوج مستقل من المشاهدة والنتيجة ، ويُحدِّث الأوزان باستخدام (قاعدة دلتا):
الأمر أشبه بأستاذ جامعي يجمع كراسات الامتحانات كلها ولا يُصحّحها إلا بعد انتهاء الفصل. أداء الطلاب في اختبارات منتصف الفصل — وهو مؤشر ثريّ على مستوى استيعابهم — يضيع تماماً لأنه لا يُستخدم حتى تصدر الدرجة النهائية. أساليب الفارق الزمني تعمل بأسلوب مختلف: تُعطي تغذية راجعة بعد كل اختبار قصير، فكل إشارة وسيطة تُصقل التنبؤ الذي يليها.
الفكرة المحورية: التعلُّم من الفارق بين تنبؤات متعاقبة
الملاحظة المحورية التي اكتشفها سوتون هي أن الخطأ الكلّي يمكن تفكيكه إلى مجموع تلسكوبي من فروق التنبؤات المتعاقبة:
حيث . الفكرة أنك لست بحاجة لانتظار : يكفي أن تُحدِّث بعد كل خطوة بالاعتماد على مقدار التغيّر من إلى فقط. هذا هو جوهر تعلم الفارق الزمني.
عائلة TD(λ): من الاسترجاع الكامل إلى التمهيد الذاتي المحض
يُعرِّف سوتون طيفاً كاملاً من أساليب الفارق الزمني يتحكم فيه المعامل . قاعدة التحديث هي:
فكّر في كأنه مقبض ذاكرة. ارفعه للحد الأقصى () وسيمنح المتعلم فضلاً متساوياً لكل المشاهدات السابقة — تماماً كما يفعل التعلم المُوجَّه. أنزِله للصفر () ولن تُؤثّر إلا الخطوة الأخيرة. أما القيم بينهما فتمنح الخطوات القريبة فضلاً أكبر بشكل أسّي مقارنةً بالبعيدة، كأنها بقعة ضوء تخفت كلما ابتعدت.
اللمسة الأنيقة هنا أن الترجيح الأسّي يمتلك صيغة تزايدية بسيطة. نُعرِّف :
هذا الأثر عبارة عن مجموع متجدّد يُخمِّد القديمة بمعامل عند كل خطوة. بفضله يستطيع TD() أن يعمل بذاكرة ثابتة لكل خطوة — دون الحاجة لتخزين التاريخ بأكمله.
تجربة المسار العشوائي: الدليل العملي
لاختبار الأساليب تجريبياً، صمّم سوتون تجربة أنيقة في بساطتها: مسار عشوائي محدود على 7 حالات (من A إلى G). كل مسار يبدأ من الحالة الوسطى D، وعند كل خطوة يتحرك يساراً أو يميناً باحتمال متساوٍ. إذا وصل إلى A (الحافة اليسرى) تكون النتيجة ، وإذا وصل إلى G (الحافة اليمنى) تكون النتيجة . المهمة: تنبؤ احتمال الوصول إلى G انطلاقاً من كل حالة.
الاحتمالات الحقيقية هي للحالات من B إلى F. رغم أن هذه المسألة من أبسط الأنظمة الديناميكية التي يمكن تصوّرها، إلا أنها تكشف بوضوح تفوّق أساليب الفارق الزمني.
توصّل سوتون إلى نتيجتين لافتتين. في نظام العروض المتكررة (عرض نفسها حتى )، حقّق TD(0) خطأ جذر متوسط مربعات أقل من Widrow-Hoff عند كل قيمة . وفي نظام العرض الوحيد (تمريرة واحدة على البيانات)، كانت أساليب الفارق الزمني عند الأفضل أداءً، لكن جميع قيم تفوّقت على الأسلوب المُوجّه.
السؤال الطبيعي: كيف يخسر Widrow-Hoff وهو أسلوب مُثبَت رياضياً أنه يُقلّل خطأ مجموعة التدريب؟ الجواب أن تقليل الخطأ على بيانات التدريب ليس هو نفسه تقليل الخطأ على بيانات المستقبل. ما يحدث هو أن TD(0) يتقارب نحو المتوافقة مع الفعلية، وهذه التقديرات تُعمِّم بشكل أفضل على بيانات جديدة.
TD(0): الأبسط والأقوى في آن
عند تصل قاعدة التحديث إلى أبسط صورها وأكثرها تميّزاً:
المقدار يُعرف اليوم بـ**** ويُرمز له بـ في أدبيات التعلم المعزز. هذا هو إشارة التعلم الجوهرية في التعلم المعزز الحديث: في كل مرة يُحدِّث فيها أو SARSA أو بنية أوزانها، فإنها تحسب نسخة من هذا الخطأ.
— أي استخدام تقديرك الخاص لتحسين تقديرك — يبدو دائرياً للوهلة الأولى، لكن سوتون أثبت أنه ناجح. الحدس وراء ذلك أن يتضمن خطوة إضافية واحدة من المعلومات الحقيقية مقارنةً بـ : فقد رأى الحالة الفعلية التالية. هذه المشاهدة الإضافية تجعل معياراً أدق من النتيجة النهائية التي قد تكون بعيدة ومُشوَّشة بعوامل كثيرة.
التقارب: لماذا لا يدخل التمهيد الذاتي في حلقة مفرغة
أعمق إسهام في الورقة هو البرهان على أن TD(0) الخطي يتقارب. هذه نتيجة لافتة لأن الأسلوب يتعلم من تنبؤاته هو، وهي خاطئة في البداية. الأساليب السابقة الشبيهة بالفارق الزمني (برنامج الداما لصامويل، ولواء الدلو لهولاند) نجحت عملياً لكنها افتقرت إلى أي ضمان نظري بـالتقارب.
يُبرهن سوتون على مبرهنتين لبيانات مولَّدة من بمتجهات مشاهدة مستقلة خطياً:
المبرهنة 2 (التقارب): إذا كان صغيراً بما يكفي، فإن TD(0) الخطي يتقارب في القيمة المتوقعة نحو التنبؤات المثالية — أي القيم المتوقعة الحقيقية للنتائج عند كل حالة.
المبرهنة 3 (الأمثلية): تحت العروض المتكررة لمجموعة تدريب محدودة، يتقارب TD(0) الخطي نحو تقديرات الأرجحية العظمى — أي التنبؤات التي ستكون مثالية لو أن بيانات التدريب وصفت العملية الحقيقية بدقة تامة. أما Widrow-Hoff فيتقارب نحو التقديرات التي تُقلّل خطأ مجموعة التدريب فحسب، وهي عادةً دون المثلى للبيانات المستقبلية.
الفكرة بلغة الكود
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import numpy as np
def td_zero(sequences, n_states, alpha=0.05, n_episodes=100):
"""TD(0) الخطي للمسار العشوائي المحدود."""
V = np.full(n_states, 0.5) # التنبؤات الأولية
for _ in range(n_episodes):
for seq in sequences:
for t in range(len(seq) - 1):
s = seq[t] # فهرس الحالة الحالية
s_ = seq[t + 1] # فهرس الحالة التالية
# خطأ الفارق الزمني: التنبؤ التالي ناقص الحالي
if s_ == 0 or s_ == n_states - 1: # حالة نهائية
target = 1.0 if s_ == n_states - 1 else 0.0
else:
target = V[s_] # تمهيد ذاتي من تنبؤنا
delta = target - V[s]
V[s] += alpha * delta # تحديث TD(0) بالكامل
return V
def td_lambda(sequences, n_states, lam=0.3, alpha=0.05, n_episodes=100):
"""TD(λ) الخطي مع أثر الأهلية."""
V = np.full(n_states, 0.5)
for _ in range(n_episodes):
for seq in sequences:
e = np.zeros(n_states) # أثر الأهلية
for t in range(len(seq) - 1):
s = seq[t]
s_ = seq[t + 1]
if s_ == 0 or s_ == n_states - 1:
target = 1.0 if s_ == n_states - 1 else 0.0
else:
target = V[s_]
delta = target - V[s]
e *= lam # إخماد الآثار القديمة
e[s] += 1.0 # تعليم الحالة الحالية
V += alpha * delta * e # تحديث جميع الحالات ذات الأثر
return V
# الفرق الوحيد: TD(0) يُحدّث حالة واحدة في كل خطوة؛
# TD(λ) يُحدّث كل الحالات المزارة حديثاً بأوزان تتناسب مع λ.التوسعات: النتائج التراكمية والخصم الزمني
يوسّع سوتون أساليب الفارق الزمني لتتجاوز تنبؤ نتيجة نهائية واحدة إلى تنبؤ التكاليف التراكمية التي تتجمع على طول التسلسل. إذا كان هو التكلفة المتكبَّدة بين الخطوتين و، يصبح هدف التنبؤ:
في هذه الحالة يتعمم خطأ الفارق الزمني إلى ، وهذه بالضبط الصيغة المستخدمة في التعلم المعزز الحديث. وعند إدخال ، نحصل على خطأ الفارق الزمني المُخصَّم:
هذه هي إشارة التحديث التي استخدمها سوتون نفسه في (1984)، وهي تحديداً الإشارة التي تعتمد عليها كل خوارزمية تعلم معزز حديثة قائمة على تقدير القيمة.
الفارق الزمني بين عملاقين: البرمجة الديناميكية ومونت كارلو
يحتل تعلم الفارق الزمني موقعاً وسطاً فريداً بين نهجين كلاسيكيين:
(بيلمان، 1957) تحسب القيم انطلاقاً من نموذج معروف للبيئة: . النتائج دقيقة لكنها تشترط توفُّر نموذج كامل — احتمالات الانتقال و لكل زوج حالة-فعل.
أساليب تُقدِّر القيم بحساب متوسط العائد التراكمي الكامل: عبر الحلقات. لا تحتاج نموذجاً، لكنها مضطرة للانتظار حتى نهاية كل حلقة.
الفارق الزمني يجمع أفضل ما في النهجين: مثل مونت كارلو، يتعلم من التجربة المباشرة دون نموذج. ومثل البرمجة الديناميكية، يُحدِّث تقديراته بالاعتماد على تقديرات أخرى (التمهيد الذاتي)، فيتعلم عند كل خطوة دون انتظار نهاية الحلقة.
الإرث الذي أسّس التعلم المعزز الحديث
1959
لعبة الداما لصامويل
أول استخدام لأسلوب يشبه الفارق الزمني. برنامج الداما لصامويل كان يُحدِّث تقييمات الوضعيات بناءً على الفروق بين تقييمات متتالية — وهو السلف الذي منحه سوتون صياغة رسمية.
1988
هذه الورقة — الصياغة الرسمية لـ TD(λ)
يفصل سوتون أساليب الفارق الزمني عن الأنظمة الأكبر التي كانت مدمجة فيها، ويُثبت تقارب TD(0) وأمثليته، ويُقدِّم المعامل λ الذي يتحكم في المفاضلة بين التمهيد الذاتي والمعاينة الكاملة.
1989
تعلم Q
يوسّع واتكينز الفارق الزمني ليشمل التحكم، وذلك بتعلم قيم الأفعال Q(s, a) بأسلوب خارج السياسة. خطأ الفارق الزمني يصبح هو تحديث تعلم Q — وهو سليل مباشر لهذه الورقة.
1992
TD-Gammon
يُطبّق تيساورو TD(λ) مع شبكة عصبية على لعبة الطاولة (النرد)، ويُحقّق مستوى بطل العالم. هذا أول عرض عملي مبهر لقدرة الفارق الزمني مع تقريب الدوال على التعامل مع مسائل معقدة.
2000
كتاب سوتون وبارتو في التعلم المعزز
يُرسّخ أساليب الفارق الزمني بوصفها الفصل المحوري في نظرية التعلم المعزز. يُقدَّم TD(0) وSARSA وتعلم Q كعائلة موحدة انبثقت من أفكار هذه الورقة.
2015
تقدير الميزة المعمَّم (GAE)
يستخدم شولمان وزملاؤه TD(λ) لحساب الميزات في أساليب تدرُّج السياسة. المعامل λ من هذه الورقة يتحكم مباشرة في المفاضلة بين الانحياز والتباين في تحسين السياسات الحديثة.
2017
PPO والفارق الزمني في RLHF
دوال القيمة القائمة على الفارق الزمني تُصبح الناقد في بنية الممثل-الناقد التي تُشغِّل RLHF — الأسلوب المستخدم لمواءمة GPT وClaude والنماذج اللغوية الكبيرة الأخرى مع تفضيلات البشر.
المرجعSutton, R. S.. Learning to Predict by the Methods of Temporal Differences. Machine Learning 3(1), 1988.
مصطلحات هذه الورقة
- الفارق الزمني الحسابيTemporal Difference
- التمهيد الذاتيBootstrapping
- أثر الأهليةEligibility Trace
- خطأ الفارق الزمنيTD Error
- إسناد الائتمانCredit Assignment
- سلسلة ماركوف الممتصّةAbsorbing Markov Chain
- قاعدة Widrow-HoffWidrow-Hoff Rule