الرؤية الحاسوبية1998تأسيسي6 دقيقة قراءة
التعلُّم بالتدرُّج لتمييز الوثائق
Gradient-Based Learning Applied to Document Recognition
LeCun, Y. · Bottou, L. · Bengio, Y. · Haffner, P. — Proceedings of the IEEE
المشكلة
تمييز الأرقام المكتوبة بخط اليد بالطرق التقليدية كان يعتمد على سمات يصمّمها المهندس يدوياً — هشّة، مُكلفة، وتحتاج إعادة تصميم مع كل مهمة جديدة. أما الشبكات كاملة الاتصال التي تعمل مباشرة على البكسلات فهي تتجاهل بنية الصورة وتنفجر في عدد المعاملات: صورة 32×32 مع 100 عصبون مخفي تعني 100,000 وزن، ومجرد إزاحة الرقم بكسلاً واحداً تجعل المدخل يبدو مختلفاً تماماً.
الإسهام
-5: شبكة عصبية التفافية تُدرَّب من البكسل إلى التصنيف بنزول التدرُّج. ثلاثة مبادئ معمارية — حقول استقبال محلية، ، وتجميع مكاني — تُجسّد ما نعرفه عن الصور: الأنماط محلية، والنمط نفسه قد يظهر في أي مكان، والموقع الدقيق أقل أهمية من وجود النمط. خط المعالجة بأكمله قابل للاشتقاق ومُتعلَّم تلقائياً.
الأثر
عالجت LeNet ملايين الشيكات البنكية في AT&T خلال التسعينيات، فكانت أول تطبيق صناعي حقيقي للتعلم العميق. وضعت القالب الذي صار معياراً: التفاف ثم تجميع ثم تكرار ثم تصنيف — وهو القالب نفسه الذي كبّرته AlexNet عام 2012 وأشعلت به ثورة الحديث. كل نموذج رؤية حاسوبية اليوم يحمل بصمتها.
تخيّل أن معك ختماً مطاطياً منقوشاً عليه شكل حرف "L"، وتريد أن تعرف أين يظهر هذا الحرف في صفحة.
تضغط الختم في كل موضع على الصفحة؛ حيثما يتطابق الحبر تحته مع النقش، "يضيء" الختم.
هذا هو : كاشف أنماط صغير يُطبَّق على كل مكان في الصورة.
الفكرة الجوهرية في LeNet أن الشبكة تنحت أختامها بنفسها — المرشّحات تتعلّمها الشبكة بـ، ولا يصمّمها مهندس يدوياً.
المشكلة: السمات المصمَّمة يدوياً لا تصمد
قبل هذه الورقة، كان نظام تمييز الأرقام يتكوّن من مرحلتين منفصلتين: مستخرج سمات يصمّمه المهندس يدوياً (كواشف حواف، عدّادات خطوط — سنوات من الضبط والتجريب) ثم مصنِّف صغير يُدرَّب فوق هذه السمات. تريد الانتقال من الأرقام إلى الحروف؟ أعِد تصميم كل شيء من الصفر.
الحل البديهي — تعمل مباشرة على البكسلات — يفشل لسببين:
-
صورة 32×32 مع 100 تحتاج 100,000 وزن، ومع صور حقيقية بحجم 224×224 يقفز العدد إلى 5 ملايين وزن في طبقة واحدة، فيصبح حتمياً.
-
البكسلات ليست مستقلة عن بعضها: البكسلات المتجاورة تُشكّل خطوطاً، والخطوط تُشكّل أجزاء، والأجزاء تُشكّل أرقاماً. الاتصال الكامل يتجاهل هذا التدرّج البنيوي كلّه ويُجبر الشبكة على اكتشافه من الصفر.
الفكرة: ثلاثة افتراضات مسبقة عن طبيعة الصور
بنت LeNet معرفتنا المسبقة عن طبيعة الصور داخل المعمارية نفسها:
-
— كل عصبون يرى رقعة صغيرة فقط (5×5) وليس الصورة كاملة. الأنماط البصرية محلية بطبعها: البكسل وجيرانه هم الوحدة ذات المعنى.
-
مشاركة الأوزان — المرشّح ذاته ينزلق على كل مواضع الصورة. حافة عمودية تظل حافة عمودية سواء ظهرت في الزاوية العليا أو السفلى. هذا هو مبدأ الختم المطاطي: مجموعة أوزان واحدة تُطبَّق في كل مكان.
-
— بعد اكتشاف سمة، نُقلّص بالاحتفاظ بملخّصات محلية. رقم أُزيح بكسلاً واحداً سيبدو متشابهاً بعد التجميع. هذا ما يمنح الشبكة .
الالتفاف: جداء نقطي يتحرّك على الصورة
(أو المرشّح) مصفوفة صغيرة من الأوزان المُتعلَّمة — مثلاً بحجم 5×5. تنزلق هذه النواة على الصورة موضعاً بموضع، وفي كل موضع نحسب الجداء النقطي بينها وبين الرقعة التي تحتها: نضرب عنصراً بعنصر ثم نجمع النواتج. الخرج رقم واحد — يكون كبيراً إذا «تطابقت» الرقعة مع النواة، وصغيراً إذا لم تتطابق.
تكرار هذه العملية على كل المواضع يُنتج خريطة سمات: صورة جديدة يُخبرك كل بكسل فيها بمدى قوة النمط المكتشَف في ذلك الموقع. ستّ أنوية مختلفة تُنتج ست خرائط سمات — كأنك تضغط ستة أختام مختلفة على الصورة بأكملها.
التجميع: تحمُّل الإزاحات الصغيرة
بعد الالتفاف تأتي مرحلة التجميع التي تُقلّص الأبعاد المكانية مع الإبقاء على أقوى الإشارات. يأخذ القيمة الأكبر في كل كتلة صغيرة (مثلاً 2×2)، بينما (المُستخدَم في LeNet) يأخذ المعدّل.
يخدم التجميع غرضين: أولاً يُنصّف الأبعاد المكانية فيُقلّل الحسابات في الطبقات اللاحقة، وثانياً يجعل التمثيل يتحمّل الإزاحات الصغيرة — لو أزحتَ رقماً بكسلاً واحداً ستحصل تقريباً على الخرج نفسه بعد التجميع.
كدّس وكرّر: كيف يتشكّل هرم السمات
تُكرّر LeNet دورة الالتفاف ثم التجميع عدة مرات. مع كل طبقة تزداد السمات تجريداً: الطبقة الأولى تلتقط حواف، والثانية تُركّب هذه الحواف في زوايا ومنحنيات، والطبقات الأعمق تُجمّعها في أجزاء من أرقام ثم أرقام مكتملة.
هذا الهرم يتشكّل تلقائياً — لا أحد يُملي على الشبكة ما السمات التي يجب أن تتعلّمها. الانتشار الخلفي هو الذي يُعدّل كل مرشّح بحيث يتحسّن التصنيف النهائي، فالسمات تُكتشَف ولا تُصمَّم.
LeNet-5: البنية الكاملة
تسلسل LeNet-5 كل هذه الأفكار في خط معالجة متكامل. صورة رمادية بحجم 32×32 تمرّ بجولتين من الالتفاف ثم التجميع، ثم يأتي التفاف ثالث يُغطّي كامل المساحة المكانية المتبقية (فيصبح عملياً طبقة كاملة الاتصال)، ثم طبقتان كثيفتان تُخرجان 10 قيم تقابل الأرقام من 0 إلى 9.
الشبكة بأكملها تحوي نحو 60,000 فقط — بدل الملايين التي ستحتاجها شبكة كاملة الاتصال. ودُرِّبت : بكسلات خام تدخل، تصنيف يخرج، ونزول التدرُّج يُعدّل كل شيء.
الفكرة نفسها في الكود
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import numpy as np
def convolve2d(image, kernel):
"""مرّر `kernel` فوق `image`؛ كل بكسل خرج هو ضرب نقطي."""
H, W = image.shape
k = kernel.shape[0] # مثلاً 5 لمرشح 5×5
out = np.zeros((H - k + 1, W - k + 1))
for i in range(out.shape[0]):
for j in range(out.shape[1]):
patch = image[i:i+k, j:j+k] # الورقة تحت الختم
out[i, j] = np.sum(patch * kernel) # اضغط الختم
return out
# «ختم» حافة عمودية. مغزى الورقة: لا تكتبه يدوياً —
# ابدأه عشوائياً ودَع الانتشار الخلفي ينقشه.
vertical_edge = np.array([[ 1, 0, -1],
[ 1, 0, -1],
[ 1, 0, -1]])
# لصورة 32×32 مع نواة 5×5:
# طبقة كاملة الاتصال: 32*32 * 100 = 102,400 وزن
# طبقة التفافية: 5*5 + 1 انحياز = 26 وزن (لكل مرشح)
# أي أقل بـ 3,938 مرة. لكل مرشح.لماذا كانت هذه الورقة مفصلية؟
2006
هينتون — إحياء الشبكات العميقة
أثبت هينتون وأوسيندرو وته أنه يمكن تدريب الشبكات العميقة بتهيئتها طبقة تلو طبقة ثم ضبطها من طرف إلى طرف — ما أعاد الثقة بأن زيادة العمق طريق يستحق الاستكشاف.
2010
تهيئة Xavier وتفعيل ReLU — حل مشكلة تلاشي التدرُّجات
تهيئة Xavier (غلوروت وبنجيو) حافظت على التنشيطات ضمن نطاق معقول منذ بداية التدريب، بينما قضى تفعيل ReLU (نير وهينتون) — بمشتقة تساوي 1 حين يكون العصبون نشطاً — على مشكلة تلاشي التدرُّجات التي أعاقت الشبكات الالتفافية العميقة لسنوات.
2012
AlexNet — وصفة LeNet مكبَّرة على المعالجات الرسومية
فازت AlexNet بمسابقة ImageNet بفارق 10 نقاط — شبكة التفافية عميقة تتّبع وصفة LeNet ذاتها (التفاف ثم تجميع ثم تصنيف) لكن بطبقات أكثر وبيانات أضخم وقدرة حوسبة المعالجات الرسومية. كانت اللحظة التي صار فيها التعلم العميق هو النموذج المهيمن.
2014
GoogLeNet وVGG — العمق على نطاق واسع
قدّمت GoogLeNet وحدات Inception (مرشّحات متوازية بأحجام مختلفة) لتوسيع الشبكة أفقياً بكفاءة، بينما أثبتت VGG أن تكديس التفافات بسيطة 3×3 بعمق كبير يتفوّق على المرشّحات المعقدة المصمَّمة يدوياً.
2015
ResNet — 150+ طبقة بالاتصالات التجاوزية
أضاف He وآخرون وصلات تجاوزية تنقل المدخل مباشرة إلى خرج كل كتلة — فيظل التدرُّج قادراً على التدفق عكسياً عبر مسار الهوية دون تلاشٍ. هكذا وصلت الشبكات الالتفافية إلى 152 طبقة وتصدّرت كل معايير الرؤية الحاسوبية الكبرى.
2020
محوِّل الرؤية — الانتباه بديلاً عن الالتفاف
أثبت Dosovitskiy وآخرون أن تقسيم الصورة إلى رُقَع ومعاملتها كرموز ثم تطبيق الانتباه الذاتي فقط يُضاهي ثم يتفوّق على الشبكات الالتفافية عند التوسيع — تحدٍّ لعقدين من هيمنة الالتفاف مع الحفاظ على مبدأ التدريب الشامل من طرف إلى طرف.
2026
حضور في كل نموذج بصري اليوم
كل مصنّف صور وكاشف أجسام ونموذج تصوير طبي يعتمد على الالتفاف أو أحد أحفاده. المبادئ الثلاثة لورقة 1998 — المحلية ومشاركة الأوزان والتجميع — لا تزال أساس الرؤية الحاسوبية.
المرجعLeCun, Bottou, Bengio, Haffner. Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE, 1998.
مصطلحات هذه الورقة
- الشبكة العصبية الالتفافيةConvolutional Neural Network (CNN)
- الالتفاف الرقميConvolution
- النواة الحسابيةKernel
- خريطة السماتFeature Map
- التجميع المكانيPooling
- مشاركة المعاملاتparameter sharing
- حقل الاستقبال المحليlocal receptive field
- ثبات الإزاحةTranslation Invariance
- LeNetLeNet
- التقليص المكانيsubsampling