الشبكات العصبونية المتكررة Recurrent Neural Network هي نوع خاص من الشبكات العصبية الاصطناعية التي تتكيف مع بيانات السلاسل الزمنية أو البيانات التي تتضمن تسلسلات حيث يتم تغذية الاخراج من الخطوة السابقة كمدخل إلى الخطوة الحالية.
في الشبكات العصبية التقليدية تكون جميع المدخلات والمخرجات مستقلة عن بعضها البعض ولكن في حالات مثل عندما يكون مطلوباً التنبؤ بالكلمة التالية من الجملة تكون الكلمات السابقة مهمة وبالتالي هناك حاجة لتذكر الكلمات السابقة.
وهكذا ظهرت شبكات RNN والتي حلت هذه المشكلة بمساعدة الطبقات المخفية. تمتلك RNNs مفهوم الذاكرة الذي يساعد على تخزين حالات أو معلومات المدخلات السابقة لتوليد المخرجات التالية من التسلسل وهذا يجعلها قابلة للتطبيق على مهام مثل التعرف على خط اليد غير المقسم و المتصل أو التعرف على الكلام.
مشاكل نواجهها الـ RNNs:
أحد أسباب استخدام الـ RNNs هو ميزة تذكر المعلومات السابقة. ومع ذلك، قد تفشل RNN بسيطة في حفظ المعلومات لفترة طويلة دون بعض الحيل.
مثال لمشكلة التدرجات المتلاشية:
تمثل المدخلات رموزًا من برنامج بلغة C. سيحدد النظام ما إذا كان برنامجًا صحيحًا نحويًا أم لا. يجب أن يحتوي البرنامج الصحيح نحويًا على عدد صالح من الأقواس. و بالتالي، يجب أن تتذكر الشبكة عدد الأقواس والأقواس المفتوحة التي يجب التحقق منها، و ما إذا كنا قد أغلقناها جميعًها. يجب أيضا على الشبكة تخزين هذه المعلومات في حالات مخفية مثل العداد. ومع ذلك، و بسبب التدرجات المتلاشية، فإنها ستفشل في الحفاظ على هذه المعلومات في برنامج لمدة طويلة.
DevOps هو مزيج من الفلسفات والممارسات الثقافية والأدوات التي تزيد من قدرة المؤسسة على تقديم التطبيقات والخدمات بسرعة عالية: تطوير المنتجات وتحسينها بوتيرة أسرع من المنظمات التي تستخدم إدارة البنية التحتية وعمليات تطوير البرمجيات التقليدية. وتُمكّن هذه السرعة المنظمات من خدمة عملائها بشكل أفضل والتنافس بشكل أكثر فاعلية في السوق.
في ظل نموذج DevOps، لم تعد فرق التطوير والعمليات "منعزلة". أحيانًا، يتم دمج هذين الفريقين في فريق واحد حيث يعمل المهندسون عبر دورة حياة التطبيق بالكامل، من التطوير والاختبار إلى النشر إلى العمليات، ولا يقتصر تطوير مجموعة من المهارات على وظيفة واحدة.
وفي بعض نماذج DevOps، قد تصبح كذلك فرق ضمان الجودة والأمان أكثر تكاملاً مع التطوير والعمليات وطوال دورة حياة التطبيق. وعندما يُصبح الأمان هو محط تركيز كل شخص في فريق DevOps، يشار إليه أحيانًا باسم DevSecOps.
وتستخدم هذه الفرق الممارسات لأتمتة العمليات التي كانت يدوية وبطيئة تاريخيًا. ويستخدمون مجموعة تكنولوجيات وأدوات تساعدهم في تشغيل التطبيقات وتطويرها بسرعة وعلى نحو موثوق به. وتساعد هذه الأدوات أيضًا المهندسين في إنجاز المهام بصورة مستقلة (على سبيل المثال، نشر التعليمات البرمجية أو توفير البنية التحتية) التي عادة ما تتطلب مساعدة من الفرق الأخرى، وهذا يزيد من سرعة الفريق.