ماذا ماذا عن Keras و TensorFlow
نشرت: 2019-04-05إذا كنت تتابع المشهد التكنولوجي عن كثب (أو حتى عن بعد ، في هذا الشأن) ، فلا بد أنك سمعت بمصطلح "التعلم العميق". لقد تم الحديث على نطاق واسع عن المصطلح - وهو محق في ذلك.
أحدث التعلم العميق ثورة في الذكاء الاصطناعي من خلال مساعدتنا في بناء الآلات والأنظمة التي لم نحلم بها إلا في الماضي. في الجوهر الحقيقي ، يعد التعلم العميق جزءًا فرعيًا من التعلم الآلي الذي يستخدم شبكات عصبية اصطناعية عميقة (في هذه المرحلة ، إذا كنت مرتبكًا من ماهية الشبكات العصبية ، فراجع مقالتنا حول نفس الشيء) لمعالجة مشاكل التعلم الالي.
هل تحلم بالدراسة في الخارج؟ هذا هو البرنامج المناسب لكالشبكة العصبية العميقة هي مجرد شبكة عصبية بها طبقات عديدة مكدسة فوق بعضها البعض - زيادة عدد الطبقات ، وعمق الشبكة. أدت الحاجة المتزايدة للتعلم العميق ، وبالتالي تدريب الشبكات العصبية العميقة ، إلى ظهور عدد من المكتبات والأطر المخصصة للتعلم العميق.
في منشور المدونة هذا ، سنتحدث عن اثنين من أطر التعلم العميق. بنهاية منشور المدونة هذا ، سيكون لديك فهم أوضح لما هو Keras ، وما هو TensorFlow ، وكيف يختلف الاثنان ، وهل هما متشابهان من أي جانب؟
لكن قبل ذلك ، يجب أن نناقش الأمرين بإيجاز ، حتى تعرف ما أنت فيه. Tensorflow هي المكتبة الأكثر استخدامًا في تطوير نماذج التعلم العميق. مجتمع TensorFlow واسع للغاية وداعم ، خاصةً لأنه منصة مفتوحة المصدر. عدد عمليات الإيداع والتفرع في مستودع GitHub في TensorFlow كافٍ للسماح لك بفهم الشعبية الواسعة النطاق لإطار العمل. ومع ذلك ، ليس من السهل العمل معها.
Keras ، على الطرف الآخر ، عبارة عن واجهة برمجة تطبيقات عالية المستوى تم إنشاؤها فوق TensorFlow. إنه سهل الاستخدام للغاية وأسهل نسبيًا من TensorFlow.

قد تثير قراءة القسم أعلاه بعض الأسئلة:
- إذا تم بناء Keras على رأس TF ، فما الفرق بين الاثنين إذن؟
- إذا كانت Keras أكثر سهولة في الاستخدام ، فلماذا يجب علي استخدام TF لبناء نماذج التعلم العميق؟
من خلال هذه المقالة ، دعنا نطلعك على تعقيدات كلا الإطارين ونساعدك في الإجابة على الأسئلة.
في هذه المقالة ، سنتحدث عن اثنين من المكتبات والأطر العديدة - TensorFlow و Keras.
جدول المحتويات
ما هو TensorFlow؟
TensorFlow هي هدية Google للمطورين المشاركين في التعلم الآلي. يجعل قوة التعلم العميق في متناول الأشخاص الذين يسعون وراءها. لدى Google برنامج تعليمي مبتدئ بالإضافة إلى برنامج تعليمي متقدم يقدم لك كل من ML و TF بشكل متزامن لحل مشكلة متعددة الميزات - التعرف على الأحرف. علاوة على ذلك ، إذا كنت ترغب في التعمق في المزيد من الجوانب التقنية لذلك ، فنحن نقترح عليك مراجعة دوراتنا التدريبية حول نفس الموضوع!
TensorFlow هي مكتبة مفتوحة المصدر متوفرة على GitHub . إنها واحدة من أكثر المكتبات شهرة عندما يتعلق الأمر بالتعامل مع الشبكات العصبية العميقة. السبب الرئيسي وراء شعبية TensorFlow هو سهولة إنشاء التطبيقات ونشرها باستخدام TensorFlow. نماذج المشاريع المتوفرة في مستودع GitHub ليست قوية فقط ولكنها مكتوبة أيضًا بطريقة سهلة للمبتدئين.
إذن ، ما هو TensorFlow المستخدم؟
يتفوق TensorFlow في الحوسبة الرقمية ، وهو أمر بالغ الأهمية للتعلم العميق. يوفر واجهات برمجة التطبيقات في معظم اللغات والبيئات الرئيسية اللازمة لمشاريع التعلم العميق: Python و C و C ++ و Rust و Haskell و Go و Java و Android و IoS و Mac OS و Windows و Linux و Raspberry Pi.
علاوة على ذلك ، تم إنشاء TensorFlow مع مراعاة قيود طاقة المعالجة. مما يعني أنه يمكننا تشغيل هذه المكتبة على جميع أنواع أجهزة الكمبيوتر ، بغض النظر عن صلاحياتها في المعالجة. يمكن تشغيله حتى على هاتف ذكي (نعم ، حتى هذا الشيء المبالغ فيه الذي تمسك به وتفاحة عض عليها).
5 تطبيقات لمعالجة اللغة الطبيعية للشركات في 2018
يعمل TensorFlow حاليًا في الإصدار 1.3 ويعمل على جميع المنصات الرئيسية المستخدمة اليوم تقريبًا ، من الهواتف المحمولة إلى أجهزة الكمبيوتر المكتبية والأجهزة المضمنة ومحطات العمل المتخصصة ومجموعات الخوادم الموزعة على السحابة أو في مكان العمل. دفع هذا الانتشار والانفتاح والمجتمع الكبير TensorFlow إلى المؤسسة لحل تطبيقات العالم الحقيقي مثل تحليل الصور وتوليد البيانات ومعالجة اللغة الطبيعية وروبوتات الدردشة الذكية والروبوتات والمزيد.
ومن المثير للاهتمام أن TensorFlow يتم استخدامه من قبل مجموعة واسعة من المبرمجين لتنفيذ ترجمة اللغة وحتى الكشف المبكر عن سرطان الجلد من بين حالات أخرى. إنه يغير حقًا طريقة تفاعل المطورين مع تكنولوجيا التعلم الآلي.
تطبيقات TensorFlow
عندما يتعلق الأمر بالتعلم العميق ، اكتسب TensorFlow زخمًا أكبر بكثير من منافسيها - Caffe و Theano و Torch وأطر أخرى معروفة. يستخدم TensorFlow على نطاق واسع في التعرف على الصوت والتطبيقات القائمة على النصوص مثل Google Translate والتعرف على الصور واكتشاف الفيديو.
ومن المثير للاهتمام أن وكالة ناسا تعمل على تطوير نموذج تنبؤي للأجسام القريبة من الأرض باستخدام TensorFlow و Deep Learning. وفقًا للأشخاص في وكالة ناسا ، يمكن أن يساعد TensorFlow في تصميم نموذج متعدد الطبقات يكون قادرًا على التعرف على إمكانات الأجسام القريبة من الأرض وتصنيفها. يتم استخدام TensorFlow من قبل بعض أكبر شركات البيانات في العالم - مثل Airbnb و Airbus و Dropbox و Snapchat و Uber.
بعض التطبيقات الرئيسية لـ TensorFlow هي:
- تم تنفيذ Tensorflow بنجاح في DeepDream - برنامج التسمية التوضيحية للصور الآلي - يستخدم TensorFlow.
- يعالج RankBrain من Google ، المدعوم من TensorFlow ، عددًا كبيرًا من الاستعلامات كل دقيقة واستبدل بشكل فعال البحث التقليدي القائم على الخوارزمية.
- إذا كنت قد استخدمت تطبيق Allo ، فلا بد أنك رأيت ميزة مشابهة لـ Inbox من Google - يمكنك الرد على الرسالة الأخيرة من خلال بعض الخيارات المخصصة. كل ذلك بفضل التعلم الآلي باستخدام TensorFlow. هناك ميزة أخرى تحلل الصور المرسلة إليك لاقتراح الرد المناسب.
ما هو كراس؟
Keras هي مكتبة عالية المستوى تم إنشاؤها فوق Theano أو TensorFlow. يوفر واجهة برمجة تطبيقات من نوع scikit-Learn (مكتوبة بلغة Python) لبناء الشبكات العصبية. يمكن للمطورين استخدام Keras لبناء شبكات عصبية بسرعة دون القلق بشأن الجوانب الرياضية لجبر الموتر والتقنيات العددية وطرق التحسين.

الفكرة الرئيسية وراء تطوير Keras هي تسهيل التجارب من خلال النماذج الأولية السريعة. القدرة على الانتقال من فكرة إلى نتيجة بأقل تأخير ممكن هي مفتاح البحث الجيد.
يوفر هذا ميزة كبيرة للعلماء والمطورين المبتدئين على حد سواء لأنهم يستطيعون الغوص مباشرة في التعلم العميق دون أن تتسخ أيديهم بحسابات منخفضة المستوى. أدى ارتفاع الطلب على التعلم العميق إلى زيادة الطلب على الأشخاص المهرة في التعلم العميق.
تحاول كل مؤسسة دمج التعلم العميق بطريقة أو بأخرى ، وتوفر Keras طريقة سهلة للغاية للاستخدام وكذلك بديهية بما يكفي لفهم واجهة برمجة التطبيقات التي تساعدك بشكل أساسي على اختبار وبناء تطبيقات التعلم العميق بأقل مجهود. هذا أمر جيد لأن أبحاث التعلم العميق هي موضوع ساخن في الوقت الحالي ويحتاج العلماء إلى أداة لتجربة أفكارهم دون إضاعة الوقت في تجميع نموذج الشبكة العصبية.
السمات البارزة لـ Keras
- Keras هي واجهة عالية المستوى وتستخدم Theano أو Tensorflow لخلفيتها.
- يعمل بسلاسة على كل من وحدة المعالجة المركزية ووحدة معالجة الرسومات.
- يدعم Keras تقريبًا جميع نماذج الشبكة العصبية - متصلة بالكامل ، تلافيفية ، مجمعة ، متكررة ، مدمجة ، إلخ. علاوة على ذلك ، يمكن دمج هذه النماذج لبناء نماذج أكثر تعقيدًا.
- نظرًا لكون Keras معياريًا بطبيعته ، فهو معبر بشكل لا يصدق ومرن ومناسب للبحث المبتكر.
- Keras عبارة عن إطار عمل قائم على Python بالكامل ، مما يجعل من السهل تصحيح الأخطاء واستكشافها.
Keras vs TensorFlow: كيف يقارنون؟
Keras هي مكتبة شبكات عصبية مكتوبة بلغة Python عالية المستوى بطبيعتها - مما يجعلها سهلة الاستخدام وبسيطة للغاية. إنه يعمل كغلاف للمكتبات منخفضة المستوى مثل مكتبة الشبكات العصبية عالية المستوى TensorFlow أو Theano ، المكتوبة بلغة Python والتي تعمل كغلاف لـ TensorFlow أو Theano. بهذا المعنى ، فإن المقارنة ليست منطقية لأن Keras نفسها تستخدم TensorFlow للنهاية الخلفية.
ولكن ، إذا كان لا بد لنا ، يجب علينا.
Keras سهلة الفهم والتنفيذ - استخدام Keras يشبه إلى حد كبير التعامل مع كتل Lego. تم تصميمه لمساعدة المطورين على إجراء اختبارات سريعة ، واختبارات POC ، وتجارب قبل الانتقال إلى النطاق الكامل. يسمح لك Keras باستخدام TensorFlow في الواجهة الخلفية - مما يلغي الحاجة إلى تعلمه.
تم تطوير Keras بهدف السماح للأشخاص بكتابة نصوصهم الخاصة دون الحاجة إلى تعلم الواجهة الخلفية بالتفصيل. بعد كل شيء ، لن يهتم معظم المستخدمين بأداء البرامج النصية وتفاصيل الخوارزميات.

ومع ذلك ، لا يناسب الحجم الواحد الجميع عندما يتعلق الأمر بتطبيقات التعلم الآلي - الاختلاف الصحيح بين Keras و TensorFlow هو أن Keras لن تعمل إذا كنت بحاجة إلى إجراء تغييرات منخفضة المستوى على نموذجك. لذلك ، أنت بحاجة إلى TensorFlow. على الرغم من صعوبة فهمها ، فبمجرد حصولك على بناء الجملة ، فإنك ستبني النماذج الخاصة بك في أي وقت من الأوقات.
لذلك ، مثل كل شيء ، كل ذلك يتلخص في متطلباتك في متناول اليد. إذا كنت تبحث عن العبث بالشبكات العصبية العميقة أو ترغب فقط في بناء نموذج أولي - فإن Keras هي مكالمتك. ومع ذلك ، إذا كنت تحب الغوص بعمق والتحكم في الوظائف منخفضة المستوى ، فيجب عليك قضاء بعض الوقت في استكشاف TensorFlow.
تحليل المشاعر: ما هو ولماذا هو مهم؟
تغليف…
يتجه العالم بسرعة نحو الأتمتة مع سيطرة التعلم العميق على كل شيء. ليس هناك من ينكر حقيقة أنه في الأيام القادمة ، سينمو استخدام الشبكات العصبية العميقة فقط ، ومع ذلك ، ستزداد الحاجة إلى الأشخاص المهرة أيضًا. لذا ، إذا كنت تعتقد أن التعلم العميق هو مكالمتك ، فابدأ باستكشاف Keras أو TensorFlow في أقرب وقت ممكن!
عزز حياتك المهنية من خلال دورة متقدمة من التعلم الآلي والذكاء الاصطناعي مع IIIT-B وجامعة Liverpool John Moores.
ما هو Tensorflow المستخدمة؟
الجواب على السؤال هو أن Tensorflow يمكن أن يتولى أي مهمة من مهام التعلم الآلي. يستخدم Tensorflow في كل شيء بدءًا من التعرف على خط اليد وحتى التغلب على بطل العالم في Go. يتم استخدام Tensorflow أيضًا لإنشاء نماذج تعلم آلي قوية مخصصة لتطبيقات المؤسسة. على سبيل المثال ، نحن نستخدم TensorFlow لإنشاء تطبيقات لاكتشاف الوجه في المراقبة بالفيديو. TensorFlow هي أداة لبناء الرسوم البيانية الحسابية العددية وتشغيل الحسابات بكفاءة.
ما هو كراس؟
Keras هي مكتبة شبكة عصبية مفتوحة المصدر لـ Theano و TensorFlow. مكتوبًا بلغة بيثون ، يتيح لك تحديد الشبكات العصبية المعقدة في بضعة أسطر من التعليمات البرمجية. يمكن تشغيله فوق TensorFlow أو Theano ، وقد تم تطويره مع التركيز على تمكين التجريب السريع. Keras هي واجهة برمجة تطبيقات شبكات عصبية عالية المستوى ، مكتوبة بلغة Python وقادرة على العمل فوق TensorFlow أو CNTK أو Theano. تم تطويره مع التركيز على تمكين التجريب السريع. تعد القدرة على الانتقال من فكرة إلى نتيجة بأقل تأخير ممكن مفتاحًا لإجراء بحث جيد.
هل تعتمد Keras على TensorFlow؟
لا ، Keras هي واجهة برمجة تطبيقات عالية المستوى لبناء وتدريب نماذج الشبكة العصبية. لا تعتمد Keras على TensorFlow ، والعكس صحيح. يمكن لـ Keras استخدام TensorFlow كخلفية لها. يمكنه أيضًا استخدام أطراف خلفية أخرى مثل Theano و CNTK. ليس من المنطقي تضمين كل مكتبة تعلم عميق في TensorFlow ، لأن بعضها له تصميم وبناء جملة مختلفان. أيضًا ، بعضها أسرع بكثير من TensorFlow ، لذلك من غير المجدي محاولة تضمينها جميعًا في إطار عمل واحد. بالطريقة نفسها ، لا يعتمد TensorFlow أيضًا على Keras. قاعدة كود Keras صغيرة وقابلة لإعادة الاستخدام. يعتمد فقط على numpy وعدد قليل من المكتبات القياسية الأخرى.