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