السلام عليكم
هذه الأيام أبحث في موضوع الشبكات العصبية
وعلمت بأن الشبكة مكونة من طبقة المدخلات (inputs) والطبقات المخفية (hidden) و طبقة المخرجات (output) وكل طبقة مكونة من خلايا
فهمت كيف يمكن تعليم خلية واحدة عن طريق إعطائها مدخلات والمُخرج المتوقع
لاكن المشكلة في كيف يمكن تعليم خلية داخل شبكة (مجموعة من الخلايا)
حيث مثلا خلية في الطبقة hidden يمكن أن نعطيها مدخلات وستعيد مخرجات ولكن الإشكال في أننا لا نعرف المخرج الصحيح الذي نريده
التعليقات
شاهد هذين الفيديون يشرحون لك تركيب الشبكات العصبية و كيف تتعلم
و
و بالنسبة لمشكلة Xor هذه الفيديو يشرح مشكلة XOR و كيفية حلها رياضيا
شاهدت فيديو xor لكن ال weights هو من قام بإعطائها صحيحة منذ البداية للشبكة
المشكلة في حالة لم تكن ال weights صحيحة كيف نجعل الشبكة تغير ال weights الخاصة بكل خلية شيئا فشيئا إلى أن تصبح الشبكة صحيحة ؟
يوجد شيء يسمي cost function و هو ان تقوم بحساب معدل الخطأ بين النتيجة المرادة و النتيجة الحالية، و ثم تقوم هذه التحديث الاوزان عشوائية لتقليل قيمة cost function و توجد العديد من الطرق لعمل التحديث مثل Gradient Descent لكي تكون اقل عشوائية و بطريقة مقادة لتقليل الخطأ
شرح مبسط لها
و الفيديو الثاني فوق يشرحها بشكل جيد ايضا
قلت فوق ان التحديثات عشواية، و لكن اعتقد انني لم اوضح كلامي بشكل صحيح
مثلا w1 = 3.7
و عند تحديثه نقوم بزيادة عدد معين او تقليل هذا العدد المعين من الوزن
العدد المعين يسمي معدل التعلم، مثلا ليكن 0.1
فإن الناتج بعد التحدث سيكون 3.8 او 3.6 و من يقرر كيف سيقوم بالتحديث هو معادلة Gradient Descent.
يبدو أن هذا عملية إيجاد الأوزان ، تواجه مشكلة مدة المعالجة الطويلة كلما زاد عدد الأوزان
على كل سأبحث في الموضوع أكثر
شكرا على التوضيح
في الشبكات العصبية لديك فقط معطيين
المدخلات للطبقة الأولى و المخرجات المتوقعة من الطبقة الأخيرة،
فكرة تدريب الشبكة تكون عن طريق اللعب بقيم الاوزان لكل نقطة في الشبكة إلى أن تصل لقيم مناسبة ،
بداية يمكنك اختيار قيم الاوزان بعشوائية، و من ثم تقوم بادخال المدخلات للطبقة الأولى في الشبكة و انتاج النتائج من الطبقة الاخيرة، ومن ثم تحسب قيمة الخطأ بين النتائج التي حصلت عليها و النتائج الصحيحة التي تتوقعها -طريقة الحساب تختلف باختلاف التطبيقات و الشبكات و المعادلات المستخدمة- و من ثم تقوم و باستعمال احد المعادلات الحسابية المعنية بإيجاد القيم الصغرى للدوال -gradient decent على سبيل المثال- لتعديل قيم الاوزان بشكل افضل
وهكذا تقوم بادخال القيم مرة أخرى لتجد مخرجات اقرب الصحة معطية قيم اصغر للاخطاء فتعدل الاوزن، ثم تبدأ الدورة من جديد، إلى أن تصل لقيم قريبة من المخرجات بشكل كاف، و بهذا يكون معك شبكة عصبية بقيم اوزان صحيحة قادرة على التنبؤ بالمخرج الصحيح من مدخلات لم تكن موجودة في مدخلات التدريب
هذا ملخص يشرح خوارزمية الإنتشار الإرتدادي (Back propagation)