خطوات الاستخدام
الخطوة 1: فهم بنية وحدة Inception. تتكون وحدة Inception من أربعة فروع متوازية: فرع الالتفاف 1×1، وفرع الالتفاف 3×3 (يسبقه عادةً التفاف 1×1 لتقليل الأبعاد)، وفرع الالتفاف 5×5 (يسبقه عادةً التفاف 1×1)، وفرع التجميع الأقصى (Max Pooling) يليه التفاف 1×1 لتوحيد عدد القنوات. في هذا الحاسب، نفترض أن المستخدم يُدخل عدد قنوات الخرج لكل فرع مباشرة (branch1Ch للالتفاف 1×1، branch3Ch للالتفاف 3×3، branch5Ch للالتفاف 5×5)، بينما فرع التجميع ينتج عدد قنوات يساوي inputChannels (بعد تطبيق التفاف 1×1). الهدف هو حساب إجمالي قنوات الخرج من الوحدة عن طريق جمع مخرجات جميع الفروع.
الخطوة 2: إدخال القيم المطلوبة. أدخل عدد قنوات الإدخال (inputChannels) وهو عادةً عدد القنوات القادمة من الطبقة السابقة. ثم أدخل عدد قنوات الخرج لكل فرع من الفروع الالتفافية: branch1Ch (للأبعاد 1×1)، branch3Ch (للأبعاد 3×3)، branch5Ch (للأبعاد 5×5). لاحظ أن القيم المثالية تعتمد على التصميم المعماري؛ فمثلاً في نموذج GoogLeNet، تكون هذه القيم صغيرة نسبياً لتجنب الزيادة الهائلة في عدد القنوات.
الخطوة 3: حساب المجموع والتفسير. إجمالي قنوات الخرج = branch1Ch + branch3Ch + branch5Ch + inputChannels (لأن فرع التجميع ينتج inputChannels قناة). النتيجة تمثل عدد القنوات التي ستدخل إلى الطبقات التالية. هذا العدد يجب أن يكون معقولاً لضمان كفاءة الحساب؛ فالقيم الكبيرة جداً قد تؤدي إلى استهلاك ذاكرة عالي وبطء في التدريب.
أمثلة محلولة
تطبيقات عملية على معاملات وحدة Inception بخطوات الحل كاملة.
الحل
لنفترض أن عدد قنوات الإدخال = 64، واخترنا branch1Ch = 32، branch3Ch = 64، branch5Ch = 16. إذن إجمالي قنوات الخرج = 32 + 64 + 16 + 64 = 176 قناة. هذا الرقم معقول للمراحل المبكرة. يمكن تفسير أن فرع 1×1 يلتقط التفاصيل الدقيقة، وفرع 3×3 يلتقط الأنماط المتوسطة، وفرع 5×5 يلتقط الأنماط الكبيرة، والتجميع يحافظ على المعلومات المكانية. مجموع هذه القنوات يسمح للشبكة بتعلم تمثيلات غنية.
الحل
بفرض inputChannels = 256، branch1Ch = 128، branch3Ch = 256، branch5Ch = 64. الإجمالي = 128 + 256 + 64 + 256 = 704 قناة. هذا العدد كبير ويتطلب ذاكرة عالية، لكنه مناسب لاستخراج ميزات عالية المستوى. يجب الانتباه إلى أن زيادة عدد القنوات قد تؤدي إلى overfitting، لذا تستخدم تقنيات مثل Batch Normalization وDropout.
أمثلة محسوبة
قيم مُدخَلة ونتيجة محسوبة فعليًا بواسطة معاملات وحدة Inception.
وحدة Inception مبكرة: 176 قناة خرج (112 التفافية + 64 تجميع)
- قنوات الإدخال
- 64
- قنوات الفرع 1x1
- 32
- قنوات الفرع 3x3
- 64
- قنوات الفرع 5x5
- 16
وحدة متأخرة بعروض كبيرة: 704 قناة خرج
- قنوات الإدخال
- 256
- قنوات الفرع 1x1
- 128
- قنوات الفرع 3x3
- 256
- قنوات الفرع 5x5
- 64
نفس الفروع الالتفافية مع إدخال أعرض: 208 قناة
- قنوات الإدخال
- 96
- قنوات الفرع 1x1
- 32
- قنوات الفرع 3x3
- 64
- قنوات الفرع 5x5
- 16