السلاسل الزمنية2019متوسط10 دقيقة قراءة
N-BEATS: تحليل التوسّع بدوال الأساس العصبية للتنبؤ التفسيري بالسلاسل الزمنية
N-BEATS: Neural Basis Expansion Analysis for Interpretable Time Series Forecasting
Oreshkin, B. N. · Carpov, D. · Chapados, N. · Bengio, Y. — ICLR
المشكلة
بحلول عام 2019، كان قد غيّر قواعد اللعبة في الرؤية الحاسوبية ومعالجة اللغة الطبيعية، لكن أداءه في كان محرجاً. في مسابقة M4 — وهي أشهر مسابقات على الإطلاق — حلّت الطرق الست التي اعتمدت التعلم الآلي فقط في المراتب 23 و37 و38 و48 و54 و57 من أصل 60 مشاركاً. أما الفائز فكان نظاماً هجيناً صُمّم يدوياً بدمج شبكة LSTM مع نموذج هولت-وينترز الإحصائي. القناعة السائدة آنذاك كانت واضحة: التعلم العميق وحده لا يستطيع منافسة الأساليب الإحصائية المُحكمة الضبط في مجال السلاسل الزمنية.
الإسهام
أثبت N-BEATS أن التعلم العميق الصِّرف — بطبقات متّصلة بالكامل وتنشيط ReLU فقط، دون أي مكوّن مصمّم خصيصاً للسلاسل الزمنية — يستطيع التفوّق على المعايير الإحصائية والأنظمة الهجينة المصنوعة يدوياً في مجموعات بيانات M3 وM4 وTOURISM. تجاوز المعيار الإحصائي بنسبة 11% والفائز بمسابقة M4 بنسبة 3%. الفكرة المحورية هي «الرَّصّ المتبقّي المزدوج»: كل وحدة تُخرج إسقاطاً خلفياً يمثّل فهمها للماضي، وتنبؤاً أمامياً يمثّل توقّعها للمستقبل، ثم تطرح الإسقاط الخلفي من المدخل لتعمل الوحدة التالية على ما لم يُفسَّر بعد. كذلك قدّمت الورقة نسخة قابلة للتفسير تُقيّد الوحدات بدوال أساس كثيرات الحدود العام ودوال فورييه للموسمية، فتُنتج تحليلاً يفهمه البشر مع فقدان ضئيل في الدقة.
الأثر
كسر N-BEATS القناعة الراسخة بأن التعلم العميق عاجز عن التنبؤ بالسلاسل الزمنية. فتح الباب أمام موجة من بنيات التنبؤ المبنية بالكامل على التعلم العميق مثل N-HiTS، وبرهن أن قابلية التفسير ممكنة دون خسارة تُذكر في الدقة. تأثّرت نماذج لاحقة مثل DLinear وInformer بنمط الرَّصّ المتبقّي المزدوج الذي قدّمه. والأهم أن نجاحه على معيار M4 أجبر المجال بأكمله على التعامل بجدّية مع التنبؤ العصبي، وهو ما نراه اليوم في هيمنة التعلم العميق على لوحات الصدارة.
تخيّل فرقة موسيقية تحاول تعلُّم أغنية بالسمع فقط. العازف الأول يستمع إلى التسجيل كاملاً ويلتقط خط الباص — ثم يحذفه من التسجيل. العازف الثاني لا يسمع إلا ما تبقّى، فيلتقط اللحن الرئيسي. الثالث يمسك الإيقاع. كل عازف يفهم طبقة واحدة ويزيلها، ثم يمرّر ما تبقّى للعازف التالي.
حين يعزفون معاً في النهاية، تظهر الأغنية كاملة: مجموع ما التقطه كل واحد منهم. لا يحتاج أي عازف لفهم المقطوعة بأكملها — يكفي أن يلتقط ما لم يستطع الآخرون التقاطه.
N-BEATS يعمل بنفس الفكرة تماماً: سلسلة من وحدات بسيطة، كل وحدة تلتقط نمطاً واحداً من إشارة ، وتطرحه من الإشارة، ثم تمرّر غير المُفسَّر إلى الوحدة التي تليها.
الفجوة: لماذا تعثّر التعلم العميق في السلاسل الزمنية
قبل ظهور N-BEATS، كانت الأساليب الإحصائية مثل ARIMA والتنعيم الأُسّي (ETS) وطريقة ثيتا هي المسيطرة على مسابقات التنبؤ بالسلاسل الزمنية. نقطة قوة هذه الأساليب أنها تُصيغ مكوّنات واضحة كالاتجاه العام والموسمية والضجيج — وهي مكوّنات يفهمها المحلّل ويستطيع فحصها وتعديلها.
نماذج التعلم العميق حاولت الاستغناء عن ذلك كلّه والاعتماد على التعلّم الشامل من طرف إلى طرف، لكنها أخفقت مراراً. الأسباب ثلاثة: أولاً، بيانات التنبؤ عادةً صغيرة — نتحدث عن آلاف السلاسل القصيرة وليس ملايين الصور كما في الرؤية الحاسوبية. ثانياً، البنيات المعتادة كالشبكات التكرارية وLSTM أضافت تعقيداً دون أن توفّر مناسباً لطبيعة المهمة. ثالثاً، الممارسون ببساطة لا يثقون بنموذج لا يستطيعون مخرجاته إلى مكوّنات يفهمونها.
مسابقة M4 عام 2018 وضعت هذه الفجوة تحت المجهر. شملت 100 ألف سلسلة زمنية بترددات متنوّعة — سنوية وربع سنوية وشهرية وأسبوعية ويومية وكل ساعة — من مجالات كالمالية والديموغرافيا والصناعة. النتيجة: طرق التعلم الآلي الصِّرف هُزمت هزيمة شاملة.
الوحدة الأساسية: تنبّأ أماماً وفسِّر خلفاً
اللبنة الأساسية في N-BEATS هي ما يُسمّى الوحدة الأساسية (Basic Block). فكّر فيها كعامل على خط إنتاج: يستقبل جزءاً من إشارة السلسلة الزمنية (نافذة من الماضي)، يؤدي مهمّتين في آنٍ واحد، ثم يمرّر ما تبقّى للعامل الذي يليه.
عملياً، تأخذ الوحدة مدخلاً — وهو نافذة من القيم الماضية — وتمرّره عبر سلسلة من مع ReLU. الناتج هو تمثيل مضغوط يختزل الأنماط الموجودة في المدخل. من هذا التمثيل تستخلص الوحدة مجموعتين من المعاملات: و، كل مجموعة عبر طبقة خطية مستقلة.
بعد ذلك تُضرب هذه المعاملات بـ** و فتُنتج مخرجين اثنين: يمثّل أفضل محاولة للوحدة لإعادة بناء مدخلها، وتنبؤ أمامي يمثّل توقّعها للقيم المستقبلية.
الصورة الذهنية بسيطة: الإسقاط الخلفي يقول «هذا ما فهمته عن الماضي»، والتنبؤ الأمامي يقول «وبناءً على هذا الفهم، هذا ما أتوقّعه للمستقبل».
الرَّصّ المتبقّي المزدوج: اطرح ما فسّرته
الإسقاط الخلفي ليس مجرد أداة تشخيصية — بل هو المحرّك الذي تقوم عليه البنية بأكملها. حين تُنتج الوحدة إسقاطها الخلفي ، يُطرح هذا الإسقاط من المدخل، فلا تستقبل الوحدة التالية إلا المتبقّي: أي الجزء الذي لم تستطع الوحدة السابقة تفسيره.
هذا ما نسمّيه المتبقّي الخلفي: كل وحدة تنزع من الإشارة المكوّن الذي فهمته، فتجد الوحدة التالية إشارة أبسط وأنظف. تخيّل الأمر كإزالة طبقات طلاء متراكمة على لوحة — كل طبقة تُزال تكشف ما تحتها.
وبالتوازي، يُضاف تنبؤ كل وحدة إلى التنبؤ الإجمالي. هذا هو المتبقّي الأمامي: التنبؤ النهائي ليس من وحدة واحدة، بل هو حصيلة جمع التنبؤات الجزئية من جميع الوحدات. لا يُطلب من أي وحدة أن تتنبّأ بالمستقبل وحدها — كل واحدة تُضيف مساهمتها.
هذان المساران — الخلفي والأمامي — هما ما يمنح البنية اسمها: الرَّصّ المتبقّي المزدوج. المسار الخلفي يفرض تحليلاً تدريجياً للإشارة، والمسار الأمامي يضمن أن كل مكوّن يساهم في التنبؤ النهائي.
الرصّات: تنظيم الوحدات في مجموعات وظيفية
الوحدات لا تعمل منفردة، بل تُنظَّم في مجموعات تُسمّى رصّات. داخل كل تتشارك الوحدات نوع دوال الأساس و نفسه، وفي الإعداد القابل للتفسير تتشارك حتى في .
في الإعداد العام (N-BEATS-G)، كل وحدة تستخدم طبقات خطية قابلة للتعلّم بوصفها دوال أساس — بلا أي قيد على شكل المخرج، ما يمنح النموذج أقصى قدرة تعبيرية. الإعداد المعتاد يتضمّن 30 رصّة بوحدة واحدة في كل منها.
أما في الإعداد القابل للتفسير (N-BEATS-I)، فالبنية أبسط بكثير: رصّتان فقط. الأولى مخصّصة لـالاتجاه العام وتستخدم دوال أساس من كثيرات الحدود، والثانية مخصّصة للموسمية وتستخدم دوال أساس فورييه، وكل رصّة تضم 3 وحدات. الجميل هنا أن الرَّصّ المتبقّي المزدوج يضمن إزالة الاتجاه العام أولاً قبل أن ترى رصّة الموسمية الإشارة — تماماً كما يفعل التحليل الإحصائي الكلاسيكي.
دوال الأساس القابلة للتفسير: الاتجاه العام ككثيرات حدود والموسمية كتوافقيات
الفكرة المحورية في الإعداد القابل للتفسير هي تقييد دوال الأساس بأشكال رياضية معروفة مسبقاً. المنطق واضح: إذا أجبرنا الشبكة على صياغة مخرجاتها بأشكال نعرفها، نستطيع قراءة تلك المخرجات وفهم ما تعنيه.
أساس الاتجاه العام: كثيرة حدود من درجة منخفضة . لو أخذنا متجهاً زمنياً ، فإن مخرج الاتجاه يكون . كثيرة حدود من الدرجة الثانية مثلاً تكفي لالتقاط اتجاه ثابت أو خطي أو تربيعي — وهي نفس الأشكال التي يرسمها أي محلّل بشري بالعين. لاحظ أن الشبكة لا تتعلّم بنية كثيرة الحدود ذاتها، بل تتعلّم المعاملات فقط.
أساس الموسمية: سلسلة فورييه مبتورة. دوال الأساس هنا هي و للتوافقيات . هذا القيد يحصر المخرج في أنماط دورية — وهي بالضبط الأشكال التي نحتاجها لوصف الدورات الأسبوعية والشهرية والسنوية.
التجميع: الدفعة الأخيرة نحو الدقة
الاستراتيجية الأساسية التي يعتمدها N-BEATS لمنع الإفراط في التخصيص ليست ولا عقوبات L2، بل . وجد المؤلفون أن عدة نماذج ببذور عشوائية مختلفة ثم حساب متوسط تنبؤاتها يتفوّق بفارق كبير على أساليب التنظيم التقليدية.
التجميع النهائي في N-BEATS ضخم: 180 نموذجاً ناتجة عن 3 أطوال لنافذة الاسترجاع × 3 (MAPE وMASE وsMAPE) × 20 بذرة عشوائية. هذا التنوّع هو ما ينقل الأداء من مستوى قوي إلى مستوى يتصدّر المقاييس المرجعية. التنوّع في نوافذ الاسترجاع يعني أن بعض النماذج تتخصّص في الأنماط قصيرة المدى بينما يلتقط غيرها الأنماط الأطول. أما التنوّع في دوال الخسارة فيمنح التجميع متانة أمام مقاييس خطأ مختلفة.
النتائج: التعلم العميق الصِّرف يتفوّق على الأنظمة الهجينة
على مجموعة بيانات M4 التي تضم 100 ألف سلسلة، حقّق الإعداد العام N-BEATS-G قيمة OWA مقدارها 0.821 — أي أنه تفوّق على الفائز بمسابقة M4 (نظام ES-RNN بـ OWA 0.838) بنسبة 3%، وتفوّق على المعيار الإحصائي بنسبة 11%. حتى الإعداد القابل للتفسير N-BEATS-I حقّق OWA 0.847، وهو أداء لا يزال أفضل من الفائز بالمسابقة رغم القيود المفروضة على دوال الأساس.
على مجموعتي M3 (3,003 سلاسل) وTOURISM (1,311 سلسلة)، تصدّر N-BEATS النتائج أيضاً. هذه المجموعات تختلف جذرياً في مجالاتها وتردداتها، ما يعني أن البنية تُعمَّم جيداً دون الحاجة لأي تعديل خاص بالمجال.
أكّدت أن الرَّصّ المتبقّي المزدوج ضروري: مقارنةً بالبدائل — كالتمرير المتوازي أو الأمامي فقط — تبيّن أن إزالة المتبقّي الخلفي تُضعف الأداء بشكل ملحوظ، ما يؤكّد أن هذه الآلية هي قلب الابتكار المعماري في الورقة.
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import torch
import torch.nn as nn
class NBeatsBlock(nn.Module):
def __init__(self, lookback, horizon, hidden=256, n_layers=4):
super().__init__()
# رصّة من طبقات FC + ReLU
layers = [nn.Linear(lookback, hidden), nn.ReLU()]
for _ in range(n_layers - 1):
layers += [nn.Linear(hidden, hidden), nn.ReLU()]
self.fc_stack = nn.Sequential(*layers)
# إسقاطات معاملات التوسيع
self.theta_b = nn.Linear(hidden, lookback) # معاملات الإسقاط الخلفي
self.theta_f = nn.Linear(hidden, horizon) # معاملات التنبؤ الأمامي
def forward(self, x):
h = self.fc_stack(x) # التمثيل الكامن
backcast = self.theta_b(h) # «ما فسّرته»
forecast = self.theta_f(h) # «ما أتنبّأ به»
return backcast, forecast
الإرث: ثورة التنبؤ العصبي
2018
مسابقة M4 — الأساليب الإحصائية لا تزال مهيمنة
طرق التعلم الآلي الصِّرف حلّت في ذيل الترتيب. الفائز ES-RNN كان نظاماً هجيناً صُمّم يدوياً بدمج LSTM مع هولت-وينترز. الاستنتاج العام: التعلم العميق وحده غير جاهز بعد.
2019
N-BEATS (هذه الورقة)
برهنت أن التعلم العميق الصِّرف قادر على التفوّق على الأساليب الإحصائية والهجينة معاً. قدّمت الرَّصّ المتبقّي المزدوج وتوسيع الأساس القابل للتفسير. قلبت المعادلة رأساً على عقب.
2021
N-HiTS — الاستيفاء الهرمي
طوّرت بنية N-BEATS بإضافة أخذ عيّنات من الإشارة بمعدلات متعددة، بحيث تتخصّص كل وحدة في مقياس زمني مختلف. حسّنت الأداء بشكل ملحوظ في التنبؤات بعيدة المدى.
2023
DLinear وPatchTST يتحدّيان المتنبّئين القائمين على المحوّل
نماذج خطية بسيطة — مستوحاة من فلسفة N-BEATS في الاكتفاء بالتعلم العميق الصِّرف — أثبتت أن بنيات المحوّل المعقّدة ليست ضرورية دائماً للتنبؤ، في تأكيد جديد لدرس N-BEATS الأصلي.
غيّر N-BEATS نظرة مجتمع التنبؤ إلى التعلم العميق تغييراً جوهرياً. قبله كان السؤال المطروح: هل يصلح التعلم العميق أصلاً للسلاسل الزمنية؟ وبعده تحوّل السؤال إلى: كيف نبني على نجاحه؟ أفكاره الأساسية — التحليل التدريجي عبر المتبقّيات، و لتحقيق ، والتجميع الكثيف — أصبحت أنماطاً تأسيسية يبني عليها كل من يعمل في التنبؤ العصبي اليوم.
المرجعOreshkin, Carpov, Chapados, Bengio. N-BEATS: Neural basis expansion analysis for interpretable time series forecasting. ICLR, 2020.
مصطلحات هذه الورقة
- التنبؤForecast
- التحديث التراجعيBackpropagation
- الوصلة التجاوزيةResidual Connection
- الطبقة كاملة الاتصالFully Connected Layer
- دالة الوحدة الخطية المصححةReLU
- دالة الأساسBasis Function
- النماذج التجميعية الهجينةEnsemble
- القابلية للتفسيرInterpretability
- دالة الخسارةLoss function
- التعلم العميقDeep Learning
- الشبكة العصبيةNeural Network
- البيرسبترون متعدد الطبقاتMulti-Layer Perceptron (MLP)
- التفكيكDecomposition
- البُعد المتبقّيResidual
- مشاركة الأوزانweight sharing