أهلا ومرحبا بكم في الخطوة الأخيرة من عمليتنا لجعل الدماغ.
لدينا وظيفة واحدة يجب تركها.
هذه هي الوظيفة الأمامية التي ستنشر الإشارات في جميع طبقات الشبكة العصبية ، بما في ذلك الطبقات
التلافيفية الثلاث والطبقة المتصلة بالكامل.
وبالتالي فإن هذه الوظيفة هي الوظيفة الأمامية تمامًا مثل وظيفة السيارة ذاتية القيادة ، باستثناء
هذه المرة علينا نشر الإشارات في الطبقات التلافيفية قبل الطبقة المتصلة بالكامل.
والخبر السار هو أننا فعلنا ذلك بالفعل في الخطوة السابقة مع وظيفة العد الخلايا العصبية
، لذلك لدينا بالفعل الكود لنشر الإشارة في الطبقات التلافيفية.
ولذا سيكون هذا سريعًا جدًا.
سنقوم فقط بدمج ما فعلناه هنا وما فعلناه للسيارة ذاتية القيادة ، وسنحصل على وظيفتنا
الأمامية لعقلنا.
لذلك دعونا نفعل هذا.
نقدم هنا وظيفة جديدة ، الوظيفة الأخيرة للدماغ ، وهذه الوظيفة هي الوظيفة الأمامية
التي تأخذ الحجة تمامًا مثل ما قبل self للإشارة إلى الكائن و x التي ستكون أولاً صور الإدخال
ثم سيتم تحديث X حيث تنتشر الإشارة في الشبكة العصبية.
حسنًا ، حسنًا ، كولن ثم دعنا ننتقل إلى داخل الدالة.
كما قلت للتو ، لقد صنعنا بالفعل الكود لنشر الإشارات في الطبقات التلافيفية الثلاث.
هذا هو بالضبط هذه الأسطر الثلاثة من التعليمات البرمجية.
لذلك أقوم بنسخها ولصقها هنا وهناك نذهب.
لدينا بالفعل انتشارنا للإشارة في الطبقات التلافيفية الثلاث ، ولذا نحتاج الآن فقط إلى
نشر الإشارة من الطبقات التلافيفية إلى الطبقة المخفية ثم في النهاية إلى الطبقة
المخرجة الموجودة في نهاية الشبكة العصبية.
وللقيام بذلك ، نحتاج أولاً إلى تسطيح الطبقة التلافيفية الثالثة التي حصلنا عليها هنا.
تذكر أن X في البداية هي صورة الإدخال ، ثم هنا تصبح X الطبقة التلافيفية الأولى ، ثم هنا تصبح X الطبقة
التلافيفية الثانية ، ثم هنا تصبح X الطبقة التلافيفية الثالثة.
إذن ، في هذه المرحلة ، x هي الطبقة التلافيفية الثالثة.
والآن للحصول على طبقة التسطيح ، نحتاج إلى تسطيح هذه الطبقة التلافيفية الثالثة x.
وللقيام بذلك ، سنفعل شيئًا مشابهًا تمامًا كما فعلنا هنا.
هذه المرة فقط لا نحتاج إلى عدد الخلايا العصبية.
نحتاج ببساطة إلى تسطيح القنوات في الطبقة التلافيفية الثالثة.
لذلك سيكون هذا أكثر بساطة ولكنه متشابه للغاية.
وللقيام بذلك بشكل جيد ، سنأخذ X مرة أخرى لأن X ستصبح طبقة التسطيح.
لذلك نحن نقوم بتحديث x فقط ، لذا x يساوي.
ثم نأخذ x مرة أخرى.
لكن هذا x هو x القديم الذي يمثل الطبقة التلافيفية الثالثة.
إذن نأخذ الطبقة التلافيفية الثالثة ، ثم النقطة ، ثم نأخذ وظيفة العرض التي نطبق عليها
وسيطين.
الأول هو x نقطة بحجم صفر.
مرة أخرى ، نأخذ دالة الحجم لأخذ جميع وحدات البكسل لجميع القنوات في الطبقة التلافيفية الثالثة
، ونضعها واحدة تلو الأخرى.
وهذا المتجه الضخم الذي سيصبح X هنا وهذا x سيصبح بعد ذلك مدخلات الشبكة المتصلة
بالكامل.
لكن هذا ليس كل ما نحتاج إلى إضافته هنا ، فاصلة وناقص واحد.
حتى تتمكن من العثور على هذه الحيلة في دروس PyTorch.
هذه هي الطريقة التي يمكنك بها تسطيح طبقة تلافيفية مكونة من عدة قنوات باستخدام وظيفة الحجم.
وبالطبع ، إذا كنت تريد مزيدًا من التفاصيل حول كيفية عمل ذلك ، فيمكنك الانتقال إلى دروس pytorch.
سأقدم الرابط.
والآن بعد أن حصلنا على طبقة التسطيح الخاصة بنا ، ستصبح هذه الطبقة
المسطحة مدخلاً لشبكة كلاسيكية متصلة بالكامل مع إرسال خطي بسيط للإشارة.
والآن لن نستخدم دالة الالتواء لتمرير الإشارة.
سنستخدم إرسالًا خطيًا مع الفئة الخطية ثم لكسر الخطية ، لأننا ، كما تعلمون
، نعمل مع الصور والصور لها علاقات غير خطية حيث سنستخدم دالة
مقوم لنتمكن من تعلم هذه العلاقات غير الخطية.
لذلك دعونا نفعل هذا.
هذه في الواقع هي الخطوة التالية.
والآن هذا تمامًا مثل ما فعلناه للسيارة ذاتية القيادة.
نأخذ X لأننا نريد تحديثه مرة أخرى.
نريد أن نحصل على الطبقة المخفية الآن.
لذا فإن أول ما نفعله هو أننا نتعامل مع اتصالنا الكامل.
FC واحد لأن الاتصال الكامل.
FC one هو الذي يربط طبقة التسطيح بالطبقة المخفية.
وبالتالي علينا أخذ FC واحد وتطبيقه على X الذي لدينا الآن ، وهو طبقة التسطيح.
ولا ننسى الذات بالطبع لأن FC one هو متغير لوظيفة init الخاصة بنا ، لذا فإن الذات تفعل
FC واحد x وهكذا تمرر الإشارة خطيًا من طبقة التسطيح إلى الطبقة المخفية.
لكننا الآن بحاجة إلى تنشيط هذه الخلايا العصبية مع كسر الخطية في نفس الوقت.
وهذا بالضبط ما نفعله بوظيفة تنشيط المعدل.
والآن ما يتعين علينا القيام به هو أن نأخذ الوحدة الوظيفية الخاصة بنا.
ومن هذه الوحدة الوظيفية نحن.
بالطبع الدالة المصححة لدينا هي القيمة ونضع الذات التي هي FC واحدة داخل الأقواس.
حسنا.
إذن ما يحدث في هذا السطر من التعليمات البرمجية هو أننا أولاً ننشر الإشارات من طبقة التسطيح إلى الطبقة
المخفية للشبكة المتصلة بالكامل.
ثم نقوم بتنشيط الخلايا العصبية لهذه الطبقة المخفية عن طريق كسر الخطية بوظيفة تنشيط
المعدل.
ونحصل على الطبقة المخفية التي هي X هنا.
في احسن الاحوال.
والآن أمامنا خطوة واحدة أخرى يتعين علينا القيام بها.
إنه ، بالطبع ، نشر الإشارة من الطبقة المخفية إلى طبقة الإخراج مع الخلايا العصبية الناتجة
النهائية.
وللقيام بذلك بشكل جيد ، هذا بسيط للغاية.
هذا تمامًا مثل ما فعلناه للسيارة ذاتية القيادة.
نأخذ اتصالنا الكامل الثاني.
FC two ونطبقه بالطبع على الخلايا العصبية للطبقة المخفية التي هي الآن x.
إذن ، x هنا هي الخلايا العصبية للطبقة المخفية.
يصبح هذا x و x القديمان بالطبع الخلايا العصبية الناتجة لطبقة الإخراج التي تحتوي على قيم Q.
وأخيرًا نعيد ببساطة الخلايا العصبية الناتجة وهي X بقيم Q.
مثالي جدا.
تهانينا.
لقد صنعنا دماغًا للتو.
لقد صنعنا للتو دماغ أعيننا بالعين وبقية الخلايا.
لذا تهانينا.
حان الوقت الآن لجعل الجسم هو الذي يحدد كيف سنلعب الإجراء بعد معالجة جميع
الإشارات في الدماغ.
هذه هي خطوتنا الكبيرة الثانية.
لنفعل ذلك في البرامج التعليمية التالية.
وحتى ذلك الحين ، استمتع.
أنا.