Post Top Ad

Your Ad Spot

الجمعة، 10 مايو 2019

Gender Classification Project (No.1)


كل عام وانتم بخير ورمضان كريم عليكم واعاده علينا يارب جميعا بالخير والبركة ولا تنسونا بصالح دعائكم

النهاردة احنا هنشتغل علي مشروع صغير كدا هياخد من ايدينيا نص ساعة بس مش اكتر ولا اقل وهو عبارة عن مشروع Gender Classification ودا هيتبعه بأذن الله Race Classification-age classification بأستخدام نفس ال Dataset طيب انا محتاجك الاول تقري مقالة ال Convolutional Neural Networks
علشان تعرف العلم النظري الي بيكون وراء المعادلات الي هنشتغل عليها في ال CNN الي هنعملها تمام طيب نبدأ بسم الله الرحمن الرحيم
في البداية دا لينك الDataSet الي استخدمناها :UTKFace

 دا لينك المشروع : Project

ياريت نفتح ال Kernel ونتابع مع الخطوات .

(1) عايزين نوضح ان بيانات الصورة موجودة في اسمها يعني الخانة الاولي العمر الخانة التانية الجنس التالتة العرق , فا الخطوة الاولي اننا هنحاول نفصل  ال labels عن الصور بحيث يتخزنو في فريبل لحد ما نحتاجهم

(2) الخطوة التانية بالرجوع لموقع الdataset هنلاقي ان الراجل يرمز ليه بال رمز 0 والانثي بالرمز 1

(3) الخطوة الي بعدها هنحول ال image كلها ل vectors هنخليها متجهات يعني وفي نفس الخطوة هنحاول اننا نضغط الimage عن طريق Numpy function : squeeze

(4) Normalize Data الخطوة دي مهمة جدا علشان تكون كل البيانات بتاعتنا علي نفس المقياس هي دي مهمة ال Normalize مستحيل نقارن بين حاجات مختلفة وكل منها ليها اوجه مقارنة مختلفة فأحنا الخطوة دي بتخلينا نقدر نوحد وجه المقارنة وبنحاول نقيس انحراف كل Features بنفس الدرجة لانها كلها تم تطبيق عليها عملية واحدة وهي عملية التطبيع لجعلها "علي نفس الميزان" باللغة المصرية يعني
(5) قولنا قبل كدا اننا بنقسم الداتا بتاعتنا ل 3 اقسام وهما ال Traning data - Test data- validation data الModel بيتدرب علي ال training data وبعدين بيختبر نفسه علي ال test data وبيتأكد للمرة الاخيرة علي ال validation data 

(6) ركز معايا بقي كداه في ال Model summary الي موجود تحت كداه عشان هنراجع مع بعض ازاي ال CNN بتشتغل :

- اول حاجة دخلنا الصورة واهم حاجة ال SHAPE بتاعنا يكون داخل معانا لاننا هنحتاجه جدا وحطينا حجم الFilter بتاعني ونوع ال padding وكله تمام طبعا انتا عارف الناتج من الخطوة دي ايه صح ؟
( الناتج بيكون هو ال Features Map ) الي تم استخراجها من الصورة خشونة ملامح الرجل , سمك الأنف , الأذن , الشعر .. الي اخره 

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

- دلوقتي بقي المفروض يكون عندنا ايه لو انتا فاكر ؟ طبعا ال Full connected layer 

- انا عارف انك متحمس جدا بس ثانية واحدة هو مين قالك اننا خلصنا احنا ممكن نكرر الخطوات الي فاتت دي اكتر من مرة , مش في كل مرة بيطلع لينا output من كل layer ! 
خلاص هناخده ونستخدمه تاني يعني هنشوف الفرق بين رموش الراجل والست  انتا متخيل الدقة طبعا !
وفي الاخر خالص بنحط ال Full connected layer
- هنستخدم Activiation function : Sigmoid طبعا لاننا الFunction دي كل وظيفتها انها بتخلي الناتج بين ال صفر والواحد فا لو كان الناتج اعلي من ال 0.5 اذن الناتج هيكون 1 يعني بعد الناتج من الFunction بنوديها علي Method تقريب لاقرب رقم عشري عشان نعرف الناتج بتاعنا .

- طيب انا محتاجك تقرا في كل مما يلي activation Functions-


model.compile(loss='binary_crossentropy'
             optimizer='adam',
             metrics=['accuracy'])

طيب لحد هنا احنا نقدر نقول اننا خلصنا الخطوة الأخيرة بتقوم بعمل اختيار عشوائي وتخلينا نشوف هل نتائج بحثنا بشكل عملي .
-- الصينين وبعض الشباب الي مطولين شعرهم وما الي ذلك بيطلعو هما نسبة الخطأ في الصور وبنخطأ في تصنيفهم ونتيجة ان ال Dataset مش كفاية اننا نتفادي تلك النسبة + ممكن تزود عدد ال Epoch وياريت لو تحاول تعدل علي ال Kernel بتاعتي علي قد ما تقدر بحيث يكون دا مشروع تقدر تحطه في ال Cv بتاعك ..

الي محتاجة منك انك تعمل بحث وتشوف كل جزئية مش فاهمها وتدي نفسك فرصة .. انا ممكن اشرحلك كل كبيرة وصغيرة وكل تفصيلة دقيقة بين السطور بس لو عملت كداه هبقي قتلت الشخص المحلل والمستكشف الي جواك العلم داه احلي حاجة فيه هي روح المغامرة وانا حسيت بيها وعارف قيمتها فمستحيل اني الغيها لو في اي جزئية مش واضحة ياريت في الكومنتات او تتواصل معايا شخصيا ومتقلقش هتفهمها بس قبل ما تسأل حاول تدور ل 5 ساعات متواصلة وتخلي جنبك ورقة وقلم وتشوف هل فعلا ملقتش اجابة وانا هنقذك ولا انتا اصلا مدورتش كويس ومكسل فا بتسأل عشان تلاقي الاجابة السهلة ..
كل عام وانتم بخير ودا اول مشروع لينا مع بعض والمشروع القادم باذن الله قريبا ..
متنساش تعمل upvote لكل ال Kernels الي هنزلها وتعمل اكونت علي Kaggle وتعملي Follow وتتابع اخر حاجات لان الفترة الجاية كل يومين او كل 3 ايام مشروع باذن الله وربنا الموفق والمستعان .



ليست هناك تعليقات:

إرسال تعليق

Post Top Ad

Your Ad Spot

Datalizer