دورة مجانية مباشرة: تعلّم التعلم العميق باستخدام PyTorch من الصفر إلى الشبكات التوليدية التنافسية (GANs)
لماذا تختار دورة “التعلم العميق باستخدام PyTorch: من الصفر إلى الشبكات التوليدية التنافسية (GANs)”؟
هل أنت مهتم بالتعمق في عالم Deep Learning (التعلم العميق) المثير؟ يسعدنا أن نعلن عن دورة تدريبية مجانية ومباشرة تمتد لستة أسابيع، تُقدم عبر قناتنا على YouTube، وستنطلق يوم السبت الموافق 20 نوفمبر في تمام الساعة 9:30 صباحًا بتوقيت المحيط الهادئ (PST).
إن مجرد مشاهدة مقاطع الفيديو بشكل سلبي غالبًا لا يكفي لاستيعاب المفاهيم البرمجية المعقدة. أنت بحاجة إلى بيئة تفاعلية تتيح لك طرح الأسئلة وبناء مشاريع حقيقية. وهذا بالضبط ما ستقدمه لك دورة “Deep Learning with PyTorch: Zero to GANs“.
تهدف هذه الدورة التدريبية عبر الإنترنت إلى تقديم مدخل عملي يعتمد على البرمجة أولاً (coding-first) للتعلم العميق، وذلك باستخدام إطار عمل PyTorch القوي. تعتمد الدورة منهجًا عمليًا يركز على البرمجة، وستُدرّس باستخدام دفاتر Jupyter notebooks التفاعلية المباشرة، مما يتيح للطلاب المتابعة والتجربة بشكل مباشر.
يُقدم هذه الدورة الأستاذ Aakash N S، المؤسس المشارك والرئيس التنفيذي لمنصة Jovian.ml، وهي منصة لإدارة المشاريع والتعاون في مجال تعلم الآلة. سيتم شرح المفاهيم النظرية بعبارات بسيطة وواضحة، مدعومة بالأمثلة البرمجية.
سيحصل الطلاب على واجبات أسبوعية، وسيعملون على مشروع باستخدام مجموعات بيانات حقيقية من العالم الواقعي، وسيشاركون في مسابقة خاصة بعلوم البيانات لاختبار مهاراتهم. عند الانتهاء بنجاح من الدورة، سيحصل الطلاب على شهادة إتمام.
الجمهور المستهدف والمتطلبات المسبقة
هذه الدورة صديقة للمبتدئين، ولا يُفترض وجود معرفة مسبقة بعلوم البيانات، تعلم الآلة، أو التعلم العميق. ومع ذلك، يُفضل أن يكون لديك بعض الخلفية في المجالات التالية لضمان أقصى استفادة:
- معرفة بالبرمجة، ويفضل أن تكون بلغة
Python. - أساسيات الجبر الخطي (مثل
vectorsالمتجهات،matricesالمصفوفات،dot productsالضرب النقطي). - أساسيات حساب التفاضل والتكامل (مثل
differentiationالاشتقاق،geometric interpretation of derivativeالتفسير الهندسي للمشتقة).
المناهج الدراسية التفصيلية: رحلة عبر 6 وحدات مكثفة
تنقسم الدورة إلى 6 وحدات، وستُدرّس على مدار 6 أسابيع من خلال محاضرات فيديو ودفاتر Jupyter notebooks تفاعلية. ستكون كل محاضرة حوالي ساعتين.
الوحدة 1: أساسيات PyTorch – الموترات (Tensors) والتدرجات (Gradients)
- مقدمة إلى دفاتر
Jupyter notebooksوعلوم البيانات فيPython. - إنشاء المتجهات والمصفوفات والموترات (
Tensors) فيPyTorch. - عمليات الموترات (
Tensor operations) وحسابات التدرج (gradient computations). - قابلية التشغيل البيني لـ
PyTorchمعNumpy.
الوحدة 2: الانحدار الخطي (Linear Regression) وهبوط التدرج (Gradient Descent)
- بناء الانحدار الخطي من الصفر باستخدام عمليات الموترات (
Tensor operations). - الأوزان (
Weights)، الانحيازات (biases)، ودالة خسارة متوسط الخطأ التربيعي (mean squared error loss function). - هبوط التدرج (
Gradient descent) وتدريب النموذج (model training) باستخدامPyTorch Autograd. - الانحدار الخطي باستخدام وظائف
PyTorchالمدمجة (مثلnn.Linear،nn.functional).
الوحدة 3: الانحدار اللوجستي (Logistic Regression) لتصنيف الصور
- العمل مع الصور من مجموعة بيانات
MNIST. - إنشاء مجموعات بيانات التدريب والتحقق (
Training and validation dataset creation). - دالة
Softmaxودالة خسارة الانتروبيا المتقاطعة الفئوية (categorical cross entropy loss). - تدريب النموذج (
Model training)، التقييم، والتنبؤات العينية.
الوحدة 4: الشبكات العصبية الأمامية (Feedforward Neural Networks) ووحدات معالجة الرسوميات (GPUs)
- العمل مع منصات
GPUالسحابية مثلKaggleوColab. - إنشاء شبكة عصبية متعددة الطبقات (
multilayer neural network) باستخدامnn.Module. - دالة التنشيط (
Activation function)، اللاخطية (non-linearity)، ونظرية التقريب الشامل (universal approximation theorem). - نقل مجموعات البيانات والنماذج إلى
GPUللتدريب الأسرع.
الوحدة 5أ: تصنيف الصور باستخدام الشبكات العصبية التلافيفية (CNNs)
- العمل مع صور
RGBثلاثية القنوات من مجموعة بياناتCIFAR10. - مقدمة إلى الالتفافات (
Convolutions)، النوى (kernels)، وخرائط الميزات (features maps). - القصور في التجهيز (
Underfitting)، الإفراط في التجهيز (overfitting)، وتقنيات تحسين أداء النموذج.
الوحدة 5ب: تعزيز البيانات (Data Augmentation) والتنظيم (Regularization) والشبكات المتبقية (Residual Networks)
- تحسين مجموعة البيانات باستخدام تطبيع البيانات (
data normalization) وتعزيز البيانات (data augmentation). - تحسين النموذج باستخدام الاتصالات المتبقية (
residual connections) وتطبيع الدُفعات (batch normalization). - تحسين حلقة التدريب (
training loop) باستخدام تبريد معدل التعلم (learning rate annealing)، اضمحلال الوزن (weight decay)، وقص التدرج (gradient clip). - تدريب مصنف صور حديث (
state of the art image classifier) من الصفر في 10 دقائق.
الوحدة 6: توليد الصور باستخدام الشبكات التوليدية التنافسية (GANs)
- مقدمة إلى النمذجة التوليدية (
generative modeling) وتطبيق الشبكات التوليدية التنافسية (GANs). - إنشاء شبكات عصبية للمولد (
generator) والمميز (discriminator). - توليد وتقييم صور مزيفة لأرقام مكتوبة بخط اليد.
- تدريب المولد والمميز بالتزامن وتصوير النتائج.
التطبيقات العملية والتقييم
الواجبات الأسبوعية
ستتضمن الدورة واجبات أسبوعية لترسيخ المفاهيم المكتسبة:
- الأسبوع 1: الانحدار الخطي (
Linear Regression). - الأسبوع 2: تصنيف الصور (
Image Classification). - الأسبوع 3: الشبكات العصبية الأمامية (
Feedforward neural networks).
مشروع الدورة
بالنسبة لمشروع الدورة، سيقوم الطلاب بإنشاء نموذج لتصنيف الصور باستخدام الشبكات العصبية التلافيفية (Convolutional neural networks)، وذلك على مجموعة بيانات حقيقية من اختيارهم. سيتيح المشروع للطلاب تجربة أنواع مختلفة من النماذج وتقنيات التنظيم (regularization techniques). سيقدم الطلاب أيضًا أعمالهم في نهاية الدورة وينشرون مقالًا على مدونة يصفون فيه طريقتهم ونتائجهم.
شهادة الإتمام
الطلاب الذين يحضرون 5 محاضرات فيديو على الأقل من أصل 6 ويقدمون جميع الواجبات بشكل صحيح سيكونون مؤهلين للحصول على شهادة إتمام من Jovian.ml. كما ستحصل المشاريع المختارة على جائزة أفضل مشروع (Best Project Award) بناءً على معايير تقييم يحددها المدربون.
كيفية التسجيل والمتابعة
يمكنك التسجيل في الدورة من خلال الرابط التالي: http://zerotogans.com/
سواء قمت بالتسجيل أم لا، يمكنك متابعة الدورة ومشاهدة المحاضرات على قناة freeCodeCamp.org على YouTube.
يقدم هذه الدورة Beau Carnes، وهو معلم ومطور في freeCodeCamp.org ويدير قناة freeCodeCamp.org على YouTube. إذا كان هذا المقال مفيدًا لك، فلا تتردد في مشاركته. تعلم البرمجة مجانًا. لقد ساعد منهج freeCodeCamp مفتوح المصدر أكثر من 40,000 شخص في الحصول على وظائف كمطورين.
الخلاصة التقنية
تُعد هذه الدورة فرصة ذهبية للمبتدئين والمهتمين بالتعلم العميق لاكتساب معرفة عملية ومتعمقة في PyTorch. بفضل منهجها العملي الذي يركز على البرمجة، واستخدام دفاتر Jupyter notebooks التفاعلية، والواجبات الأسبوعية، ومشروع الدورة القائم على بيانات حقيقية، تضمن الدورة بناء أساس قوي للمشاركين. التغطية الشاملة لمواضيع تتراوح من أساسيات Tensors و Gradient Descent إلى مفاهيم متقدمة مثل CNNs و GANs، تجعلها مسارًا تعليميًا متكاملًا. كما أن وجود شهادة إتمام ومسابقات عملية يعزز من قيمة الدورة ويؤهل الطلاب لسوق العمل في مجال الذكاء الاصطناعي.