day 21 - Convolutional Neural
Networks (CNN)

day 21 -
Convolutional Neural
Networks (CNN)

السلام عليكم ورحمة الله... معاكم Kaito :)


مرحبا بيكم فالنهار 21 ديال سلسلة 30 يوم من التعلم الآلي..


شفنا بشكل واسع الشبكات العصبية وكيفاش خدامين


اليوم غنشوفو واحد النوع من هاد neural networks


حيت هوما أنواع.. كل واحد فين كيتستعمل


اليوم غندويو على Convolutional Neural Networks


كيتسماو أيضا CNN


لا لا ماشي هادو..


220327125137-cnn-exects-on-cnn-full-169.jpg (1600×900)


وا هادو يا لمعلم..


1*7kRxfXK4J-wCR2l8G1Jtuw.png (1400×674)


ولكن ماتدهشرش اصديقي..


غنبسطو الأمور كيف ديما..


شناهو CNN؟


الشبكة العصبية التلافيفية (CNN) هي واحد النوع من الشبكات العصبية الاصطناعية


اللي تصممات باش تعالج بيانات الشبكة المرئية بحال التصاور والفيديوات.


واهاد شبكات CNN كنطبقوها باش نعرفو الأنماط اللي كاينين في الصور،


وهدشي كيخليها مفيدة لمهام بحال تصنيف الصور،


و مهام Object Detection،


وحتى إنشاء الصور!


اييه بهاد CNN كتقدر تقاد تصاور جداد او تبدل عليهم :)


35_blog_image_5.png (866×362)


كيفاش كيدير ليها؟


ساهلة


كيخدم كيما كيخدم دماغنا


باش كتقدر تميز او توصف وجه انسان؟


كتبقا تشوف واش عندو عينين, نيف, فم, اذنين.. فدماغك كتشوف كل وحدة وملي كتجمعهوم كتقول هذا وجه كامل ..


هادا هو الكونسبت ديال CNN ولكن اعمق


هو كيحاول يشوف بالبكسلز pixels


وكيبدا من اصغر نقطة وكيبدا يجمع كل حاجة بوحدها


حتى كيكون واحد التشكيلة كيسميها feature


وكيدير نفس الحاجة لنقط اخرى حتى كيجمع كلشي مع كلشي وكيكون الصورة على حسب المجموعات اللي اكتشف


image.png (1216×592)


شنو هما الخطوات اللي كيدوز منهم هاد CNN؟


هاد النوع من الشبكة العصبية كيحتوي على طبقات من الخلايا العصبية المترابطة..


بحيث ان كل neuron كتتفاعل مع neurons اللي محيطين بيها فنفس الطبقة..

الطبقة الأولى كتكتشف ملامح بسيطة بحال الخطوط والمستويات.


ومن بعد كتنقل الملامح للطبقة التالية لي كتجمعها باش تكون ملامح أكثر تعقيداً.


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


وهاد الطبقات هما :

الطبقات التلافيفية Convolutional Layers،


وطبقات التجميع Pooling Layers،


والطبقات المتصلة بالكامل (Dense Layer (Fully-Connected Layers.


الطبقة التلافيفية Convolutional Layers:


هذه هي الطبقة الأولى والمرحلة الاولى،


الداتا كتصور هي الصورة اللي كترجع على شكل واحد المربع من pixels


حيتاش PC كيتعامل مع الارقام 0 و 1


مكيعرفش لا تصاور لا الوان لا والو

1*QJtTdtPhikY3KywV44L0Pw.png (437×256)


هاد الطبقة كتقوم بتطبيق عملية التلافيف على البيانات الداخلة input image


باستخدام فلاتر filters متعددة ذات أحجام مختلفة.


شناهما هاد الفلافل اللي كتقولينا اصاحبي؟ 💀


التلافيف (Convolution هو عملية رياضية أساسية ف CNNs


و هو عبارة عن ضرب جزئي لمصفوفتين matrix،



35_blog_image_9.png (652×436)


هاد feature detector هو الفلتر ديالنا..


بحيث كيتم تمرير هاد الفلتر الصغير (كيتسمى ايضا Kernel)


بشكل منزلق عبر المصفوفة الأولى.


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


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


وكتسمى Feature Map


35_blog_image_11.png (865×381)



طبقة التجميع Pooling Layers:


هاد الطبقة كتستعمل لتقليل الحجم المكاني (العرض والارتفاع)


ديال feature map اللي خرجات لينا فالطبقة الاولى،

طبقات التجميع كيتبعو واحد تسلسل من طبقة ولا أكثر ديال الطبقات التلافيفية


وكتهدف باش تدمج الميزات التي تم التعلم ديالها والتعبير عنها فخريطة الميزات feature map ديال الطبقة السابقة .


بهاد الشكل، يمكن نعتبرو التجميع تقنية لضغط ولا تعميم تمثيلات الميزات feature representations

s3pool.png (2252×1127)


كاينين أنواع كثار ديال Pooling:

Max Pooling


Average Pooling


Sum Pooling



كل واحد عندو طريقة التطبيق الخاصة بيه


غالبًا ما كتكون طبقات التجميع بسيطة جدًا،


مثلا ف average pooling باش تنشئ خريطة السمات الخاصة بيها

كاتاخذ متوسط قيمة المدخلات


بالنسبة ل max pooling


كاتاخذ الحد الأقصى ليها


35_blog_image_22.png (866×366)


مثلا ف دوك 4 مربعات الاولين على اليسار اكبر قيمة هي 1


خديناها وحطيناها ف Feature map الجديدة ديالنا


وهادي اللي عندنا فيها 4 1 و 0 1 ختارينا اكبر رقم وحطيناه ف الماب ديالنا..


وهكا غاديين حتا كنكملوها..

Illustration-of-Max-Pooling-and-Average-Pooling-Figure-2-above-shows-an-example-of-max.png (517×451)


ولكن مزال مسالينا..


ديك Pooled Feature map اللي خرجات لينا فالطبقة السابقة


كنديرو ليها واحد اللعيبة كتسمى Flattening


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



الطبقة المتصلة بالكامل Fully-Connected Layers:


بعد عدة طبقات تلافيفية ومجمعة،


الطبقات المتصلة بالكامل أو Fully-Connected Layers


هي من آخر طبقات الشبكات العصبية التلافيفية


وظيفتها أنها كتقوم بربط كل neuron بالطبقة السابقة بروابط مباشرة


بمعنى أن كل عقدة كاتتأثر بعقدة في الطبقة السابقة


والهدف منها هو تحویل مصفوفة السمات الناتجة من الطبقات التلافيفية إلى نموذج قابل للاستخدام فحالات التصنيف والاستدلال.


عادة ما كيكونو آخر جوج طبقات فالشبكة العصبية متصلتين بالكامل.


35_blog_image_26.png (866×394)


وصافي هادي هي CNN


وراه هاد البروسيس كيتعاود بزاف دلمرات ببزاف ديال الطبقات


البلان كاين ف Feature Extractors


هادوك هما Weights ديالنا


ملي كتعطينا الطبقة الاخيرة النتيجة المتوقعة كنحسبو Cost Function


وكنبقاو نبدلو فالقيم ديال Feature Extractor


حتا كتخرج لينا توقعات اللي بغينا


هادشي بخلاصة هو CNN


غدا غنديرو واحد التطبيق ديال هاد CNN على واحد المثال من الحياة ديالنا


وغتفهمو مزيااااان كل خطوة كيفاش كنطبقوها


هادي خلاصة اليوم:


59954intro to CNN.JPG (708×353)


نتلاقاو فايمايل اخر غدا!


كنتمنى تكونو استافدتو.. ايلا عندكم شي تساؤل اولا مشرحتش شي حاجة مزيان، غير صيفط ليا رد فهاد المايل نيت..



— Kaito



ملاحظات:


DataScience Bdarija on Instagram

Image Classification with Convolutional Neural Networks (CNNs)



  • ايلا عاجبك هدشي وقادر باش تساند هاد newsletter بدعم مادي

    دخل لهنا: https://ko-fi.com/callmekaito

    شكرا (:


rest-9a9e6b30329429d1385775297f1ac9d1-a5esznpy.jpg (1200×600)


السلام عليكم ورحمة الله... معاكم Kaito :)


مرحبا بيكم فالنهار 21 ديال سلسلة 30 يوم من التعلم الآلي..


شفنا بشكل واسع الشبكات العصبية وكيفاش خدامين


اليوم غنشوفو واحد النوع من هاد neural networks


حيت هوما أنواع.. كل واحد فين كيتستعمل


اليوم غندويو على Convolutional Neural Networks


كيتسماو أيضا CNN


لا لا ماشي هادو..


220327125137-cnn-exects-on-cnn-full-169.jpg (1600×900)


وا هادو يا لمعلم..


1*7kRxfXK4J-wCR2l8G1Jtuw.png (1400×674)


ولكن ماتدهشرش اصديقي..


غنبسطو الأمور كيف ديما..


شناهو CNN؟


الشبكة العصبية التلافيفية (CNN) هي واحد النوع من الشبكات العصبية الاصطناعية


اللي تصممات باش تعالج بيانات الشبكة المرئية بحال التصاور والفيديوات.


واهاد شبكات CNN كنطبقوها باش نعرفو الأنماط اللي كاينين في الصور،


وهدشي كيخليها مفيدة لمهام بحال تصنيف الصور،


و مهام Object Detection،


وحتى إنشاء الصور!


اييه بهاد CNN كتقدر تقاد تصاور جداد او تبدل عليهم :)


35_blog_image_5.png (866×362)


كيفاش كيدير ليها؟


ساهلة


كيخدم كيما كيخدم دماغنا


باش كتقدر تميز او توصف وجه انسان؟


كتبقا تشوف واش عندو عينين, نيف, فم, اذنين.. فدماغك كتشوف كل وحدة وملي كتجمعهوم كتقول هذا وجه كامل ..


هادا هو الكونسبت ديال CNN ولكن اعمق


هو كيحاول يشوف بالبكسلز pixels


وكيبدا من اصغر نقطة وكيبدا يجمع كل حاجة بوحدها


حتى كيكون واحد التشكيلة كيسميها feature


وكيدير نفس الحاجة لنقط اخرى حتى كيجمع كلشي مع كلشي وكيكون الصورة على حسب المجموعات اللي اكتشف


image.png (1216×592)


شنو هما الخطوات اللي كيدوز منهم هاد CNN؟


هاد النوع من الشبكة العصبية كيحتوي على طبقات من الخلايا العصبية المترابطة..


بحيث ان كل neuron كتتفاعل مع neurons اللي محيطين بيها فنفس الطبقة..

الطبقة الأولى كتكتشف ملامح بسيطة بحال الخطوط والمستويات.


ومن بعد كتنقل الملامح للطبقة التالية لي كتجمعها باش تكون ملامح أكثر تعقيداً.


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


وهاد الطبقات هما :

الطبقات التلافيفية Convolutional Layers،


وطبقات التجميع Pooling Layers،


والطبقات المتصلة بالكامل (Dense Layer (Fully-Connected Layers.


الطبقة التلافيفية Convolutional Layers:


هذه هي الطبقة الأولى والمرحلة الاولى،


الداتا كتصور هي الصورة اللي كترجع على شكل واحد المربع من pixels


حيتاش PC كيتعامل مع الارقام 0 و 1


مكيعرفش لا تصاور لا الوان لا والو

1*QJtTdtPhikY3KywV44L0Pw.png (437×256)


هاد الطبقة كتقوم بتطبيق عملية التلافيف على البيانات الداخلة input image


باستخدام فلاتر filters متعددة ذات أحجام مختلفة.


شناهما هاد الفلافل اللي كتقولينا اصاحبي؟ 💀


التلافيف (Convolution هو عملية رياضية أساسية ف CNNs


و هو عبارة عن ضرب جزئي لمصفوفتين matrix،



35_blog_image_9.png (652×436)


هاد feature detector هو الفلتر ديالنا..


بحيث كيتم تمرير هاد الفلتر الصغير (كيتسمى ايضا Kernel)


بشكل منزلق عبر المصفوفة الأولى.


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


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


وكتسمى Feature Map


35_blog_image_11.png (865×381)



طبقة التجميع Pooling Layers:


هاد الطبقة كتستعمل لتقليل الحجم المكاني (العرض والارتفاع)


ديال feature map اللي خرجات لينا فالطبقة الاولى،

طبقات التجميع كيتبعو واحد تسلسل من طبقة ولا أكثر ديال الطبقات التلافيفية


وكتهدف باش تدمج الميزات التي تم التعلم ديالها والتعبير عنها فخريطة الميزات feature map ديال الطبقة السابقة .


بهاد الشكل، يمكن نعتبرو التجميع تقنية لضغط ولا تعميم تمثيلات الميزات feature representations

s3pool.png (2252×1127)


كاينين أنواع كثار ديال Pooling:

Max Pooling


Average Pooling


Sum Pooling



كل واحد عندو طريقة التطبيق الخاصة بيه


غالبًا ما كتكون طبقات التجميع بسيطة جدًا،


مثلا ف average pooling باش تنشئ خريطة السمات الخاصة بيها

كاتاخذ متوسط قيمة المدخلات


بالنسبة ل max pooling


كاتاخذ الحد الأقصى ليها


35_blog_image_22.png (866×366)


مثلا ف دوك 4 مربعات الاولين على اليسار اكبر قيمة هي 1


خديناها وحطيناها ف Feature map الجديدة ديالنا


وهادي اللي عندنا فيها 4 1 و 0 1 ختارينا اكبر رقم وحطيناه ف الماب ديالنا..


وهكا غاديين حتا كنكملوها..

Illustration-of-Max-Pooling-and-Average-Pooling-Figure-2-above-shows-an-example-of-max.png (517×451)


ولكن مزال مسالينا..


ديك Pooled Feature map اللي خرجات لينا فالطبقة السابقة


كنديرو ليها واحد اللعيبة كتسمى Flattening


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



الطبقة المتصلة بالكامل Fully-Connected Layers:


بعد عدة طبقات تلافيفية ومجمعة،


الطبقات المتصلة بالكامل أو Fully-Connected Layers


هي من آخر طبقات الشبكات العصبية التلافيفية


وظيفتها أنها كتقوم بربط كل neuron بالطبقة السابقة بروابط مباشرة


بمعنى أن كل عقدة كاتتأثر بعقدة في الطبقة السابقة


والهدف منها هو تحویل مصفوفة السمات الناتجة من الطبقات التلافيفية إلى نموذج قابل للاستخدام فحالات التصنيف والاستدلال.


عادة ما كيكونو آخر جوج طبقات فالشبكة العصبية متصلتين بالكامل.


35_blog_image_26.png (866×394)


وصافي هادي هي CNN


وراه هاد البروسيس كيتعاود بزاف دلمرات ببزاف ديال الطبقات


البلان كاين ف Feature Extractors


هادوك هما Weights ديالنا


ملي كتعطينا الطبقة الاخيرة النتيجة المتوقعة كنحسبو Cost Function


وكنبقاو نبدلو فالقيم ديال Feature Extractor


حتا كتخرج لينا توقعات اللي بغينا


هادشي بخلاصة هو CNN


غدا غنديرو واحد التطبيق ديال هاد CNN على واحد المثال من الحياة ديالنا


وغتفهمو مزيااااان كل خطوة كيفاش كنطبقوها


هادي خلاصة اليوم:


59954intro to CNN.JPG (708×353)


نتلاقاو فايمايل اخر غدا!


كنتمنى تكونو استافدتو.. ايلا عندكم شي تساؤل اولا مشرحتش شي حاجة مزيان، غير صيفط ليا رد فهاد المايل نيت..



— Kaito



ملاحظات:


DataScience Bdarija on Instagram

Image Classification with Convolutional Neural Networks (CNNs)



  • ايلا عاجبك هدشي وقادر باش تساند هاد newsletter بدعم مادي

    دخل لهنا: https://ko-fi.com/callmekaito

    شكرا (:


rest-9a9e6b30329429d1385775297f1ac9d1-a5esznpy.jpg (1200×600)


التالي