الرؤية الحاسوبية1980تأسيسي9 دقيقة قراءة
النيوكوغنيترون: شبكة عصبية ذاتية التنظيم لتمييز الأنماط البصرية
Neocognitron: A Self-Organizing Neural Network Model for Pattern Recognition
Fukushima, K. — Biological Cybernetics
المشكلة
في أواخر السبعينيات، كان تمييز الأنماط يعتمد كلياً على سمات يصمّمها المهندس بيده — هشّة ومرتبطة بمهمة واحدة. يكفي أن ينزاح رقم مكتوب بخط اليد بضعة بكسلات حتى يعجز النظام عن التعرّف عليه. الشبكات كاملة الاتصال كانت مكلّفة جداً للتعامل مع الصور، ولم يوجد نموذج قادر على اكتشاف الأنماط أينما ظهرت في الصورة دون أن يُلقَّن السمات المهمة يدوياً.
الإسهام
النيوكوغنيترون: شبكة عصبية هرمية مستوحاة من طريقة معالجة الدماغ للمعلومات البصرية وفق اكتشافات هيوبل وويزل. الفكرة الجوهرية هي التناوب بين نوعين من الطبقات: خلايا S تعمل ككواشف سمات محلية بأوزان مشتركة (تحاكي الخلايا البسيطة)، وخلايا C تُجمّع الاستجابات وتتسامح مع الإزاحات المكانية (تحاكي الخلايا المعقّدة). الشبكة تُنظّم نفسها ذاتياً بلا تصنيفات ولا إشراف خارجي. الأهم أنها أرست ثلاث أفكار لا تزال حتى اليوم عماد الشبكات الالتفافية: حقول الاستقبال المحلية، ومشاركة الأوزان بين المواضع، واستخراج السمات بشكل هرمي.
الأثر
النيوكوغنيترون هو الجد المباشر لكل شبكة التفافية نعرفها اليوم. حين بنى لوكون LeNet-5 عام 1998، غيّر آلية التعلُّم فقط — استخدم الانتشار الخلفي بدل التنظيم الذاتي — لكنه حافظ على الهيكل نفسه: مرشّحات محلية، أوزان مشتركة، وتجميع مكاني. من AlexNet إلى محوِّلات الرؤية، كل نموذج رؤية حاسوبية حديث يرث هذه البنية. ما أثبته فوكوشيما ببساطة هو أن تسلسلاً هرمياً مُستلهَماً من الدماغ يستطيع أن يتعلّم الرؤية بنفسه.
تخيّل أنك تُدير فريق حراسة في مبنى كبير، ومهمتهم رصد طرود مشبوهة. لا تُريهم صوراً لكل طرد ممكن، بل تعتمد على نظام من ثلاث طبقات:
حرّاس الطابق الأول — كل حارس مسؤول عن رقعة صغيرة فقط من الردهة، ويتعلّم بمفرده أن يلاحظ أشكالاً بسيطة: حافة مستقيمة، منحنى، زاوية. الشرط الأساسي: كل الحرّاس في هذا الطابق يحملون قائمة التحقق ذاتها — فما هو مهم في الزاوية اليسرى مهم أيضاً في اليمنى.
مشرف الطابق الثاني — لا يكترث بالموقع الدقيق الذي رُصِدت فيه الحافة. يكفيه أن أحداً ما في الطابق الأول رآها. هذا التسامح مع الإزاحة هو لُبّ الفكرة.
رئيس الطابق الأعلى — يُركّب تقارير المشرفين ليُعيد بناء الصورة الكاملة. لم يُلقِّن أحدٌ الحرّاس ماذا يبحثون عنه — تعلّموا بالملاحظة وحدها. هذا هو النيوكوغنيترون.
المخطط البيولوجي: القشرة البصرية وفق هيوبل وويزل
في مطلع الستينيات، أجرى ديفيد هيوبل وتورستن ويزل تجارب رائدة على القشرة البصرية في أدمغة القطط، وخرجا باكتشاف غيّر فهمنا للرؤية: الدماغ يعالج الصور عبر تسلسل هرمي من ، كل مستوى فيه يبني على المستوى الذي قبله:
-
الخلايا البسيطة — تستجيب لحافة بزاوية معيّنة في موضع محدد بدقة. خط عمودي في هذه النقطة بالذات يُنشّطها، لكنه لو انزاح قليلاً فلن تستجيب.
-
الخلايا المعقَّدة — تستجيب لنفس الحافة، لكنها تتسامح مع إزاحات صغيرة. خط عمودي في أي مكان ضمن هذه المنطقة يكفي لتنشيطها.
-
خلايا أعلى رتبة تُركّب هذه الاستجابات في أكثر تجريداً.
ما فعله فوكوشيما هو أنه حوّل هذا التسلسل البيولوجي إلى بنية حوسبية مباشرة: الخلايا البسيطة أصبحت خلايا S، والخلايا المعقَّدة أصبحت خلايا C.
البنية المعمارية: خلايا S وخلايا C في سلسلة متعاقبة
البنية بسيطة في جوهرها: وحدات مُكدَّسة، كل وحدة فيها طبقتان تعملان معاً:
طبقة S — — كل خلية S تنظر إلى رقعة صغيرة فقط من السابقة عبر محلي. النقطة الجوهرية هنا: جميع خلايا S في المستوى الواحد تتشارك ذاتها — أي أنها تبحث عن السمة نفسها لكن في مواضع مختلفة من الصورة. هذا هو المبدأ الذي نعرفه اليوم باسم . ولاكتشاف سمات متعددة، تحتوي كل طبقة عدة مستويات: مستوى للحواف العمودية، وآخر للأفقية، وهكذا.
طبقة C — — كل خلية C تجمع مخرجات عدة خلايا S من المستوى نفسه لكن في مواضع متجاورة. إذا أطلقت أي واحدة منها، تستجيب خلية C. بعبارة أخرى: لا يهمّ أين بالضبط ظهرت السمة، المهم أنها ظهرت في مكان ما قريب. هذا التمويه المكاني هو سلف التجميع في الشبكات الحديثة.
يتكرر هذا التناوب: S₁ → C₁ → S₂ → C₂ → ⋯ → طبقة التعرّف النهائية. في كل مرحلة تصبح السمات أعقد (حواف ← زوايا ← أشكال ← أنماط كاملة)، ويتّسع نطاق التسامح المكاني (من بضعة بكسلات إلى الصورة بأكملها).
كيف تستخرج خلايا S السمات
الطريقة الأسهل لفهم خلية S هي تشبيهها بكاشف أنماط مُزوَّد بميزان داخلي للمعايرة. تصلها إشارات تنبيهية من خلايا C في الطبقة السابقة — هذا هو «المدخل المفيد» — وتصلها أيضاً إشارة تثبيطية من خلية خاصة تُسمّى V تقيس متوسط السطوع في المنطقة نفسها — هذا هو «خط الأساس».
لماذا نحتاج خط الأساس؟ لأننا لا نريد الخلية أن تُطلق لمجرد أن المنطقة ساطعة؛ نريدها أن تُطلق فقط حين شكل المدخل يتطابق مع القالب المحفوظ فيها. خلية V تضمن أن الاستجابة تعكس التشابه في النمط لا الشدة الخام. يتحكّم في مدى صرامة المطابقة: قيمة عالية تعني أن الخلية لن تستجيب إلا لتطابق دقيق جداً.
كيف تحقّق خلايا C تحمُّل الإزاحة
إذا كانت خلايا S تجيب عن سؤال «أين بالضبط توجد هذه السمة؟»، فإن خلايا C تجيب عن سؤال مختلف: «هل هذه السمة موجودة في الجوار؟» كل خلية C تأخذ متوسطاً أو مزيجاً موزوناً من مخرجات مجموعة خلايا S متجاورة في المستوى نفسه.
النتيجة العملية: ما دامت السمة اكتُشفت في مكان ما ضمن منطقة التجميع، تستجيب خلية C. حرّك المدخل بضعة بكسلات — ستنشط خلية S مختلفة — لكن خلية C ذاتها تبقى نشطة. هذه هي الآلية التي تمنح النيوكوغنيترون ، وهي بالضبط ما نسمّيه اليوم طبقات التجميع في .
التعلُّم بدون معلّم: التنظيم الذاتي
النيوكوغنيترون يتعلّم بلا تصنيفات وبلا انتشار خلفي — تعلُّم غير مُوجَّه بالكامل. الآلية تعتمد على التنافس، وهي مستوحاة من مبدأ التعلُّم الهِبّي:
-
يُعرض نمط على .
-
في كل طبقة S، تتنافس الخلايا فيما بينها. الخلية ذات الاستجابة الأقوى هي الفائزة.
-
أوزان الخلية الفائزة تُعدَّل لتُصبح أقرب إلى نمط المدخل الحالي — أي أنها تحفظ قالباً للسمة التي نشّطتها.
-
بقية الخلايا في المستوى ذاته تُكبَت، فيتخصّص كل مستوى في سمة مختلفة.
هذه الاستراتيجية — «الفائز يأخذ كل شيء» — مع مبدأ أن الاتصالات التي تُطلَق معاً تتقوّى معاً، تكفل أن كل مستوى خلايا ينحت لنفسه كاشفاً مختلفاً. لا حاجة لمُشرف خارجي ولا لتصنيفات — الشبكة تبني كواشفها بنفسها من التعرّض المتكرر للأنماط.
مشاركة الأوزان: كاشف واحد في كل المواضع
هنا نصل إلى قرار تصميمي بالغ الأهمية: جميع خلايا S في المستوى الواحد تحمل أوزاناً متطابقة تماماً. كاشف الحواف العمودية في أعلى يسار الصورة هو نفس الكاشف في أسفل يمينها. لهذا المبدأ نتيجتان عميقتان:
-
كفاءة المعاملات — بدلاً من تعلُّم كاشف مستقل لكل موقع، نتعلّم مجموعة أوزان واحدة ونُزلِقها على الصورة بأكملها. رقعة 5×5 لا تحتاج إلا 25 وزناً مهما كبرت الصورة.
-
تكافؤ الإزاحة — إذا انتقلت حافة من الموقع أ إلى الموقع ب، ينشط الكاشف ذاته في الموقع الجديد. تنزاح فحسب دون أن يتغيّر شكلها.
هذا بالضبط ما نسمّيه اليوم الالتفاف في الشبكات الالتفافية: واحدة مُتعلَّمة تنزلق على المدخل وتُنتج خريطة سمات.
التسلسل الهرمي: من حواف إلى أرقام
تكرار وحدات S→C ينشئ هرماً من السمات، كل طابق فيه أعقد من الذي تحته:
-
المرحلة الأولى — خلايا S تلتقط حواف وقطاعات خطية بسيطة. خلايا C تمتص الإزاحات الصغيرة في موقع الحافة.
-
المرحلة الثانية — خلايا S تُركّب تلك الحواف في زوايا ومنحنيات وتقاطعات. خلايا C تضيف طبقة أخرى من التسامح المكاني.
-
المرحلة الثالثة فأعلى — خلايا S تُجمّع هذه الأجزاء في أنماط أكبر: حلقات، ضربات قلم، أجزاء أرقام.
-
المرحلة الأخيرة — الشبكة تُحدّد الرقم المعروض (من 0 إلى 9).
هذا هو مبدأ هرم السمات: سمات بسيطة تتراكب لتُشكّل سمات معقّدة، والشبكة تكتشف هذا التركيب بنفسها. لا أحد يُخبرها أن الحواف تأتي أولاً — تستنتج ذلك وحدها من بنية العالم البصري.
الفكرة الجوهرية في شيفرة برمجية
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import numpy as np
def s_cell_response(input_patch, weights, v_cell_output, r=1.0):
"""خلية S: تُطلق فقط حين يُشبه المدخل قالبها المحفوظ.
خلية V تُعايِر الاستجابة حتى لا تعتمد على
سطوع المنطقة بل على شكل النمط."""
excitatory = 1.0 + np.sum(weights * input_patch)
inhibitory = 1.0 + r * v_cell_output
raw = excitatory / inhibitory - 1.0
return max(0.0, r * raw) # عتبة: لا مخرجات سالبة
def v_cell(input_patch, fixed_weights):
"""خلية V: تقيس متوسط الشدة المحلية (خط الأساس).
بفضلها تستجيب خلايا S للشكل لا للسطوع."""
return np.sqrt(np.sum(fixed_weights * input_patch ** 2))
def c_cell_pool(s_responses):
"""خلية C: تنشط ما دامت أيٌّ من خلايا S المجاورة قد رصدت السمة.
هذه آلية التسامح مع الإزاحة — الجد المباشر
للتجميع في الشبكات الالتفافية."""
return np.mean(s_responses) # تجميع مكاني بالمتوسط
# النيوكوغنيترون الكامل: وحدات S→C مكدَّسة.
# المرحلة 1: حواف. المرحلة 2: زوايا. المرحلة 3+: أجزاء ← أرقام.
# جميع خلايا S في مستوى واحد تتشارك الأوزان ذاتها.
# هذا هو الالتفاف — قبل 18 سنة من أن يُسمّيه LeNet كذلك.لماذا كانت هذه الورقة مفصلية
1962
هيوبل وويزل — الخلايا البسيطة والمعقّدة
اكتشفا التنظيم الهرمي للقشرة البصرية: الخلايا البسيطة تكشف حواف موجَّهة في مواضع ثابتة، والخلايا المعقّدة تتحمّل الإزاحات المكانية.
1975
الكوغنيترون — محاولة فوكوشيما الأولى
شبكة فوكوشيما الأولى ذاتية التنظيم، لكنها افتقرت للتمييز بين خلايا S وC ولم تكن قادرة على التعرّف المستقل عن الموقع.
1980
النيوكوغنيترون — هذه الورقة
قدّمت خلايا S (اكتشاف سمات محلية بأوزان مشتركة) وخلايا C (تجميع لتحمُّل الإزاحة). تنظّمت ذاتياً عبر تعلُّم غير مُوجَّه.
1986
الانتشار الخلفي يدخل الساحة
أظهر روملهارت وهينتون وويليامز أن الانتشار الخلفي قادر على تدريب شبكات متعددة الطبقات — وهذا بالتحديد ما كان ينقص بنية النيوكوغنيترون.
1998
LeNet-5 — النيوكوغنيترون يُبعث من جديد
استبدل لوكون التعلُّم غير المُوجَّه بالانتشار الخلفي لكنه أبقى على جوهر البنية: مرشّحات محلية وأوزان مشتركة وتجميع. هكذا وُلد قالب الشبكات الالتفافية.
2012
AlexNet — المخطط بحجم أكبر
شبكة التفافية عميقة دُرِّبت من طرف إلى طرف على معالجات رسومية، وحسمت مسابقة ImageNet بفارق كبير. تسلسل النيوكوغنيترون الهرمي — مدعوماً هذه المرة بالانتشار الخلفي وبيانات ضخمة — أشعل شرارة ثورة التعلم العميق.
المرجعFukushima, K.. Neocognitron: A Self-Organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position. Biological Cybernetics, 1980.
مصطلحات هذه الورقة
- الحقل الاستقبالي للعصبونReceptive Field
- خريطة السماتFeature Map
- التجميع المكانيPooling
- الالتفاف الرقميConvolution
- التعلّم غير الخاضع للإشرافUnsupervised Learning
- مشاركة المعاملاتparameter sharing
- ثبات الإزاحةTranslation Invariance
- استخلاص السماتFeature Extraction
- دالة التنشيطActivation Function