الشبكات العصبية الاصطناعية Artificial Neural Networks

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

كثيراً ما يتم الربط بين فكرة الشبكات العصبية والدماغ البشري حيث أن التواصل في الشبكات الاصطناعية مستوحى من التواصل بين الخلايا العصبية في الدماغ. عند وصول المعلومة للدماغ تقوم الخلايا بنقل تلك البيانات اعتماداً على نوعها ومركز الدماغ المسؤول عن معالجة تلك البيانات. بالكثير من التبسيط والتجاوزات يمكننا الإشارة إلى الشبكات العصبية الاصطناعية على أنها دماغ الآلة.



حتى يسهل تصور عمل الشبكات العصبية سأقوم بـ"تشريح" الشبكة وتوضيح عمل كل جزء على حدى. في النهاية سنقوم بجمع الأجزاء وتركيب شبكة عصبية بسيطة.


البيانات
في البداية يجب أن تكون لديك بيانات! الشبكات العصبية كغيرها من نماذج التعلم الآلية تعتمد بشكل أساسي على وجود البيانات وجودتها. ساستخدم مثال بيانات الطالب لتوقع حصوله على وظيفة عند التخرج. دعنا نتخيل البيانات/المدخلات بالشكل التالي، كل عامود يمثل بيانات أساسية للطالب (كالمعدل ومدة الدراسة مثلاً) والكرة الأخيرة تمثل ما إذا استطاع الطالب الحصول على وظيفة عند التخرج.

حصلنا على البيانات، ما الخطوة التالية!


وزن البيانات
كما في الخلايا العصبية فإن الشبكات الاصطناعية تحتوي على مسارات وصل تشبه التشابكات العصبية synapses بين الخلايا. لنمثلها هنا بشكل اسطواني يسمح للبيانات بالعبور خلالها.


كل اسطوانة وصل في الشبكة العصبية تحتوي على "حلقة" تمر من خلالها البيانات بحيث يتم إعادة وزن البيانات المدخلة بناءً على التأثير المتوقع من تلك البيانات على التوقع النهائي. تشبيه الحلقات المسؤولة عن إعادة وزن البيانات يمثّل في تأثيره ما يسمى بالـ"وزن weight" في الشبكات العصبية الاصطناعية. 

مثال: لنفترض أن وزن الاسطوانة الناقلة لبيانات معدل الطالب موزونة بالوزن = 2. 
 عند عبور المعدل خلال المسار يتم تعديل القيمة بـ"بوزنها" بالقيمة 2. القيمة في نهاية المسار = 2 * معدل الطالب أي ضعف المعدل. يمكن تفسير الوزن على أنه مؤشر قوة تأثير القيمة على التنبؤ النهائي. مضاعفة المعدل للحصول على تنبؤ قد تشير إلى أهمية المعدل في تحديد ما إذا كان الطالب سيحصل على وظيفة بعد التخرج.

التعلم في الشبكات العصبية يتم عن طريق محاولة ايجاد الاختيار الأمثل لأوزان الشبكة؛ تتعلم الشبكة الأوزان الأنسب للمدخلات بحيث تنتج التوقعات الأدق. عملية التعلم والتعديل على الأوزان يشار لها بالـ"backpropagation" أو التعلم العكسي ويحتاج التفصيل فيها تدوينة مفصّلة مستقلة.

أين تصل البيانات بعد عبورها المسار الموزون؟


الخلايا العصبية الاصطناعية
بشكل موازي للدماغ البشري تتم معالجة البيانات في الشبكة العصبية في خلايا nodes تيمناً بالخلايا العصبية. بعد وزن البيانات (كما في الخطوة السابقة) يتم جمع جميع المدخلات (الرمز Σ) ومعالجتها بالشكل المناسب في الخلايا. عادة تشترك عدة خلايا في قيمة التحيز bias وهي متغير آخر يساعد الشبكة في التعلم من البيانات المدخلة (كما تتعلم الأوزان weights).



كل خلية تحتوي على معادلة رياضية تسمى بدالة التفعيل activation function (الرمز F) تقوم الخلية بمعالجة المدخلات وتكوين مخرجات جديدة لتساعد في عملية توقع بالنتيجة النهائية.


أشهر دالة تفعيل في الشبكات العصبية حالياً هي ReLU أو الدالة الخطية المعدلة Rectified Linear Unit. بكل بساطة وبعد جمع المدخلات (Σ) وتمريرها خلال متغير التحيز تقوم ReLU بإخراج القيمة كما هي ما دامت أكبر من 0. في حال كانت القيمة بعد الوزن والجمع والتحيز اقل من الصفر، تقوم ReLU بإخراج القيمة 0.

مثال: بعد جمع (Σ) بيانات الطالب الموزونة كان المجموع 35، وإضافة التحيز -4 يكون لدينا قيمة 31. عند تمرير القيمة 31 في ReLU تقوم دالة التفعيل بإخراج القيمة 31 كمخرجات الخلية الحالية.


يمكننا الآن تمرير المخرجات (31) من هذه الخلية على شكل مدخلات للخلايا في الطبقات التالية.


تنظيم شبكة عصبية متكاملة
تحدثنا حتى الآن عن المسار المتوقع للمدخلات، الأوزان، الخلايا وما تحتويه من دالة التفعيل ومتغير التحيز. كيف يمكن بناء شبكة عصبية من تلك المكونات؟

تتكون الشبكات العصبية من طبقات من الخلايا. كل طبقة تتشارك في متغير تحيز واحد. في الشبكات العصبية المتصلة يتم بناء مسار تواصل بين كل مدخل من الطبقة السابقة إلى خلايا الطبقة الحالية. الرسم البياني التالي يسهل تخيل تنظيم الشبكة.



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

في العادة يتم تصوير الشبكات العصبية بشكل أبسط كالرسم البياني التالي، حيث x1,x2,x3 هي المدخلات، w تمثل الوزن، b تمثل التحيز وأخيراً y تشير عادة إلى المخرجات:


قد يتساءل البعض "لماذا تعمل الشبكة العصبية جيداً؟ ما السر؟". والسر يا صديقتي هي الأبحاث والمحاولة والخطأ والمحاولة مرة أخرى حتى يعمل شيء ما. جميع الأساتذة الذين قابلتهم في أمريكا المختصين في تعلم الآلة يشيدون بجودة الشبكات العصبية وأهميتها ولكن لا ينكرون حيرتهم إزاء سبب أن هذا النوع من التركيب أو التنظيم المكون من طبقات وخلايا ودوال تفعيل يعمل. ولذلك عادة ما يشار للشبكات العصبية بمصطلح الصندوق الأسود black box لصعوبة ترجمة ما يحصل بين طياتها.

الشبكة العصبية المذكورة هنا fully connected forward feeding artificial neural networks هي أبسط أنواع الشبكات. تطورت الشبكات العصبية بشكل يفوق التصور حتى اصبحت تحلل الصور بذكاء عالي بل وتستطيع رسم وتكوين صور واقعية بمحض التعلم. بعض الأنواع التي قد تكون الأشهر هي Covolutional Neural Networks و Generative Adversarial Networks GANs. تتكون تلك الشبكات من طبقات عميقة وغنية بالخلايا التي يختلف تكوينها عن تلك المذكورة هنا.


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



Comments

  1. عجبني استخدامك للمصطلحات العربية حتى في الرسوم خصوصاً كلمة "التحيز" :) اول مره اعرفها بالعربي. كل الشكر لك وبالتوفيق

    ReplyDelete

Post a Comment