الشبكات العصبية العميقة: ما هي وكيف تعمل
الشبكات العصبية العميقة هي مفهوم يشكل العمارة التكنولوجية الرئيسية المستخدمة في نماذج التعلم العميق. لا يمكن فهم هذه الهياكل دون فهم الفكرة العامة للشبكات العصبية الاصطناعية ، وهي أساسية للذكاء الاصطناعي.
تُستخدم الشبكات العصبية لألف شيء: التعرف على لوحات الترخيص ، والأغاني ، والوجوه ، والأصوات ، أو حتى الثمار في مطبخنا. إنها تقنية مفيدة بشكل خاص ، وعلى الرغم من حقيقة أنها لم تصبح عملية إلا مؤخرًا ، إلا أنها ستكون مستقبل البشرية.
التالي سنرى بعمق فكرة الشبكات العصبية الاصطناعية والعميقةوفهم كيفية عملها وكيفية تدريبها وكيفية حدوث التفاعلات بين الخلايا العصبية المختلفة التي تتكون منها.
- مقالات لها صلة: "ما هو علم الإدراك؟ أفكارها الأساسية ومراحل تطورها "
ما هي الشبكات العصبية العميقة وما الذي يميزها؟
الشبكات العصبية العميقة هي واحدة من أهم البنى التكنولوجية المستخدمة في التعلم العميق أو التعلم العميق. شهدت هذه الشبكات الاصطناعية الخاصة نموًا مذهلاً في السنوات الأخيرة لأنها تشكل جانبًا أساسيًا عندما يتعلق الأمر بالتعرف على جميع أنواع الأنماط. الذكاء الاصطناعي موجود بفضل تشغيل هذه الشبكات المعينة التي ، في في جوهرها ، أصبحت نسخة طبق الأصل من كيفية عمل أدمغتنا ، على الرغم من أنها في التقنية و الرياضيات.
قبل المضي قدمًا في ماهية الشبكات العصبية العميقة ، نحتاج أولاً إلى فهم كيفية عمل الشبكات العصبية الاصطناعية بشكل عام وما هي من أجلها. إلالشبكات العصبية هي فرع من "التعلم الآلي" التي كان لها تأثير كبير في السنوات الأخيرة، لمساعدة المبرمجين وعلماء الكمبيوتر على بناء أشياء مثل روبوتات المحادثة التي ، عندما نتحدث معهم ، تجعلنا نعتقد أننا نتحدث إلى بشر حقيقيين.
كما تم استخدام الشبكات العصبية الاصطناعية مع السيارات ذاتية القيادة ، تطبيقات الهاتف المحمول التي تتعرف على وجوهنا وتحولها إلى ما نريد وغير ذلك الكثير المهام. قابلية تطبيقه واسعة للغاية ، حيث يعمل كأساس للذكاء الاصطناعي الحديث وله استخدامات مفيدة لا نهاية لها في يومنا هذا.
الشبكات العصبية الاصطناعية
لنتخيل أننا في مطبخنا وقررنا البحث عن برتقالة ، وهي مهمة بسيطة للغاية.. نحن نعرف كيفية التعرف على البرتقال بسهولة ونعرف أيضًا كيفية تمييزه عن الفواكه الأخرى التي نجدها في المطبخ ، مثل الموز والتفاح والكمثرى. كيف؟ لأننا في دماغنا استوعبنا الخصائص النموذجية للبرتقالة: إنها حجمه وشكله ولونه وما تشبه رائحته... هذه كلها معايير نستخدمها للعثور على ملف البرتقالي.
إنها مهمة بسيطة للبشر ، لكن... يمكن للكمبيوتر القيام بذلك أيضا؟ الجواب نعم. من حيث المبدأ ، سيكون كافيًا تحديد هذه المعلمات نفسها وتعيين قيمة لعقدة أو شيء يمكن أن نطلق عليه "الخلايا العصبية الاصطناعية". سنخبر الخلايا العصبية عن شكل البرتقال ، مع الإشارة إلى حجمها ووزنها وشكلها ولونها أو أي معلمة أخرى ننسبها إلى هذه الفاكهة. من خلال الحصول على هذه المعلومات ، من المتوقع أن تعرف الخلية العصبية كيفية التعرف على اللون البرتقالي عند تقديمه بواحد.
إذا اخترنا المعلمات جيدًا ، فسيكون من السهل عليك التمييز بين البرتقال والأشياء التي ليست برتقالية بمجرد أخذ هذه الخصائص في الاعتبار. عند تقديم صورة لأي فاكهة ، سيبحث هذا العصبون عن الخصائص المرتبطة باللون البرتقالي وتحديد ما إذا كنت تريد تضمينها في الفئة "برتقالي" أو في فئة "أخرى فاكهة". من الناحية الإحصائية ، سيكون العثور على منطقة في رسم بياني للمعلمات يتوافق مع ما هو موجود تبحث عن منطقة تضم جميع قطع الفاكهة التي تشترك في نفس الحجم والشكل واللون والوزن والرائحة التي البرتقال.
في البداية ، كل هذا يبدو من السهل جدًا ترميزه ، وفي الحقيقة هو كذلك. من المفيد جدًا التمييز بين البرتقال والموز أو التفاحة ، لأن لهما ألوانًا وأشكالًا مختلفة. ومع ذلك ، ماذا لو قدمنا لك الجريب فروت؟ واليوسفي كبير جدا؟ إنها ثمار يمكن الخلط بينها وبين البرتقال. هل ستتمكن العصبون الاصطناعي من التفريق بين البرتقال والجريب فروت؟ الجواب هو لا ، وفي الواقع يُعتقد أنهما نفس الشيء.
المشكلة في استخدام طبقة واحدة فقط من الخلايا العصبية الاصطناعية ، أو ما هو نفسه ، فقط باستخدام الخلايا العصبية البسيطة أولاً ، هو ذلك إنشاء حدود قرار غير دقيقة للغاية عندما يتم تقديمك بشيء له العديد من الخصائص المشتركة مع ما يجب أن تكون قادرًا على التعرف عليه، لكنها في الواقع ليست كذلك. إذا قدمنا شيئًا يشبه البرتقال ، مثل الجريب فروت ، حتى لو لم يكن تلك الفاكهة ، فسيتم تحديده على هذا النحو.
حدود القرار هذه ، إذا تم تمثيلها في شكل رسم بياني ، ستكون دائمًا خطية. باستخدام خلية عصبية اصطناعية واحدة ، أي عقدة واحدة تحتوي على معلمات متكاملة ملموسة ، ولكن لا يمكن تعلم ما هو أبعد منها ، سيتم الحصول على حدود قرار قريبة للغاية. منتشر. محدده الرئيسي هو أنه يستخدم طريقتين إحصائيتين ، على وجه التحديد انحدار متعدد الطبقات و الانحدار اللوجستي ، مما يعني أنه عند الشك ، فإنه يتضمن شيئًا ليس كما توقعنا أن يكون. سوف تحدد.
إذا قمنا بتقسيم جميع الفاكهة إلى "برتقال" و "ليس برتقال" ، باستخدام خلية عصبية واحدة فقط ، فمن الواضح أن الموز والكمثرى ، التفاح والبطيخ وأي فاكهة لا تتوافق مع الحجم واللون والشكل والرائحة وما إلى ذلك مع البرتقال أود وضعها في فئة "لا". البرتقال ". ومع ذلك ، فإن الجريب فروت واليوسفي يضعهم في فئة "البرتقال" ، ويقومون بالوظيفة التي صُمموا من أجلها بشكل سيئ.
وعندما نتحدث عن البرتقال والجريب فروت يمكننا التحدث عن الكلاب والذئاب والدجاج والدجاج والكتب والدفاتر... الكل هذه الحالات هي الحالات التي لا تكفي فيها سلسلة بسيطة من "ifs ..." ("if ...") للتمييز بوضوح بين أحدهما والآخر. آخر. هناك حاجة إلى نظام غير خطي أكثر تعقيدًا ، وهو أكثر دقة عندما يتعلق الأمر بالتمييز بين العناصر المختلفة. شيء يأخذ في الاعتبار أنه قد يكون هناك اختلافات بين أوجه التشابه. هذا هو المكان الذي تأتي فيه الشبكات العصبية.
المزيد من الطبقات ، أكثر شبهاً بالدماغ البشري
الشبكات العصبية الاصطناعية ، كما يوحي اسمها ، هي نماذج حسابية اصطناعية مستوحاة منها في الشبكات العصبية للدماغ البشري ، الشبكات التي تحاكي في الواقع عمل هذا العضو بيولوجي. هذا النظام مستوحى من الأداء العصبي وتطبيقه الرئيسي هو التعرف على الأنماط بجميع أنواعها: التعرف على الوجه ، التعرف على الصوت ، بصمة الإصبع ، الكتابة اليدوية ، لوحات ترخيص… يعمل التعرف على الأنماط في كل شيء تقريبًا..
نظرًا لوجود خلايا عصبية مختلفة ، فإن المعلمات التي يتم تطبيقها متنوعة ويتم الحصول على درجة أعلى من الدقة. هذه الشبكات العصبية هي أنظمة تسمح لنا بفصل العناصر إلى فئات عندما يكون يمكن أن يكون الاختلاف دقيقًا ، ويفصل بينهما بطريقة غير خطية ، وهو أمر يستحيل القيام به بخلاف ذلك طريقة.
مع عقدة واحدة ، مع خلية عصبية واحدة ، ما يتم فعله عند التعامل مع المعلومات هو انحدار متعدد الطبقات. من خلال إضافة المزيد من الخلايا العصبية ، حيث أن كل واحدة منها لها وظيفة التنشيط غير الخطية الخاصة بها ، والتي تُترجم إلى لغة أبسط ، مما يجعلها تتمتع بحدود قرار أكثر دقة ، يتم تمثيلها بيانياً في شكل منحني ومراعاة المزيد من الخصائص عند التفريق بين "برتقال" و "ليس برتقال" ، للاستمرار بهذا المثال.
سيعتمد انحناء حدود القرار هذه بشكل مباشر على عدد طبقات الخلايا العصبية التي نضيفها إلى شبكتنا العصبية. طبقات الخلايا العصبية ، التي تجعل النظام أكثر تعقيدًا وأكثر دقة ، هي في الواقع شبكات عصبية عميقة. من حيث المبدأ ، كلما زاد عدد طبقات الشبكات العصبية العميقة التي لدينا ، كلما تمت مقارنة البرنامج بدقة وتشابه مع الدماغ البشري.
باختصار ، الشبكات العصبية ليست أكثر من نظام ذكي يسمح باتخاذ قرارات أكثر دقة ، بطريقة مشابهة جدًا لكيفية قيامنا نحن البشر بذلك. يعتمد البشر على الخبرة والتعلم من بيئتنا. على سبيل المثال ، بالعودة إلى حالة البرتقال والجريب فروت ، إذا لم نر واحدة من قبل ، فسوف نخطئ تمامًا في أنها برتقالة. عندما نتعرف عليه ، سيكون ذلك عندما نعرف بالفعل كيفية التعرف عليه وتمييزه عن البرتقال.
أول شيء يتم القيام به هو إعطاء بعض المعلمات للشبكات العصبية حتى يعرفوا ما هو الشيء الذي نريده أن يتعلم التعرف عليه. ثم تأتي مرحلة التعلم أو التدريب ، بحيث تصبح دقيقة بشكل متزايد وتتدرج بشكل تدريجي بهامش خطأ أصغر. هذا هو الوقت الذي سنقدم فيه لشبكتنا العصبية برتقالة وفاكهة أخرى. في مرحلة التدريب ، سيتم إعطاؤهم الحالات التي يكونون فيها باللون البرتقالي والحالات التي لا تكون برتقالية ، ويتطلعون لمعرفة ما إذا كانوا قد حصلوا على إجابتهم بشكل صحيح وإخبارهم بالإجابة الصحيحة.
سنحاول بذل العديد من المحاولات وأقرب ما يمكن من الواقع.. بهذه الطريقة نساعد الشبكة العصبية على العمل عند وصول الحالات الحقيقية وهي تعرف كيفية التمييز بشكل صحيح ، بنفس الطريقة التي سيفعل بها الإنسان في الحياة الواقعية. إذا كان التدريب مناسبًا ، بعد اختيار معايير التعرف الجيدة و تم تصنيفها جيدًا ، سيكون للشبكة العصبية معدل نجاح عالٍ جدًا في التعرف على الأنماط. عالي.
- قد تكون مهتمًا بـ: "كيف تعمل الخلايا العصبية؟"
ما هي وكيف تعمل بالضبط؟
الآن وقد رأينا الفكرة العامة لماهية الشبكات العصبية وسنفهم بشكل كامل ما هي وكيف تعمل محاكيات الخلايا العصبية للدماغ البشري وأين ترسم الشبكات العصبية العميقة في كل هذا عملية.
لنتخيل أن لدينا الشبكة العصبية التالية: لدينا ثلاث طبقات من الخلايا العصبية الاصطناعية. لنفترض أن الطبقة الأولى بها 4 خلايا عصبية أو عقد ، والطبقة الثانية 3 ، والأخيرة بها 2 فقط. هذا كله مثال على شبكة عصبية اصطناعية ، من السهل جدًا فهمها.
الطبقة الأولى هي الطبقة التي تتلقى البيانات.، أي المعلومات التي قد تأتي في شكل صوت ، صورة ، روائح ، نبضات كهربائية... هذا أولاً layer هي طبقة الإدخال ، وهي مسؤولة عن استلام جميع البيانات لتتمكن من إرسالها لاحقًا إلى التالي طبقات. أثناء تدريب شبكتنا العصبية ، ستكون هذه هي الطبقة التي سنعمل معها أولاً ، ونعطيها البيانات التي سنستخدمها لمعرفة مدى نجاحك في إجراء التنبؤات أو تحديد المعلومات التي يتم تقديمها إليك يعطي.
الطبقة الثانية من نموذجنا الافتراضي هي الطبقة المخفية ، والتي تقع في منتصف الطبقتين الأولى والأخيرة.، كما لو كانت شبكتنا العصبية عبارة عن شطيرة. في هذا المثال لدينا طبقة مخفية واحدة فقط ، ولكن يمكن أن يكون هناك ما نريده. يمكننا التحدث عن 50 أو 100 أو 1000 أو حتى 50000 طبقة. في جوهرها ، هذه الطبقات المخفية هي جزء من الشبكة العصبية التي نسميها الشبكة العصبية العميقة. كلما زاد العمق ، زادت تعقيد الشبكة العصبية.
أخيرًا لدينا الطبقة الثالثة من مثالنا وهي طبقة الإخراج. هذه الطبقة ، كما يدل اسمها ، مسؤول عن تلقي المعلومات من الطبقات السابقة ، واتخاذ القرار وإعطائنا إجابة أو نتيجة.
في الشبكة العصبية ، يتم توصيل كل خلية عصبية اصطناعية بجميع الخلايا التالية. في مثالنا ، حيث علقنا على أن لدينا ثلاث طبقات من الخلايا العصبية 4 و 3 و 2 ، فإن 4 من طبقة الإدخال هي متصلة بـ 3 من الطبقة المخفية ، و 3 من الطبقة المخفية مع 2 من المخرجات ، مما يعطينا إجمالي 18 روابط.
ترتبط كل هذه الخلايا العصبية بتلك الموجودة في الطبقة التالية ، وترسل المعلومات في اتجاه الإدخال -> المخفي -> الإخراج.. إذا كان هناك المزيد من الطبقات المخفية ، فسوف نتحدث عن عدد أكبر من الاتصالات ، وإرسال المعلومات من الطبقة المخفية إلى الطبقة المخفية حتى تصل إلى طبقة الإخراج. طبقة المخرجات ، بمجرد تلقي المعلومات ، ما ستفعله هو إعطائنا نتيجة بناءً على المعلومات التي تلقتها وطريقة معالجتها.
عندما نقوم بتدريب خوارزميتنا ، أي شبكتنا العصبية ، فإن هذه العملية التي شرحناها للتو ستتم عدة مرات. سنقوم بتسليم بعض البيانات إلى الشبكة ، وسنرى ما تعطينا النتيجة وسنقوم بتحليلها ومقارنتها بما توقعنا أن تقدمه لنا النتيجة. إذا كان هناك فرق كبير بين ما هو متوقع وما تم الحصول عليه ، فهذا يعني أن هناك هامش خطأ كبير ، وبالتالي ، من الضروري إجراء بعض التعديلات.
كيف تعمل الخلايا العصبية الاصطناعية؟
الآن سوف نفهم الأداء الفردي للخلايا العصبية التي تعمل داخل الشبكة العصبية. يتلقى العصبون مدخلات من المعلومات من الخلايا العصبية السابقة. لنفترض أن هذه الخلية العصبية تتلقى ثلاثة مدخلات للمعلومات ، كل واحدة تأتي من الخلايا العصبية الثلاثة للطبقة السابقة. في المقابل ، تولد هذه الخلايا العصبية مخرجات ، في هذه الحالة دعنا نقول أنها متصلة فقط بخلايا عصبية من الطبقة التالية.
كل اتصال لهذه العصبون مع الخلايا العصبية الثلاثة للطبقة السابقة يجلب قيمة "x" ، وهي القيمة التي ترسلها إلينا الخلية العصبية السابقة.; ولها أيضًا قيمة "w" ، وهي ثقل هذا الاتصال. الوزن هو القيمة التي تساعدنا على إعطاء أهمية أكبر لاتصال واحد على الآخرين. باختصار ، كل اتصال مع الخلايا العصبية السابقة له قيمة "x" و "w" ، والتي يتم ضربها (x · w).
نحن ايضا سنمتلك قيمة تسمى "التحيز" أو التحيز ممثلة بـ "b" وهو عدد الأخطاء التي تشجع بعض الخلايا العصبية على التنشيط بسهولة أكبر من غيرها. بالإضافة إلى ذلك ، لدينا وظيفة تنشيط داخل الخلية العصبية ، وهو ما يجعل درجة تصنيفها للعناصر المختلفة (ص. g. ، البرتقال) ليست خطية. كل خلية عصبية بمفردها لها معلمات مختلفة لأخذها في الاعتبار ، مما يجعل النظام بأكمله ، هذه الشبكة العصبية ، يصنف بطريقة غير خطية.
كيف تعرف العصبون ما إذا كان يجب أن ينشط أم لا؟ أي ، متى تعرف ما إذا كان عليك إرسال المعلومات إلى الطبقة التالية؟ حسنًا ، يخضع هذا القرار للمعادلة التالية:
هذه الصيغة تعني أن مجموع كل الأوزان "w" مضروبة في جميع قيم "x" التي تتلقاها الخلية العصبية من الطبقة السابقة يجب إجراؤها. يضاف إلى ذلك ، يضاف التحيز "ب".
يتم إرسال نتيجة هذه المعادلة إلى دالة التنشيط، وهي ببساطة دالة تخبرنا أنه إذا كانت نتيجة هذه المعادلة أكبر من a رقم معين ، سترسل الخلية العصبية إشارة إلى الطبقة التالية ، وإذا كانت أقل ، فلن تقوم بذلك لإرساله إذن ، هذه هي الطريقة التي تقرر بها الخلايا العصبية الاصطناعية ما إذا كانت سترسل المعلومات إلى الخلايا العصبية أم لا على النحو التالي: layer عن طريق الإخراج الذي سنسميه "y" ، وهو ناتج ، بدوره ، هو الإدخال "x" لما يلي الخلايا العصبية.
وكيف تدرب شبكة كاملة؟
أول شيء يتم القيام به هو توصيل البيانات إلى الطبقة الأولى ، كما علقنا سابقًا. سترسل هذه الطبقة المعلومات إلى الطبقات التالية ، وهي الطبقات المخفية أو الشبكة العصبية العميقة. سيتم تنشيط الخلايا العصبية لهذه الطبقات أو لا بناءً على المعلومات التي يتم تلقيها. أخيرًا ، ستعطينا طبقة المخرجات نتيجة ، والتي سنقارنها بالقيمة التي كنا ننتظرها لمعرفة ما إذا كانت الشبكة العصبية قد تعلمت ما يجب القيام به بشكل صحيح.
إذا لم يتعلم جيدًا ، فسنقوم بتفاعل آخر ، أي ، سنقدم لك المعلومات مرة أخرى ونرى كيف تتصرف الشبكة العصبية. اعتمادًا على النتائج التي تم الحصول عليها ، سيتم تعديل قيم "b" ، أي انحياز كل خلية عصبية ، و "w" ، وهذا هو وزن كل اتصال مع كل خلية عصبية لتقليل الخطأ. لمعرفة حجم هذا الخطأ ، سنستخدم معادلة أخرى ، وهي كالتالي:
هذه المعادلة هي جذر متوسط الخطأ التربيعي. سنقوم بعمل مجموع y (x) وهي القيمة التي أعطتنا إياها شبكتنا في التفاعل ناقص "a" ، وهي القيمة التي كنا نتوقع أن تعطينا إياها ، مرفوعة إلى المربع. أخيرًا ، سنقوم بضرب هذا المجموع في 1 / 2n ، كونه "n" عدد التفاعلات التي أرسلناها لتدريب شبكتنا العصبية.
على سبيل المثال ، افترض أن لدينا القيم التالية
يمثل العمود الأول "y (x)" ما قدمته لنا شبكتنا في كل تفاعل من التفاعلات الأربعة التي اختبرناها. القيم التي حصلنا عليها ، كما يتضح ، لا تتوافق مع قيم العمود الثاني "أ" ، وهي القيم المرغوبة لكل من التفاعلات المختبرة. يمثل العمود الأخير خطأ كل تفاعل.
تطبيق الصيغة المذكورة أعلاه واستخدام هذه البيانات هنا ، مع الأخذ في الاعتبار أنه في هذه الحالة n = 4 (4 التفاعلات) تعطينا قيمة 3.87 ، وهو متوسط الخطأ التربيعي الذي تمتلكه شبكتنا العصبية في هذه لحظات. بمعرفة الخطأ ، ما يتعين علينا فعله الآن هو ، كما علقنا من قبل ، تغيير التحيز و أوزان كل خلية من الخلايا العصبية وتفاعلاتها بقصد حدوث الخطأ بهذه الطريقة يقلل.
في هذه المرحلة ، يتقدم المهندسون وعلماء الكمبيوتر خوارزمية تسمى النسب المتدرجة يمكنهم من خلالها الحصول على قيم لاختبار وتعديل التحيز والوزن لكل خلية عصبية اصطناعية بحيث ، بهذه الطريقة ، يتم الحصول على خطأ منخفض بشكل متزايد ، يقترب من التنبؤ أو النتيجة مطلوب. إنها مسألة اختبار وكلما تم إجراء المزيد من التفاعلات ، كلما زاد التدريب وستتعلم الشبكة.
بمجرد أن يتم تدريب الشبكة العصبية بشكل كافٍ ، فإنها ستعطينا تنبؤات وتعريفات دقيقة وموثوقة. في هذه المرحلة ، سيكون لدينا شبكة سيكون لها قيمة في كل خلية من خلاياها العصبية وزن محدد ، مع انحياز مضبوط وبقدرة اتخاذ القرار التي من شأنها أن تجعل النظام عمل.
المراجع الببليوجرافية:
- بويج ، أ. [AMP Tech] (2017 ، 28 يوليو). كيف تعمل الشبكات العصبية؟ [ملف فيديو]. تعافى من https://www.youtube.com/watch? v = IQMoglp-fBk & ab_channel = AMPTech
- سانتاولالا ، ج. [امنح نفسك مدونة فيديو] (2017 ، 11 أبريل) تحدي CienciaClip - ما هي الشبكات العصبية؟ [ملف فيديو]. https://www.youtube.com/watch? v = rTpr6DuY4LU & ab_channel = DateunVlog
- شميدهوبر ، ج. (2015). "التعلم العميق في الشبكات العصبية: نظرة عامة". الشبكات العصبية. 61: 85–117. arXiv: 1404.7828. دوى: 10.1016 / j.neunet.2014.09.003. بميد 25462637. S2CID 11715509