لا حاجة لتعلم التعلم الآلي

تعلم كيفية إنشاء برنامج باستخدام نماذج التعلم الآلي


صورة

إخلاء المسؤولية: تستند هذه المقالة فقط على ملاحظاتي لفرق التطوير في مجال التعلم الآلي وليست نتيجة مراجعة علمية للصناعة. كمرجع ، أنا أساعد في تطوير Cortex ، منصة مفتوحة المصدر لإطلاق النماذج في الإنتاج.

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

ومع ذلك ، إذا قررت البدء في دراسة ML باتباع جميع الشرائع ، فمن المحتمل أنه بعد أسبوعين من الجبر الخطي والتحليل متعدد المتغيرات ، يمكنك إنهاء هذا الدرس.

يكمن السبب في حقيقة أن معظم المواد التمهيدية حول ML لا تركز على المطورين ، ولكن على الباحثين - وهي مشكلة للمطورين الذين يريدون فقط إنشاء منتجات تعلم الآلة.

هل تريد إنشاء منتجات أو إجراء بحث؟


حتى نهاية عام 2000 ، كان التعلم الآلي مشكلة بحثية تقريبًا. لم يكن هناك ببساطة العديد من الشركات التي ستستخدم حقًا التعلم الآلي في الإنتاج.

وبالتالي ، تعتمد العديد من مواد الألفة المتوفرة في التعلم الآلي على نهج البحث. يبدأ كل شيء بتوضيح الشبكات العصبية من وجهة نظر رياضية ، والنظرية الكامنة وراء التعلم الآلي. يتم إعطاء الأشياء ، مثل طريقة الانتشار الخلفي وشبكات الخصومة.

حتى المواد غير المتعلقة بالجامعة تتبع هذا النمط إلى حد ما. على سبيل المثال ، يتم أخذ هذا مباشرةً من مكتبة "Quickstart for Beginners" التابعة لـ TensorFlow:

صورة

إذا كنت تعتقد أنني أتصرف بشكل انتقائي ، أقترح قراءة ما يلي .

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

استخدام البرمجة كإضافة إلى الرياضيات هو نفس تعلم كتابة التعليمات البرمجية عن طريق تعلم المجمع أولاً. لن يدرس أي مطور مثل هذا.

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

عندما تعلمت كيفية البرمجة ، فمن المرجح أنك فعلت ذلك بكتابة "hello world" بلغة عالية المستوى. بعد ذلك ، عندما أصبحت المشاريع أكثر تعقيدًا ، بدأت في دراسة البرمجة منخفضة المستوى.

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

كيفية تعلم ML عن طريق إنشاء البرامج


إذا كنت من النوع الذي يتعلم بشكل أفضل من خلال الدورات التدريبية ، فإن أفضل مورد للترويج لهذا النهج من أعلى لأسفل ، والتعلم للعملية مع ML هو الدورة التدريبية في fast.ai التطبيقي العميق للمبرمجين .

ليس الغرض من المقالة هو الإعلان بسرعة. على الإطلاق ، ولكن تجدر الإشارة إلى أن مؤسسي المنصة (جيريمي هوارد وراشيل توماس) قد جمعوا عدة دورات للمطورين مع تدريب عميق ، والتي تجبر حرفياً على إنشاء الأشياء ، وتعمق في النظرية الرئيسية ، لأنها مباشرة مرتبط بالمشروع. لفهم أسلوب التعلم بشكل أفضل ، شاهد مقطع فيديو من Rachel Thomas.



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

لفهم أفضل لما يكون إنشاء البرنامج باستخدام ML (إذا ذهبت بهذه الطريقة):

  1. حدد هدفًا ، على سبيل المثال ، قم بإنشاء الإكمال التلقائي لحقل النص أو معرف لوحة الترخيص.
  2. ابحث عن نموذج معد مسبقًا ومناسب لمشروعك - ستعمل أيضًا نماذج GPT-2 أو YOLOv3 مع المشاريع المذكورة سابقًا.
  3. إذا كنت ترغب في ذلك ، يمكنك حتى استخدام المكتبة باعتبارها gpt-2-simple لضبط (تخصيص البيانات الخاصة بك) النموذج الخاص بك.
  4. أخيرا ، نشر النموذج كخدمة صغيرة.


بمجرد نشر النموذج كواجهة برمجة تطبيقات ، يمكنك طلبه ، مثل أي خدمة ويب أخرى ، وإنشاء تطبيقك حوله.

يمكنك مشاهدة التطبيق الحقيقي لهذه العملية في مشروع تم إنشاؤه بواسطة مهندس تعلم آلي منفرد.



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

بمجرد أن تتمكن من إنشاء منتجات قائمة على ML ، ابدأ في نظرية التعلم


كمهندس ، ربما قمت بالفعل بتنفيذ بعض أشكال المصادقة في وقت سابق ، مما يعني أنك (آمل) أن تقوم بتجزئة كلمات المرور.

عند إعداد تجزئة كلمة المرور ، هل كتبت خوارزمية تجزئة مخصصة؟ هل قضيت عدة أسابيع في دراسة التشفير؟ أو هل استخدمته للتو bcrypt؟

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



صورة
تعرف على تفاصيل كيفية الحصول على مهنة مرغوبة من الصفر أو المستوى الأعلى في المهارات والراتب من خلال الحصول على دورات SkillFactory عبر الإنترنت:



اقرأ أكثر



All Articles