مقدمة في التعلم العميق والشبكات العصبية باستخدام Keras
نشرت: 2019-12-16جدول المحتويات
ما هو التعلم العميق؟
التعلم العميق هو مجال يندرج تحت التعلم الآلي ويرتبط باستخدام الخوارزميات في الشبكات العصبية الاصطناعية. يتم استخدامه بشكل رئيسي لإنشاء نموذج تنبؤي لحل المشكلات ببضعة سطور من الترميز. نظام التعلم العميق هو شبكة عصبية واسعة النطاق مستوحاة من وظيفة وبنية الدماغ. يعد التعلم العميق أمرًا ضروريًا ، خاصةً عند تضمين كميات هائلة من البيانات.
إنه ينشئ شبكة عصبية واسعة النطاق ، وبمساعدة عدد كبير من البيانات ، تصبح قابلة للتطوير وفي المقابل تعمل على تحسين الأداء. إنه مفيد خاصة في حالة البيانات غير المهيكلة أو البيانات غير المسماة. يمكن أن يعطي التعلم العميق نتائج ممتازة من خلال التعلم الخاضع للإشراف أو التعلم من البيانات المصنفة.
نظرًا لوجود الكثير من البيانات المتاحة على الإنترنت والتي يتم إنشاؤها يوميًا وحيث أن معظمها غير منظم ، أصبح التعلم العميق هو الشيء الكبير التالي في حل هذه الأنواع من المشكلات والتعامل معها.
بينما في حالة تصبح فيها البيانات الضخمة مشكلة في المعالجة والتحليل ، من ناحية أخرى ، يصبح التعلم العميق أفضل وأفضل مع تقديم المزيد من البيانات إليه. إنه ينشئ شبكة عصبية أكبر وأفضل عندما يتم توصيل المزيد من البيانات بعدة طرق ، مما يؤدي إلى إنشاء نماذج أكبر والمزيد من العمليات الحسابية. كما يوفر مجالًا لخوارزميات أفضل ومحسّنة ورؤى جديدة وتقنيات محسّنة.
ما هو كراس؟
اعتبارًا من الآن ، أنت تعرف بالفعل مدى أهمية الشبكات العصبية في التعلم العميق. هناك العديد من الأطر المستخدمة لإنشاء الشبكات العصبية. ولكن في الوقت نفسه ، أصبح تعقيد العديد من الأطر عقبة أمام المطورين. تم تقديم العديد من المقترحات لتبسيط وتحسين واجهات برمجة التطبيقات عالية المستوى التي تُستخدم لبناء نماذج الشبكة العصبية ، ولكن لم يكن هناك شيء ناجح للغاية عند فحصه بعناية. لمعرفة المزيد عن Keras ، راجع المقالة حول Keras و Tenserflow.
كان هذا عندما أحدث دخول إطار عمل Keras فرقًا كبيرًا في مجال التعلم العميق. تمت كتابة Keras بلغة برمجة Python وهي واحدة من واجهات برمجة التطبيقات الرائدة للشبكات العصبية عالية المستوى. يدعم Keras محركات الحوسبة الخلفية للعديد من الشبكات العصبية.

إنه أيضًا تحسين على واجهات برمجة تطبيقات التعلم العميق منخفضة المستوى. TensorFlow هو مصدر مفتوح لمكتبة الذكاء الاصطناعي ويسمح للمطورين بإنشاء شبكات عصبية واسعة النطاق مع العديد من الطبقات. اعتمدت TensorFlow 2.0 Keras على أنها واجهة برمجة تطبيقات عالية المستوى. هذا يجعل Keras فائزًا واضحًا بين جميع واجهات برمجة التطبيقات الأخرى للتعلم العميق.
مبادئ كراس
كان الغرض الأساسي من إنشاء Keras هو جعله سهل الاستخدام وقابل للتمديد بسهولة في نفس الوقت. لقد عملت مع Python ولم يتم تصميمها للآلات ولكن للبشر.

إنه يقلل العبء المعرفي على المطورين باتباع أفضل الممارسات. يمكن للمرء بسهولة Keras لإنشاء نماذج جديدة باستخدام وحدات قائمة بذاتها مثل مخططات التنظيم ، ووظائف التنشيط ، وخطط التهيئة ، والمحسِّنون ، ووظائف التكلفة ، والطبقات العصبية. الوظائف والفئات والوحدات النمطية الجديدة سهلة الإضافة. لا تتطلب نماذج Keras ملفات تكوين نموذج منفصلة ويتم تعريفها في كود Python.
نماذج في Keras
هيكل البيانات الأساسية لـ Keras هو النموذج ، وهناك نوعان أساسيان من النماذج في Keras ، وهما فئة نموذج API الوظيفي والنموذج المتسلسل.

- النموذج المتسلسل: إنه نموذج به مكدس خطي من طبقة يسهل وصفه. في النموذج المتسلسل ، يتم تحديد طبقتين كثيفتين بواسطة النموذج. هذا يجعل النموذج التسلسلي أقل تعقيدًا من حيث الترميز. يكفي سطر واحد فقط من الترميز في تعريف كل طبقة مثل التنبؤ بمخرجات النموذج المدرَّب ، وتقييم وحساب المقاييس والخسائر ، والتدريب والتركيب ، وتعريف عملية التعلم والتجميع. يعد نموذج Keras المتسلسل سهل الاستخدام ، ولكنه يقتصر فقط على طوبولوجيا النموذج.
- فئة النموذج مع واجهة برمجة التطبيقات الوظيفية: تُستخدم فئة Keras Model Class مع واجهة برمجة التطبيقات المفيدة بشكل أساسي لإنشاء نماذج ذات مستويات عالية من التعقيد. وتشمل هذه النماذج ذات الطبقات المشتركة ، والرسوم البيانية غير الدورية الموجهة (DAGs) ، ونماذج المدخلات المتعددة والمخرجات المتعددة ، وما إلى ذلك. توفر واجهة برمجة التطبيقات الوظيفية مرونة أكثر من النموذج المتسلسل في تجميعها معًا عن طريق تحديد الطبقة أولاً ، وإنشاء النموذج ، وتجميعه وفي النهاية تركيبه أو تدريبه. يتشابه التنبؤ والتقييم مع النموذج المتسلسل.
مجموعات البيانات والتطبيقات Keras
هناك سبع مجموعات بيانات نموذجية للتعلم العميق يمكن للمرء أن يجدها بشكل عام عبر فئة "keras.datasets". تتضمن مجموعات البيانات هذه أسعار Boston Housing ، وصور أزياء MNIST ، وأرقام MNIST المكتوبة بخط اليد ، وموضوعات أخبار Reuters ، ومراجعات أفلام IMDB ، وصور ملونة صغيرة cifar100 & cifar10.
هناك 10 تطبيقات Keras مدربة مسبقًا بالفعل ضد MobileNetV2TK و NASNet و DenseNet و MobileNet و InceptionResNetV2 و InceptionV3 و ResNet50 و VGG19 و VGG16 و Xception. يمكن استخدام نماذج التطبيق هذه من قبل أي مطور مبتدئ لضبط النماذج على مجموعة مختلفة من الفئات ، واستخراج الميزات والتنبؤ بتصنيف الصور.
فوائد Keras
- سهل الاستخدام : أحد الأسباب الرئيسية لكون Keras هو الرائد في واجهة برمجة تطبيقات الشبكات العصبية عالية المستوى هو سهولة الاستخدام.
- سهولة بناء النماذج والتعلم : تتمثل المزايا الأخرى لـ Keras في سهولة بناء النماذج وسهولة التعلم. كما يوفر دعمًا قويًا للتدريب الموزع ووحدات معالجة الرسومات المتعددة.
- سهولة التكامل مع المحركات الخلفية : يمكن أن يتكامل مع خمسة محركات خلفية على الأقل مثل PlaidML و MXNet و Theano و CNTK و TensorFlow.
- مجموعة واسعة من التبني الواسع وخيارات نشر الإنتاج: إنه يدعم مجموعة واسعة من خيارات نشر الإنتاج ويوفر مزايا التبني الواسع.
- مرونة أكبر: يتكامل أيضًا بسهولة مع مستوى منخفض من لغات التعلم العميق التي تمكن المطور من تنفيذ أي شيء أنشأه في اللغة الأساسية بسرعة. بهذه الطريقة ، توفر Keras مرونة كبيرة لمطور التعلم الآلي.
- التبني من قبل الشركات الكبيرة والشركات الناشئة والباحثين: يتم استخدام Keras من قبل العديد من الشركات الكبيرة مثل Uber و Nvidia و Apple و Amazon و Microsoft و Square و Zocdoc و Instacart و Yelp و Netflix و Google وغيرها الكثير. اعتمد الباحثون في وكالة ناسا و CERN أيضًا Keras كأطر عمل للتعلم العميق. كما أنها منتشرة في الشركات الناشئة التي تستخدم التعلم العميق في صميم منتجاتها.
- سهولة تحويل النماذج إلى منتجات: يمكن للمطور تحويل نماذجه بسرعة إلى منتجات لأن Keras تدعم مجموعة ممتازة من الأنظمة الأساسية أكثر من أي أطر عمل أخرى للتعلم العميق ، بما في ذلك Google Cloud. يتم تحقيقه مع TensorFlow-Serving ، في المتصفح عبر أوقات تشغيل JavaScript المتسارعة بواسطة GPU مثل WebDNN و Keras.js ، على Android عبر TensorFlow وقت تشغيل Android مثل تطبيق Not Hotdog على iOS عبر CoreML من Apple. يوفر CoreML من Apple أيضًا دعمًا رسميًا لـ Keras.
خاتمة
تدور هذه المقالة حول Keras وكيف يتم استخدامها للتعلم العميق. نأمل أن يكون هذا المقال قد ألقى بعض الضوء على مبادئ Keras والنماذج في Keras وفوائد استخدام Keras. إذا كنت ترغب في معرفة المزيد عن التعلم الآلي والذكاء الاصطناعي ، فراجع IIT Madras وشهادة upGrad المتقدمة في التعلم الآلي والسحابة.