مقدمة في التعلم العميق

: (Artificial Neural Networks) مقدمة عن الشبكات العصبية

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

فكرة الشبكات العصبية في التعلم العميق (deep learning) مستوحاة من كيفية عمل عقل الانسان. مثال على ذلك، الطفل في عمر السنتين “يتعلم” أن ينطق كلمة “أبي” من خلال إعادة قول الكلمة له عدة مرات من قبل أحد الوالدين وبالتالي يتعلم أي كلمة من خلال هذا المفهوم التعلم بالأمثلة وليس بالاعتماد على قواعد معينة. المفهوم نفسه يطبق في التعلم العميق ولذا نستطيع القول: الأنظمة التي تعتمد على الشبكات العصبية تستطيع “تعلم” أي مهمة (tasks) بالنظر لمجموعة من الأمثلة مهما كانت وليس ببرمجتها على تعلم مهمة معينة فقط.

ماذا عن واقع الشكبات العصبية في الانظمة المبتعة حاليا؟

مالذي نريد تعلمه؟ وماذا نحتاج؟

حتى نستطيع بناء اي نظام او نموذج model يحاكي ويتخذ القرار بناء على المعطيات المتوفرة نحتاج الى البيانات ! فاذن قبل ان نفكر في بناء اي مودل model، نحتاج ان نفكر في البيانات data التي نستطيع توفيرها. ويجب ان تسال نفسك الاسئلة التالية:

ماهي المشكلة التي أريد حلها؟ وما الهدف من بنائي للمودل model؟ هل استطيع توفير كمية كافية من البيانات لاستطيع تعلم البيانات؟

الان وبعد ان فهمنا ان اهم نقطة في بناء اي مودل و model هو البيانات المتوفرة. ماذا بعد؟ اسال نفسك السؤال التالي

ما الذي أريد تعلمه من البيانات؟

لابسط المعلومة. افرض انه عندنا قاعدة بيانات خاصة في الاسهم وتحتوي على عدد من المعلومات كاسم الشركة، قيمتها السوقية، مستوى انحدار السهم خلال ٥ سنين وايضا قيمة السهم السوقية. والمطلوب ان نبني مودل model قادر على توقع القيمة السوقية لاي سهم جديد. نسأل انفسنا ايضا

كيف استيطع بناء مودل قادر على توقع قيمة السهم؟

تذكر احنا نتعامل مع خوارزميات في النهاية ويجب علينا ان نلقن الالة. ما اقصد بطريقة اخرى انه يجب علينا ان نخبر المودل model الخاص فينا انه اذا رأيت السهم في اخر ٥ سنوات مرتفعة قيمته السوقية، فتوقع ان السهم ستكون قيمته عالية وفي حال كان السهم اخر خمس سنين متدني القيمة، فاعلم ان قيمته السوقية قليلة.

الان لبناء اي مودل model، نحتاج فترة ندربه فيها وفترة نختبره فيها على اسهم جديدة. الفترة التي ذكرتها هيا الخاصة بالتدريب. ممكن تسال كيف اخبر المودل model بالكلام الي ذكرته؟

حنرى ذلك بالتفصيل لاحقا لكن بشكل مختصر لتوضح الصورة. قيمة السهم اخر خمس سنين تمثل خاصية feature وفي الامثلة الواقعية عادة يكون عندنا اكثر من خاصية وتسمى features. وقيمة السهم السوقية في مثالنا هذا تمثل labels. ولا تقلق هذه كلها معطيات نعطيها الخوازمية الخاص فينا. هذه الحالة تسمى supervised learning.

في سلسلة المقالات هذه حتكون طريقتي في شرح الاساسيات كالاتي: حركز على ايصال المفهوم النظري والعملي في نفس الوقت عن طريق مشاريع.
بالتحديد حشرح المشروعين التالية بشكل تفصيلي:
  1. التعرف على تصنيف الامراض بناء معطيات المرض باستخدام MLP
  2. التعرف على الارقام المكتوبة بخط اليد باستخدام CNN


ملاحظة مهمة: الهدف ليس بناء المشروع فقط!! الهدف ان تتعلم ان تربط الجانب النظري بالعملي وتحسبه قبل ان تطبقه.
هل تريد أن تعرف اذا الدورة حتفيدك وتضيف لك معلومات جديدة وتطور مستواك؟ اسال نفسك الاسئلة التالية واذا اجابتك كانت بنعم فانت غالبا لا تحتاج هذه الدورة:
  1. هل تستطيع حساب مدخلات ومخرجات لاي طبقة layer موجودة في الشبكة العصبية رياضيا؟
  2. هل تعرف سر ترتيب الطبقات العصبية؟
  3. لماذا نستخدم activation function ونفضلها على اخرى؟
  4. عمليا: هل تستطيع توقع عينة واحدة فقط بدل من الاعتماد فقط دقة المودل model الخاص فيك؟
  5. عمليا: هل تستطيع معرفة لماذا المودل model الخاص فيك توقع النتائج بطريقة معينة؟ هل استخدمت خوارزميات مثل SHAP لفهم سلوكيات المودل الخاص فيك؟
اعرف انه بعض platforms المستخدمة توفر عليك عناء الحساب لكن في المقابل هذه مشكلة في حال كنت تبغى تبني الشبكة الخاصة فيك. ولهذا السبب حنستخدم في هذه الدورة Pytorch بدل عن Tensorflow. بالاضافة الى السبب الذي ذكرت، من خبرتي العملية Pytorch يعطيني امكانية احصل على اي قيمة ابغى اوصل لها في الشبكة بكل مرونة وهذا حيفيدنا بشكل كبير في اي مشروع نشتغل عليه وايضا يفيد الباحثين بشكل كبير ويعطيهم مرونة اكثر.
لمتابعة الفديو الخاص بالمقالة، الرجاء الضفط هنا



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

Leave a Reply

Your email address will not be published.