20 موضوعا في التعلم العميق يجب معرفتها (مهم جدا)

هل أنت جديد في التعلم العميق وتبحث عن دليل شامل لمساعدتك على فهم الأساسيات وما بعدها؟ لا مزيد من البحث! في هذه المقالة، سوف نتعمق في 20 مفهومًا أساسيًا للتعلم العميق، بدءًا من الأساسيات والإنتقال تدريجيًا إلى مواضيع أكثر تقدمًا. من الشبكة العصبية الإصطناعية (ANN) إلى الإنحدار الإشتقاقي ودوال والتنشيط (Sigmoid و ReLU و SoftMax).

سوف نستكشف كل ما تحتاج إلى معرفته للحصول على أساس متين في التعلم العميق. لذا، إشرب قهوتك ودعنا نبدأ!

1- الشبكة العصبية الإصطناعية Artificial Neural Network (ANN)

الشبكة العصبية الإصطناعية Artificial Neural Network (ANN) هي نموذج رياضي مستوحى من بُنية ودالة الدماغ البشري. يتكون ANN من عقد مترابطة، تُعرف أيضًا بإسم الخلايا العصبية الإصطناعية artificial neurons، والتي تعالج المعلومات. كل خلية عصبية تتلقى مدخلات، وتنفذ عملية حسابية، وتولد مخرجات.

مثال: تخيل أنك تحاول تحديد ما إذا كانت الفاكهة تفاحة أم برتقالة بناءً على لونها وشكلها. قد تبدأ بطرح بعض الأسئلة: “هل الفاكهة مستديرة؟” و “هل الثمرة حمراء؟” بناءً على إجابات هذه الأسئلة، ستتمكن من تحديد ما إذا كانت الفاكهة تفاحة أم برتقالة.

2- الإنحدار الاشتقاقي Gradient Descent

الإنحدار الإشتقاقي Gradient Descent هو أحد أكثر المحسّنات شيوعًا. إنها طريقة لتحديث معلمات النموذج بحيث تنخفض دالة الخطأ loss function.

الفكرة هي حساب الإنحدار الإشتقاقي لدالة الخطأ فيما يتعلق بالمعلمات ثم إتخاذ خطوة في الإتجاه الذي يقلل من دالة الخطأ. تتكرر هذه العملية عدة مرات حتى تصبح دالة الخطأ صغيرة قدر الإمكان.

مثال: إفترض أنك تقف على قمة تل وتحاول الوصول إلى القاع. لا تريد أن تسلك طريقًا مستقيمًا لأنها قد لا تكون الطريقة الأسرع أو الأكثر فاعلية للأسفل. بدلاً من ذلك، تريد أن تأخذ خطوات صغيرة في الإتجاه الذي سيوصلك إلى أسفل التل بشكل أسرع. هذا مشابه للإنحدار الاشتقاقي. يأخذ خطوات صغيرة في الإتجاه الذي سيقلل من الخطأ ويجد الحل الأفضل.

3- دالة التنشيط Activation Function (Sigmoid, ReLU, Softmax)

دالة التنشيط activation function مثل حارس البوابة لكل خلية عصبية في ANN. فهي تقرر ما إذا كان يجب “تشغيل” أو “إيقاف تشغيل” الخلية العصبية.

الأنواع المختلفة من دوال التنشيط تؤدي إلى عمليات مختلفة في صنع القرار.

Sigmoid -1.3

دالة Sigmoid مثل مفتاح الضوء. تقوم بتشغيل الخلايا العصبية أو إيقاف تشغيلها بناءً على الإدخال. إذا كان الدخل أعلى من عتبة معينة، فإن دالة Sigmoid تُخرج القيمة 1، مما يؤدي إلى تشغيل الخلية العصبية. أما إذا كان الدخل أقل من العتبة، فإن دالة Sigmoid تُخرج القيمة 0، مما يؤدي إلى إيقاف تشغيل الخلايا العصبية.

ReLU -2.3

تشبه دالة ReLU (الوحدة الخطية المصححة rectified linear unit) مفتاح الضوء أيضًا، لكنها أكثر تعقيدًا بعض الشيء. إذا كان الإدخال موجبًا، فإن دالة ReLU تُخرج نفس القيمة الموجبة، مما يؤدي إلى تشغيل الخلية العصبية. أما إذا كان الإدخال سالبًا، فإن دالة ReLU تخرج 0، مما يؤدي إلى إيقاف تشغيل الخلايا العصبية.

Softmax -3.3

دالة SoftMax تشبه نظام التصويت. يأخذ في مخرجات جميع الخلايا العصبية في الطبقة ويقرر أي الخلايا العصبية يجب أن يكون لها التأثير الأكبر على الناتج النهائي. يقوم بذلك عن طريق تحويل المخرجات إلى احتمالات، مع أعلى إحتمال يمثل التأثير الأكبر.

4- الإنتشار الخلفي Backpropagation

الإنتشار الخلفي Backpropagation هو خوارزمية تستخدم لتدريب الشبكات العصبية الإصطناعية (ANNs).

Backpropagation تنتمي إلى خوارزميات التعلم الخاضع للإشراف supervised learning والتي تتضمن حساب الإنحدار الإشتقاقي لدالة الخطأ فيما يتعلق بأوزان الشبكة.

الهدف من الإنتشار الخلفي هو تحديث الأوزان بطريقة تقلل من قيمة دالة الخطأ.

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

5- الإنتشار الامامي Forward Propagation

الإنتشار الأمامي Forward Propagation هي عملية في التعلم العميق حيث يتم تمرير بيانات الإدخال عبر طبقات الشبكة العصبية لتوليد المخرجات. يتم ضرب المدخلات بأوزان كل طبقة، ويتم تمرير النتيجة من خلال دالة التنشيط لإنتاج المخرجات. يصبح هذا الناتج (الإخراج) هو المدخلات للطبقة التالية حتى تنتج الطبقة النهائية الناتج النهائي.

مثال: تخيل أن لديك مشكلة في الرياضيات حيث يتعين عليك العثور على الإجابة عن طريق حل عدة خطوات. يشبه الإنتشار الأمامي حل هذه الخطوات واحدة تلو الأخرى وتمرير النتائج إلى الخطوة التالية. يستمر هذا حتى الخطوة الأخيرة حيث نحصل على الإجابة.

بنفس الطريقة، في الشبكة العصبية، فإن الإنتشار الأمامي هو عملية تمرير بيانات الإدخال عبر الشبكة، طبقة تلو الأخرى، حتى يتم إنشاء المخرجات النهائية. في كل طبقة، يتم تحويل البيانات بناءً على أوزان وتحيزات الخلايا العصبية الموجودة في تلك الطبقة.

6- الشبكة العصبية التلافيفية Convolutional Neural Network (CNN)

الشبكة العصبية التلافيفية (الإلتفافية) Convolutional Neural Network (CNN) هي نوع من الشبكات العصبية الاصطناعية التي تعتبر جيدة بشكل خاص في تحليل الصور ومقاطع الفيديو. يستخدم عملية رياضية تسمى الإلتفاف convolution لمسح الصورة وتحديد الأنماط patterns، مثل الأشكال أو الحواف.

مثال: فكر في الأمر كمحقق يبحث عن أدلة في صورة، ولكن بدلاً من البحث عن بكسل واحد في كل مرة، تنظر شبكة CNN إلى وحدات بكسل متعددة في وقت واحد للعثور على الأنماط.

7- الفترة Epoch

تشير الفترة (حقبة) Epoch في التعلم الآلي والشبكات العصبية الإصطناعية (ANNs) إلى تكرار واحد كامل من خلال مجموعة بيانات التدريب بأكملها. خلال فترة ما، يعالج النموذج ويستخدم المعلومات من بيانات التدريب لتحديث أوزانه weights وتحيزاته biases، من أجل التنبؤ بشكل أفضل بنتيجة التكرار التالي.

مثال: الأمر أشبه بإجراء إختبار عدة مرات، ففي كل مرة تقوم فيها بإجراء الإختبار، يمكنك التعلم من أخطائك والقيام بعمل أفضل في المرة القادمة. بنفس الطريقة، بعد كل حقبة Epoch، يجب أن يصبح النموذج أفضل في التعرف على الأنماط في البيانات.

8- الضبط الزائد Overfitting والضبط الناقص Underfitting

1.8- الضبط الزائد Overfitting

يحدث الضبط الزائد عندما يصبح النموذج جيدًا جدًا في التعرف على الأنماط في بيانات التدريب ويصبح محددًا جدًا لتلك البيانات. هذا يعني أنه لن يعمل بشكل جيد على البيانات الجديدة غير المرئية unseen data.

مثال: تخيل طفلًا يحفظ جميع إجابات الإختبار، لكنه لا يفهم المفاهيم حقًا. سيكون أداء هذا الطفل ضعيفًا في إختبار مماثل مع أسئلة مختلفة.

2.8- الضبط الناقص Underfitting

الضبط الناقص هو عكس الضبط الزائد. يحدث عندما يكون النموذج بسيطًا جدًا ولا يمتلك القدرة الكافية لتعلم الأنماط في البيانات.

مثال: طفل لا يدرس بشكل كافٍ للإختبار ولا يعرف الإجابات. سيكون أداء هذا الطفل ضعيفًا في الإختبار حتى لو كانت الأسئلة هي نفسها التي رأوها من قبل.

9- التسوية بالدفعات Batch Normalization

التسوية بالدُفعات (BN) Batch Normalization هي تقنية تُستخدم لتطبيع (تسوية) عمليات تنشيط الطبقة عبر دفعة صغيرة mini-batch من البيانات. هذا يساعد على تحسين إستقرار عملية التدريب وتقليل فرص الضبط الزائد.

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

يدرس بشكل كافٍ للاختبار ولا يعرف الإجابات. سيكون أداء هذا الطفل ضعيفًا في الاختبار حتى لو كانت الأسئلة هي نفسها التي رأوها من قبل.

10- الحذف العشوائي Dropout

الحذف العشوائي (التسرب) Dropout هو أسلوب يستخدم لمنع الضبط الزائد Overfitting في نماذج التعلم العميق. هو يعمل عن طريق إسقاط (حذف) بعض الخلايا العصبية بشكل عشوائي خلال كل فترة Epoch. هذا يفرض على النموذج تعلم تمثيلات مختلفة متعددة للبيانات، مما يساعد على منعها من أن تصبح محددة للغاية لبيانات التدريب.

مثال: وجود عدة أشخاص يحاولون حل نفس المشكلة، سيأتي كل شخص بحل مختلف، ومن خلال الجمع بين حلولهم، تحصل على نتيجة أفضل.

11- الشبكة العصبية المتكررة Recurrent Neural Network (RNN)

الشبكة العصبية المتكررة Recurrent Neural Network (RNN) هي نوع من الشبكات العصبية المستخدمة في معالجة تسلسل البيانات.

الفكرة الرئيسية وراء RNNs هي إستخدام نفس الأوزان لمعالجة جميع العناصر في تسلسل، بحيث يمكن للشبكة الإحتفاظ بالمعلومات حول عناصر التسلسل التي تمت معالجتها حتى الآن.

يمكن إستخدام RNN في مهام مثل ترجمة اللغة language translation والتعرف على الكلام speech recognition وإنشاء النص text generation.

12- الذاكرة طويلة قصيرة المدى Long Short-Term Memory (LSTM)

الذاكرة طويلة قصيرة المدى LSTM هو نوع من الشبكات العصبية المتكررة RNN المصممة للتعامل مع مشكلة تلاشي التدرج vanishing gradient. تحدث مشكلة تلاشي التدرج عند تدريب RNN وتصبح تدرجات الخطأ فيما يتعلق بالأوزان صغيرة جدًا، مما يجعل من الصعب تحديث الأوزان بشكل فعال. تحل LSTM هذه المشكلة بإستخدام بوابات gates للتحكم في تدفق المعلومات والتدرجات عبر الشبكة.

13- نقل التعلم Transfer Learning

نقل التعلم Transfer Learning هو أسلوب في التعلم العميق حيث يتم ضبط fine-tuned نموذج الشبكة العصبية المدرب مسبقًا pre-trained neural network model لمهمة مختلفة ولكنها ذات صلة. على سبيل المثال، يمكن ضبط نموذج تصنيف الصور المُدرَّب مسبقًا لإكتشاف الكائنات أو تقسيمها. يسمح نقل التعلم بتدريب أسرع وأداء أفضل مقارنة بتدريب نموذج من البداية.

14- المشفر التلقائي Autoencoder

يعد المشفر التلقائي Autoencoder نوعًا من الشبكات العصبية المستخدمة للتعلم غير الخاضع للإشراف unsupervised learning.

الفكرة الرئيسية وراء المشفر التلقائي هي تعلم تمثيل مضغوط لبيانات الإدخال ثم إستخدام هذا التمثيل لإعادة بناء بيانات الإدخال. يمكن إستخدام المشفرات التلقائية في مهام مثل تقليل الأبعاد dimensionality reduction وإكتشاف الخالات الشاذة anomaly detection.

15- شبكة الخصومة التوليدية Generative Adversarial Network (GAN)

شبكة الخصومة التوليدية Generative Adversarial Network (GAN) هي نوع من الشبكات العصبية المستخدمة في النمذجة التوليدية generative modeling. الفكرة الرئيسية وراء شبكات GAN هي تدريب شبكتين، مولد generator ومميز discriminator، ضد بعضهما البعض. يحاول المولد إنشاء بيانات تشبه البيانات الحقيقية، ويحاول المميز التمييز بين البيانات التي تم إنشاؤها والبيانات الحقيقية.

الهدف هو إيجاد توازن بين الشبكتين، حيث يولد المولد بيانات لا يمكن تمييزها عن البيانات الحقيقية.

16- دالة الخطأ Loss Function

تشبه دالة الخطأ loss function بطاقة الأداء لشبكة ANN الخاصة بك. يخبرك بمدى نجاح ANN في حل المشكلة. تخيل أنك تلعب لعبة هدفها هو الحصول على أكبر عدد ممكن من النقاط. النتيجة التي تحصل عليها بعد كل جولة هي دالة الخطأ. كلما إنخفضت النتيجة، كان أداء ANN أفضل.

لدينا أنواع مختلفة من دالة الخطأ وبعضها مذكور هنا:

  • الخطأ التربيعي المتوسط Mean Squared Error (MSE)
  • خطأ متوسط الجذر التربيعي Root Mean Squared Error (RMSE)

1.16- الخطأ التربيعي المتوسط Mean Squared Error (MSE)

الخطأ التربيعي المتوسط (MSE) هو متوسط الفروق التربيعية بين قيم المخرجات الفعلية actual output values والقيم المتوقعة predicted values. يقيس متوسط حجم الخطأ في التنبؤات.

رياضيا، يتم تعريفه على النحو التالي:

MSE = 1/N * Σ(actual — predicted)²,

حيث N هو عدد العينات وactual وpredicted هي القيم الفعلية والمتوقعة، على التوالي.

على سبيل المثال، لنفترض أن لديك نموذجًا يتنبأ بإرتفاع الشخص بناءً على عمره. لديك 5 أشخاص، و إرتفاعاتهم و أعمارهم الفعلية هي كما يلي:

P1 : Age = 25, Height = 170 cm

P2: Age = 28, Height = 165 cm

P3: Age = 30, Height = 160 cm

P4: Age = 32, Height = 155 cm

P5: Age = 35, Height = 150 cm

الآن، لنفترض أن نموذجك يتوقع الإرتفاعات التالية لهؤلاء الأشخاص:

P1: Age = 25, Height = 165 cm

P2: Age = 28, Height = 170 cm

P3: Age = 30, Height = 162 cm

P4: Age = 32, Height = 157 cm

P5: Age = 35, Height = 153 cm

يمكن حساب MSE للنموذج الخاص بك على النحو التالي:

MSE = 1/5 * ( (170–165)² + (165–170)² + (160–162)² + (155–157)² + (150–153)² ) = (5² + 5² + 2² + 2² + 3²)/5 = 51

إذن، MSE لنموذجك هو 51، مما يعني أن متوسط حجم الخطأ في التنبؤات هو 51 سم².

2.16- خطأ متوسط الجذر التربيعي Root Mean Squared Error (RMSE)

خطأ متوسط الجذر التربيعي (RMSE) هو الجذر التربيعي لـ MSE. يعطي الخطأ في نفس الوحدات مثل القيم الفعلية والمتوقعة.

رياضيا، يتم تعريفه على النحو التالي:

RMSE = √(MSE)

بإستخدام نفس المثال، يمكن حساب RMSE للنموذج الخاص بك على النحو التالي:

RMSE = √(51) = 7.14 cm

إذن، RMSE لنموذجك هو 7.14 سم ، مما يعني أن متوسط حجم الخطأ في التنبؤات هو 7.14 سم.

17- الموتر Tensor

الموتر Tensor هو كائن رياضي يمثل البيانات. إنها مثل مصفوفة متعددة الأبعاد، لكنها أكثر عمومية. فكر في الأمر على أنه مكعب مصنوع من مكعبات أصغر. المكعبات الأصغر تشبه قطع البيانات الفردية، والمكعب الأكبر يشبه الموتر الذي يجمعهم جميعًا معًا. تُستخدم الموترات في العديد من مجالات التعلم الآلي، ولكن بشكل خاص في التعلم العميق، حيث تُستخدم لتخزين كميات كبيرة من البيانات ومعالجتها.

مثال: لنفترض أن لديك بيانات حول الطول والوزن لعشرة أشخاص. يمكنك تمثيل هذه البيانات كموتّر ثنائي الأبعاد، حيث يمثل كل صف إرتفاع ووزن شخص واحد.

18- التحقق المتقاطع Cross-Validation

التحقق المتقاطع Cross-Validation هو تقنية مستخدمة في التعلم الآلي لتقييم مدى جودة أداء النموذج على البيانات غير المرئية. الفكرة هي تقسيم البيانات إلى جزأين: مجموعة تدريب training set ومجموعة التحقق من الصحة validation set. يتم تدريب النموذج على مجموعة التدريب ثم يتم تقييمه على مجموعة التحقق من الصحة. تتكرر هذه العملية عدة مرات مع استخدام أجزاء مختلفة من البيانات كمجموعة تحقق في كل مرة. الهدف هو معرفة ما إذا كان النموذج يعاني من الضبط الزائد او الضبط الناقص، والحصول على فكرة أفضل عن كيفية أدائه على البيانات الجديدة غير المرئية.

مثال: افترض أنك معلم ولديك مجموعة من 100 طالب وتريد اختبار مدى معرفتهم بجداول الضرب الخاصة بهم. يمكنك تقسيم الطلاب إلى مجموعتين من 50 لكل طالب. يتم استخدام المجموعة الأولى المكونة من 50 طالبًا لتدريب النموذج، بينما يتم استخدام المجموعة الثانية المكونة من 50 طالبًا للتحقق من صحتها. تكرر هذه العملية عدة مرات، في كل مرة تستخدم مجموعة مختلفة من 50 طالبًا للتحقق من الصحة. بهذه الطريقة، تحصل على فكرة جيدة عن مدى معرفة الطلاب بجداول الضرب الخاصة بهم، دون الحاجة إلى اختبار كل منهم المائة مرة واحدة.

19- ضبط المعلمات الفائقة Hyperparameter Tuning

ضبط المعلمات الفائقة Hyperparameter tuning هو عملية إختيار أفضل مجموعة من المعلمات الفائقة لنموذج التعلم الآلي.

المعلمات الفائقة Hyperparameters هي المعلمات التي يتم تعيينها قبل تدريب نموذج ولا يمكن تعلمها من البيانات. تتضمن أمثلة المعلمات الفائقة معدل التعلم learning rate أو عدد الطبقات المخفية the number of hidden layers في الشبكة العصبية أو عدد الأشجار في مجموعة الغابة العشوائية. الهدف من ضبط hyperparameter هو العثور على مجموعة من المعلمات الفائقة التي تؤدي إلى أفضل أداء في مجموعة التحقق من الصحة.

مثال: لنفترض أن لديك وصفة لخبز كعكة. تشبه المكونات الموجودة في الوصفة المعلمات الفائقة لنموذج التعلم الآلي. يمكنك تغيير مكونات الوصفة لترى كيف تؤثر على طعم الكيك. على سبيل المثال، يمكنك محاولة إضافة المزيد من السكر أو القليل من الدقيق لمعرفة ما سيحدث. هذا يشبه ضبط المعلمات الفائقة في التعلم الآلي، حيث يمكنك تجربة مجموعات مختلفة من المعلمات الفائقة لمعرفة أيهما يعمل بشكل أفضل.

20- الخلايا العصبية Neurons

الخلايا العصبية (العصبونات) Neurons هي لبنة بناء أساسية للشبكة العصبية. هي مثل جهاز كمبيوتر صغير يمكنه إجراء عمليات حسابية بسيطة وإتخاذ القرارات بناءً على المدخلات. ترتبط الخلايا العصبية ببعضها البعض في شبكة، وتعمل معًا لأداء مهام معقدة، مثل تصنيف الصور أو ترجمة اللغة. مدخلات الخلايا العصبية هي أرقام تمثل المعلومات، ومخرجات الخلية العصبية هي قرار حول ما يجب فعله بهذه المعلومات.

مثال: لنفترض أن لديك مجموعة من الأصدقاء وتريد أن تلعب لعبة “الهاتف”. في هذه اللعبة، يهمس شخص ما برسالة إلى الشخص التالي، وهكذا دواليك، حتى يتم تمرير الرسالة إلى كل فرد في المجموعة. كل شخص في المجموعة يشبه خلية عصبية في شبكة عصبية، يتلقى المعلومات من شخص واحد ويمررها.

21- الخاتمة

التعلم العميق هو حقل فرعي من التعلم الآلي مستوحى من بُنية ووظيفة الدماغ البشري ويستخدم الشبكات العصبية الإصطناعية (ANNs). في هذه المقالة، إكتشفنا 20 مفهومًا أساسيًا للتعلم العميق بدءًا من الأساسيات وحتى الموضوعات الأكثر تقدمًا.

تتضمن هذه المفاهيم الشبكة العصبية الاصطناعية (ANN)، الإنحدار الاشتقاقي، دوال التنشيط (Sigmoid, ReLU SoftMax)، الإنتشار الخلفي، الإنتشار الأمامي، الشبكة العصبية التلافيفية (CNN)، الفترة Epoch، الضبط الزائد، التسوية بالدُفعات، التسرب، نقل التعلم، شبكة الخصومة التوليدية (GAN)، والمشفر التلقائي، والشبكة العصبية التلافيفية (CNN)، والشبكة العصبية المتكررة (RNN)، والذاكرة طويلة قصيرة المدى (LSTM)، ونقل التعلم.

من خلال فهم هذه المفاهيم، يمكن للمبتدئين إكتساب فهم شامل وبديهي للتعلم العميق.


المصادر

20 Must-Know Topics In Deep Learning For Beginners | Medium


مقالات أخرى

مستقبل الطائرات بدون طيار في الطاقة الشمسية: المراقبة-الصيانة-تحسين الإنتاجية

الطائرات بدون طيار ومكافحة الحرائق: تحديات وفرص جديدة للكشف عن الحرائق وإخمادها

الكاتب

مقالات متعلقة

دور الطائرات بدون طيار (ا

1- مقدمة على إستخدامات الدرون ...

روبوت Boston Dynamics Spot: التقني

1- المقدمة 1.1- تعريف بروبوت Bosto...

16 نصيحة لإستخدام Google Colab

يعد كولاب Colab أحد أفضل المنتجا...

اترك تعليقا