اكتشف قوة تفعيل Leaky ReLU للذكاء الاصطناعي وتعلم الآلة. حل مشكلة ReLU المتلاشي وعزز أداء النموذج في رؤية الحاسوب ومعالجة اللغة الطبيعية (NLP) والشبكات التوليدية المتنافسة (GANs) والمزيد!
الوحدة الخطية المعدلة المتسربة، أو الوحدة الخطية المعدلة المتسربة، هي دالة تنشيط متخصصة متخصصة تستخدم بشكل أساسي في الشبكات العصبية (NN) لإدخال اللاخطية في النماذج. وهي تعمل كنسخة محسنة من الوحدة الخطية المعدلة (ReLU) القياسية، المصممة على وجه التحديد للتخفيف من مشكلة "الوحدة الخطية المعدلة المحتضرة" - وهو سيناريو تصبح فيه الخلايا العصبية غير نشطة وتتوقف عن عن التعلم تمامًا. من خلال السماح بتدرج صغير غير صفري للمدخلات السلبية، تضمن وحدة ReLU المتسربة أن المعلومات تستمر بالتدفق عبر الشبكة أثناء أثناء الترحيل العكسي، مما يؤدي إلى تدريب نموذج أكثر قوة واستقرارًا أكثر قوة واستقرارًا. هذا التعديل البسيط يجعلها عنصرًا حاسمًا في العديد من بنيات الحديثة للتعلم العميق (DL) ، خاصةً عند تدريب الشبكات العميقة أو المعقدة.
يكمن الابتكار الأساسي لـ Leaky ReLU في تعامله مع القيم السلبية. في دالة التقليدية، أي مدخلات سالبة سالبة ينتج عنه ناتج يساوي صفر. إذا كانت الخلية العصبية تتلقى باستمرار مدخلات سالبة بسبب تهيئة غير صحيحة للوزن أو إزاحة البيانات بشكل عدواني "تموت" بشكل فعال لأن التدرج يصبح صفراً. يعني التدرج الصفري أن خوارزمية خوارزمية التحسين لا يمكنها تحديث الأوزان لتلك الخلية العصبية، مما يجعلها عديمة الفائدة لبقية عملية التدريب.
تحل هذه المشكلة من خلال تطبيق معادلة خطية بسيطة للمدخلات السالبة: f(x) = alpha * x,
حيث alpha هو ثابت صغير (عادةً 0.01). يضمن هذا "التسرب" أنه حتى عندما تكون الوحدة
غير نشطة، لا يزال يمر تدرج صغير غير صفري. هذا التدفق المستمر للتدرج يمنع
التدرج المتلاشي مشكلة على نطاق محلي,
مما يسمح للنموذج باستعادة وتعديل أوزانه بفعالية. تم تحليل هذا السلوك بشكل رسمي في أبحاث مثل
مثل
التقييم التجريبي للتفعيلات المعدلة في الشبكات التلافيفيةوالتي سلطت الضوء على فوائدها مقارنة بطرق التصحيح القياسية.
نظرًا لقدرته على الحفاظ على التدفق المتدرج، يتم اعتماد Leaky ReLU على نطاق واسع في المهام التي يكون فيها استقرار التدريب بالغ الأهمية.
يعد تنفيذ ReLU المتسرب واضحًا ومباشرًا في الأطر الشائعة مثل
PyTorch و
TensorFlow. يوضح المثال أدناه كيفية
دمجها في نموذج تسلسلي بسيط باستخدام نموذج PyTorch البسيط nn الوحدة النمطية.
import torch
import torch.nn as nn
# Define a neural network layer with Leaky ReLU
# negative_slope=0.01 sets the leak factor for negative inputs
model = nn.Sequential(
nn.Linear(in_features=10, out_features=5),
nn.LeakyReLU(negative_slope=0.01),
nn.Linear(in_features=5, out_features=2),
)
# Create a sample input tensor
input_data = torch.randn(1, 10)
# Perform a forward pass (inference)
output = model(input_data)
print(f"Model output: {output}")
يعد تمييز دالة ReLU المتسربة من دوال التنشيط الأخرى أمرًا مهمًا لاختيار المكون المناسب لـ الخاص بك.
غالبًا ما يتضمن اختيار دالة التفعيل الصحيحة ضبط المعامل الفائق والتحقق من صحة الأداء على مجموعات بيانات الرؤية الحاسوبية القياسية. دالة ReLU المتسربة هي خيارًا افتراضيًا ممتازًا عندما تفشل ReLU القياسية أو عند ملاحظة عدم استقرار التدريب في الشبكات العميقة.