مرحبًا ومرحبًا بكم في برنامج Python التعليمي هذا.
سنقوم الآن بعمل الوظيفة الأمامية التي ستعيد توجيه الإشارة في جميع
أنحاء الدماغ من البداية مع إدخال الصور حتى الإخراج ، والتي ستحتوي على قيم جديلة
للممثل وقيمة V وهي القيمة المأخوذة بواسطة وظيفة V للناقد.
لذا سيكون الأمر مشابهًا تمامًا لما فعلناه مع Doom ، لكن شيئًا ما سيتغير هذه المرة.
الشيء الرئيسي الذي سيتغير هو أنه لدينا الآن جهاز صراف آلي في الدماغ ، لذلك علينا جميعًا أن
نفعل شيئًا أكثر لنشر الإشارة وأن نكون حذرين في ذلك.
والشيء الآخر الأقل أهمية ، ولكن لا يزال هذا يتغير مقارنة بالسابق ، هو
أننا لن نستخدم وظيفة تنشيط الحلقة ، كما تعلمون ، وظيفة التنشيط غير الخطي
، لكننا سنستخدم الحلقة ، وهي نوع من وظيفة أكثر تطورا.
سنرى ذلك في وثائق بايثون.
لذلك دعونا نفعل هذا.
دعونا نجعل هذه الوظيفة.
نبدأ مع مواطنه.
هذه في الواقع الوظيفة الأخيرة لهذه الفئة النشطة.
لذلك سوف نسميها للأمام مثل المرة السابقة.
وهذه الوظيفة الرابعة ستأخذ ذاتيًا الكائن لأننا سنستخدم الكائن والمدخلات.
من المهم جدًا أن نفهم ماذا ستكون هذه المدخلات؟
لن تكون هذه مدخلات الصور فحسب ، بل ستحتوي هذه المدخلات أيضًا على العقد المخفية وعقد
الخلية الخاصة بالفريق.
لهذا السبب أردت أن أوضح أن بعض الأشياء ستتغير.
الآن ، في الأساس ، نحن ندرس في الوظيفة الأمامية العقد المخفية في العقد الخلوية
لـ STM.
وبالحديث عنهم الآن ، ما سنفعله هو فصل هذين المُدخَلين في هذه الحجة ، والمدخلات في الدالة إلى الأمام
، وكيف يمكننا الفصل بينهما؟
حسنًا ، يمكننا أن نتذكر متغيرًا جديدًا ، وهو الصور المدخلة.
هذه المرة ، الصور المدخلة ونفصلها عن المجموعة H و X و C x ، وهي عبارة عن حالتين مخفيتين
وحالات الخلية في lsg m ، لذا فإن h x هي الحالات المخفية و c x هي حالات الخلية
.
حسنا.
وهذا سيساوي المدخلات.
هذه هي الحجة هنا.
الآن نقوم بهذا الفصل وبالتالي يمكننا البدء في نشر الإشارة في جميع أنحاء الدماغ.
وللقيام بذلك ، سوف نحصل على الطبقات المختلفة تباعا من الأولى إلى الأخيرة
باستخدام الوصلات التي هي التلافيف ، ووصلة lshtm والاتصال الخطي هنا ، والوصلات الكاملة.
لذلك دعونا نفعل هذا الآن.
ستكون كما كانت من قبل.
سنحصل على الطبقة الأولى التي سنطلق عليها اسم X ، ولحصول على هذه الطبقة الأولى ، نحتاج
إلى نشر الإشارة من الإدخال إلى هذه الطبقة الأولى ، وبالتالي نحتاج إلى استخدام الالتفاف
الأول لأنه هذا الالتواء الأول الذي ينشر الإشارة من الصور المدخلة إلى الطبقة الأولى.
إذن ما سنفعله الآن هو نسخ هذا لأن هذا هو الالتفاف الأول الذي نقوم بلصقه هنا ونطبق
هذا الالتفاف الأول على صور الإدخال لدينا والتي هي الآن المدخلات الصحيحة.
وها نحن ذا.
يقوم ذلك بنشر الإشارة من الصور المدخلة إلى الطبقة الأولى.
لكن تذكر الآن ، علينا استخدام وظيفة تنشيط غير خطية لكسر الخطية حتى نتمكن
من تعلم العلاقات غير الخطية داخل الصور.
وللقيام بذلك ، سنستخدم ، كما قلنا ، وظيفة تنشيط ALU التي نحن على وشك رؤيتها
الآن في PyTorch doc.
لكن قبل ذلك ، دعنا نحصل عليه.
للحصول عليها ، يبدو الأمر كما لو أننا نأخذ الوحدة الوظيفية التي تحتوي على مقطع قصير
F ثم نقطة ثم Alu ثم نضع كل هذا بين قوسين لأننا نريد تنشيط الخلايا العصبية لهذه الطبقة الأولى هنا بشكل غير خطي والتي نحصل
عليها من خلال التطبيق الالتفاف الأول على المدخلات.
الآن دعنا نذهب إلى PyTorch ، دوج ، لفهم ما هو ALU.
هنا يمكنك الوصول إليه إلى pytorch dot org slash doug slash rn dot html.
ومن ثم عليك أن تجد عمليات التنشيط غير الخطية.
وفي وظيفة التنشيط غير الخطية ستجد جيدًا ، لو ، هذه هي الطريقة الكلاسيكية التي نعرفها.
إذن ، هو مجرد حد أقصى للصفر و x ، لديك التمثيل البياني في الاعتبار ، ثم لديك إصدار ستة ، وهو
هذا.
لذلك قليلا أكثر تطورا.
وها نحن ذا.
لدينا لو.
وكما ترى ، الحلقة هي حلقة بالإضافة إلى عنصر إضافي.
لذلك فهي مثل قيمة أكثر تعقيدًا.
وهذا هو ما نستخدمه لتنشيط الخلايا العصبية في الطبقات المختلفة بشكل غير خطي.
وبالمناسبة ، فإن وظيفة تنشيط الحلقة هذه تسمى الوحدة الخطية الأسية.
لذا ها نحن ذا.
نطبق الحلقة على الطبقة التلافيفية الأولى والآن ستكون الأمور سهلة.
سننتقل إلى الانتشار الرابع التالي للإشارة ، والذي يبدأ من الطبقة التلافيفية الأولى
إلى الطبقة التلافيفية الثانية ، والتي سنسميها X ، لأننا في الأساس نقوم بتحديث X الآن ، x هي
أول تلافيف طبقة ومن خلال نشر الإشارة من الطبقة التلافيفية الأولى إلى الطبقة التالية
، ستصبح x الطبقة التلافيفية التالية.
ومن أجل نشر الإشارة من الطبقة التلافيفية الأولى إلى الطبقة الثانية ، يمكننا
ببساطة نسخها ولصقها هنا واستبدال conf واحد بـ conf اثنين.
والآن بالطبع لا يتم تطبيق الالتفاف الثاني على الصور المدخلة بل على x.
هذه هي الطبقة التلافيفية الأولى الموجودة هنا.
حسنًا ، رائع.
الآن نحصل على الطبقة التلافيفية الثانية ، والآن لننشر الإشارة مرة أخرى من الطبقة التلافيفية الثانية إلى
الطبقة الثالثة.
وبالتالي ، يمكننا نسخ هذا مباشرة ووضعه في الأساس هنا والتعويض عن اثنين في ثلاثة.
هناك نذهب.
وآخرها الآن لنشر الإشارة من الطبقة التلافيفية الثالثة إلى الطبقة الرابعة والأخيرة
، يمكننا فقط نسخ هذا مرة أخرى ، ولصقه هنا واستبدال المعسكر ثلاثة بأربعة.
هناك نذهب.
لذلك دعونا نلخص.
نبدأ بمدخلاتنا.
نطبق الالتفاف الأول للحصول على الطبقة التلافيفية الأولى.
ثم نطبق الالتفاف الثاني على الطبقة التلافيفية الأولى للحصول على الطبقة التلافيفية
الثانية.
ثم نطبق الالتفاف الثالث على الطبقة التلافيفية الثانية للحصول على الطبقة التلافيفية الثالثة.
وأخيرًا قمنا بتطبيق الالتفاف الرابع على الطبقة التلافيفية الثالثة للحصول على الطبقة التلافيفية
الرابعة ، وهذه هي الطريقة التي تنتشر بها الإشارة عبر عيون الذكاء الاصطناعي.
لذا ها نحن ذا.
لدينا الآن إشارة الخرج بعد التلافيف الأربعة والآن أنت تعرف ماذا تفعل.
نحتاج إلى توسيع إشارة الخرج هذه بالكامل في متجه أحادي الأبعاد.
هذه هي خطوة التسطيح.
لذلك سنقوم بتحديث X مرة أخرى.
سيصبح X الآن هذا المتجه ذو البعد الواحد المسطح.
وللقيام بذلك ، علينا أن نأخذ X ، وهي الطبقة التلافيفية الرابعة
x نقطة حتى الآن.
ثم نستخدم الدالة Vue ونُدخل أولاً ناقص واحد لنقول إننا نريد.
المتجه أحادي البعد.
ثم كحجة ثانية ، نحتاج إلى إدخال عدد العناصر في هذا المتجه ، أي تذكر
، 32 مرة ، ثلاثة في ثلاثة ، وبالتالي فإننا ندخل هنا 32.
ضرب ثلاثة ضرب ثلاثة.
هناك نذهب.
الآن لدينا المتجه المسطح الخاص بنا ويتم تنفيذ خطوة التسطيح.
في احسن الاحوال.
الآن دعنا نعتني بالجزء الأخير.
لذا كما فهمت ، فإن Lshtm يأخذنا إلى المدخلات.
المتجه المسطح ، هذا المتجه أحادي الأبعاد المكون من ثلاثة ، مرتين ، ثلاثة في ثلاثة عناصر.
لذلك فهو جاهز بالفعل ومجهز جيدًا لـ Lshtm.
أصبح Lshtm جاهزًا الآن لأخذ هذا المتجه المسطح كمدخل ، وبالتالي يمكننا أخذ
lshtm والمدخلات كحجة.
أول X عبارة عن متجه مسطح جاهز هذا هو الأشعة السينية التي أنفقناها للتو.
ولكن أيضًا وهنا يأتي دور هذا الثنائي.
نحتاج إلى إدخال H و X و C و x ويمكننا استخدام x ونرى x هنا لأننا قمنا بعمل الفواصل من وسيطة
الإدخال الأصلية للدالة الأمامية.
لذا lshtm x متجه الإخراج المسطح حتى التلافيف الأربعة وهذا الجدول للعقد المخفية
والخلية.
لذا ها نحن ذا.
إذن يجب ألا ننسى الذات لأن lshtm هو متغير في وظيفة النهاية.
لذا فإن المتغيرات تعلق على الكائن بحيث يكون ذاتيًا LCM وهذا سيعود في الواقع إلى مخرجات جدول من اثنين من المخرجات
والتي ستكون عقد صحة الإخراج وعقد خلية الإخراج.
إذن فهي في الواقع مجموعة ، وبالتالي يمكننا تحديث h x العقد المخفية ورؤية x العقد الخلوية لأن هذا
هو بالضبط ناتج lshtm هذا هنا.
رائعة.
لذلك نحن على وشك الانتهاء الآن.
الآن بعد أن أصبح لدينا مخرجات فريق LLS ، نحتاج إلى الحصول على المخرجات المفيدة لأن الملاحظات
الهندوسية فقط هي المفيدة في الواقع ، وبالتالي سنحصل عليها بتحديث x مرة أخرى ، وستكون x الآن
مساوية لـ h x.
العنصر الأول من الزوج الناتج لـ LSB x يساوي h x وقد انتهينا تقريبًا.
تذكر أن لدينا عقلين ، عقل للممثل وعقل للناقد.
وبالتالي علينا إخراج إشارات لإرجاع إشارة خرج الممثل وإشارة خرج
الناقد.
وبالتالي ، ما سنفعله الآن هو إرجاع إشارات الخرج هاتين.
وكيف يمكننا فعل ذلك؟
حسنًا ، هذا سهل جدًا.
نحتاج ببساطة إلى أخذ اتصالاتنا الخطية الكاملة.
لكن بشكل منفصل ، هناك الارتباط الخطي الكامل للناقد والاتصال الكامل الخطي
للممثل.
ونطبق كل من هذه الوصلات على المخرج x الذي يمثل الناتج المفيد لـ lshtm وسيكون هذا
كل ما سيكون إشارة الخرج.
ها نحن ذا ، لنفعل ذلك.
نأخذ أنفسنا أولاً في موضوعنا ، ثم نحصل على اتصال القدم الخطي للناقد ،
وهو عبارة عن خط سفلي للناقد نطبقه على x ، إشارة خرج lshtm ثم نأخذ الذات مرة
أخرى ، ثم ذلك ، ثم نأخذ الاتصال الكامل الخطي للممثل ، وهو الممثل الخطي
الذي نطبقه على x.
هناك نذهب.
لذلك هذا هو الشيء الرئيسي الذي نحتاجه.
ولكن بعد ذلك سنقوم أيضًا بإرجاع الجزء العلوي من جميع الملاحظات المخفية ونرى X لبيع الملاحظات لأننا
سنستخدمها لاحقًا في الحلقة الرجعية لمشهد LSB.
حسنًا ، رائع.
لقد انتهينا الآن من الدماغ أو هل ينبغي أن أقول الأدمغة ، لأننا صنعنا بالفعل عقلين ، أحدهما
للممثل والآخر للناقد.
لذا تهانينا على صنع أدمغة a3c.
آمل ألا يكون ذلك صعبًا جدًا على الجمع بين CNN و LCM ، ولكن الخبر السار على الأقل هو
أننا نعمل حقًا مع أفضل وأقوى نموذج.
لذا ها نحن ذا.
لقد انتهينا بالفعل من نموذج الملف الأول ، تلك الكعكة.
وهكذا في البرنامج التعليمي التالي ، سنهتم بالمحسِّن لأننا سنصنع مُحسِّنًا
منفصلاً.
لن نقوم بترميز كل سطر من التعليمات البرمجية لأن الكثير منه يأتي من الأوراق البحثية.
وهذا في الواقع محدد جدًا.
وإذا دخلنا في التفاصيل العميقة لما يحدث مع هذا المُحسِّن ، فقد يكون هذا مربكًا جدًا
لما سيحدث بعد ذلك لأنه لا يزال لدينا وظيفة القطار التي يجب القيام بها ، والتي ستكون
وظيفة ضخمة والتي تحتوي على الخوارزمية من المخاطر.
لذا ثق بي ، فأنت تريد الاحتفاظ ببعض الطاقة من أجل ذلك ، وبالتالي لن نقضي الكثير من الوقت في
هذا الأمر.
لكن مع ذلك ، سأشرح الكود وستفهم الفكرة الكاملة وراء هذا المُحسِّن.
لذا ، تهانينا مرة أخرى على إنشاء فصل إبداعي نشط وسأراكم في البرنامج التعليمي التالي لإنشاء
المحسن.
حتى ذلك الحين ، استمتع.
أنا.