خطوات الاستخدام
أدخل عدد الخلايا العصبية في الطبقة السابقة (inputNeurons). هذا العدد يمثل أبعاد متجه المدخلات الذي يتم تغذيته إلى الطبقة المتصلة بالكامل. كل خلية عصبية في الطبقة السابقة ترتبط بكل خلية عصبية في الطبقة الحالية، مما يحدد عدد عمليات الضرب المطلوبة.
أدخل عدد الخلايا العصبية في الطبقة الحالية (outputNeurons). هذا العدد يمثل أبعاد متجه المخرجات، وهو عدد الخلايا العصبية في الطبقة الحالية. كل خلية عصبية مخرجة تتطلب عملية جمع لكل مدخل بعد عملية الضرب.
يتم حساب FLOPs باستخدام الصيغة: FLOPs = 2 × inputNeurons × outputNeurons. يعود السبب في الضرب في 2 إلى أن كل خلية عصبية مخرجة تتطلب عملية ضرب (بين المدخل والوزن) ثم عملية جمع (لتجميع النتائج). هذه العملية تُعرف باسم الضرب-الجمع (Multiply-Accumulate) وتُحتسب على أنها عمليتان للفاصلة العائمة.
تُظهر النتيجة إجمالي عدد عمليات الفاصلة العائمة (FLOPs) المطلوبة لتنفيذ الطبقة المتصلة بالكامل. يُستخدم هذا المقياس لتقييم التعقيد الحسابي للنموذج، خاصة في الشبكات العصبية العميقة، حيث يساعد في تقدير وقت التدريب والتنبؤ واستهلاك الطاقة.
أمثلة محلولة
تطبيقات عملية على عمليات الطبقة المتصلة بالكامل بخطوات الحل كاملة.
الحل
لحساب FLOPs: نستخدم الصيغة FLOPs = 2 × inputNeurons × outputNeurons = 2 × 256 × 128 = 2 × 32768 = 65536 عملية فاصلة عائمة. إذا كان لدينا دفعة (batch) بحجم 64، فإن إجمالي FLOPs للدفعة يصبح 64 × 65536 = 4,194,304 عملية. هذا يعني أن الطبقة تتطلب حوالي 4.2 مليون عملية فاصلة عائمة لمعالجة دفعة كاملة.
الحل
للطبقة الأولى: FLOPs1 = 2 × 784 × 256 = 2 × 200704 = 401408. للطبقة الثانية: FLOPs2 = 2 × 256 × 10 = 2 × 2560 = 5120. المجموع = 401408 + 5120 = 406528 عملية فاصلة عائمة. هذا يوضح أن الطبقة الأولى تستهلك الجزء الأكبر من العمليات بسبب عدد المدخلات الكبير. عند استخدام دفعة بحجم 128، يصبح المجموع 128 × 406528 = 52,035,584 عملية.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة عمليات الطبقة المتصلة بالكامل.
طبقة 256 إلى 128: 65,536 عملية (65,664 مع الانحياز)
- عدد عصبونات الإدخال
- 256
- عدد عصبونات الإخراج
- 128
رأس MNIST 784 إلى 256: 401,408 عملية
- عدد عصبونات الإدخال
- 784
- عدد عصبونات الإخراج
- 256
طبقة الخروج 256 إلى 10: 5,120 فقط
- عدد عصبونات الإدخال
- 256
- عدد عصبونات الإخراج
- 10