‫ما مدى إثارة هذا؟
‫أوه ، لقد قطعنا شوطًا طويلاً من القتال للحصول على صورنا في الأزمنة ، وتصنيفاتنا في الأزمنة ، وإعداد بياناتنا
‫، واختيار نموذج على TensorFlow hub.
‫إنشاء عمليات الاسترجاعات النموذجية.
‫لقد وصلنا أخيرًا إلى المرحلة التي أصبحنا فيها جاهزين لتدريب نموذج التعلم العميق الأول لدينا.
‫لذلك دعونا ننشئ نموذجًا للتدريب على العنوان.
‫سنقوم الآن بوضع مجموعة فرعية من البيانات ، لأنه إذا تذكرت مرة أخرى عندما قمنا
‫بتقسيم بياناتنا ، فسنبدأ فقط في التدريب على 1000 صورة ، فلماذا نرغب في القيام بذلك؟
‫لذلك دعونا هنا.
‫سيتدرب نموذجنا الأول فقط على 1000 صورة للتأكد من أن كل شيء يعمل.
‫هذا ما نحاول القيام به.
‫نحن نحاول تقليل الوقت الذي نقضيه بين التجارب.
‫لذلك نبدأ بالبدء في مجموعة فرعية من البيانات للتأكد من أن كل هذه الشفرة ، أعني ، قد تنكسر.
‫حق؟
‫لذلك نريد التأكد من أنها تعمل قبل أن نقضي وقتًا طويلاً في التدريب على 10000 صورة لأن
‫التدريب على ألف صورة سيكون أسرع بكثير من 10000 صورة.
‫ويمكنك أن تتخيل أن الأمر نفسه ينطبق إذا قمت بزيادة العدد إلى 100000 صورة أو في حالة الصورة
‫، صافي 14. 2 مليون.
‫لذلك هناك متغير آخر علينا تحديده.
‫قبل أن نتمكن من الدخول في تدريب نموذج وهذا عدد من العصور.
‫وبالتالي فإن عدد الحقب هو عدد مرات مرور البيانات التي نرغب في أن يقوم بها نموذجنا.
‫والممر ، كما يمكنك أن تتخيل ، يعادل نموذجنا الذي يحاول العثور على أنماط في كل صورة كلب
‫ومعرفة الأنماط المتعلقة بكل تسمية.
‫دعنا ننتقل إلى عدد العصور هنا.
‫يساوي 100.
‫وسنفعل شيئًا رائعًا هنا.
‫سنقوم بإنشاء شريط تمرير صغير كما فعلنا قبل Harambe.
‫ثم سننشئ منزلق نوع ، ثم الحد الأدنى هو عشرة ، والحد الأقصى يمكن أن يكون 100 ثم الخطوة يمكن أن
‫تكون عشرة.
‫انظر إلى ذلك.
‫كم ذلك رائع؟
‫لذا إذا أردنا القيام بعشر فترات ، فيمكننا القيام بعشر.
‫لكننا سنلصقه بالرقم 100 لأننا حصلنا على رد اتصال الإيقاف المبكر وسنرى كل هذا
‫قيد التنفيذ في غضون ثانية.
‫ولكن في الأساس ما سيفعله تمريرة التدريب.
‫إذا عدنا إلى خطتنا الرئيسية ، فستعطي حقبة واحدة نموذجنا فرصة واحدة لإلقاء نظرة على جميع
‫بيانات التدريب ثم التحقق من صحتها من هناك.
‫100 عصر.
‫لذلك نعطي نموذجنا ما يصل إلى 100 فرصة لتصفح مجموعة بيانات التدريب ومعرفة الأنماط.
‫إذاً فهو ذاهب إلى ما هو التمرير.
‫سوف يمر عبر هذه الطبقات.
‫سنقوم بتمرير صور التدريب الخاصة بنا إلى نموذجنا.
‫سوف يمر عبر هذه الطبقات.
‫ومن ثم فإن نموذجنا ، عندما يتعلم الأنماط ، سيقوم بعمل تخمينات على أي تسمية تنتمي إلى
‫أي صورة.
‫وكلما كان التخمين أسوأ ، زادت الخسارة.
‫هذا هو المكان الذي يأتي فيه آدم.
‫تذكر أن الرجل الموجود أسفل التل في بطولة International Hill Descent
‫يخبر نموذجنا كيف يمكنه تحسين تخميناته مع كل حقبة.
‫ثم سنرى كيف يعمل نموذجنا على مستوى الدقة ، لأننا حصلنا على ذلك القاضي
‫المتفرج في أسفل التل يراقب مدى جودة أداء نموذجنا.
‫لذا مرة أخرى ، إذا لم يكن كل هذا منطقيًا ، فسيكون أكثر منطقية بمجرد أن نبدأ بالفعل في تشغيل
‫نموذج.
‫لذلك دعونا نجري فحصًا أخيرًا.
‫الفحص النهائي هو آخر مرة للتأكد من أننا نستخدم وحدة معالجة الرسومات (GPU) لأننا إذا لم نستخدم وحدة معالجة الرسومات (GPU) ، فإن هذا التدريب
‫لنموذجنا على الصور سيستغرق وقتًا طويلاً جدًا.
‫لقد رأيت في البداية أن وحدة معالجة الرسومات يمكنها تسريع الكود الخاص بنا بما يصل إلى 30 مرة وأحيانًا أكثر.
‫دعنا نكتب هذا الرمز.
‫تحقق للتأكد من أننا ما زلنا نعمل على طريقة عرض JPG.
‫لذا اطبع.
‫GPU.
‫متوفرة.
‫وبعد ذلك سنذهب.
‫نعم.
‫إذا كان تكوين TPH قائمة الأجهزة المادية.
‫ومن ثم نريد التحقق من وحدة المعالجة المركزية أخرى.
‫غير متوفر.
‫إذن هذا هو نفس الكود الذي كتبناه أعلاه.
‫لكننا نحتاج إلى وحدة معالجة الرسومات (GPU) حتى نتمكن من تشغيل هذا في فترة زمنية طويلة.
‫نعم.
‫كان بإمكاننا أيضًا التحقق هنا.
‫تذكر ، هذه خدعة اختصار صغيرة.
‫لكني أحب رؤية هذه المطبوعة هنا.
‫حاليا.
‫فقاعة.
‫لدينا GPU قيد التشغيل ، ولدينا عدد من العهود التي تم إعدادها.
‫لنقم بإنشاء دالة بسيطة تقوم بتدريب النموذج.
‫لذلك دعونا نكتب ذلك هنا.
‫لنقم بإنشاء دالة تقوم بتدريب النموذج.
‫وستقوم الوظيفة بإنشاء نموذج باستخدام نموذج الإنشاء.
‫ومن ثم نريد أن نبدأ في إعداد رد اتصال متوتر على اللوحة.
‫باستخدام وظيفة لوحة الموتر لدينا.
‫لذلك قم بإنشاء C.
‫هذا هو المكان الذي تم فيه إنشاء وظائف بالفعل بالنسبة لنا هنا.
‫وإلا فسيتعين علينا كتابة تعليمات برمجية مخصصة ، لكن كتابة الدوال في البداية تستغرق وقتًا أطول قليلاً ، ولكن
‫على المدى الطويل توفر لنا الوقت.
‫لذلك ندعو.
‫وظيفة الملاءمة في نموذجنا تقوم بتمريرها إلى بيانات التحقق من صحة بيانات التدريب.
‫عدد من الحقب للتدريب عليها.
‫وهو ليس جدري.
‫نحن نحدد ذلك فقط من خلال شريط التمرير الصغير المريضة وعمليات الاسترجاعات التي تمثل وظائفنا المساعدة التي نرغب
‫في استخدامها.
‫وأخيرًا نريده أن يعيد النموذج.
‫سنقوم بتغيير هذا إلى تخفيض السعر.
‫هذا يبدو غير اعتيادي.
‫حسنًا ، دعنا نذهب هنا.
‫بناء وظيفة لتدريب وإرجاع نموذج مدرب.
‫لذلك نحن هنا.
‫تدريب مواطنه.
‫لا أصدق أننا أخيرًا وصلنا إلى هذا الأمر.
‫هذا مذهل.
‫نحن ندرب أول شبكة تعلم عميق وشبكة عصبية.
‫لذلك يتم إعطاء نموذج القطارات وإرجاع النسخة المدربة.
‫جميل وبسيط.
‫تذكر ، على الرغم من حماستنا لا يعني أننا نفقد عاداتنا في التواصل.
‫لذلك سننشئ نموذجًا.
‫لذلك سننتقل إلى نموذج يساوي.
‫لنفترض أن هذا هو المكان الذي تأتي فيه وظيفة إنشاء النموذج.
‫أوه نعم ، الكتابة مرضية للغاية.
‫ثم نبدأ في إنشاء جلسة لوحة متوترة جديدة في كل مرة نقوم فيها بتدريب نموذج.
‫لأننا نتذكر ، من خلال لوحة الموتر الخاصة بنا ، من خلال رد الاتصال بلوحة الموتر الخاصة بنا ، فإننا في الواقع سنسمي لوحة الموتر
‫هذه.
‫لا نحتاج إلى رد الاتصال هناك.
‫أنشأنا وظيفتنا.
‫لذلك إذا عدنا إلى هنا في كل مرة يتم استدعاؤها ، فسننشئ مجلدًا جديدًا في السجلات بالتاريخ الحالي
‫والوقت.
‫لذلك هذا مهم لأنه في كل مرة نقوم فيها بتشغيل وظيفة نموذج القطار الخاص بنا ، لذلك
‫في كل مرة نحاول فيها تدريب نموذج جديد ، تجربة جديدة ، نقوم بإنشاء مجلد سجلات يمكننا بعد ذلك تتبع أداء نموذجنا.
‫هذا شيء مفيد حقًا فيما بعد عندما نحاول تقييم التجربة
‫التي حققت أداءً أفضل من الأخرى ، ثم نلائم النموذج مع البيانات التي تمرره ، عمليات الاسترجاعات التي أنشأناها.
‫الآن مرة أخرى ، من المحتمل أن تكون هذه طريقة أفضل للقيام بهذه الوظيفة ، لكننا نحاول
‫فقط أن نجعلها تعمل ، ثم يمكننا العودة بعد أن نجتاز نوعًا ما مرحلة تركيب
‫النموذج لأول مرة وصقلها.
‫لذلك دعونا نبدأ النموذج المناسب وسنقوم بتمريره.
‫X تساوي بيانات القطار ، وهي مجموعة بيانات ، إذا كنت تتذكرها ، تحتوي على الصور والتسميات.
‫لذلك ستكون العصور عبارة عن عدد عهود أ. ك. أ.
‫كم مرة يُسمح لنموذجنا بالاطلاع على بيانات التدريب قبل أن يتوقف؟
‫أو كم عدد الفرص التي يجب أن يمر بها نموذجنا عبر مجموعة بيانات التدريب بأكملها للعثور على الأنماط ثم بيانات
‫التحقق من الصحة؟
‫ستكون بيانات VAL ، وهي مجموعة بيانات أيضًا أو مجموعة بيانات.
‫آسف.
‫وتكرار التحقق هو عدد المرات التي نريد اختبار الأنماط التي وجدها نموذجنا في مجموعة التحقق الخاصة
‫بنا.
‫وقمنا بتعيينه على واحد لأننا نريده أن يختبر أنماطه التي وجدها في مجموعة التدريب على بيانات
‫التحقق من الصحة ، في كل فترة.
‫لذا مرة واحدة في حقبة واحدة ثم نداءات الاسترجاعات لدينا هي عشرة على متنها ، والتي أنشأناها للتو أعلاه مع وظيفتنا
‫والتوقف المبكر.
‫رائع.
‫وبعد ذلك نريد إعادة النموذج ووضع القليل.
‫أعد النموذج المناسب.
‫كم ذلك رائع؟
‫والآن يمكننا أن نلائم نموذجنا مع البيانات ببساطة مثل الانتقال.
‫النموذج يساوي نموذج القطار.
‫ترى الفوائد في إنشاء الوظائف حتى نتمكن من تشغيل هذه الوظيفة بعد إجراء مجموعة من التجارب
‫المختلفة لاحقًا.
‫فهل أنت مستعد؟
‫الآن ، قليل من الحكاية هنا.
‫عند تدريب نموذج لأول مرة ، خاصةً على بيانات الصورة أو أي نوع آخر من البيانات
‫واسعة النطاق ، عادةً ما تستغرق الفترة الأولى أطول وقت مقارنة بالباقي.
‫الآن ، هذا لأن الوظائف التي كتبناها هي الحصول على البيانات وقد تمت تهيئتها.
‫لذا يُعرف أيضًا بتحميل البيانات في ذاكرة وحدة معالجة الرسومات الخاصة بنا.
‫سيستغرق استخدام المزيد من البيانات وقتًا أطول بشكل عام ، ولهذا بدأنا بـ 1000 صورة.
‫وهكذا بعد الحقبة الأولى.
‫الصحيح.
‫لقد قمنا بإعداده بحيث لا يتجاوز 100.
‫قد يستغرق الأمر الأول دقيقتين.
‫بعد الحقبة الأولى ، يجب أن تستغرق الحقبة اللاحقة بضع ثوانٍ فقط.
‫إذن أنت جاهز.
‫سنفعل ذلك معًا.
‫تشابك الاصابع.
‫جميع وظائفنا ، لأن هذا يعتمد في الواقع على بضعة أسطر من الكود هنا.
‫دعنا نقول ما إذا كان يعمل ، 3 إلى 1.
‫أوه ، انظر إلى ذلك.
‫بناء نموذج بشبكة المحمول v2.
‫لقد عبرت أصابعي.
‫اتمني ان تفعل ايضا.
‫نعم بالتأكيد.
‫لقد بدأت.
‫نرى؟
‫هناك نذهب.
‫حقبة واحدة من 100.
‫لأن العصور مضبوطة على 100.
‫لذلك سوف يتدرب على 25 خطوة ، مما يعني حجم الدفعة لدينا.
‫لذلك إذا ذهبنا ، لدينا 800 صورة في مجموعة التدريب الخاصة بنا لأننا نتذكر أننا بدأنا بـ 1000.
‫لذا إذا قسمنا ذلك على 32 ، فسنحصل على 25.
‫هذا هو السبب في أن التدريب 25 خطوة لأن هناك حجم الدفعة 32 والتحقق من الصحة.
‫إذا قمنا بقسمة 200 على 32 ، فسنقربها لأعلى.
‫لذا فقد تم تقريبه إلى سبعة.
‫لهذا السبب لدينا التحقق.
‫200 صورة على درجة البكالوريوس هي 32.
‫وتحقق من هذا.
‫هناك نذهب.
‫في حوالي 5 دقائق.
‫وهذا ما أتحدث عنه مع الخسارة.
‫والآن كل هذه الأشياء التي أنشأناها هنا.
‫لذا فإن الخسارة.
‫لذا فإن هدفنا هو أن نتذكر تقليل الخسارة.
‫لأننا في قمة التل.
‫نحن نخاف من المرتفعات.
‫نريد الوصول إلى أسفل التل.
‫تريد تقليل وظيفة الخسارة؟
‫الخسارة هي ارتفاع التل.
‫نأتي إلى هنا.
‫لذا نأمل أن ينخفض هذا الرقم.
‫لكننا نريد زيادة الدقة.
‫هذه هي الطريقة التي سنعرف بها ما إذا كان نموذجنا يتدرب أم لا.
‫إذا كانت أنماط التعلم ، فيجب أن تنخفض هذه الخسارة ويجب أن ترتفع هذه الدقة.
‫لذلك سيستغرق هذا بضع دقائق لتجاوز الحقبة الأولى.
‫سأنتظر حتى يمر بالعهد الأول.
‫وبعد ذلك سأسرع هذا الفيديو ثم سأراكم بمجرد تجاوز الحقبة الأولى لأنكم
‫ستشاهدون عهودًا لاحقة بعد ذلك.
‫لذا فإن الحقبة الثانية من 100 ستكون سريعة جدًا لأننا نستخدم وحدة معالجة الرسومات.
‫السبب الوحيد الذي يجعل الشخص الأول يستغرق بعض الوقت هو أنه يجب عليه تحميل كل تلك الصور في ذاكرة وحدة معالجة
‫الرسومات.
‫سأراكم على الفور ، لكن بالنسبة لي سيستغرق الأمر حوالي 3 دقائق.
‫حسنًا ، لقد عدت.
‫لذلك لدينا هنا ETA ، والتي تعني الوقت المقدر للوصول.
‫يتبقى حوالي 12 ثانية في هذه الحقبة الأولى ، طالما أن كل شيء يسير كما هو مخطط له.
‫وهكذا يمكنك أن ترى أن الخسارة قد تقلصت قليلاً وزادت الدقة.
‫لذلك هذا شيء جيد.
‫الآن ، ما يجب أن نراه في نهاية هذه الحقبة الأولى ، إذا استقرنا بشكل صحيح ، يجب أن نرى هذه خسارة
‫في مجموعة التدريب والدقة في مجموعة التدريب.
‫يجب أن نرى الخسارة في بيانات التحقق من الصحة والدقة في مجموعة التحقق المنبثقة في أي ثانية الآن.
‫لذلك نحن ننتظر فقط.
‫لذا من المحتمل أن ما تفعله الآن هو أنها كانت أطول قليلاً من 12 ثانية ، لكنها تقوم بتحميل
‫بيانات التحقق من الصحة في الذاكرة حتى تتمكن من حساب وتقييم كيفية أدائها على مجموعة البيانات هذه.
‫لا أصدق أننا نفعل هذا.
‫نحن ، مثل ، نقوم بتدريب نموذج معًا في الوقت الفعلي.
‫هذا أمر استثنائي.
‫انا لم افعل ذلك من قبل.
‫هذا طالما أن التعليمات البرمجية الخاصة بك تعمل.
‫ها نحن ذا.
‫انظر إلى ذلك.
‫حتى الآن لدينا هذا.
‫ما كنت أتحدث عنه ، لدينا هذا المقياس في بيانات التدريب وهذا المقياس قيد التحقق.
‫لذا انظر إلى مدى سرعة تحسين دقتنا.
‫الآن ، أخبرتك أن العصور سوف تتسارع.
‫انظر إلى ذلك.
‫استغرق أول واحد حوالي 5 دقائق ، لكن هذه تستغرق 5 ثوان.
‫نحن بالفعل في 1. 0 دقة.
‫هذه دقة 100٪ على بيانات التدريب.
‫هذا جنون.
‫إذن ما يخبرنا به هذا في الواقع هو أنه أمر جيد أن نموذجنا يتناسب بشكل زائد لأنه يعمل بطريقة
‫أفضل في بيانات التدريب مما هو عليه في بيانات التحقق من الصحة.
‫لكن هذا شيء عظيم.
‫نموذجنا يعمل ، إنه يجد الأنماط.
‫إنها تستخدم ما تعلمته Vertu net في image net وتقوم بتطبيقه على مجموعة بيانات الكلاب لدينا.
‫رؤية الكلب تأتي في الحياة.
‫أنا متحمس للغاية.
‫الآن أتمنى أن يعمل نموذجك بهذه الطريقة أيضًا لأننا ندرب نموذجًا معًا في الوقت الفعلي.
‫هذا جميل.
‫إذن ما يجب أن نراه هو بمجرد التحقق من الصحة ، تتوقف الدقة عن التحسن لعدد من الحقب.
‫ثلاثة ، بسبب توقفنا المبكر لرد الاتصال ، سيتوقف عن التدريب.
‫لذلك نحن في الواقع لا أعتقد أننا سنصل إلى حقبة المائة ، ربما لن نكون قريبين
‫حتى لأننا نرى هنا أننا نحصل على 1. 0 الدقة مع خسارة بسيطة في بيانات التدريب الخاصة بنا.
‫حسنا هيا بنا.
‫توقفت.
‫إلى عن على.
‫قلبي يدق بسرعة.
‫كان ذلك غير عادي.
‫لذا انظر ما قصدته.
‫تستغرق الحقبة الأولى بعض الوقت لأنها تقوم بتحميل البيانات في الذاكرة.
‫بمجرد تحميلها.
‫تلك البيانات الأولية في الذاكرة ، ستذهب وحدة معالجة الرسومات.
‫حسنا.
‫حان الوقت للوقوف على الغاز وسنقوم بتشغيل الحارق اللاحق.
‫كل الغاز.
‫لا فرامل ، حبيبي.
‫لذلك وصلنا إلى 18 عصرًا من أصل 100 عصر ويمكننا أن نرى أن نموذجنا في مجموعة بيانات التدريب لدينا
‫يعمل بدقة 100٪.
‫هذا جنون جدا.
‫1. 0.
‫لديك ضعف هذا الرقم في 100.
‫الخسارة منخفضة إلى حد ما.
‫أعني أن خسارة الصفر مثالية.
‫ولكن يمكننا أن نقول أن نموذجنا يتناسب بشكل زائد لأنه يعمل بطريقة أفضل على بيانات التدريب
‫مقارنةً ببيانات التحقق من الصحة.
‫لذلك إذا عدنا ، يبدو الأمر كما لو أن نموذجنا قد حفظ مواد الدورة التدريبية بدلاً من مبادئ حل المشكلات
‫الخاصة بمواد الدورة التدريبية.
‫وهي تكافح للتكيف مع مجموعة بيانات لم ترها من قبل ، أ. ك. امتحان تدريبي أو مجموعة التحقق الخاصة
‫بنا.
‫لذا فإن نموذجنا الآن لديه قدرة ضعيفة على التعميم.
‫من؟
‫لذلك أعتقد أن هذا يكفي لفيديو واحد.
‫هذا كثير من الإثارة.
‫ما أريدك أن تقوم به قليلاً من الواجب المنزلي هو قبل أن نذهب ونتحقق من سجلات لوحة تينيسي في
‫الفيديو التالي لأننا استخدمنا رد الاتصال بلوحة الرقابة من قبل.
‫أريدك أن تتحقق من هذا السؤال.
‫هل هذه مهمة حقًا بعد أن حاولنا تصميمها؟
‫أنا أريدك أن تذهب.
‫سؤال.
‫يبدو أن نموذجنا مناسب جدًا لأنه يعمل.
‫أفضل بكثير على مجموعة بيانات التدريب من مجموعة بيانات التحقق من الصحة.
‫ما هي بعض الطرق لمنع فرط النموذج في الشبكات العصبية للتعلم العميق؟
‫لذلك سنحول ذلك إلى تخفيض السعر.
‫هذا سؤال أريدك أن تبحث عنه قبل أن ندخل في الفيديو التالي.
‫ما هي بعض الطرق لمنع النموذج الزائد في الشبكات العصبية العميقة؟
‫لذا تحقق من ذلك.
‫حتى لو لم تكن متأكدًا منهم ، فأنا أريدك فقط أن تبدأ في الشعور بالفضول حيال ما يحدث ، وأريد منك
‫أن تبدأ في التعرف على القرائن المتعلقة بالوقت الذي يكون فيه نموذجك مناسبًا ، مثل الأداء بشكل أفضل
‫في التدريب مجموعة البيانات من مجموعة بيانات التحقق من الصحة.
‫وملاحظة صغيرة هنا ، إن فرط الملحوظة في البداية أمر جيد.
‫هذا يعني أن نموذجنا يتعلم.
‫لذلك أنا متحمس للغاية لأننا قمنا للتو بتدريب أول شبكة عصبية للتعلم العميق معًا باستخدام
‫التعلم الانتقالي.
‫رؤية الكلب تأتي في الحياة.
‫لذلك انتهينا من تدريب نموذج ، على الأقل مجموعة فرعية أولى من النموذج.
‫هذا ليس في البيانات الكاملة ، هذا فقط على 1000 صورة.
‫لذا فإن خطوتنا التالية هي إذا تحدثنا عن خطوتنا الرئيسية ، فما الذي نحن بصدده؟
‫لذلك نحن نلائم النموذج مع البيانات.
‫لم نتوقع حتى الآن.
‫لذا ما قد نفعله هو تقييم النموذج باستخدام رد الاتصال بلوحة الموتر حتى تتمكن من رؤية ذلك ومن ثم سنكتشف
‫كيفية عمل تنبؤ باستخدام نموذجنا المدرب.
‫تبدو كخطه؟
‫لذا تحقق من هذا السؤال وسأراكم في الفيديو التالي.