علوم الحاسوب

التعلم المتعمق، الدرس الأول: ماهي الشبكات العصبونية الاصطناعية

بسم الله الرحمن الرحيم.

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

قمت قبل أيام بنشر مقال يتضمن مقدمة للدورة وما ستحتويه والهدف منها، إن لم تكن قد قراتها، يرجى الإطلاع عليها عبر الرابط التالي:

https://www.greatsciences.com/235/altlm-almutmq-waldhka-alastnay-ballsan-alrby-twtyt-wtqdym

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

الشبكات العصبونية الاصطناعية (بالإنجليزية: Artificial Neural Network ANN) أو ما يدعى أيضا بالشبكات العصبونية المحاكية simulated neural network أو SNN : مجموعة مترابطة من عصبونات افتراضية تنشئها برامج حاسوبية لتشابه عمل العصبون البيولوجي أو بنى إلكترونية (شيبات إلكترونية مصممة لمحاكاة عمل العصبونات) تستخدم النموذج الرياضي لمعالجة المعلومات بناء على الطريقة الاتصالية في الحوسبة.

تتألف الشبكات العصبونية بشكل عام عناصر معالجة بسيطة تقوم بعمل بسيط لكن السلوك الكلي للشبكة يتحدد من خلال الاتصالات بين مختلف هذه العناصر التي تدعى هنا بالعصبونات ومؤشرات هذه العناصر element parameters. الإيحاء الأول بفكرة الشبكات العصبونية أتى من آلية عمل العصبونات الدماغية التي يمكن تشبيهها بشبكات بيولوجية كهربائية لمعالجة المعلومات الواردة إلى الدماغ. في هذه الشبكات اقترح دونالد هب أن المشبك العصبي يلعب دورا أساسيا في توجيه عملية المعالجة وهذا ما دفع للتفكير في فكرة الاتصالية والشبكات العصبونية الاصطناعية. تتالف الشبكات العصبونية الاصطناعية من عقد أو ما قد ذكرنا مسبقا انه عصبونات neurons أو وحدات معالجة processing elements، متصلة معا لتشكل شبكة من العقد، وكل اتصال بين هذه العقد يملك مجموعة من القيم تدعى الأوزان تسهم في تحديد القيم الناتجة عن كل عنصر معالجة بناء على القيم الداخلة لهذا العنصر.

إنتهى الإقتباس من ويكيبيديا.

من التعريف السابق، يبدو الموضوع معقدا نوعا ما، أليس كذلك؟ في الحقيقة، بلى هو كذلك ! لكننا سنعمل على تذليله هنا وجعله سهل الفهم، فتابع بتركيز رجاءا :)

أول شيء تجب الإشارة له هو أن التعلم المتعمق (أو العميق، كما يحلو للبعض تسميته) يتمحور حول الشبكات العصبية، وذلك يتمثيلها بمجموعة من المصفوفات التي تعمل على تكوين شبكة مترابطة شبيهة إلى حد ما بالبنية الخاصة بالشبكات العصبية الحقيقية (البيولوجية، اي مثل التي في دماغ الانسان مثلا).
إن الهدف الرئيسي لهذه الشبكات، او بتعبير تقني المصفوفات، هو أداة الحسابات المعقدة بشكل تدريجي بعد تلقي كم كبير من المدخلات، ومن ثم استخدام المخرجات لحل المشكلة الأساسية.
هناك العديد من التطبيقات التي يمكننا إستخدامها عبر الشبكات العصبونية، إلا أننا في هذه الدورة سوف نركز على التصنيف أكثر من غيره، هو عملية تصنيف مجموعة من الكائنات، بإستخدام بعض ميزات البيانات الأساسية فقط.
لتقريب هذا المفهوم، سأضرب مثالا تطبيقيا، ولنفترض أنك بحاجة إلى التنبؤ بما إذا كان المريض مريضا أو صحيا، وكل ما لديك هي الطول والوزن ودرجة حرارة الجسم.
ما سيحدث، أن التطبيق المصنف سيتلقى هذه البيانات عن المريض، ويعالجها، ويخرج لنا درجة معينة يتم بناءا عليها تحديد الحالة الصحية للمريض، ولتكن خلاصة التصنيف على نوعين: درجة عالية يعني ثقة عالية بأن الحالة الصحية للمريض سيئة، ودرجة منخفضة تشير إلى أنها صحية.. هذا بإختصار نموذج للمشاكل المعلوماتية المعقدة جدا والتي يمكننا حلها بسهولة عبر الشبكات العصبونية.

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

Artificial-Neural-Network-Arabic.jpeg (73 KB) التعلم المتعمق، الدرس الأول: ماهي الشبكات العصبونية الاصطناعية

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

إن الشبكات العصبية او العصبونية المستخدمة اليوم هي شبكات متعددة الطبقات لكنها تعمل بنفس المبدأ الذي شرحته فوق، ولنفس الهدف.
وقد يأتي سؤال لذهن القاريء الان ويقول، إذا كيف يؤثر تكرار إدخال نفس البيانات إلى نتائج مختلفة عبر عملية التعلم؟ ولماذا الحاجة لهذه المرحلة من الأساس؟
حسن، هذه هي النقطة التي أرغب في الإشارة لها الان، وهي ان كل عقدة داخل الشبكة تنتج مخرجات متطابقة إن كانت المدخلات نفسها، لكن المخرجات النهائية للشبكة ستكون مختلفة في كل مرة حتى لو كانت المدخلات هي نفسها !
وهذا أمر طبيعي إذا علمنا أن كل مجموعة من المدخلات يتم تعديلها من خلال الأوزان والتحيزات الفريدة، فكل رابط بين العقد لديه وزن فريد من نوعه، وكل عقدة لديها تحيز فريد من نوعه أيضا.
بتعبير أكثر بساطة، فإن المخرجات ستكون متطابقة مع المخرجات التي سبقتها إذا وفقط إذا كان مسار تمرير المدخلات من طبقة الإدخال وحتى طبقة الإخراج هو نفسه، وهذا هو الأمر الغير ممكن (إلى حد بعيد) في الشبكات المتعددة الطبقات، بل يكاد يكون مستحيلا كلما قل عدد مرات التعليم (تكرار عمليات إرسال نفس المدخلات).

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

هذا بإختصار مفهوم، ومبدأ عمل الشبكات العصبونية أو الشبكات العصبية الإصطناعية.

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

السابق
التعلّم المُتعمّق والذكاء الإصطناعي باللسان العربي: توطئة وتقديم
التالي
تبرع بدعم لموقع علوم عظيمة وساهم في إستمراريته

0 تعليقات

أضف تعليقا

اترك تعليقاً