الذكاء الصنعيمقالات ومحاور تقنية

ما هو TensorFlow؟ .. تعرف على مكتبة تعلم الآلة 2022

TensorFlow 2022


TensorFlow مكتبة مفتوحة المصدر تستخدم لغة بايثون Python للحساب الرقمي والذي يجعل تعلم الآلة أسرع وأسهل، بالمجمل تعلم الآلة نظام معقد إلا أنَّ تطبيق نماذج تعلم الآلة أصبح أقل صعوبة عما كان عليه في السابق، وذلك بفضل أطر تعلم الآلة – مثل TensorFlow من Google – والتي تسهل عملية الحصول على البيانات ونماذج التدريب وتخدم التنبؤات وتساعد في تحسين النتائج المستقبلية.

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

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

اقرأ أيضاً: 6 من مخاطر الأمن السيبراني في عالم إنترنت الأشياء 2022

TensorFlow
TensorFlow

شرح الـ TensorFlow

يتيح TensorFlow للمطورين إنشاء رسومات بيانية لتدفق البيانات – وهي هياكل تصف كيفية تحرك البيانات عبر الرسم البياني، أو سلسلة من عقد المعالجة. تمثل كل عقدة في الرسم البياني عملية حسابية، ويكون كل اتصال أو حافة بين العقد عبارة عن مصفوفة بيانات متعددة الأبعاد، أو موتر.

يوفر TensorFlow كل هذا للمبرمج عبر لغة Python. وتعتبر Python سهلة للتعلم والعمل بها، وتوفر طرقاً مريحة للتعبير عن كيفية الجمع بين التجريدات عالية المستوى. العقد والتوترات في TensorFlow هي كائنات Python، وتطبيقات TensorFlow هي نفسها تطبيقات Python.

ومع ذلك، لا يتم تنفيذ العمليات الفعلية الرياضيات في Python. تتم كتابة مكتبات التحويلات التي تتوفر من خلال TensorFlow كثنائيات سي بلس بلس عالية الأداء. تقوم بايثون فقط بتوجيه حركة المرور بين القطع، وتوفر اختصارات برمجة عالية المستوى لربطها ببعضها البعض.

ويمكن تشغيل تطبيقات TensorFlow على أي منصة مناسبة: كالجهاز المحلي، أو كمجموعة في السحابة، أو أجهزة iOS وأندرويد، وحتى وحدات المعالجة المركزية (CPUs) أو وحدات معالجة الرسومات (GPU). وإن كنت تستخدم السحابة الخاصة لشركة Google، فيمكنك تشغيل TensorFlow على شريحة وحدة معالجة TensorFlow من Google لمزيد من التسارع. ومع ذلك، يمكن نشر النماذج الناتجة التي تم إنشاؤها بواسطة TensorFlow على معظم الأجهزة ليتم استخدامها لخدمة التوقعات.

اقرأ أيضاً: التكنولوجيا التي ستُغير حياتنا خلال 5 سنوات القادمة

بنية الـ TensorFlow

تعد المعالجة المسبقة للبيانات وبناء النموذج وأخيراً تدريب النموذج وتقديره هي العناصر الثلاثة لبنية Tensorflow و حصل Tensorflow على اسمه من حقيقة أنه يأخذ مدخلات في شكل مصفوفة متعددة الأبعاد، تُعرف عموماً باسم tensors ويمكنك إنشاء مخطط انسيابي للعمليات التي تريد تشغيلها على هذا الإدخال و يدخل المدخل في أحد طرفيه وينتقل عبر هذا النظام من العمليات المختلفة ويظهر كمخرجات في الطرف الآخر و يدخل الموتر ويمر عبر مجموعة من العمليات ثم يخرج من الجانب الآخر وهذا هو سبب تسميته TensorFlow.

اقرأ أيضاً: تسريع أرشفة جوجل لموقعك – أفضل 10 طرق

ماذا تحتاج لتشغيل Tensorflow؟

يمكن تقسيم متطلبات أجهزة وبرامج TensorFlow إلى ثلاث فئات و الوضع (نوع الذكاء الاصطناعي)، يتم تدريبه خلال مرحلة التطوير و تتم غالبية التدريب على جهاز كمبيوتر أو كمبيوتر محمول و يمكن استخدام Tensorflow على مجموعة متنوعة من المنصات عند اكتمال مرحلة التدريب.

يمكن استخدامه على سطح مكتب Windows أو macOS أو Linux في السحابة كخدمة ويب وعلى الأنظمة الأساسية للجوّال مثل iOS و Android و يمكنك تدريبه على عدة أجهزة كمبيوتر ثم تشغيله على جهاز منفصل بمجرد أن يتم تدريبه.

يمكن استخدام كل من وحدات معالجة الرسومات (GPU) ووحدات المعالجة المركزية (CPU) لتدريب النموذج وتشغيله و تم إنشاء وحدات معالجة الرسومات مع وضع ألعاب الفيديو في الاعتبار و اكتشف باحثو ستانفورد في أواخر عام 2010 أن وحدات معالجة الرسومات قوية جداً في عمليات المصفوفة والجبر.

مما يجعلها سريعة جداً في هذه الأنواع من المهام و يتم استخدام الكثير من عمليات ضرب المصفوفات في التعلم العميق ونظراً لأن TensorFlow تم تطويره في ++C، فهو سريع للغاية في تنفيذ عملية ضرب المصفوفة و TensorFlow على الرغم من كتابته بلغة ++C، يمكن الوصول إليه والتحكم فيه باستخدام لغات مختلفة، أبرزها Python.

اقرأ أيضاً: أفضل 17 متجر تطبيقات بديل جوجل بلاي | تنزيل متجر التطبيقات الأفضل 2022

مكونات TensorFlow
مكونات TensorFlow

فوائد TensorFlow

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

يوفر TensorFlow أيضاً وسائل راحة إضافية للمطورين الذين يحتاجون إلى التصحيح والاستكشاف الأعمق لتطبيقات TensorFlow. ويتيح لك وضع التنفيذ المتدرج تقييم كل عملية رسم بياني وتعديلها بشكل منفصل وشفاف، بدلاً من إنشاء الرسم البياني بأكمله ككائن واحد وتقييمه دفعة واحدة. مكدس TensorBoard للإظهار يتيح فحص ووصف الرسوم البيانية بطريقة تديرها لوحة القيادة التفاعلية معتمدة على شبكة الإنترنت.

تحذير هام: بعض التفاصيل الخاصة بتطبيق TensorFlow تجعل من الصعب الحصول على نتائج تدريب نموذجية حتمية لبعض الوظائف التدريبية. وفي بعض الأحيان، يختلف نموذج تم تدريبه على نظام واحد قليلاً عن نموذج تم تدريبه على نظام آخر، وحتى عندما يتم تغذيته بنفس البيانات بالضبط.  على سبيل المثال، كيف يتم ترقيم الأرقام العشوائية وأين، أو بعض السلوكيات غير الحتمية عند استخدام وحدات معالجة الرسومات (GPU). ومع ذلك، من الممكن العمل حول هذه القضايا، وينظر فريق TensorFlow في المزيد من الضوابط للتأثير على الحتمية في سير العمل.

اقرأ أيضاً: الواقع الممتد .. معلومات |حقائق | توقعات وكل ما ترغب بمعرفته 2022

خوارزميات مختلفة يمكن استخدامها في Tensorflow

فيما يلي الخوارزميات المدعومة:
  1. الانحدار الخطي: tf.estimator.inearRegressor.
  2. التصنيف: tf.estimator.LinearClassifier.
  3. تصنيف التعلم العميق: tf.estimator.DNNClassifier.
  4. مسح التعلم العميق: tf.estimator.DNNLinearCombinedClassifier.
  5. تعزيز انحدار الشجرة: tf.estimator.BoostedTreesRegressor.
  6. تصنيف الشجرة المعزز: tf.estimator.BoostedTreesClassifier.

اقرأ أيضاً: أفضل طريقة وبرنامج تشغيل اليوتيوب في الخلفية للايفون

TensorFlow والمنافسة

تتنافس TensorFlow مع عدد كبير من الأطر الأخرى للتعلم الآلي. تعد PyTorch و CNTK و MXNet ثلاثة أطر عمل رئيسية تتناول العديد من الاحتياجات نفسها وفيما يلي المقارنة بين هذه الأطر وTensorFlow:

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

يستخدم CNTK، مجموعة أدوات مايكروسوفت المعرفية، ومثل TensorFlow بنية رسومية لوصف تدفق البيانات، ولكنه يركز بشكل أكبر على إنشاء شبكات عصبية تعلمية عميقة. يعالج CNTK العديد من وظائف الشبكات العصبية بشكل أسرع، ولديه مجموعة أوسع من واجهات برمجة التطبيقات (Python ، C ++ ، C # ، Java). ولكن ليس من السهل تعلمه أو نشره حالياً مثل TensorFlow.

يمكن لـ Apache MXNet، التي تعتمدها أمازون Amazon كإطار عمل التعلم العميق الأول على AWS، أن تتسارع بشكل خطي عبر وحدات معالجة الرسوميات المتعددة والآلات المتعددة. كما أنها تدعم مجموعة واسعة من واجهات برمجة التطبيقات اللغوية – Python و ++C  و Scala و R و JavaScript و Julia و Perl و Go – على الرغم من أن واجهات برمجة التطبيقات الأصلية الخاصة بها ليست ممتعة للعمل معها كـ TensorFlow.

اقرأ أيضاً: أقوى 7 توقعات ذكاء اصطناعي Artificial Intelligence في 2022

وأخيراً اطلع على المزيد من شروحاتنا في عالم الذكاء الصنعي AI

اقرأ أيضاً: أفضل تطبيقات تعلم الآلة 2022

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى