التعلم العميق2010متوسط11 دقيقة قراءة

الوحدات الخطية المُصحَّحة تُحسِّن آلات بولتزمان المقيَّدة

Rectified Linear Units Improve Restricted Boltzmann Machines

Nair, V. · Hinton, G.E. — ICML

المشكلة

آلات بولتزمان المقيَّدة — اللَّبِنات الأساسية لشبكات الاعتقاد العميق — كانت تعتمد على وحدات خفية ثنائية عشوائية: كل وحدة إما «مُشغَّلة» (1) أو «مُطفأة» (0) ولا خيار بينهما. هذا الاختناق الثنائي كان يُضيّع معلومات الشدّة النسبية للإشارة. عند تكديس عدة طبقات لبناء شبكة عميقة، تضيع معلومة «كم كانت السمة قوية؟» ولا يتبقى سوى «هل السمة موجودة أم لا؟». نتيجة ذلك كان تدريب شبكات الاعتقاد العميق بطيئاً، والسمات المُتعلَّمة مُشوَّشة، ومهام الصور التي تتفاوت فيها الشدّة تفاوتاً كبيراً (كالإضاءة والتباين) صعبة بشكل خاص.

الإسهام

استبدل Nair وHinton الوحدات الخفية الثنائية بوحدات خطية مُصحَّحة مُضاف إليها ضجيج (NReLU). الاشتقاق أنيق: ابدأ بوحدة ثنائية واصنع منها نُسخاً لا نهائية بانحيازات تتزايد سلبيتها تدريجياً — تحصل على «وحدة سيجمويد مُدرَّجة» محصّلة نشاطها عدد صحيح مُنعَّم. قرّب هذه المحصّلة بالصيغة max(0, x + N(0,σ²)) فتحصل على وحدة مستمرة ومتناثرة وسريعة الحساب. تفوّقت NReLU على الوحدات الثنائية في تعرّف الأجسام على مجموعة NORB وفي التحقّق من الوجوه على مجموعة LFW، والأهم أنها حافظت على معلومات الشدّة عبر الطبقات — وهي خاصية تُسمّى تفتقر إليها الوحدات الثنائية بطبيعتها.

الأثر

هذه الورقة هي التي أدخلت ReLU إلى صُلب التعلم العميق. خلال عامين فقط، استخدمت شبكة AlexNet عام 2012 دالة ReLU لتدريب أول شبكة التفافية عميقة حقّقت تفوّقاً ساحقاً في منافسة ImageNet — وبعدها تبنّت كل بنية رئيسية (VGG وResNet والمُحوِّلات وGPT) شكلاً من أشكال التنشيط المُصحَّح. بساطة ReLU (لا أُسّ ولا قسمة) وتناثرها البنيوي (نصف الوحدات مُطفأة) أصبحا مبدأين تصميميين أساسيين. كذلك حفّزت تهيئة He عام 2015 وأثّرت في تصميم GELU عام 2016. أكثر دوال التنشيط استخداماً في تاريخ الذكاء الاصطناعي يعود أصلها إلى هذه الورقة.

تخيّل صفّاً من أنابيب المياه، على كلٍّ منها صمّام. الصمّامات القديمة () لزجة: لا تُغلَق بالكامل أبداً فيتسرّب منها رذاذ دائم، وتضع سقفاً أعلى للتدفّق حتى لو ضخخت بقوة خرطوم إطفاء.

تستبدل كل صمّام لزج بصمّام رفرف بسيط: حين يكون ضغط الماء سالباً (يدفع بالعكس) ينغلق الرفرف تماماً — تدفّق صفري. وحين يكون الضغط موجباً ينفتح الرفرف ويمرّر بالضبط القدر الذي تدفعه من الماء.

النتيجة: الأنابيب المُغلقة لا تُسهم بأي ضجيج، والمفتوحة تحافظ على الإشارة كاملة، ويمكنك قراءة ضغط الماء الفعلي عند المصبّ — لا نسخة مضغوطة منه.

المشكلة: الوحدات الخفية الثنائية تسحق المعلومات

هي اللَّبِنات الأساسية التي تُبنى منها . تتكوّن كل آلة من طبقة مرئية (المدخلات) و (السمات المُتعلَّمة)، مع وصلات متناظرة بين الطبقتين دون أي وصلات داخل الطبقة الواحدة. يجري التدريب بأسلوب : يُعيد النموذج بناء المدخلات انطلاقاً من السمات الخفية، ثم يُعدّل بحيث يقلّ .

المشكلة هنا أن كل وحدة خفية كانت ثنائية — لا تستطيع إلا أن تقول «نعم، أكتشف هذه » (1) أو «لا» (0). فلو كانت صورة وجه ما ضعف سطوع صورة أخرى، كلتاهما تُنشّطان الوحدة نفسها بالطريقة ذاتها وتضيع معلومات الشدّة. هذا مقبول في أنماط ثنائية بسيطة، لكنه كارثي للصور الواقعية حيث يحمل السطوع والتباين والشدّة النسبية دلالات جوهرية.

افتح في المختبر
اسحب شريط المدخلات لترى كيف يضغط السيجمويد كل شيء إلى [0,1]، بينما تحافظ ReLU على النطاق الموجب كاملاً.
تستيقظ التجربة عند وصولك…

من الثنائي إلى المُدرَّج إلى المُصحَّح: مسار الاشتقاق

الفكرة المحورية تأتي على ثلاث مراحل، كأنك تبني سُلَّماً درجةً درجة:

المرحلة الأولى — : خذ وحدة ثنائية واصنع منها N نسخة تتشارك الأوزان و نفسه. النشاط الإجمالي هو عدد النسخ «المُشغَّلة» — أي عدد صحيح بين 0 وN. كلما زادت النسخ زادت المعلومات المنقولة، لكنك ملزم بتحديد N مسبقاً.

المرحلة الثانية — : خذ الآن عدداً لا نهائياً من النسخ، لكن أزِح انحياز كل نسخة بمقدار أكثر سلبية: −0.5، −1.5، −2.5، … النشاط الكلّي لجميع النسخ له صيغة مغلقة تشبه سلّماً مُنعَّماً. الأنيق هنا أن قواعد التعلم تبقى مطابقة تماماً لآلات بولتزمان الثنائية، لأن ينحلّ إلى تدرُّجات مستقلة لكل نسخة.

المرحلة الثالثة — : حساب عدد لا نهائي من نُسخ السيجمويد مُكلف عملياً. لكن شكل السلّم يُقرَّب تقريباً ممتازاً بدالة بسيطة: max(0,  x+N(0,σ2))\max(0,\; x + \mathcal{N}(0, \sigma^2)). الضجيج يُسهّل عملية أخذ العيّنات، والتصحيح (القطع عند الصفر) يُولِّد طبيعياً.

افتح في المختبر
تابع مراحل الاشتقاق الثلاث: نُسخ ثنائية ← سلّم السيجمويد المُدرَّج ← تقريب ReLU الناعم.
تستيقظ التجربة عند وصولك…

دالة التنشيط ReLU

لو وضعنا الضجيج وسياق آلة بولتزمان جانباً، تبقى الفكرة الجوهرية بسيطة وأنيقة. إذا كان المدخل الكلّي xx إلى (أي المجموع الموزون للمدخلات مُضافاً إليه الانحياز)، فإن ReLU تحسب:

f(x)=max(0,  x)f(x) = \max(0,\; x)
دالة التنشيط ReLUإذا كان x سالباً فالمخرج صفر (الوحدة «مُطفأة»). وإذا كان x موجباً فالمخرج هو x كما هو (الوحدة «مُشغَّلة» وتحافظ على حجم الإشارة). لا أُسّ ولا قسمة — مجرد مقارنة وتمرير.

قارن ذلك بدالة السيجمويد σ(x)=1/(1+ex)\sigma(x) = 1 / (1 + e^{-x}) التي تضغط كل شيء في النطاق (0, 1). مع السيجمويد، خلية عصبية تتلقّى مدخلاً قدره 10 تُخرج 0.99995 — وهذا شبه مطابق لمدخل قدره 5 (مخرجه 0.9933). أما ReLU فتُخرج 10 و5 على التوالي، فتحفظ النسبة بينهما.

هذا الأمر بالغ الأهمية حين تُكدِّس . في الثنائية أو السيجمويدية تتآكل شدة تنشيط كل سمة طبقة بعد طبقة ولا يتبقى سوى صدى مضغوط. أما تمثيلات ReLU فتحافظ على الأحجام الفعلية: السمة التي تنشط بضعف الشدة في صورة ما تبقى بضعف الشدة في كل طبقة تالية.

التكافؤ الشدّي: لماذا ترى ReLU السطوع

من أجمل ملاحظات الورقة مفهوم التكافؤ الشدّي. الفكرة واضحة: لو ضربت جميع قيم شدّة البكسلات في صورة بعامل α>0\alpha > 0، فإن مدخل كل خلية عصبية يُضرب هو الآخر بالعامل α\alpha. لوحدة ReLU بانحياز صفري:

  • إذا كانت الوحدة «مُطفأة» (المدخل < 0)، الضرب بـα\alpha يُبقيها مُطفأة.
  • إذا كانت «مُشغَّلة» (المدخل > 0)، مخرجها يُضرب بـα\alpha بالضبط.

أي أن نمط التنشيط بأكمله يتغيّر بنسبة موحّدة — التمثيل الداخلي للشبكة يتبدّل بالطريقة ذاتها التي تتبدّل بها شدّة المدخل. هذا هو التكافؤ الشدّي: التمثيل خريطة أمينة ومتناسبة للمدخل.

الوحدات الثنائية تفتقر لهذه الخاصية كلياً. سواء كانت شدة البكسل 0.5 أو 5.0، الوحدة الثنائية إما تنشط أو لا تنشط — فتضيع النسبة. في مهام مثل التحقّق من الوجوه حيث قد يظهر الوجه نفسه تحت إضاءات مختلفة جداً، يتيح التكافؤ الشدّي مقارنة سمات ReLU بمقياس بين متجهات التنشيط، وهو مقياس لا يتأثّر بالشدّة بطبيعته.

افتح في المختبر
غيّر سطوع الصورة وراقب: تنشيطات ReLU تتغيّر بشكل متناسب، بينما تنشيطات السيجمويد تتشبّع وتفقد النسبة.
تستيقظ التجربة عند وصولك…

التناثر: هِبة الصمت

حين تتلقّى وحدة ReLU مدخلاً كلياً سالباً، يكون مخرجها صفراً تاماً — ليس «قريباً من الصفر» كما في السيجمويد، بل صفراً بالضبط. في شبكة مدرَّبة عادية، نحو 50% من وحدات ReLU تكون مُطفأة لأي مدخل معيّن. هذه الخاصية تُسمّى التناثر.

لماذا التناثر مفيد؟ تخيّل غرفة مليئة بالخبراء. حين تعالج شبكة سيجمويد صورة ما، كل خبير يهمهم برأيه — حتى من ليس له علاقة بالموضوع. لكن حين تعالج شبكة ReLU الصورة ذاتها، نصف الخبراء يلتزمون الصمت ولا يتحدّث إلا المعنيّون. النتيجة تمثيل أنظف وأسهل في التفسير وأعلى كفاءة حسابية.

للتناثر فوائد حسابية أيضاً: الضرب بصفر عملية مجانية. كما أنه يوفّر شكلاً من الطبيعي — لا تستطيع الشبكة الاعتماد على جميع السمات في آنٍ واحد، مما يُقلِّل من .

افتح في المختبر
بدّل بين تنشيطات السيجمويد وReLU على مدخلات نموذجية. عُدّ الوحدات «المُطفأة» فعلاً — السيجمويد لا يصل إلى الصفر أبداً.
تستيقظ التجربة عند وصولك…

لماذا يتسارع التدريب مع ReLU

تدرُّج ReLU بسيط للغاية:

  • حين يكون x>0x > 0: التدرُّج يساوي 1 بالضبط. الإشارة تعود عبر الشبكة دون أن تنكمش أو تتضخّم — لا تلاشٍ في التدرُّجات.
  • حين يكون x0x \leq 0: التدرُّج يساوي 0. الوحدة مُطفأة وتتجاهل التحديث.

قارن ذلك بالسيجمويد الذي أقصى تدرُّج له هو 0.25 (عند x = 0) ويتقلّص أُسّياً كلما ابتعدت عن المركز. حين تسلسل طبقات سيجمويد عديدة، كل طبقة تضرب التدرُّج بـ0.25 على الأكثر — بعد 10 طبقات يصبح التدرُّج أصغر بمعامل 0.25101060.25^{10} \approx 10^{-6}. هذه هي مشكلة .

ReLU لا تضرب التدرُّج بكسر — إما تمرّره كما هو (1) أو تحجبه (0). لا توجد منطقة رمادية تخنق إشارة التعلم ببطء. لهذا يمكن تدريب شبكات ReLU عبر البسيط على أعماق تجعل شبكات السيجمويد تتوقف كلياً.

f(x)={1if x>00if x0f'(x) = \begin{cases} 1 & \text{if } x > 0 \\ 0 & \text{if } x \leq 0 \end{cases}
تدرُّج دالة ReLUتدرُّج ثابت بقيمة 1 للمدخلات الموجبة يعني انعدام تحلّل الإشارة عبر الطبقات. وتدرُّج بقيمة 0 للمدخلات السالبة يخلق تناثراً في التمرير العكسي أيضاً.

كيف تتعلّم آلة بولتزمان بوحدات ReLU

تُعرِّف آلة بولتزمان المقيَّدة على الوحدات المرئية v\mathbf{v} والوحدات الخفية h\mathbf{h}. الطاقة الأقل تعني احتمالاً أعلى — فالنموذج يتعلّم بأن يدفع طاقة أمثلة التدريب إلى الأسفل وطاقة بقية التشكيلات إلى الأعلى.

في آلات بولتزمان الثنائية، يعمل التباعد التبايني كالتالي: يأخذ عيّنات من الحالات الخفية الثنائية بناءً على المدخل، ثم يعيد بناء الطبقة المرئية، ثم يعيد أخذ عيّنات من الطبقة الخفية. تحديث الأوزان هو الفرق بين ارتباطين: مرحلة «إيجابية» مدفوعة بالبيانات ومرحلة «سلبية» مدفوعة بإعادة البناء.

والأنيق في الموضوع أن قاعدة التعلم هذه تعمل دون أي تعديل مع وحدات NReLU. اشتقاق السيجمويد المُدرَّجة يضمن ذلك: بما أن كل NReLU هي نهاية لعدد لا نهائي من وحدات ثنائية مترابطة، فالتدرُّج ينحلّ بالطريقة ذاتها. كل ما عليك فعله هو استبدال خطوة أخذ العيّنات الثنائية بـ: hj=max(0,μj+N(0,σj2))h_j = \max(0, \mu_j + \mathcal{N}(0, \sigma_j^2)) حيث μj\mu_j هو متوسط المدخل الكلي للوحدة. بقية الخوارزمية تبقى كما هي.

افتح في المختبر
تابع جولة واحدة من التباعد التبايني: بيانات ← خفية ← إعادة بناء ← تحديث أوزان. بدّل بين الوحدات الثنائية ووحدات NReLU.
تستيقظ التجربة عند وصولك…

الفكرة ذاتها في الكود

ReLU وNReLU — دالة التنشيط كاملةًpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import numpy as np

def relu(x):
    """وحدة خطية مصحَّحة: صفر إذا سالب، هوية إذا موجب."""
    return np.maximum(0, x)

def relu_gradient(x):
    """التدرُّج يساوي 1 حيث x > 0، و0 فيما عدا ذلك."""
    return (x > 0).astype(float)

def noisy_relu(x, training=True):
    """NReLU كما في ورقة Nair & Hinton 2010: أضف ضجيجاً غاوسياً قبل التصحيح."""
    if training:
        # تباين الضجيج = sigmoid(x)، احتمال الوحدة «الناعم»
        sigma = np.sqrt(sigmoid(x))
        return np.maximum(0, x + np.random.normal(0, sigma))
    return relu(x)  # وقت الاختبار: استخدم ReLU القياسية فحسب

def sigmoid(x):
    """دالة التنشيط القديمة: تضغط كل شيء إلى (0, 1)."""
    return 1.0 / (1.0 + np.exp(-x))

# قارن: sigmoid(10) ≈ 0.99995, sigmoid(5) ≈ 0.993 — النسبة ضاعت!
# قارن: relu(10) = 10, relu(5) = 5 — النسبة محفوظة.
print(f"sigmoid(10)={sigmoid(10):.5f}, sigmoid(5)={sigmoid(5):.5f}")
print(f"relu(10)={relu(10)}, relu(5)={relu(5)}")

التجارب: مجموعة NORB ومجموعة الوجوه في البرّية LFW

اختبر Nair وHinton وحدات NReLU على معيارين بصريين صعبين:

مجموعة NORB المُهتزّة والمزدحمة — مهمة تعرّف على أجسام ثلاثية الأبعاد مُصنَّعة حاسوبياً تضمّ 5 فئات من الألعاب مصوَّرة بكاميرا استيريو تحت زوايا نظر وإضاءات وخلفيات مزدحمة متنوعة. الأجسام كانت مُزاحة عشوائياً في الموضع والحجم والسطوع. تفوّقت NReLU باستمرار: خطأ أقل بـ5.2% بدون ، وخطأ أقل بـ2.2% مع تدريب مسبق. واللافت أن NReLU بدون تدريب مسبق تفوّقت على الوحدات الثنائية مع تدريب مسبق.

مجموعة الوجوه في البرّية (LFW) — التحقّق من الوجوه في ظروف واقعية: تتلقّى صورتين لوجهين وتحكم «الشخص نفسه» أو «شخصان مختلفان». الوجوه تتفاوت بشدّة في الإضاءة والوضعية والتعبير والخلفية. حقّقت نماذج NReLU دقة أعلى، والأهم أنها استخدمت تشابه جيب التمام بين متجهات السمات — مستفيدةً مباشرةً من التكافؤ الشدّي للتعامل مع تغيّرات الإضاءة.

افتح في المختبر
قارن معدلات الخطأ: وحدات ثنائية مقابل NReLU، مع وبدون تدريب مسبق، على مجموعة NORB.
تستيقظ التجربة عند وصولك…

لماذا كانت هذه الورقة مهمة

  1. 2010

    ReLU — دالة التنشيط التي أطلقت حقبة

    بيّن Nair وHinton أن الوحدات الخطية المُصحَّحة المشوَّشة تتفوّق على الوحدات الخفية الثنائية في آلات بولتزمان المقيَّدة، سواء في تعرّف الأجسام أو التحقّق من الوجوه.

  2. 2012

    AlexNet — ReLU تدخل الميدان

    استخدم Krizhevsky وSutskever وHinton دالة ReLU في شبكة التفافية عميقة حقّقت تفوّقاً ساحقاً في منافسة ImageNet. سرعة التدريب مع ReLU كانت حاسمة — أسرع 6 مرات من tanh.

  3. 2013

    متغيّرات Leaky ReLU وPReLU

    عالج الباحثون مشكلة «ReLU الميتة» (وحدات عالقة نهائياً عند الصفر) بالسماح بميل سالب صغير يُبقي التدرُّج حيّاً.

  4. 2015

    تهيئة He — مصمَّمة خصيصاً لـReLU

    اشتقّ He وفريقه تهيئة الأوزان المناسبة لشبكات ReLU، آخذين بالحسبان أن نصف الوحدات مُطفأ. هذا فتح الباب لتدريب شبكات عميقة جداً مثل ResNet.

  5. 2016

    GELU — نسخة ناعمة من ReLU للمحوِّلات

    اقترح Hendrycks وGimpel وحدة الخطأ الغاوسي الخطية، وهي تقريب ناعم لـReLU يُرجّح المدخلات بحسب احتمالها تحت توزيع غاوسي. أصبحت GELU الخيار الافتراضي في BERT وGPT.

  6. 2017

    Swish / SiLU

    اكتشف Ramachandran وفريقه الدالة x·sigmoid(x) عبر بحث آلي — متغيّر ناعم آخر من ReLU تبنّته EfficientNet والبنيات الحديثة.

كل بنية شبكة عصبية رئيسية اليوم تعتمد على دالة تنشيط مُصحَّحة — سواء كانت ReLU القياسية أو GELU أو SiLU أو أي متغيّر. فكرة «اقطع السالب عند الصفر» البسيطة أصبحت ركيزة في التعلم العميق بقدر الانتشار العكسي ذاته. ما قدّمه Nair وHinton لم يكن مجرد دالة تنشيط أفضل، بل كان مبدأً تصميمياً: البساطة والتناثر والحفاظ على حجم الإشارة أهمّ من محاكاة البيولوجيا.

المرجعNair, Hinton. Rectified Linear Units Improve Restricted Boltzmann Machines. ICML, 2010.

مصطلحات هذه الورقة