لماذا هناك حاجة للشبكات العصبية؟ دراسة الشبكات العصبية: من أين تبدأ

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

    لنفترض أنني أعرف شيئين عن الفتاة - سواء كنت أحبها أم لا، وما إذا كان هناك أي شيء يمكنني التحدث معها عنه. فإن وجد نعتبره واحدًا، وإذا لم يكن نعتبره صفرًا. لنأخذ مبدأ مماثل للمظهر. السؤال: ما هي الفتاة التي سأقع في حبها ولماذا؟


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



    ولكن ماذا لو كنت أحب السيدة، ولكن لا يوجد شيء للحديث معها؟ أو العكس؟


    من الواضح أن شيئًا واحدًا سيكون أكثر أهمية لكل واحد منا. بتعبير أدق، كل معلمة لها مستوى أهميتها، أو بالأحرى وزنها. إذا قمت بضرب المعلمة بوزنها، فستحصل على التوالي على "تأثير المظهر" و"تأثير الثرثرة".


    والآن أستطيع أن أجيب على سؤالي بضمير مرتاح:


    "إذا كان تأثير الكاريزما وتأثير الثرثرة في مجمله أكبر من قيمة "الغرام" فإنني سأقع في الحب..."



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



    في الواقع، هذه القاعدة هي الخلايا العصبية.


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


    دعونا نستخلص بعض الاستنتاجات الإضافية:

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

    الحديث عن عتبة

    إنه أمر مضحك، لكن معامل "الغرام" يسمى "عتبة الإثارة". ولكن، حتى لا تحصل هذه المقالة على تصنيف "18+"، فلنتفق على قول "العتبة" ببساطة، حسنًا؟

    الشبكة العصبية

    لا توجد سيدات جذابات ومؤنسات بشكل فريد. والوقوع في الحب يختلف عن الوقوع في الحب، بغض النظر عما يقوله أي شخص. لذلك، بدلاً من "0" و"1" الوحشيين والمتشددين، دعونا نستخدم النسب المئوية. ثم يمكنك أن تقول - "أنا أحبك كثيرًا (80٪)، أو "هذه السيدة ليست ثرثارة جدًا (20٪)."


    إن "الخلايا العصبية" البدائية لدينا من الجزء الأول لم تعد مناسبة لنا. ويتم استبدالها بـ "الخلية العصبية الحكيمة"، وستكون نتيجتها رقمًا من 0 إلى 1، اعتمادًا على البيانات المدخلة.



    يمكن لـ "Neuron Sage" أن يخبرنا: "هذه السيدة جميلة جدًا، لكنني لا أعرف ما الذي أتحدث معها عنه، لذلك أنا لا معجب بها حقًا".



    بعض المصطلحات

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


    هيا لنذهب. لنقم بإجراء تقييم آخر بناءً على هاتين الحقيقتين: ما مدى جودة العمل (التعاون) مع مثل هذه الفتاة؟ سوف نتصرف بنفس الطريقة تمامًا - أضف خلية عصبية حكيمة وقم بضبط الأوزان بطريقة مريحة لنا.


    لكن الحكم على فتاة بناء على صفتين هو أمر وقح للغاية. دعونا نحكم عليها بثلاثة! دعونا نضيف حقيقة أخرى - المال. والتي ستتراوح من صفر (فقراء تمامًا) إلى واحد (ابنة روكفلر). دعونا نرى كيف تتغير أحكامنا مع وصول المال...


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


    في عملي، لا يهمني مطلقًا مقدار المال الذي تملكه الفتاة، لذلك سأجعل الوزن يساوي صفرًا.



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

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

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



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


    أنا لا أفهم شيئًا عن النساء، ولهذا تبدو شبكتي البدائية الآن كما في الصورة في بداية المقال.


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

    يسقط التطرف.

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


    لكن هنا أواجه مشكلة:


    إذا وضعت وزن المال بالسالب، فكلما قل المال، كان ذلك أفضل للسفر.
    إذا كان إيجابيا، فكلما كان أغنى كلما كان ذلك أفضل،
    إذا كان الصفر، فإن المال على الجانب.


    لا أستطيع أن أفعل ذلك، بالوزن فقط، لإجبار الخلية العصبية على التعرف على الوضع "لا أكثر ولا أقل"!


    للتغلب على هذا، سأصنع خليتين عصبيتين - "الكثير من المال" و"القليل من المال"، وأعطيهما التدفق النقدي من السيدة كمدخل.


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



    "ليس كثيراً." الأسهم الحمراء - اتصالات إيجابية، الأزرق - سلبية


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



    او او. الأسهم الحمراء - اتصالات إيجابية، الأزرق - سلبية




    يمكنك استبدال الخلايا العصبية "الحكيمة" بـ "الحد الأقصى" ومن ثم نحصل على العامل المنطقي XOR. الشيء الرئيسي هو عدم نسيان ضبط عتبات الإثارة.


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


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


    تخيل أنني قمت بتعقيد مثالي بالزواج والوقوع في الحب، ووصلت إلى هذه الشبكة. في مكان ما فيه، يتم إخفاء جميع الخلايا العصبية التسعة لدينا، وهذا بالفعل أشبه بالحقيقة. مع كل الرغبة، من المستحيل ببساطة فهم كل التبعيات وعمق الحكم على مثل هذه الشبكة. بالنسبة لي، فإن الانتقال من شبكة 3x3 إلى 7x1000 يشبه تحقيق المقياس، إن لم يكن الكون، ثم المجرة - بالنسبة إلى طولي. ببساطة، لا أستطيع أن أفعل ذلك. إن حل مثل هذه الشبكة، المتمثل في إطلاق مخرجات إحدى خلاياها العصبية، لن يكون من الممكن تفسيره بالمنطق. وهذا ما يمكن أن نسميه في الحياة اليومية "الحدس" (على الأقل "واحد من .."). رغبة غير مفهومة للنظام أو تلميحه.


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

    تعليم.

    لقد ذكرت قبل بضعة أسطر شبكة جيدة الضبط، الأمر الذي ربما أثار سؤالا صامتا: "كيف يمكننا إنشاء شبكة تتكون من عدة آلاف من الخلايا العصبية؟ كم يتطلب ذلك من "سنوات الرجال" والأرواح الضائعة؟.. أخشى أن أخمن إجابة السؤال الأخير. من الأفضل بكثير أتمتة عملية التكوين هذه - لإجبار الشبكة على تكوين نفسها. تسمى عملية الأتمتة هذه بالتعلم. ولإعطاء فكرة سطحية عنه، سأعود إلى الاستعارة الأصلية حول “السؤال المهم جداً”:


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


    1) التدريب مع مدرس (للرومانسيين). شاهد ما يكفي من ميلودراما هوليوود واقرأ الروايات الدامعة. أو شاهد ما يكفي من والديك و/أو أصدقائك. بعد ذلك، اعتمادا على العينة، انتقل إلى اختبار المعرفة المكتسبة. بعد محاولة فاشلة، كرر كل شيء مرة أخرى، بدءا من الروايات.


    2) التعلم بدون معلم (للمجربين اليائسين). حاول الزواج من اثنتي عشرة امرأة أو اثنتين بشكل عشوائي. بعد كل زواج تخدشين اللفت في حيرة. كرر ذلك حتى تفهم أنك متعب، وأنت "تعرف بالفعل كيف يحدث ذلك".


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



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


    حظًا سعيدًا في موازينك وعينات التدريب الرائعة! حسنًا، إذا لم يعد هذا ضروريًا، أخبر شخصًا آخر عنه.



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

    يمكن للمستخدمين المسجلين فقط المشاركة في الاستطلاع. ادخل من فضلك.

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

    ما هي الشبكة العصبية؟


    الشبكة العصبية هي سلسلة من الخلايا العصبية المتصلة عن طريق المشابك العصبية. لقد جاء هيكل الشبكة العصبية إلى عالم البرمجة مباشرة من علم الأحياء. بفضل هذا الهيكل، تكتسب الآلة القدرة على تحليل المعلومات المختلفة وحتى تذكرها. الشبكات العصبية قادرة أيضًا ليس فقط على تحليل المعلومات الواردة، بل أيضًا على إعادة إنتاجها من ذاكرتها. للمهتمين، تأكد من مشاهدة مقطعي فيديو من TED Talks: فيديو 1 , فيديو 2). بمعنى آخر، الشبكة العصبية هي تفسير آلي للدماغ البشري، الذي يحتوي على ملايين الخلايا العصبية التي تنقل المعلومات على شكل نبضات كهربائية.

    ما هي أنواع الشبكات العصبية الموجودة؟

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

    ما هي الشبكات العصبية ل؟

    تُستخدم الشبكات العصبية لحل المشكلات المعقدة التي تتطلب حسابات تحليلية مشابهة لما يفعله الدماغ البشري. التطبيقات الأكثر شيوعًا للشبكات العصبية هي:

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

    تنبؤ- القدرة على التنبؤ بالخطوة التالية. على سبيل المثال، ارتفاع أو انخفاض الأسهم بناء على الوضع في سوق الأوراق المالية.

    تعرُّف- حاليا الاستخدام الأكثر انتشارا للشبكات العصبية. يُستخدم في Google عند البحث عن صورة أو في كاميرات الهاتف عندما يكتشف موضع وجهك ويسلط الضوء عليه وغير ذلك الكثير.

    الآن، لفهم كيفية عمل الشبكات العصبية، دعونا نلقي نظرة على مكوناتها ومعلماتها.

    ما هي الخلية العصبية؟


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


    من المهم أن نتذكرأن الخلايا العصبية تعمل مع أرقام في النطاق أو [-1،1]. ولكن كيف، تسأل، ثم معالجة الأرقام التي تقع خارج هذا النطاق؟ عند هذه النقطة، أبسط إجابة هي قسمة 1 على هذا الرقم. تسمى هذه العملية بالتطبيع وغالبًا ما تستخدم في الشبكات العصبية. المزيد عن هذا بعد قليل.

    ما هو المشبك العصبي؟


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

    من المهم أن نتذكرأنه أثناء تهيئة الشبكة العصبية، يتم وضع الأوزان بترتيب عشوائي.

    كيف تعمل الشبكة العصبية؟


    يوضح هذا المثال جزءًا من شبكة عصبية، حيث تشير الحروف I إلى الخلايا العصبية المدخلة، ويشير الحرف H إلى خلية عصبية مخفية، ويشير الحرف w إلى الأوزان. توضح الصيغة أن معلومات الإدخال هي مجموع كافة بيانات الإدخال مضروبة في أوزانها المقابلة. ثم سنعطي 1 و 0 كمدخلات، دع w1 = 0.4 و w2 = 0.7 ستكون بيانات الإدخال للخلية العصبية H1 كما يلي: 1*0.4+0*0.7=0.4. الآن بعد أن أصبح لدينا المدخلات، يمكننا الحصول على المخرجات عن طريق توصيل المدخلات في وظيفة التنشيط (المزيد حول ذلك لاحقًا). الآن بعد أن حصلنا على الناتج، نقوم بتمريره. وهكذا، نكرر لجميع الطبقات حتى نصل إلى الخلية العصبية الناتجة. وبعد إطلاق مثل هذه الشبكة لأول مرة، سنرى أن الإجابة بعيدة عن الصحة، لأن الشبكة غير مدربة. لتحسين النتائج سنقوم بتدريبها. ولكن قبل أن نتعلم كيفية القيام بذلك، دعونا نقدم بعض المصطلحات وخصائص الشبكة العصبية.

    وظيفة التنشيط

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

    دالة خطية


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

    السيني


    هذه هي وظيفة التنشيط الأكثر شيوعًا ونطاق قيمها هو . هذا هو المكان الذي يتم فيه عرض معظم الأمثلة على الويب، ويسمى أيضًا أحيانًا الوظيفة اللوجستية. وفقًا لذلك، إذا كانت هناك قيم سلبية في حالتك (على سبيل المثال، يمكن أن ترتفع الأسهم ليس فقط للأعلى، ولكن أيضًا للأسفل)، فستحتاج إلى وظيفة تلتقط أيضًا القيم السلبية.

    الظل الزائدي


    من المنطقي فقط استخدام الظل الزائدي عندما تكون قيمك سالبة وموجبة، لأن نطاق الدالة هو [-1,1]. لا يُنصح باستخدام هذه الوظيفة فقط مع القيم الإيجابية لأن ذلك سيؤدي إلى تفاقم نتائج شبكتك العصبية بشكل كبير.

    عدة التدريبات

    مجموعة التدريب عبارة عن سلسلة من البيانات التي تعمل عليها الشبكة العصبية. في حالتنا الخاصة بالحذف أو (xor)، لدينا 4 نتائج مختلفة فقط، أي أنه سيكون لدينا 4 مجموعات تدريبية: 0xor0=0، 0xor1=1، 1xor0=1,1xor1=0.

    تكرار

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

    حقبة

    عند تهيئة الشبكة العصبية، يتم تعيين هذه القيمة على 0 ويكون لها سقف محدد يدويًا. كلما كان العصر أكبر، كان تدريب الشبكة أفضل، وبالتالي نتائجها. وتزداد الحقبة في كل مرة نمر فيها بالمجموعة الكاملة من مجموعات التدريب، في حالتنا، 4 مجموعات أو 4 تكرارات.


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

    خطأ

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

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

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

    ما هي الشبكات العصبية وأنواعها؟

    السؤال الأول الذي يطرح نفسه للمهتمين هو ما هي الشبكة العصبية؟ في التعريف الكلاسيكي، هذا هو تسلسل معين من الخلايا العصبية المترابطة عن طريق المشابك العصبية. الشبكات العصبية هي نموذج مبسط لنظائرها البيولوجية.

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

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

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

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

    إن معلمات المشابك العصبية المحددة بشكل صحيح هي التي تجعل من الممكن الحصول على النتيجة الصحيحة لتحويل بيانات الإدخال إلى الإخراج.

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

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

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

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

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

    هذه ليست الخيارات الوحيدة لتصنيف الشبكات.

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

    أين تستخدم الشبكات العصبية؟

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

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

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

    وبالتالي، يتم استخدام الشبكات العصبية على نطاق واسع في المجالات التالية:

    • الاعتراف، وهذا الاتجاه هو الأوسع حالياً؛
    • التنبؤ بالخطوة التالية، وهذه الميزة قابلة للتطبيق في التداول وأسواق الأسهم؛
    • تصنيف بيانات الإدخال حسب المعلمات؛ يتم تنفيذ هذه الوظيفة بواسطة روبوتات الائتمان، القادرة على اتخاذ قرار بالموافقة على قرض لشخص ما، بالاعتماد على مجموعة مدخلات من المعلمات المختلفة.

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

    ما هو العصبون والمشبك؟

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

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

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

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

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

    في هذه الحالة، يتم تعيين الأوزان بترتيب عشوائي.

    مخطط تشغيل الشبكة العصبية

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

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

    يتم استخدام وظيفة التنشيط لتطبيع بيانات الإدخال. هناك العديد من هذه الوظائف، ولكن هناك العديد من الوظائف الرئيسية الأكثر استخدامًا. الفرق الرئيسي بينهما هو نطاق القيم التي يعملون فيها.

    • يتم استخدام الدالة الخطية f(x) = x، وهي أبسط الدالة الممكنة، فقط لاختبار الشبكة العصبية التي تم إنشاؤها أو نقل البيانات في شكلها الأصلي.
    • تعتبر دالة التنشيط الأكثر شيوعًا ولها الشكل f(x) = 1 / 1+e-×; علاوة على ذلك، يتراوح نطاق قيمها من 0 إلى 1. وتسمى أيضًا بالوظيفة اللوجستية.
    • لتغطية القيم السالبة، يتم استخدام الظل الزائدي. F(x) = e²× - 1 / e²× + 1 - هذا هو شكل هذه الدالة ويتراوح نطاقها من -1 إلى 1. إذا كانت الشبكة العصبية لا توفر استخدام القيم السالبة، فإنها لا ينبغي أن تستخدم.

    من أجل تزويد الشبكة بالبيانات التي ستعمل بها، هناك حاجة إلى مجموعات التدريب.

    التكامل هو عداد يزداد مع كل مجموعة تدريبية.

    العصر هو مؤشر لتدريب الشبكة العصبية، ويزداد هذا المؤشر في كل مرة تمر فيها الشبكة بدورة مجموعة كاملة من مجموعات التدريب.

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

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

    ما هي الخلايا العصبية المتحيزة وما هو الغرض منها؟

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

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

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

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

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

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

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

    الخوارزميات، التعلم الآلي

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

    ما هي الخلايا العصبية النزوح؟


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

    ما هو استخدام الخلايا العصبية النزوح؟



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

    من دورة الرياضيات المدرسية، نعلم أنه إذا أخذنا الدالة y = ax+b وقمنا بتغيير قيم "a" فيها، فإن ميل الدالة سيتغير (ألوان الخطوط على الرسم البياني على اليسار)، وإذا قمنا بتغيير "b"، فسننقل الدالة إلى اليمين أو اليسار (ألوان الخطوط على الرسم البياني على اليمين). لذا فإن "a" هو وزن H1، و"b" هو وزن الخلية العصبية المتحيزة B1. هذا مثال تقريبي، ولكن هذه هي الطريقة التي يعمل بها (إذا نظرت إلى وظيفة التنشيط على اليمين في الصورة، ستلاحظ تشابهًا قويًا جدًا بين الصيغ). أي أنه عندما نقوم أثناء التدريب بضبط أوزان الخلايا العصبية المخفية والمخرجة، فإننا نغير ميل وظيفة التنشيط. ومع ذلك، فإن ضبط وزن الخلايا العصبية المتحيزة يمكن أن يمنحنا الفرصة لتحويل وظيفة التنشيط على طول المحور X والتقاط مناطق جديدة. بمعنى آخر، إذا كانت النقطة المسؤولة عن الحل موجودة كما هو موضح في الرسم البياني الموجود على اليسار، فلن تتمكن شبكتك العصبية أبدًا من حل المشكلة دون استخدام الخلايا العصبية المتحيزة. لذلك، نادرًا ما ترى شبكات عصبية بدون خلايا عصبية متحيزة.

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

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

    الإدخال = H1*w1+H2*w2+b3
    b3 = التحيز*w3

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

    كيفية جعل NS يعطي الإجابات الصحيحة؟

    الجواب بسيط - أنت بحاجة لتدريبها. ومع ذلك، بغض النظر عن مدى بساطة الإجابة، فإن تنفيذها من حيث البساطة يترك الكثير مما هو مرغوب فيه. هناك عدة طرق لتدريس الشبكات العصبية وسأسلط الضوء على 3 منها، في رأيي، الأكثر إثارة للاهتمام:
    • طريقة الانتشار العكسي
    • الانتشار المرن أو طريقة Rprop
    • الخوارزمية الجينية
    ستتم مناقشة Rprop وGA في مقالات أخرى، لكننا الآن سنلقي نظرة على أساس الأساسيات - طريقة الانتشار العكسي، التي تستخدم خوارزمية النسب المتدرج.

    ما هو النسب التدرج؟

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


    بالنظر إلى هذا الرسم البياني، سوف نفهم أن الرسم البياني للدالة f(w) هو اعتماد الخطأ على الوزن المحدد. في هذا الرسم البياني، نحن مهتمون بالحد الأدنى العالمي - النقطة (w2,e2) أو بمعنى آخر، المكان الذي يقترب فيه الرسم البياني من المحور السيني. ستعني هذه النقطة أنه باختيار الوزن w2 سنحصل على أصغر خطأ - e2، ونتيجة لذلك، أفضل نتيجة ممكنة. ستساعدنا طريقة النزول المتدرج في العثور على هذه النقطة (يشار إلى التدرج باللون الأصفر على الرسم البياني). وفقًا لذلك، سيكون لكل وزن في الشبكة العصبية رسم بياني وتدرج خاص به، ولكل وزن من الضروري إيجاد حد أدنى عالمي.

    إذن ما هو هذا التدرج؟ التدرج هو المتجه الذي يحدد درجة انحدار المنحدر ويشير إلى اتجاهه بالنسبة لأي نقطة على السطح أو الرسم البياني. للعثور على التدرج، عليك أن تأخذ مشتق الرسم البياني عند نقطة معينة (كما هو موضح في الرسم البياني). التحرك في اتجاه هذا التدرج، سوف ننزلق بسلاسة إلى الوادي. الآن تخيل أن الخطأ هو المتزلج، والرسم البياني للدالة هو الجبل. وعليه، إذا كان الخطأ 100%، فالمتزلج يكون في أعلى قمة الجبل، وإذا كان الخطأ 0%، فهو في الأسفل. مثل كل المتزلجين، يسعى الخطأ إلى النزول في أسرع وقت ممكن وتقليل قيمته. وفي النهاية يجب أن نحصل على النتيجة التالية:


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

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


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

    ما هي طريقة الانتشار العكسي (BPM)؟

    لقد وصلنا الآن إلى النقطة التي يمكننا فيها مناقشة كيفية التأكد من أن NS الخاص بك يمكنه التعلم بشكل صحيح واتخاذ القرارات الصحيحة. تم تصور MPA بشكل جيد للغاية في ملف GIF هذا:


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

    والآن لنكمل من حيث توقفنا عن الحسابات في المقالة السابقة.

    بيانات المهمة من المقالة السابقة


    البيانات: I1=1، I2=0، w1=0.45، w2=0.78،w3=-0.12،w4=0.13،w5=1.5،w6=-2.3.

    H1input = 1*0.45+0*-0.12=0.45
    H1output = السيني (0.45) = 0.61

    H2input = 1*0.78+0*0.13=0.78
    H2output = السيني (0.78) = 0.69

    O1input = 0.61*1.5+0.69*-2.3=-0.672
    O1output = السيني (-0.672) = 0.33

    O1ideal = 1 (0xor1=1)

    الخطأ = ((1-0.33)^2)/1=0.45

    النتيجة - 0.33، الخطأ - 45٪.


    وبما أننا قد حسبنا بالفعل نتيجة NN وخطأها، فيمكننا المتابعة فورًا إلى MOR. كما ذكرت سابقًا، تبدأ الخوارزمية دائمًا بخلايا عصبية مخرجة. في هذه الحالة، دعونا نحسب القيمة لذلك؟ (دلتا) حسب الصيغة 1.

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


    وبالتالي، فإن حساباتنا للنقطة O1 ستكون بهذا الشكل.

    حل

    إخراج O1 = 0.33
    O1المثالي = 1
    الخطأ = 0.45

    O1 = (1 - 0.33) * ((1 - 0.33) * 0.33) = 0.148


    هذا يكمل حسابات العصبون O1. تذكر أنه بعد حساب دلتا الخلية العصبية، يجب علينا على الفور تحديث أوزان جميع المشابك العصبية الصادرة لهذه الخلية العصبية. وبما أنه في حالة O1 لا يوجد أي منها، فإننا ننتقل إلى الخلايا العصبية ذات المستوى المخفي ونفعل نفس الشيء، إلا أنه لدينا الآن الصيغة الثانية لحساب الدلتا وجوهرها هو ضرب مشتقة دالة التنشيط من قيمة الإدخال بمجموع منتجات جميع الأوزان الصادرة ودلتا الخلية العصبية التي يتصل بها هذا المشبك العصبي. لكن لماذا تختلف الصيغ؟ الحقيقة هي أن الهدف الأساسي من MOR هو نشر خطأ الخلايا العصبية الناتجة إلى جميع أوزان NN. لا يمكن حساب الخطأ إلا على مستوى الإخراج، كما فعلنا بالفعل، قمنا أيضًا بحساب الدلتا التي يوجد فيها هذا الخطأ بالفعل. وبالتالي، سنستخدم الآن دلتا بدلاً من الخطأ الذي سيتم نقله من خلية عصبية إلى خلية عصبية. في هذه الحالة، دعونا نجد دلتا H1:

    حل

    الناتج H1 = 0.61
    ث5 = 1.5
    ؟O1 = 0.148

    H1 = ((1 - 0.61) * 0.61) * (1.5 * 0.148) = 0.053


    الآن نحن بحاجة إلى العثور على التدرج لكل مشبك عصبي صادر. هنا عادةً ما يُدرجون كسرًا مكونًا من 3 طوابق مع مجموعة من المشتقات والجحيم الرياضي الآخر، ولكن هذا هو جمال استخدام طريقة حساب الدلتا، لأنه في النهاية ستبدو صيغتك للعثور على التدرج كما يلي:

    هنا النقطة A هي النقطة في بداية المشبك، والنقطة B في نهاية المشبك. لذلك يمكننا حساب تدرج w5 مثل هذا:

    حل

    الناتج H1 = 0.61
    ؟O1 = 0.148

    GRADw5 = 0.61 * 0.148 = 0.09


    الآن لدينا جميع البيانات اللازمة لتحديث الوزن w5 وسنفعل ذلك بفضل وظيفة MOP التي تحسب المقدار الذي يجب تغيير هذا الوزن أو ذاك به ويبدو كالتالي:


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

    نرى هنا ثوابتين تحدثنا عنهما بالفعل عندما نظرنا إلى خوارزمية النسب المتدرج: E (epsilon) - معدل التعلم،؟ (ألفا) - لحظة. بترجمة الصيغة إلى كلمات، نحصل على: التغير في وزن المشبك يساوي معامل معدل التعلم مضروبًا في تدرج هذا الوزن، أضف اللحظة مضروبة في التغيير السابق في هذا الوزن (في التكرار الأول يكون 0). في هذه الحالة، دعونا نحسب التغير في الوزن w5 ونقوم بتحديث قيمته بإضافة ?w5 إليه.

    حل

    ه = 0.7
    ? = 0.3
    ث5 = 1.5
    GRADw5 = 0.09
    ?w5(i-1) = 0

    W5 = 0.7 * 0.09 + 0 * 0.3 = 0.063
    w5 = w5 + ?w5 = 1.563


    وهكذا، بعد تطبيق الخوارزمية، زاد وزننا بمقدار 0.063. الآن أقترح عليك أن تفعل الشيء نفسه بالنسبة لـ H2.

    حل

    إخراج H2 = 0.69
    w6 = -2.3
    ؟O1 = 0.148
    ه = 0.7
    ? = 0.3
    ?w6(i-1) = 0

    H2 = ((1 - 0.69) * 0.69) * (-2.3 * 0.148) = -0.07

    GRADw6 = 0.69 * 0.148 = 0.1

    W6 = 0.7 * 0.1 + 0 * 0.3 = 0.07

    W6 = w6 + ؟w6 = -2.2


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

    حل

    w1 = 0.45، ?w1(i-1) = 0
    w2 = 0.78، ?w2(i-1) = 0
    w3 = -0.12، ?w3(i-1) = 0
    w4 = 0.13، ?w4(i-1) = 0
    ?H1 = 0.053
    ?H2 = -0.07
    ه = 0.7
    ? = 0.3

    GRADw1 = 1 * 0.053 = 0.053
    GRADw2 = 1 * -0.07 = -0.07
    GRADw3 = 0 * 0.053 = 0
    GRADw4 = 0 * -0.07 = 0

    W1 = 0.7 * 0.053 + 0 * 0.3 = 0.04
    ?w2 = 0.7 * -0.07 + 0 * 0.3 = -0.05
    ?w3 = 0.7 * 0 + 0 * 0.3 = 0
    ?w4 = 0.7 * 0 + 0 * 0.3 = 0

    W1 = w1 + ?w1 = 0.5
    w2 = w2 + ?w2 = 0.73
    w3 = w3 + ?w3 = -0.12
    w4 = w4 + ؟w4 = 0.13


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

    حل

    أنا1 = 1
    أنا2 = 0
    ث1 = 0.5
    ث2 = 0.73
    ث3 = -0.12
    ث4 = 0.13
    ث5 = 1.563
    w6 = -2.2

    H1input = 1 * 0.5 + 0 * -0.12 = 0.5
    H1output = السيني (0.5) = 0.62

    H2input = 1 * 0.73 + 0 * 0.124 = 0.73
    H2output = السيني (0.73) = 0.675

    O1input = 0.62* 1.563 + 0.675 * -2.2 = -0.51
    O1output = السيني (-0.51) = 0.37

    O1ideal = 1 (0xor1=1)

    خطأ = ((1-0.37)^2)/1=0.39

    النتيجة - 0.37، الخطأ - 39٪.


    كما نرى بعد تكرار MOP مرة واحدة، تمكنا من تقليل الخطأ بمقدار 0.04 (6%). أنت الآن بحاجة إلى تكرار ذلك مرارًا وتكرارًا حتى يصبح خطأك صغيرًا بدرجة كافية.

    ماذا تريد أن تعرف أيضًا عن عملية التعلم؟

    يمكن تدريب الشبكة العصبية مع أو بدون معلم (التعلم الخاضع للإشراف وغير الخاضع للإشراف).

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

    تعليم غير مشرف عليه- هذا النوع من التدريب لا يتكرر كثيرًا. لا يوجد معلم هنا، وبالتالي فإن الشبكة لا تحصل على النتيجة المرجوة أو أن عددهم قليل جداً. في الأساس، هذا النوع من التدريب متأصل في الشبكات العصبية التي تتمثل مهمتها في تجميع البيانات وفقًا لمعلمات معينة. لنفترض أنك قدمت 10000 مقالة عن حبري وبعد تحليل كل هذه المقالات، ستكون الجمعية الوطنية قادرة على توزيعها إلى فئات تعتمد، على سبيل المثال، على الكلمات المتكررة. مقالات تتحدث عن لغات البرمجة، والبرمجة، وحيث توجد كلمات مثل Photoshop، والتصميم.

    هناك أيضًا طريقة مثيرة للاهتمام مثل تعزيز التعلم(تعزيز التعلم). تستحق هذه الطريقة مقالة منفصلة، ​​لكنني سأحاول وصف جوهرها بإيجاز. تكون هذه الطريقة قابلة للتطبيق عندما نتمكن، بناءً على النتائج الواردة من الجمعية الوطنية، من تقييمها. على سبيل المثال، نريد تعليم NS كيفية لعب PAC-MAN، وفي كل مرة تسجل NS الكثير من النقاط، سنقوم بتشجيعها. بمعنى آخر، نعطي للجمعية الوطنية الحق في إيجاد أي طريقة لتحقيق الهدف، طالما أنها تعطي نتيجة جيدة. وبهذه الطريقة تبدأ الشبكة في فهم ما يريدون تحقيقه منها وتحاول إيجاد أفضل طريقة لتحقيق هذا الهدف دون توفير البيانات من "المعلم" بشكل مستمر.

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

    باختصار عن كل طريقة:

    العشوائية(يُطلق عليها أيضًا أحيانًا عبر الإنترنت) تعمل الطريقة وفقًا للمبدأ التالي - تم العثور عليه، قم بتحديث الوزن المقابل على الفور.

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

    طريقة الدفعة الصغيرةهو وسيلة ذهبية ويحاول الجمع بين مزايا كلتا الطريقتين. المبدأ هنا هو: نقوم بتوزيع الأوزان بحرية إلى مجموعات وتغيير أوزانها بمجموع جميع الأوزان في مجموعة معينة.

    ما هي المعلمات الفائقة؟

    المعلمات الفائقة هي القيم التي يجب تحديدها يدويًا وغالبًا من خلال التجربة والخطأ. ومن هذه القيم:
    • لحظة وسرعة التعلم
    • عدد الطبقات المخفية
    • عدد الخلايا العصبية في كل طبقة
    • وجود أو عدم وجود الخلايا العصبية النزوح
    تحتوي الأنواع الأخرى من الشبكات العصبية على معلمات مفرطة إضافية، لكننا لن نتحدث عنها. يعد اختيار المعلمات الفائقة الصحيحة أمرًا مهمًا للغاية وسيؤثر بشكل مباشر على تقارب NN الخاص بك. من السهل جدًا فهم ما إذا كان الأمر يستحق استخدام الخلايا العصبية الإزاحة أم لا. يمكن حساب عدد الطبقات والخلايا العصبية المخفية فيها بالقوة الغاشمة بناءً على قاعدة واحدة بسيطة - كلما زاد عدد الخلايا العصبية، زادت دقة النتيجة وزاد الوقت الذي تقضيه في تدريبها بشكل كبير. ومع ذلك، تجدر الإشارة إلى أنه لا ينبغي عليك إنشاء شبكة عصبية تحتوي على 1000 خلية عصبية لحل المشكلات البسيطة. ولكن مع اختيار لحظة وسرعة التعلم، كل شيء أكثر تعقيدا قليلا. ستختلف هذه المعلمات الفائقة اعتمادًا على المهمة المطروحة وبنية الشبكة العصبية. على سبيل المثال، لحل XOR، يمكن أن يكون معدل التعلم في حدود 0.3 - 0.7، ولكن في الشبكة العصبية التي تحلل أسعار الأسهم وتتنبأ بها، يؤدي معدل التعلم فوق 0.00001 إلى ضعف تقارب الشبكة العصبية. لا يجب عليك الآن تركيز انتباهك على المعلمات الفائقة ومحاولة فهم كيفية اختيارها بدقة. سيأتي هذا مع الخبرة، لكن في الوقت الحالي أنصحك بالتجربة والبحث عن أمثلة لحل مشكلة معينة على الإنترنت.

    ما هو التقارب؟



    يشير التقارب إلى ما إذا كانت بنية NN صحيحة وما إذا تم تحديد المعلمات الفائقة بشكل صحيح وفقًا للمهمة. لنفترض أن برنامجنا يعرض خطأ NS عند كل تكرار في السجل. إذا انخفض الخطأ مع كل تكرار، فسنكون على المسار الصحيح وتتقارب NN لدينا. إذا كان الخطأ يقفز لأعلى ولأسفل أو يتجمد عند مستوى معين، فإن NN لا تتقارب. في 99% من الحالات، يتم حل هذه المشكلة عن طريق تغيير المعلمات الفائقة. نسبة الـ 1% المتبقية ستعني أن لديك خطأ في بنية الشبكة العصبية. ويحدث أيضًا أن التقارب يتأثر بإعادة تدريب NN.

    ما هو إعادة التدريب؟

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


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

    خاتمة

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

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

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

    قليلا من التاريخ

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

    كانت الخطوة المهمة التالية هي تطوير دونالد هب للخوارزمية الأولى لحساب ANN في عام 1949، والتي أصبحت أساسية لعدة عقود لاحقة. في عام 1958، طور فرانك روزنبلات البارسبترون، وهو نظام يحاكي عمليات الدماغ. في وقت ما، لم يكن لهذه التكنولوجيا نظائرها، ولا تزال أساسية في الشبكات العصبية. في عام 1986، في وقت واحد تقريبًا، وبشكل مستقل عن بعضهم البعض، قام العلماء الأمريكيون والسوفيات بتحسين الطريقة الأساسية لتدريب الإدراك الحسي متعدد الطبقات بشكل كبير. في عام 2007، شهدت الشبكات العصبية ولادة جديدة. قام عالم الكمبيوتر البريطاني جيفري هينتون لأول مرة بتطوير خوارزمية التعلم العميق للشبكات العصبية متعددة الطبقات، والتي تُستخدم الآن، على سبيل المثال، لتشغيل السيارات ذاتية القيادة.

    باختصار عن الشيء الرئيسي

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

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

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

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

    الوضع الراهن

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

    اليوم، سوق الشبكات العصبية ضخم - مليارات ومليارات الدولارات. كما تظهر الممارسة، فإن معظم تقنيات الشبكات العصبية في جميع أنحاء العالم تختلف قليلاً عن بعضها البعض. ومع ذلك، فإن استخدام الشبكات العصبية يعد نشاطًا مكلفًا للغاية، وفي معظم الحالات لا يمكن تحمله إلا من قبل الشركات الكبيرة. يتطلب تطوير الشبكات العصبية وتدريبها واختبارها قوة حاسوبية كبيرة، ومن الواضح أن اللاعبين الكبار في سوق تكنولوجيا المعلومات لديهم الكثير من هذه القوة. ومن بين الشركات الرئيسية الرائدة في مجال التطوير في هذا المجال قسم Google DeepMind، وقسم أبحاث Microsoft، وIBM، وFacebook، وBaidu.

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

    لماذا لا تزال الشبكات العصبية بعيدة عن الدماغ البشري؟

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

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

    الحد الأدنى

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

    بالنسبة لأولئك الذين يريدون معرفة المزيد

    • الحرب العصبية الكبرى: ما الذي تخطط له Google حقًا؟
    • كيف يمكن لأجهزة الكمبيوتر المعرفية أن تغير مستقبلنا