---
title: Deep Learning
localeTitle: تعلم عميق
---
## تعلم عميق

يشير "التعليم العميق" إلى تقنية في "تعلم الآلة" حيث يوجد لديك الكثير من الشبكات العصبية الاصطناعية مكدسة معاً في بعض العمارة.

بالنسبة إلى الخلايا غير العصبية ، فإن الخلايا العصبية الاصطناعية هي في الأساس دالة رياضية من نوع ما. والشبكات العصبية هي خلايا عصبية متحدة مع بعضها البعض. لذلك في التعلم العميق ، لديك الكثير من الوظائف الرياضية مكدسة فوق (أو على الجانب) من بعضها البعض في بعض العمارة. قد يكون لكل من الدوال الرياضية معلماته الخاصة (على سبيل المثال ، معادلة خط `y = mx + c` لها معلمتان `m` و `c` ) والتي يجب تعلمها (أثناء التدريب). وبمجرد تعلمها من مهمة معينة (مثل تصنيف القطط والكلاب) ، فإن هذه المجموعة من الوظائف الحسابية (العصبونات) جاهزة للقيام بعملها لتصنيف صور القطط والكلاب.

![القط أو الكلب؟](https://image.slidesharecdn.com/deeplearningfromanoviceperspective-150811155203-lva1-app6891/95/deep-learning-from-a-novice-perspective-3-638.jpg?cb=1439308391)

### لماذا هو صفقة كبيرة؟

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

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

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

### كيفية تدريب نموذج التعلم العميق؟

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

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

### بعض معماريات الشبكة العصبية القياسية

على مدى السنوات القليلة الماضية ، أصبحت بعض النماذج (أي مجموعة من الوظائف الرياضية ، والهندسة المعمارية ، والمعلمات) معيارًا لمهام معينة. على سبيل المثال ، فاز نموذج يسمى Resnet-152 بتحدي Imagenet في عام 2015 والذي يتضمن محاولة تصنيف الصور إلى 1000 فئة (تشمل القطط والكلاب). إذا كنت تخطط للقيام بمهام متشابهة ، فستبدأ التوصية بمثل هذه النماذج القياسية وتعديلها إذا لم تستوفِ متطلباتك.

يبدو نموذج resnet-152 مثل هذا (لا تقلق إذا لم تفهمه. إنه مجرد مجموعة من الوظائف الرياضية مكدسة فوق بعضها البعض بطريقة مثيرة للاهتمام):

![Resnet-152 Model](https://adeshpande3.github.io/assets/ResNet.gif)

كان لدى Google بنية الشبكة العصبية الخاصة بها والتي فازت في Imagenet الذي تم تحديه في عام 2014. والتي يمكن رؤيتها في [gif هنا بمزيد من التفاصيل](https://adeshpande3.github.io/assets/GoogleNet.gif) .

### كيفية تنفيذ بنفسك؟

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

*   [اباتشي MXNet](https://mxnet.incubator.apache.org/)
*   [جوجل Tensorflow](https://www.tensorflow.org/)
*   [Pytorch](http://pytorch.org//)
*   [Keras](https://keras.io/)
*   [Caffe2](https://caffe2.ai/)
*   [غلوون](https://github.com/gluon-api/gluon-api/)
*   [Theano](http://deeplearning.net/software/theano/)

### معلومات اكثر:

*   [كتاب التعلم العميق](http://www.deeplearningbook.org)
*   [تعلم عميق](https://en.wikipedia.org/wiki/Deep_learning)
*   [دليل FreeCodeCamp إلى الشبكات العصبية](https://github.com/freeCodeCamp/guides/blob/master/src/pages/machine-learning/neural-networks/index.md)
*   [Imagenet](http://image-net.org/)
*   [دليل المبتدئين لفهم الشبكات العصبية التلافيفية](https://adeshpande3.github.io/adeshpande3.github.io/A-Beginner's-Guide-To-Understanding-Convolutional-Neural-Networks/)
*   [التعلم العميق مبسطة - DeepLearning.TV](https://www.youtube.com/playlist?list=PLjJh1vlSEYgvGod9wWiydumYl8hOXixNu)
*   [الشبكات العصبية والتعليم العميق](http://neuralnetworksanddeeplearning.com)