Grokking
التعميم المتأخر هو تعميم لا يظهر إلا بعد فترة: إذ تلائم الشبكة مجموعة التدريب مبكرًا، ثم تقفز دقتها على مجموعة التحقق من مستوى التخمين إلى مستوى شبه مثالي بعد خطوات عديدة.
الاستيعاب هو التعميم المتأخر: تصل الشبكة العصبية مبكرًا إلى دقة تامة على بيانات التدريب، وتظل عند مستوى التخمين العشوائي على بيانات التحقق مدة طويلة، ثم تبدأ فجأة في التعميم بعد وقت طويل من ظهورها وكأنها قد وقعت في فرط المواءمة. أطلق Power وآخرون (2022) في OpenAI اسم «الاستيعاب» على هذا الأثر بعد تدريب محوّلات صغيرة على مهام خوارزمية مثل الحساب النمطي، حيث ارتفعت دقة التحقق من مستوى التخمين العشوائي إلى الدقة الكاملة بعد وقت طويل من وصول دقة التدريب إلى مرحلة التشبع. وتعود الكلمة إلى رواية روبرت هاينلاين «غريب في أرض غريبة»، حيث يعني الفعل grok أن يفهم المرء شيئًا ما فهمًا تامًا.
كيف يحدث الاستيعاب المتأخر#
تُعد عملية الجمع النمطي المهمة الكلاسيكية للاستيعاب المتأخر: يرى النموذج أزواجًا (a, b)، ويجب أن ينتج (a + b) mod p، مع إتاحة جزء فقط من جميع الأزواج للتدريب. يدرّب التشغيل أدناه إدراكًا متعدد الطبقات صغيرًا باستخدام محسّن AdamW في PyTorch على 30% من الأزواج البالغ عددها 9,409 عند p = 97، وينتهي خلال أقل من دقيقة على CPU:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
p = 97 # task: predict (a + b) mod 97 from one-hot encodings of a and b
a, b = torch.cartesian_prod(torch.arange(p), torch.arange(p)).T
x, y = torch.cat([F.one_hot(a, p), F.one_hot(b, p)], dim=1).float(), (a + b) % p
idx = torch.randperm(p * p)
train, val = idx[: p * p * 3 // 10], idx[p * p * 3 // 10 :] # train on 30% of all pairs
model = torch.nn.Sequential(torch.nn.Linear(2 * p, 256), torch.nn.ReLU(), torch.nn.Linear(256, p))
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=1.0) # strong weight decay
for step in range(1, 20001):
loss = F.cross_entropy(model(x[train]), y[train])
optimizer.zero_grad()
loss.backward()
optimizer.step()
if step % 4000 == 0:
train_acc, val_acc = [(model(x[i]).argmax(1) == y[i]).float().mean().item() for i in (train, val)]
print(f"step {step:5d}: train accuracy {train_acc:.2f}, validation accuracy {val_acc:.2f}")عند الخطوة 4,000، تكون دقة التدريب قد بلغت 1.00، بينما دقة التحقق 0.00. ثم ترتفع دقة التحقق إلى 0.16 عند الخطوة 8,000، و0.54 عند 12,000، و0.84 عند 16,000، و0.97 عند 20,000. باستخدام weight_decay=0.0، يظل التشغيل نفسه عند دقة تحقق 0.00 طوال الخطوات العشرين ألفًا.
شرح Nanda وآخرون (2023) فترة الثبات عبر الهندسة العكسية لمحوّل ذي طبقة واحدة دُرّب على الجمع النمطي. يتعلم النموذج تحويل الجمع إلى دوران حول دائرة، باستخدام سمات فورييه متقطعة وهويات مثلثية. ينقسم التدريب إلى ثلاث مراحل متواصلة: الحفظ، وتكوين الدارة، والتنقية؛ إذ تنمو الدارة المعممة تدريجيًا بينما تظل دقة التحقق ثابتة، ولا تحدث القفزة إلا عندما يزيل اضمحلال الأوزان الحل المحفوظ الذي ظل يهيمن على المخرجات.
ما الذي يسبب الاستيعاب المتأخر#
- التنظيم: كان اضمحلال الأوزان التدخل الأكثر فاعلية في التجارب الأصلية، ولا يعمم التشغيل أعلاه إطلاقًا من دونه.
- حجم مجموعة البيانات: تحتاج النسب الأصغر من بيانات التدريب إلى تحسين أكبر بكثير قبل التعميم، ودون حد معين لا يعمم النموذج ضمن ميزانية عملية.
- معيار الأوزان: يربط Omnigrok الاستيعاب المتأخر بحجم الأوزان، لأن حلول التعميم لها معيار أوزان أصغر من الحلول التي تحفظ البيانات. ومن خلال البدء بأوزان ابتدائية كبيرة، أحدث الباحثون الاستيعاب المتأخر في مهام الصور واللغة والجزيئات، وأزالوه من المهام الخوارزمية بتقييد معيار الأوزان.
- الاستقرار العددي: وجد Prieto وآخرون (2025) أن التدريب باستخدام الانتروبيا المتقاطعة، من دون تنظيم، يواصل زيادة حجم القيم اللوغاريتمية حتى توقف أخطاء الفاصلة العائمة في softmax التعلم؛ وأطلقوا على ذلك اسم انهيار Softmax. وتنتج دالة التنشيط StableMax ومحسّن ⊥Grad الاستيعاب المتأخر من دون اضمحلال الأوزان.
الاستيعاب المتأخر مقابل المفاهيم ذات الصلة#
- فرط المواءمة: فجوة بين أداء التدريب والتحقق تستمر أو تتسع. أما في الاستيعاب المتأخر، فتُغلق الفجوة تلقائيًا مع مواصلة التدريب.
- الهبوط المزدوج: ينخفض خطأ الاختبار ثم يرتفع ثم ينخفض مجددًا مع زيادة حجم النموذج أو مدة التدريب. ويُعد الهبوط المزدوج بحسب الحقبة شكلًا آخر من التحسن المتأخر، إذ يرتفع خطأ الاختبار مدةً أثناء التدريب قبل أن ينخفض مجددًا.
- قابلية تفسير الآليات: دراسة الخوارزميات داخل الشبكات المدرّبة. أصبح الاستيعاب المتأخر في الحساب النمطي إحدى دراساتها الرئيسية، لأن الخوارزمية المتعلَّمة أمكن استخلاصها كاملةً.
الاستيعاب المتأخر عمليًا#
يظهر الاستيعاب المتأخر بوضوح أكبر في مجموعات البيانات الخوارزمية الصغيرة التي تحكمها قاعدة دقيقة واحدة. وله أهمية أيضًا في تصميم التجارب، لأن الإيقاف المبكر ينهي التشغيل حين يتوقف مقياس التحقق عن التحسن، ما يوقف تشغيل الاستيعاب المتأخر أثناء فترة ثباته. يتوقف تدريب Ultralytics YOLO بعد patience حقبة من دون تحسن في كفاءة التحقق، والعدد الافتراضي 100، ويُشغّل كل حقبة عند patience=0.










