
التعلم العميق هو مجموعة من خوارزميات التعلم الآلي التي تمثل نماذج تجريدية عالية المستوى في البيانات باستخدام بنى تتكون من العديد من التحولات غير الخطية. موافق ، هذه العبارة تبدو مهددة. لكن كل شيء ليس مخيفًا جدًا إذا تحدث فرانسوا شولاي ، الذي أنشأ Keras ، أقوى مكتبة للعمل مع الشبكات العصبية ، عن التعلم العميق. تجربة التعلم العميق مع أمثلة عملية من مجموعة واسعة من المجالات. ينقسم الكتاب إلى قسمين: الأول يعطى الأسس النظرية ، والثاني مخصص لحل مشاكل معينة. سيسمح لك هذا ليس فقط بفهم أساسيات DL ، ولكن أيضًا تعلم كيفية استخدام الفرص الجديدة في الممارسة.
التعلم رحلة تستمر مدى الحياة ، خاصة في مجال الذكاء الاصطناعي ، حيث هناك أشياء غير معروفة أكثر من اليقين. يوجد في الداخل مقتطف من "نماذج البحث والرصد في التعلم العميق باستخدام استدعاءات Keras و TensorBoard"
عن هذا الكتاب
كُتب الكتاب لكل من يريد البدء في دراسة تقنية التعلم العميق من الصفر أو توسيع معرفته. سيجد مهندسو التعلم الآلي ومطورو البرامج والطلاب قيمة كبيرة في هذه الصفحات.
يقدم هذا الكتاب دراسة عملية واقعية للتعلم العميق. حاولنا تجنب الصيغ الرياضية ، مفضلين شرح المفاهيم الكمية باستخدام أجزاء الكود وتشكيل فهم عملي للأفكار الأساسية للآلة والتعلم العميق.
سترى أكثر من 30 مثالًا على رمز البرنامج مع التعليقات التفصيلية والتوصيات العملية والتفسيرات العامة البسيطة لكل ما تحتاج إلى معرفته لاستخدام التعلم العميق في حل مشكلات معينة.
تستخدم الأمثلة إطار التعلم العميق Keras المكتوب في Python ومكتبة TensorFlow كآلية داخلية. Keras هو أحد أطر التعلم العميق الأكثر شيوعًا والأسرع نموًا. غالبًا ما يوصى به باعتباره الأداة الأكثر نجاحًا للمبتدئين لتعلم التعلم العميق.
بعد قراءة هذا الكتاب ، سوف تفهم بوضوح ما هو التعلم العميق ، ومتى كان قابلاً للتطبيق وما هي القيود المفروضة عليه. سوف تتعلم عن العملية القياسية لتفسير وحل مشكلات التعلم الآلي وكيفية التعامل مع المشكلات الشائعة. سوف تتعلم كيفية استخدام Keras لحل المشاكل العملية - من التعرف على الأنماط إلى معالجة اللغة الطبيعية: تصنيف الصور ، والتنبؤ الزمني ، وتحليل العواطف ، وتوليد الصور والنصوص والمزيد.
ابحث عن نماذج التعلم العميق ورصدها باستخدام استدعاءات Keras و TensorBoard
في هذا القسم ، سوف ننظر في طرق للحصول على وصول أكثر اكتمالاً إلى الآليات الداخلية للنموذج أثناء التدريب والإدارة. يشغل إجراء التدريب على مجموعة بيانات كبيرة ويستمر لعشرات العصور من خلال استدعاء model.fit () أو model.fit_generator () مثل إطلاق طائرة ورقية: إعطاء دفعة أولية ، لم تعد تتحكم في مسار رحلتها أو موقع الهبوط. لتجنب النتائج السلبية (وفقدان طائرة ورقية) ، من الأفضل عدم استخدام طائرة ورقية ، ولكن طائرة بدون طيار محكومة تحلل البيئة ، وترسل معلومات عنها مرة أخرى إلى المشغل وتتحكم تلقائيًا في الدفة اعتمادًا على حالتها الحالية. ستحول التقنيات التي سيتم تقديمها هنا الدعوة إلى model.fit () من طائرة ورقية إلى طائرة بدون طيار مستقلة وذكية قادرة على تقييم حالتها وأداء إجراءات التحكم في الوقت المناسب.
استخدام الاسترجاعات للتأثير على النموذج أثناء التدريب
لا يمكن توقع العديد من جوانب التدريب النموذجي مقدمًا. على سبيل المثال ، لا يمكن للمرء أن يتنبأ مسبقًا بعدد العهود التي تقدم القيمة المثلى للخسائر في مجموعة الاختبار. في الأمثلة التي تم الاستشهاد بها حتى الآن ، تم استخدام استراتيجية تعلم بها عدد كبير من العصور. وبالتالي ، تم تحقيق تأثير إعادة التدريب عندما يتم إجراء أول تشغيل لأول مرة لمعرفة العدد المطلوب من عصور التدريب ، ثم الثاني جديد ، من البداية مع العدد الأمثل المحدد من العصور. بالطبع ، هذه إستراتيجية مسرفة إلى حد ما.
سيكون من الأفضل بكثير التوقف عن التعلم بمجرد أن يتضح أن تقدير الخسائر في مجموعة الاختبار قد توقف عن التحسن. يمكن تنفيذ ذلك باستخدام آلية رد الاتصال Keras. رد الاتصال هو كائن (مثيل لفئة تطبق أساليب محددة) ، والذي يتم تمريره إلى النموذج من خلال استدعاء للملاءمة والذي سيتم استدعاؤه بواسطة النموذج في نقاط مختلفة في عملية التعلم. لديه إمكانية الوصول إلى جميع المعلومات حول حالة النموذج ونوعيته ويمكنه اتخاذ الإجراءات التالية: مقاطعة التدريب أو حفظ النماذج أو تحميل مجموعات مختلفة من الأوزان أو تغيير حالة النموذج.
فيما يلي بعض الأمثلة على استخدام الاسترجاعات:
- تحديد حالة النموذج عند نقاط التحكم - حفظ أوزان النموذج الحالي في نقاط مختلفة أثناء التدريب ؛
- التوقف المبكر - انقطاع التدريب ، عندما يتوقف تقدير الخسائر في بيانات الاختبار (وبالطبع ، الحفاظ على أفضل نسخة من النموذج الذي تم الحصول عليه أثناء التدريب) ؛
- تعديل ديناميكي لقيم بعض المعلمات في عملية التعلم ، على سبيل المثال ، خطوة التعلم للمحسن ؛
- درجات تسجيل مجموعات بيانات التدريب والاختبار أثناء التدريب أو تصور التمثيلات التي تم الحصول عليها بواسطة النموذج عند تحديثها - شريط التقدم في Keras الذي تعرفه بالفعل هو رد الاتصال!
تتضمن وحدة keras.callbacks عددًا من عمليات إعادة الاتصال المضمنة. هنا بعيد عن القائمة الكاملة:
keras.callbacks.ModelCheckpoint keras.callbacks.EarlyStopping keras.callbacks.LearningRateScheduler keras.callbacks.ReduceLROnPlateau keras.callbacks.CSVLogger
دعونا نلقي نظرة على بعض منهم للحصول على فكرة عن كيفية استخدامها: ModelCheckpoint و EarlyStopping و ReduceLROnPlateau.
ModelCheckpoint واستدعاء المكالمات في وقت مبكريمكن استخدام رد اتصال EarlyStopping لمقاطعة عملية التعلم إذا لم يتحسن مقياس الهدف الذي تمت مراقبته عبر عدد معين من العصور. على سبيل المثال ، سيسمح لك رد الاتصال هذا بإيقاف التدريب بعد ظهور تأثير إعادة التدريب وبالتالي تجنب إعادة تدريب النموذج لعدد أقل من العصور. عادة ما يتم استخدام رد الاتصال هذا بالاشتراك مع ModelCheckpoint ، والذي يسمح لك بحفظ حالة النموذج أثناء التدريب (وإذا لزم الأمر ، احفظ فقط أفضل نموذج: إصدار النموذج الذي وصل إلى جودة أفضل بنهاية العصر):
تقليل رد اتصال بلاتنويمكن استخدام رد الاتصال هذا لتقليل سرعة التعلم عندما لا يتم تقليل فقدان بيانات الاختبار. إن تقليل أو زيادة سرعة التعلم عند نقطة الانعطاف لمنحنى الخسارة هو استراتيجية فعالة للخروج من الحد الأدنى المحلي أثناء التدريب. يوضح المثال التالي استخدام رد الاتصال ReduceLROnPlateau:
تصميم رد الاتصال الخاص بكإذا كنت تحتاج أثناء التدريب إلى تنفيذ بعض الإجراءات الخاصة التي لم يتم توفيرها من قبل أي من عمليات رد الاتصال المضمنة ، فيمكنك كتابة رد الاتصال الخاص بك. يتم تنفيذ الاسترجاعات عن طريق الوراثة من فئة keras.callbacks.Callback. يمكنك تنفيذ أي من الطرق التالية مع أسماء التحدث التي سيتم استدعاؤها في الأوقات المناسبة
يتم استدعاء جميع هذه الأساليب مع سجلات الحجج - قاموس يحتوي على معلومات حول الحزمة السابقة أو العصر أو دورة التدريب: مقاييس التدريب والتحقق ، إلخ. بالإضافة إلى ذلك ، يمكن لرد الاتصال الوصول إلى السمات التالية:
- self.model - مثيل من النموذج الذي تسبب في رد الاتصال هذا ؛
- self.validation_data - القيمة التي يتم تمريرها إلى أسلوب الملاءمة كبيانات للتحقق.
فيما يلي مثال بسيط على رد اتصال غير قياسي يحفظ على القرص (مثل المصفوفات Numpy) تنشيط جميع طبقات النموذج بعد نهاية كل عصر ، محسوبًا من العينة الأولى في مجموعة الاختبار:
هذا كل ما تحتاج لمعرفته حول عمليات إعادة الاتصال ، وكل شيء آخر هو تفاصيل فنية ، معلومات يمكنك العثور عليها بسهولة. يمكنك الآن تسجيل أي معلومات أو التحكم في نموذج Keras أثناء التدريب.
عن المؤلف

يشارك فرانسوا شوليه في التعلم العميق في Google ، Mountain View ، California. وهو منشئ Keras ، ومكتبة للتعلم العميق ، وعضو في مشروع إطار التعلم الآلي TensorFlow. كما أنه يشارك في البحث في مجال التعلم الآلي ، مع التركيز على التعرف على الأنماط وتطبيق التعلم الآلي على المنطق الرسمي. تحدث في المؤتمرات الرئيسية في هذا المجال ، بما في ذلك المؤتمر حول رؤية الكمبيوتر والتعرف على الأنماط (CVPR) ، المؤتمر وورشة العمل حول أنظمة معالجة المعلومات العصبية (NIPS) ، المؤتمر الدولي حول تمثيلات التعلم (ICLR) ، إلخ. .
»يمكن العثور على مزيد من المعلومات حول الكتاب على
موقع الناشر على الويب»
المحتويات»
مقتطفاتقسيمة خصم 20٪ للمتجولين -
Deep Learning with Python