اللبنات الأساسية للشبكات العصبية: شرح مكونات الشبكات العصبية
نشرت: 2020-12-16جدول المحتويات
مقدمة
في السنوات الأخيرة ، اتخذت شعبية التعلم العميق منحدرًا مفاجئًا من حيث الاستخدام والتطبيق في كل قطاع من قطاعات الصناعة. سواء كان الأمر يتعلق بالتعرف على الصور وتوليد الكلام والترجمة والعديد من هذه التطبيقات ، فإن كل شركة تقريبًا تريد دمج هذه التقنية في منتج واحد أو في المنتجات الأخرى التي تقوم ببنائها. سبب هذا التفوق على خوارزميات التعلم الآلي التقليدية هو الدقة والأداء الفعال الذي توفره نماذج التعلم العميق هذه.
على الرغم من أن البنية التحتية تلعب دورًا مهمًا في تقديم هذه النتائج ، إلا أن الكود الأساسي يقوم بكل عمليات المعالجة المضمنة في الشبكة العصبية. دعنا نستكشف المكونات المختلفة لهذه الشبكة ثم سنلقي نظرة على بعض الوحدات الأساسية باستخدام هذه المكونات.
يجب أن تقرأ: مقدمة نموذج الشبكة العصبية
مكونات مختلفة للشبكة العصبية
عصبون
اللبنة الأساسية للشبكة العصبية هي الخلايا العصبية. هذا المفهوم مشابه جدًا للشبكة العصبية الفعلية في أدمغتنا البشرية. يأخذ هذا العصبون الاصطناعي جميع المدخلات ، ويجمعها ، ثم بناءً على وظيفة يعطي ناتج الخلية العصبية.
تتكون الشبكة العصبية من العديد من هذه الخلايا العصبية المترابطة مع بعضها البعض في شكل طبقات تُعرف باسم طبقات الإدخال والمخفية والمخرجة. تمكننا هذه الشبكة من تعيين أي نوع من أنماط البيانات المعقدة لوظيفة رياضية ، ويمكن التحقق من ذلك رياضيًا باستخدام نظرية التقريب العام.
الأوزان
يمكن أن يحتوي النموذج على أوزان بحيث يمكن منع القيم العالية باستخدام القيم السالبة. يمكنك تفسير ذلك من خلال أخذ مثال على شراء هاتف ذكي. كلما ارتفع السعر ، انخفضت فرص شراء هذا الهاتف الذكي ، ولكن إذا جمع نموذجنا جميع القيم وقارنها بالحد الأدنى ، فقد يتم إجراء التنبؤ الخاطئ. لإلغاء هذا التأثير ، يجب أن تقلل الأوزان السالبة المجموع وتحصل على التنبؤ الصحيح.

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

يتم أيضًا تقديم خوارزمية التعلم ، مما يجعل هذا النموذج أكثر قوة للمدخلات الجديدة. تقوم الخوارزمية بتحديث الأوزان المطبقة على كل إدخال بناءً على وظيفة الخسارة. تحدد دالة الخسارة الفرق بين القيمة الفعلية والقيمة المتوقعة بواسطة النموذج. تعتبر خسارة الخطأ التربيعية إحدى هذه الوظائف الشائعة المستخدمة في نماذج التعلم العميق.
نظرًا لأن العصبون الإدراكي يعطي أيضًا ناتجًا ثنائيًا ، يمكن أن تكون الخسارة صفرًا أو واحدًا. وهذا يعني أنه يمكننا تحديد وظيفة الخسارة من هذا النوع بطريقة أكثر إحكاما مثل "عندما لا يكون التنبؤ مساويا للقيمة الحقيقية ، تكون الخسارة واحدة ويجب تحديث الأوزان وإلا لا توجد خسارة ولا يلزم تحديث". يتم تحديث الأوزان بالطريقة التالية:
w = w + x إذا wx <0
w = w - x إذا كانت wx> = 0
قراءة: برنامج TensorFlow لاكتشاف الأشياء للمبتدئين
العصبون السيني
تبدو الخلايا العصبية الحسية واعدة مقارنة بالخلايا العصبية MP ، ولكن لا تزال هناك بعض المشكلات التي يجب معالجتها. أحد العيوب الرئيسية في كليهما هو أنهما يدعمان التصنيف الثنائي فقط. هناك مشكلة أخرى وهي حدود التصنيف القاسية التي لا تُخرج إلا ما إذا كانت حالة معينة ممكنة. لا يسمح بمرونة في التنبؤات في شكل احتمالات يمكن تفسيرها أكثر من المخرجات الثنائية.
لحل كل هذه المشكلات ، تم تقديم الخلايا العصبية السينية ، والتي يمكن استخدامها في التصنيف المتعدد والقيام بمهام الانحدار. يستخدم هذا النموذج عائلة الدوال السينية أو اللوغاريتمية:
ص = 1 / (1 + ه ^ (-wx + ب))
إذا قمنا برسم هذه الوظيفة ، فستأخذ الشكل "S" حيث يمكن تعديل موضعها باستخدام قيم مختلفة لـ "b" وهي تقاطع هذا المنحنى. يقع ناتج هذه الوظيفة دائمًا بين 0 و 1 ، بغض النظر عن عدد المدخلات التي يتم تمريرها. هذا يعطي احتمالية الفئة ، وهي أفضل من المخرجات الصلبة. هذا يعني أيضًا أنه يمكننا الحصول على تصنيفات متعددة أو إجراء الانحدار.

خوارزمية التعلم لهذا تختلف عن سابقاتها. هنا يتم تحديث الأوزان والانحياز وفقًا لمشتق دالة الخسارة.

تُعرف هذه الخوارزمية عمومًا باسم قاعدة نزول التدرج. إن الاشتقاق والشرح التفصيلي لهذا الأمر طويل جدًا ورياضي ، لذلك فهو خارج هذه المقالة حاليًا. بعبارات بسيطة ، تنص على أنه للحصول على حد أدنى مثالي لمشتقة دالة الخسارة ، يجب أن نتحرك في اتجاه معاكس للانحدار.
خاتمة
كانت هذه مقدمة موجزة عن الشبكات العصبية. لقد رأينا المكونات الأساسية المختلفة مثل الخلايا العصبية التي تعمل كدماغ صغير وتعالج المدخلات ، والأوزان التي تسمح بموازنة القيم ، ومعدل التعلم للتحكم في كيفية تحديث وتيرة الأوزان ووظيفة التنشيط لإطلاق الخلايا العصبية.
لقد رأينا أيضًا كيف يمكن للخلايا العصبية الأساسية للبناء أن تتخذ أشكالًا مختلفة في زيادة تعقيد المهمة. بدأنا بالشكل الأساسي في الخلايا العصبية MP ، ثم حذفنا بعض المشكلات في الخلايا العصبية Perceptron ، ثم قمنا بإضافة دعم لمهام الانحدار والتصنيف متعدد الفئات في الخلايا العصبية السينية.
إذا كنت مهتمًا بمعرفة المزيد حول التعلم الآلي ، فراجع دبلوم PG في IIIT-B & upGrad في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهمة ، IIIT- حالة الخريجين B ، أكثر من 5 مشاريع تتويجا عملية ومساعدة وظيفية مع أفضل الشركات.
ما هي الشبكة العصبية في الذكاء الاصطناعي؟
تشير الشبكة العصبية أو الشبكة العصبية الاصطناعية (ANN) إلى شبكة حسابية مستوحاة من علم الأحياء ، أي الشبكات العصبية الموجودة في الدماغ البشري. تمامًا مثل الدماغ البشري يتكون من بلايين من الخلايا العصبية التي تشكل شبكة مترابطة ، فإن الشبكة العصبية الاصطناعية تضم أيضًا خلايا عصبية مترابطة في طبقات مختلفة. تُعرف هذه الخلايا العصبية أيضًا باسم العقد في مجال الذكاء الاصطناعي. تم تطوير مفهوم الشبكات العصبية الاصطناعية لنقل قدرات الحواسيب الشبيهة بالإنسان لفهم الأشياء وتشكيل القرارات ؛ العقد أو أجهزة الكمبيوتر هنا مبرمجة لتعمل كخلايا مترابطة في دماغنا.
ما هي المهارات المطلوبة للحصول على وظيفة في الذكاء الاصطناعي؟
نظرًا لأن الذكاء الاصطناعي هو مجال متخصص للغاية في علوم الكمبيوتر ، يجب أن يمتلك أولئك الذين يتطلعون إلى بناء مستقبل مهني في الذكاء الاصطناعي مؤهلات تعليمية معينة بصرف النظر عن مهارات مثل التفكير التحليلي وقدرات التصميم وقدرات حل المشكلات. يتمتع محترفو الذكاء الاصطناعي الناجحون أيضًا ببصيرة من الابتكارات في مجال التكنولوجيا التي تمكن الشركات الحديثة من توفير حلول برمجية فعالة من حيث التكلفة والفعالية اللازمة للبقاء في صدارة المنافسة. وغني عن القول ، أن مهارات الاتصال الشفوي والكتابي الممتازة أمر لا بد منه. تعد الخلفية التعليمية التقنية ضرورية لتقدير المنظورات المنطقية والهندسية والتكنولوجية لمشاريع الذكاء الاصطناعي.
ما هي المتطلبات العامة لتعلم الشبكات العصبية؟
للعمل في أي مشروع ذكاء اصطناعي واسع النطاق ، من المتوقع أن يكون لديك فهم واضح لأساسيات الشبكات العصبية الاصطناعية. لبناء مفاهيمك الأساسية عن الشبكات العصبية ، أولاً وقبل كل شيء ، يجب أن تقرأ الكثير من الكتب والمقالات والمقالات الإخبارية. بشكل عام ، من بين المتطلبات الأساسية لدراسة مفاهيم الشبكات العصبية ، تلعب الرياضيات دورًا حيويًا ، لا سيما أشياء مثل الإحصاء والجبر الخطي وحساب التفاضل والتكامل والاحتمال. بصرف النظر عن ذلك ، ستكون مهارات برمجة الكمبيوتر بلغات مثل Python و Java و R و C ++ ضرورية أيضًا. يمكن أن تكون مهارات البرمجة المتوسطة مفيدة أيضًا هنا.
