الشبكة العصبية ذو المستقبلات متعددة الطبقات (Multilayer Perceptron Neural Network (MLP

فهم مبدأ عمل MLP

إذا كنت على دراية بخوارزمية المستقلات Perceptron Algorithm، فإننا في المستقبلات فقط نضرب الأوزان Weights في المدخلات Inputs و نضيف الانحياز Bias، لكننا نقوم بذلك فقط في طبقة واحدة.

حيث نقوم بتحديث الاوزان عندما نجد خطأ في التصنيف. معادلة تحديث الوزن كالتالي

الوزن = الوزن السابق + معدل التعلم *( القيمة المتوقعه – القيمة التي تم ايجادها ) * قيمة المدخل

weight = weight + learning_rate * (expected – predicted) * x

الآن لنرى إل MLP أو الشبكة العصبية ذات التغذية الأمامية (Feed Forward Neural Network (FFNN
في MLP، يمكن أن يكون هناك أكثر من طبقة خطية واحدة (مجموعات من العصبونات). إذا أخذنا المثال البسيط للشبكة المكونة من ثلاث طبقات، فستكون الطبقة الأولى هي طبقة المدخل input layer، الطبقة الوسطى الطبقة المخفية hidden layer، و الطبقة الاخيرة طبقة المخرج output layer. نقوم بتغذية طبقة المدخل ببيانات الإدخال الخاصة بنا ونحصل على النتائج من طبقة المخرج. يمكننا زيادة عدد الطبقة المخفية بقدر ما نشاء، لجعل النموذج أكثر دقة و تعقيدا وفقًا للمهمة التي نريد إنجازها.

المخرج    طبقة المخرج   الطبقة المخفية 2      الطبقة المخفية 1     طبقة المدخل    المدخل

الشبكة العصبية ذات التغذية الأمامية FFNN، تعتبر أكثر نماذج الشبكات العصبية شيوعًا. وظيفتها الاساسية هي تقريب بعض الدوال ()f. على سبيل المثال ، المصنف classifier y = f(x) الذي يربط المدخل x لفئة المخرج y، حيث MLP تجد أفضل تقريب لهذا المصنف classifier عن طريق تحديد العلاقة  y=f(x;\theta ) و معرفة أفضل قيمة للمعامل ذاك. تتكون شبكات MLP من العديد من الدوال التي يتم ربطها معًا. ستشكل شبكة بثلاث وظائف أو طبقات

f (x) = f (3) (f (2) (f (1) (x)))

. تتكون كل طبقة من هذه الطبقات من وحدات تقوم بالتحويل التآلفي affine transformation للمجموع الخطي لقيم المدخلات. يتم تمثيل كل طبقة على أنها.

y = f (Wx^T + b)

حيث f هي دالة التنشيط، W هي الأوزان في الطبقة ، x هي متجه قيم المدخل، والذي يمكن أن يكون أيضًا ناتج الطبقة السابقة ، و b هو قيمة التحيز.

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

في نظام التصنيف الخاضع للإشراف ، يرتبط كل متجه من متجهات المدخل بعلامة او ملصق ويتم تحديد تعريف صنفه أو ملصقه مع البيانات. يعطي ناتج الشبكة درجة أو توقع لكل فصل. لقياس أداء المصنف classifier، يتم ايجاد دالة الفقد loss function. سيكون الفقد عالي إذا لم تتوافق القيمة المتوقعة مع القيمة الحقيقية ، فستكون منخفضة بخلاف ذلك.

في بعض الأحيان تحدث مشكلة الإفراط في الملائمة في وقت تدريب النموذج. في هذه الحالة، يعمل النموذج بشكل جيد جدًا على بيانات التدريب ولكن ليس على بيانات الاختبار. من أجل تدريب الشبكة، يلزم إجراء تحسين لذلك نحتاج إلى دالة الفقد loss function و المنظم optimizer. هذا الإجراء يجد قيم مجموعة الأوزان W التي تقلل من دالة الفقد loss functططion.

الإستراتيجية الشائعة التي يتم تطبيقها هي تهيئة الأوزان للقيم العشوائية وتحسينها بشكل متكرر للحصول على فقد أقل. يتم تحقيق هذا التحسين من خلال التحرك في الاتجاه المحدد بواسطة ميل دالة الفقد loss function gradient. ومن المهم معرفة معدل التعلم الذي يحدد عدد الخطوات الذي تتحرك فيه الخوارزمية في كل تكرار.

دالة التنشيط Activation function:
تعرف دالة التنشيط أيضًا بانها دالة غير خطية، وتصف العلاقات بين المدخلات والمخرجات بطريقة غير خطية. وهذا يعطي القوة النموذجية لتكون أكثر مرونة في وصف العلاقات المعقدة. فيما يلي بعض دوال التنشيط الشائعة Sigmoid و Relu و TanH.

تدريب النموذج Training the Model:

هناك ثلاث خطوات أساسية يجب اتباعها عن تدريب النموذج.

1- تمرير إلى الأمام

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

2- حساب نسبة الخطأ أو الفقد

بمقارنة المخرجات التي تم تخمينها Predicted output مع البيانات المتوقع الحصول عليها Expected output، نحسب الفقد أو نسبة الخطأ التي يتعين علينا إعادة نشرها (باستخدام خوارزمية Backpropagation). هناك العديد من دوال الفقد التي نستخدمها بناءً على مخرجاتنا ومتطلباتنا.

3- الانتشار الخلفي Backpropagation

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

نصائح يمكنك أستخدامها عند تدريب MLP

1- Medium. (12.04.2020). Understanding of Multilayer perceptron (MLP)

https://medium.com/@AI_with_Kain/understanding-of-multilayer-perceptron-mlp-8f179c4a135f

2- deeplearning. (12.04.2020). Multilayer Perceptron

http://deeplearning.net/tutorial/mlp.html

Share on facebook
فيسبوك
Share on twitter
تويتر
Share on linkedin
لينكدإن
Share on whatsapp
واتساب

اترك تعليقاً

المشاركات الاخيرة

أحدث التعليقات

أفحص بحثك بالمجان

رفع الملف