: (Artificial Neural Networks) مقدمة عن الشبكات العصبية
في هذه السلسة حفترض انه ما عندك أي خلفية عن ما هو التعلم العميق و
قبل أن اخوض في تفاصيل الشبكات العصبية وطريقة عملها، سوف اتحدث بشكل مبسط عن الفكرة العامة.
فكرة الشبكات العصبية في التعلم العميق (deep learning) مستوحاة من كيفية عمل عقل الانسان. مثال على ذلك، الطفل في عمر السنتين “يتعلم” أن ينطق كلمة “أبي” من خلال إعادة قول الكلمة له عدة مرات من قبل أحد الوالدين وبالتالي يتعلم أي كلمة من خلال هذا المفهوم التعلم بالأمثلة وليس بالاعتماد على قواعد معينة. المفهوم نفسه يطبق في التعلم العميق ولذا نستطيع القول: الأنظمة التي تعتمد على الشبكات العصبية تستطيع “تعلم” أي مهمة (tasks) بالنظر لمجموعة من الأمثلة مهما كانت وليس ببرمجتها على تعلم مهمة معينة فقط.
الان لبناء اي مودل model، نحتاج فترة ندربه فيها وفترة نختبره فيها على اسهم جديدة. الفترة التي ذكرتها هيا الخاصة بالتدريب. ممكن تسال كيف اخبر المودل model بالكلام الي ذكرته؟
حنرى ذلك بالتفصيل لاحقا لكن بشكل مختصر لتوضح الصورة. قيمة السهم اخر خمس سنين تمثل خاصية feature وفي الامثلة الواقعية عادة يكون عندنا اكثر من خاصية وتسمى features. وقيمة السهم السوقية في مثالنا هذا تمثل labels. ولا تقلق هذه كلها معطيات نعطيها الخوازمية الخاص فينا. هذه الحالة تسمى supervised learning.
في سلسلة المقالات هذه حتكون طريقتي في شرح الاساسيات كالاتي: حركز على ايصال المفهوم النظري والعملي في نفس الوقت عن طريق مشاريع.
بالتحديد حشرح المشروعين التالية بشكل تفصيلي:
ان اصبت فمن الله وان اخطات فمن نفسي .. لا تنسى مشاركة المقالة اذا أعجبتك .. اخوكم رائد الحربي
ولاي ملاحضات او استفسارات يرجى مراسلتي على تويتر @raedalharbi14 أو كتابة التعليق هنا
فكرة الشبكات العصبية في التعلم العميق (deep learning) مستوحاة من كيفية عمل عقل الانسان. مثال على ذلك، الطفل في عمر السنتين “يتعلم” أن ينطق كلمة “أبي” من خلال إعادة قول الكلمة له عدة مرات من قبل أحد الوالدين وبالتالي يتعلم أي كلمة من خلال هذا المفهوم التعلم بالأمثلة وليس بالاعتماد على قواعد معينة. المفهوم نفسه يطبق في التعلم العميق ولذا نستطيع القول: الأنظمة التي تعتمد على الشبكات العصبية تستطيع “تعلم” أي مهمة (tasks) بالنظر لمجموعة من الأمثلة مهما كانت وليس ببرمجتها على تعلم مهمة معينة فقط.
ماذا عن واقع الشكبات العصبية في الانظمة المبتعة حاليا؟
مالذي نريد تعلمه؟ وماذا نحتاج؟
حتى نستطيع بناء اي نظام او نموذج model يحاكي ويتخذ القرار بناء على المعطيات المتوفرة نحتاج الى البيانات ! فاذن قبل ان نفكر في بناء اي مودل model، نحتاج ان نفكر في البيانات data التي نستطيع توفيرها. ويجب ان تسال نفسك الاسئلة التالية:ماهي المشكلة التي أريد حلها؟ وما الهدف من بنائي للمودل model؟ هل استطيع توفير كمية كافية من البيانات لاستطيع تعلم البيانات؟
الان وبعد ان فهمنا ان اهم نقطة في بناء اي مودل و model هو البيانات المتوفرة. ماذا بعد؟ اسال نفسك السؤال التاليما الذي أريد تعلمه من البيانات؟
لابسط المعلومة. افرض انه عندنا قاعدة بيانات خاصة في الاسهم وتحتوي على عدد من المعلومات كاسم الشركة، قيمتها السوقية، مستوى انحدار السهم خلال ٥ سنين وايضا قيمة السهم السوقية. والمطلوب ان نبني مودل model قادر على توقع القيمة السوقية لاي سهم جديد. نسأل انفسنا ايضاكيف استيطع بناء مودل قادر على توقع قيمة السهم؟
تذكر احنا نتعامل مع خوارزميات في النهاية ويجب علينا ان نلقن الالة. ما اقصد بطريقة اخرى انه يجب علينا ان نخبر المودل model الخاص فينا انه اذا رأيت السهم في اخر ٥ سنوات مرتفعة قيمته السوقية، فتوقع ان السهم ستكون قيمته عالية وفي حال كان السهم اخر خمس سنين متدني القيمة، فاعلم ان قيمته السوقية قليلة.الان لبناء اي مودل model، نحتاج فترة ندربه فيها وفترة نختبره فيها على اسهم جديدة. الفترة التي ذكرتها هيا الخاصة بالتدريب. ممكن تسال كيف اخبر المودل model بالكلام الي ذكرته؟
حنرى ذلك بالتفصيل لاحقا لكن بشكل مختصر لتوضح الصورة. قيمة السهم اخر خمس سنين تمثل خاصية feature وفي الامثلة الواقعية عادة يكون عندنا اكثر من خاصية وتسمى features. وقيمة السهم السوقية في مثالنا هذا تمثل labels. ولا تقلق هذه كلها معطيات نعطيها الخوازمية الخاص فينا. هذه الحالة تسمى supervised learning.
في سلسلة المقالات هذه حتكون طريقتي في شرح الاساسيات كالاتي: حركز على ايصال المفهوم النظري والعملي في نفس الوقت عن طريق مشاريع.
بالتحديد حشرح المشروعين التالية بشكل تفصيلي:
- التعرف على تصنيف الامراض بناء معطيات المرض باستخدام MLP
- التعرف على الارقام المكتوبة بخط اليد باستخدام CNN
ملاحظة مهمة: الهدف ليس بناء المشروع فقط!! الهدف ان تتعلم ان تربط الجانب النظري بالعملي وتحسبه قبل ان تطبقه.
هل تريد أن تعرف اذا الدورة حتفيدك وتضيف لك معلومات جديدة وتطور مستواك؟ اسال نفسك الاسئلة التالية واذا اجابتك كانت بنعم فانت غالبا لا تحتاج هذه الدورة:- هل تستطيع حساب مدخلات ومخرجات لاي طبقة layer موجودة في الشبكة العصبية رياضيا؟
- هل تعرف سر ترتيب الطبقات العصبية؟
- لماذا نستخدم activation function ونفضلها على اخرى؟
- عمليا: هل تستطيع توقع عينة واحدة فقط بدل من الاعتماد فقط دقة المودل model الخاص فيك؟
- عمليا: هل تستطيع معرفة لماذا المودل model الخاص فيك توقع النتائج بطريقة معينة؟ هل استخدمت خوارزميات مثل SHAP لفهم سلوكيات المودل الخاص فيك؟
لمتابعة الفديو الخاص بالمقالة، الرجاء الضفط
هنا
ان اصبت فمن الله وان اخطات فمن نفسي .. لا تنسى مشاركة المقالة اذا أعجبتك .. اخوكم رائد الحربي
ولاي ملاحضات او استفسارات يرجى مراسلتي على تويتر @raedalharbi14 أو كتابة التعليق هنا