مرحبًا ومرحبًا بكم في برنامج Python التعليمي هذا.
الآن علينا تحديد المتغيرات الخمسة لوظيفة init هذه.
هذه هي التلافيفات الثلاثة والوصلتان الكاملتان.
لنبدأ بالأول.
الالتواء الأول يطبق الالتواء على الصور المدخلة.
هذه هي الصور الأصلية.
والآن سترون كيف سيصبح كل شيء بهذه البساطة لإنشاء هذا الالتفاف.
حسنًا ، ما يتعين علينا فعله هو في الواقع إنشاء كائن من فئة معينة ، وهذه الفئة
مأخوذة من RN ومن ثم يمكن للفئات.
إلى DH.
لأننا نعمل مع صورتين DH.
والآن ، كما ترى ، نحتاج إلى إدخال العديد من الحجج.
الأول موجود في القنوات ، لذلك دعونا نضعه في القنوات.
والثاني هو خارج القنوات.
والثالث هو حجم النواة ويتم تدمير ما تبقى منها ، مما يؤدي إلى تبطين مجموعات التمدد والتحيز.
ولدينا قيم افتراضية لكل هذه القيم.
لذلك لن نقوم بإدخالها.
سنحتفظ بالقيم الافتراضية.
لكن المهم هو هذه الحجج الثلاث في القنوات والقنوات البديلة وحجم العمود.
فهل تخمن ما يتوافقون معه؟
حسنًا ، ببساطة في القنوات تتوافق مع مدخلات الالتفاف والقنوات البديلة تتوافق
مع ناتج الالتواء.
إذن في القنوات ، ماذا سيكون؟
حسنًا ، بكل بساطة ، سيكون هذا هو عدد القنوات في صورنا.
وفي الواقع ، سنعمل مع الصور بالأبيض والأسود لأننا في الأساس لا نحتاج إلى ألوان
للتعرف على الوحوش.
الذكاء الاصطناعي قادر تمامًا على التعرف على الوحوش بالأبيض والأسود ، لذلك لا نحتاج إلى الألوان.
سوف يتعرف عليهم فقط من خلال شكلهم ، وبالتالي سنستخدم قناة واحدة.
إذن ، هناك قناة واحدة عندما يكون لديك صور بالأبيض والأسود وثلاث قنوات عندما يكون لديك صور ملونة.
وبالتالي ، نظرًا لأننا نعمل مع الصور بالأبيض والأسود في القنوات ، فسيكون ذلك مساويًا
لواحد.
ثم قنواتنا.
لذا فإن قنواتنا ستكون مساوية للصور التي تريدها في الطبقة التلافيفية ،
وهي ناتج هذا الالتفاف.
وبالتالي فإن هذا يساوي عدد الميزات التي تريد اكتشافها في صورك الأصلية ، لأننا
سننشئ صورة واحدة لكل ميزة نريد اكتشافها لأنك تعرف أساسًا كيفية عملها.
نقوم بتطبيق كاشف ميزة واحد على صورة الإدخال لاكتشاف ميزة معينة في صورة الإدخال وبالتالي
عدد صور الإخراج.
إليك عدد الميزات التي نريد اكتشافها.
إذن السؤال الآن هو كم عدد الميزات التي نريد اكتشافها؟
حسنًا ، من الممارسات الشائعة أن تبدأ بـ 32 جهازًا للكشف عن الميزات.
وهذا يقودنا إلى 32 صورة معالجة في هذه الطبقة التلافيفية الأولى.
إذن المدخل هو صورة واحدة بالأبيض والأسود ، صورة حقيقية.
والمخرج في الطبقة التلافيفية الأولى هو 32 صورة معالجة.
ومن خلال المعالجة ، أعني بالطبع أنه تم تطبيق الالتفاف على الصورة المدخلة للحصول على 32 صورة
جديدة مع الميزات المكتشفة.
ثم نحتاج إلى تحديد حجم النواة ، وهو ليس سوى أبعاد المربع الذي
يمر عبر الصورة الأصلية.
وفي الممارسة الشائعة ، نستخدم إما اثنين في اثنين أو ثلاثة في ثلاثة أو خمسة في خمسة
، ولأول واحد سنستخدم كاشف خاص بخمسة في خمسة.
هذا هو مكشاف ميزة سيكون له خمسة في خمسة أبعاد.
وبعد ذلك سنقوم بتصغير حجم هذه النواة للطبقات التلافيفية التالية.
وبالحديث عن ذلك ، هذا بالضبط ما سنفعله الآن.
سنقوم بنسخ هذا لتحديد الالتفاف الثاني.
وبالتالي ، أنا أسند ذلك هنا والآن.
إنه مضحك للغاية وسهل للغاية.
إنه مثل الدومينو.
قناة الإدخال للطبقة التلافيفية الثانية هي قناة الإخراج للطبقة التلافيفية الأولى.
إذن هذا العدد من المخرجات 32 هنا هو نفس عدد المدخلات 32 هنا.
وذلك لأن لدينا 32 صورة في الطبقة التلافيفية المدخلة لهذا الالتواء الثاني.
وهكذا يتم تطبيق الالتفاف الثاني على هذه الطبقة التلافيفية الثانية لإرجاع طبقة تلافيفية ثالثة.
والسؤال الآن هو كم عدد الصور الجديدة التي نريدها بينما نفس الشيء ، فلنقم بإنشاء 32 صورة جديدة.
32 هو في الواقع رقم شائع جدًا في الشبكات العصبية التلافيفية.
إذا نظرت إلى الأبنية ، ستجد 32 في العديد منها.
ثم بالنسبة لجانب النواة ، حسنًا ، نحتاج إلى تقليل حجم النواة ، وهذا هو أبعاد كاشف
الميزات لدينا.
والآن سننتقل من خمسة إلى عيون بأربعة أو حتى ثلاثة ، وبعد ذلك سننتقل إلى أعين أصغر.
حسنا.
لذا فإن الالتفاف الثاني جاهز.
يأخذ كمدخلات ، 32 صورة معالجة ، كل واحدة تكتشف الميزة الأولى لصورة الإدخال الأصلية.
ويقوم بإنشاء 32 صورة جديدة بفضل هذه الأبعاد المخفّضة لجهاز الكشف عن الميزات.
والآن دعونا ندفع هذا أكثر.
لذلك أقوم بنسخ هذا ولصقه هنا لإنشاء التفاف ثالث لاكتشاف بعض الميزات.
والآن هذه هي نفسها قنوات الإدخال.
هذا هو عدد الصور المدخلة على يسار وصلة الالتفاف وهذا هو عدد الصور المعالجة
التي كانت على يمين وصلة الالتفاف السابقة.
هذا هو 32.
لذلك نحتفظ بـ 32 هنا.
هذا ممتاز.
والسؤال الآن ، مرة أخرى ، كم عدد الصور الجديدة التي نريد اكتشافها؟
سنأخذ الآن 64 هناك لـ 64 ناتجًا ، صور معالجة.
وبالطبع ، نأخذ الآن حجم نواة أصغر وسنأخذ اثنين.
ومن ثم فهذه بنية كلاسيكية للغاية لطبقة تلافيفية وهي فعالة للغاية في الحصول على مستوى
عالٍ من اكتشاف الميزات داخل الصور.
حسنا.
والآن بعد أن أصبح لدينا ثلاث طبقات تلافيفية ، بفضل روابط الالتفاف الثلاثة لدينا هنا ، حسنًا
، حان الوقت الآن للحصول على صلاتنا الكاملة التي أذكرها.
سنأخذ هذا المتجه الضخم الذي حصلنا عليه بعد تسطيح كل الـ 64 مرة ، 32 ضرب 32.
مرة أخرى ، الصور التي حصلنا عليها من كل هذه التلافيف.
لذلك قمنا بتسوية جميع وحدات البكسل في هذه الصور ويمكننا متجهًا ضخمًا واحدًا سيصبح مدخلات
لشبكة عصبية جديدة متصلة بالكامل.
وهذا عندما يتعين علينا إجراء هذه الروابط الكاملة بين هذا المتجه الضخم والطبقة المخفية
أولاً ، ثم اتصال كامل ثانٍ بين الطبقة المخفية وطبقة الإخراج المكونة من الخلايا العصبية
الناتجة ، كل واحدة تتوافق مع قيمة q من الممكن أجراءات.
لذلك دعونا نجعل هاتين الوصلتين الكاملتين.
أنت تعرف كيف تفعل ذلك.
هذا بالضبط ما فعلناه للسيارة ذاتية القيادة.
لذلك دعونا نفعل ذلك مرة أخرى.
حسنًا ، أولاً نأخذ وحدة RN الخاصة بنا ، ثم نأخذ الفئة الخطية لأن الاتصال الكامل الذي ننشئه هو كائن
من الفئة الخطية مرة أخرى.
ثم بين قوسين ، حسنًا ، هذا هو نفسه أولاً.
أدخل ميزات الإدخال ، أي عددها ثم ميزات الإخراج.
وبالتالي فإن ميزات الإدخال لأول اتصال كامل ، ماذا سيكون؟
حسنًا ، سيكون هذا مساويًا لعدد البكسلات الموجودة وهذا المتجه الضخم الذي تم الحصول عليه بعد
تسوية جميع الصور المعالجة بعد التلافيف الثلاثة.
إذن ما هو هذا الرقم؟
حسنًا ، في الواقع ، هناك خدعة هنا.
من الصعب الحصول على هذا الرقم.
نحتاج بالفعل إلى عمل دالة لحساب هذا الرقم.
ليس لدينا متغير سيحصل على هذا الرقم.
علينا أن نحسبها.
وبالتالي ، ما سنفعله الآن والآن ، من المهم جدًا فهم عقلية البرمجة التي يجب
أن تكون لدينا.
أحاول أن أعود إلى العقلية التي يجب أن تفكر بها الآن لتتغلب على هذه العقبة.
لأنه في المرة الأولى التي قد تقول فيها ، مرحبًا ، ليس لدي هذا العدد من الخلايا العصبية في المتجه المسطح
، فماذا أفعل؟
انا عالق هنا.
حسنًا ، لا ، في الواقع ، لأن ما يمكنك فعله الآن هو ببساطة إدخال أي اسم هنا يمثل هذا العدد من الخلايا
العصبية.
لذلك أنا أسميها عدد الخلايا العصبية.
عدد الخلايا العصبية.
وبعد ذلك سنقوم ببساطة بعمل دالة ترجع في هذا العدد من متغير الخلايا العصبية ، هذا العدد من البكسل
الذي نبحث عنه.
لذلك يمكننا فعل ذلك تمامًا.
يمكننا وضع هذا المتغير بالكامل.
حسنًا ، بالطبع سوف نتلقى تحذيرًا لأنه غير موجود بعد ، لكننا سننشئه بعد ذلك باستخدام
الوظيفة ويسمح لنا تمامًا بفعل ذلك حتى إذا جاءت الوظيفة بعد ذلك.
إذن ، هذا هو تفكير البرمجة النموذجي الذي يجب أن يكون لديك عندما تواجه هذا النوع من العوائق.
حسنًا ، يمكنك عمل دالة للحصول على ما ينقصك.
حسنا.
ثم خارج الميزات والميزات ، هذا هو عدد الخلايا العصبية في الطبقة المخفية وهذه
المرة متروك لك.
يعتمد ذلك على بنية الشبكة العصبية التي تريد إنشاءها.
وبالتالي فإن العدد الجيد سيكون من أجل عدد صغير.
لذلك على سبيل المثال ، 40 خلية عصبية قد تكون بخير.
يمكننا محاولة زيادته.
إذا لم يكن التدريب بطيئًا جدًا ، يمكنك محاولة زيادته.
ربما سيحسن ذلك التوقعات.
لكن لنبدأ بـ 40.
ربما سنزيد ذلك بعد ذلك.
حسنا.
هذا كل شيء لأول اتصال كامل.
ثم سنقوم بنسخ هذه الصفحة هنا للوصلة الكاملة الثانية.
هذا هو الاتصال بين الطبقة المخفية وطبقة الإخراج.
وهكذا تصبح الميزات الداخلية هنا هي الميزات الخارجية للطبقة السابقة وهي 40.
لذلك نضع هنا 40.
هذا بالطبع هو عدد الخلايا العصبية في الطبقة المخفية وستكون ميزاتنا هنا
مساوية لعدد الخلايا العصبية الناتجة في شبكتنا العصبية.
وبما أن كل خلية عصبية ناتجة تتوافق مع قيمة رئيسية واحدة وقيمة رئيسية واحدة تتوافق مع إجراء واحد ، حسنًا
، عدد الخلايا العصبية الناتجة هنا ، بالطبع ، هو عدد الإجراءات.
ولدينا متغير واحد لهذا ، وهو الإجراءات العددية.
وبالتالي نقوم هنا بإدخال الرقم.
أجراءات.
وها نحن ذا.
تهانينا.
حددنا بنية شبكتنا العصبية.
تتكون شبكتنا العصبية من ثلاث طبقات تلافيفية وطبقة واحدة مخفية.
كل هذا في شبكة سي إن إن كبيرة وهذا.
ستكتشف CNN الميزات الموجودة في اللعبة حتى يعرف الذكاء الاصطناعي ما عليه القيام به ، وأين يجب أن
يتجه ، وأين يحتاج إلى التصوير.
إذن ها نحن ذاهبون لهذه الخطوة.
هذه هي الخطوة الأولى المهمة جدًا التي تم القيام بها.
الآن سننتقل إلى الخطوة التالية ، وهي ، بالطبع ، الحصول على هذا العدد من الخلايا العصبية الذي لا
يزال مفقودًا.
لهذا السبب في الواقع لدينا التحذير هنا.
عدد غير معروف من الخلايا العصبية ، ولكن لا داعي للقلق.
سنقوم الآن بعمل دالة تعيد عدد الخلايا العصبية في هذا المتجه الضخم ، وسنضع هذا
الرقم في متغير نسميه الخلايا العصبية الرقمية.
لذلك دعونا نفعل هذا في البرنامج التعليمي التالي.
هذه خطوتنا التالية.
وحتى ذلك الحين ، استمتع.
أنا.