مطور برامج: حول التعلم الآلي ، تعلمت العكس ...

نص كامل 4221 الكلمات ، وقت التعلم المقدر 13 دقيقة

المصدر: Unsplash

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

يحتاج هؤلاء المحترفون إلى البرمجة للتعامل مع مجموعات البيانات / الخوارزميات المعقدة لتدريب آلات الذكاء الاصطناعي.

بدأ المزيد والمزيد من مهندسي البرمجيات في تحويل الذكاء الاصطناعي ، ويتعلم معظم الناس التعلم الآلي من البداية.

ومع ذلك ، فإن إتقان التعلم الآلي أكثر صعوبة من إتقان إطار العمل الجديد.

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

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

إذن ، ما الذي يجب أن يتعلمه مهندس البرمجيات صاحب الرؤية عن الذكاء الاصطناعي؟

المصدر: Unsplash

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

  • فئة عامة HelloWorld {
  • الرئيسية العامة الثابتة الفراغ (Stringargs) {
  • System.out.println ("HelloWorld.") ؛
  • }
  • }
  • سألته "ما هذا؟"

    أجاب الأب: "هذا سوف يطبع" Hello World ".

    "ما هو العام؟ ما هو الفصل؟ ما هو ثابت؟ ..."

    "تجاهل هذه الكلمات. هذه مجرد نماذج من المستندات."

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

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

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

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

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

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

    لا تكن هكذا

    المرحلة الحالية

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

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

    تفصيل شعبية Keras / TensorFlow / PyTorch ، مقدم من Quora

    في أوائل خريف هذا العام ، تم إصدار TensorFlow 2.0 رسميًا ، وأصبح الإطار الجديد أكثر ملاءمة للمطورين. هذا هو نموذج Hello-World الخاص بـ TensorFlow 2.0:

  • النموذج = tf.keras.models.Sequential ()
  • model.compile (Optizer = 'adam'،
  • الخسارة = 'sparse_categorical_crossentropy') ،
  • المقاييس =))
  • model.fit (x_train ، y_train ، العهود = 5)
  • تقييم النموذج (x_test ، y_test)
  • viewrawhello_world_keras.py مستضاف مع بواسطة GitHub
  • إذا كنت قد صممت شبكة عصبية من قبل ، فإن الكود أعلاه بسيط وسهل القراءة. ولكن إذا لم يتم تصميم الشبكة العصبية أو كانت في مرحلة التعلم ، فقد تظهر بعض الأسئلة.

    على سبيل المثال ، ما هو التسرب؟ ما هي هذه الطبقات الكثيفة ، وما عددها المطلوب ، وأين يجب وضعها؟ ما هو Sparse_categorical_crossentropy؟ يزيل TensorFlow 2.0 بعض العوائق التي تعترض بناء النماذج ، لكنه لا يجرد البنية الفعلية لتلك النماذج.

    اتجاه التنمية

    إذن ، كيف ستبدو أدوات التعلم الآلي سهلة التشغيل في المستقبل؟ من Google و Amazon إلى Microsoft و Apple ، يستكشف الجميع الإجابة على هذا السؤال. بالإضافة إلى إخلاء المسؤولية ، هذا أيضًا سؤال كان المؤلف يفكر فيه كمهندس في Google.

    بادئ ذي بدء ، سيرى الأشخاص المزيد من المطورين يستخدمون نماذج مدربة مسبقًا لإكمال المهام المشتركة ، أي أنهم لا يحتاجون إلى جمع بياناتهم الخاصة أو تدريب شبكاتهم العصبية الخاصة ، ولكن يمكنهم استخدام Google / Amazon / Microsoft النموذج الحالي. قام العديد من موفري السحابة بهذا بالفعل. على سبيل المثال ، من خلال النقر على Google Cloud REST Terminal ، يمكنك استخدام الشبكة العصبية المدربة مسبقًا من أجل:

    استخراج النص من الصور

    ضع علامة على الأشياء المشتركة في الصور

    تحويل الكلام إلى نص

    الترجمة بين اللغات

    التعرف على عاطفة النص

    آخر

    يمكنك أيضًا استخدام أدوات مثل ML Kit من Google أو Core ML من Apple لتشغيل نموذج تم تدريبه مسبقًا في تطبيق الهاتف المحمول على الجهاز.

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

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

    ومع ذلك ، أصبحت هذه الأدوات أسهل في الاستخدام حتى عند تدريب نماذج مخصصة لمهام في مجالات محددة.

    لقطة شاشة للآلة القابلة للتعليم ، وهي أداة لبناء نماذج بصرية وإيماءات وصوتية في المتصفح.

    يتيح موقع الويب المجاني لآلة التعليم من Google للمستخدمين استخدام عمليات السحب والإفلات لجمع البيانات وتدريب النماذج في المتصفح. في وقت سابق من هذا العام ، أصدر معهد ماساتشوستس للتكنولوجيا واجهة مشفرة مماثلة لبناء نماذج مخصصة تعمل على أجهزة تعمل باللمس ، وقد تم تصميم الواجهة للأطباء وغيرهم من غير المبرمجين. تقدم Microsoft والشركات الناشئة مثل lobe.ai أيضًا حلولًا مماثلة. في الوقت نفسه ، يعد Google Cloud Automatic Machine Learning عبارة عن إطار تدريب نموذجي تلقائي لأعباء عمل المؤسسة.

    ماذا نتعلم بعد ذلك

    نظرًا لأن أدوات التعلم الآلي أصبحت أسهل في الاستخدام ، ستتغير مهارات المطورين الذين يرغبون في استخدام هذه التكنولوجيا (لكن ليسوا خبراء). لذا ، إذا كنت تريد التخطيط لاتجاه الهوكي مثل واين جريتسكي (واين جريتسكي) ، فما الذي يجب أن تتعلمه الآن؟

    من الصعب دائمًا معرفة وقت استخدام التعلم الآلي ...

    تختلف خوارزميات التعلم الآلي عن البرامج القياسية في كونها احتمالية. حتى النموذج شديد الدقة يمكن أن يخطئ أحيانًا ، مما يعني أنه ليس الحل الأفضل للعديد من المشكلات ، خاصةً لنفسه. خذ خوارزمية تحويل الكلام إلى نص القائمة على التعلم الآلي كمثال: عندما طُلب من Alexa "إيقاف تشغيل الموسيقى" ، قامت عن طريق الخطأ بضبط المنبه على الساعة 4 صباحًا ، وهو ما كان له تأثير ضئيل. ولكن إذا سمعت النسخة الطبية من Alexa عن طريق الخطأ عقار Adderall الذي وصفه الطبيب باسم Enulose ، فسيكون التأثير أكبر.

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

    1. مخاطر عالية

    2. محدودية الموارد البشرية

    3. البشر لديهم تنبؤات متحيزة أو غير دقيقة

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

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

    المصدر: Unsplash

    التفسير

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

    ولهذا السبب يركز العديد من اللاعبين في مجال التعلم الآلي على بناء أداء "ذكاء اصطناعي قابل للتفسير" - وهي أداة تسمح للمستخدمين بفحص الأداء الذي يستخدمه النموذج لإجراء تنبؤات عن كثب. لم يحلها الناس كمشكلة في الصناعة ، ولكن يتم إحراز تقدم. على سبيل المثال ، أطلقت Google في تشرين الثاني (نوفمبر) مجموعة من أدوات التفسير وشيء يسمى نموذج البطاقة - دليل مرئي لمساعدة المستخدمين على فهم قيود نماذج التعلم الآلي.

    تُظهر بطاقة نموذج التعرف على الوجوه من Google حدود النموذج.

    الابتكار من خلال التطبيق

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

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

    التعليق مثل اتبع

    دعنا نشارك العناصر الجافة لتعلم وتطوير الذكاء الاصطناعي

    في حالة إعادة الطباعة ، يرجى ترك رسالة في الخلفية واتباع مواصفات إعادة الطباعة

    وجه فائق السرعة منطق معقد حول لهم ولا قوة؟ انها محاولة جوليا

    الصوت الأساسي اليوم | مقدمة التاكسي الجوي! هيونداي وأوبر تطلقان بشكل مشترك مفهوم الطائرات الكهربائية

    هذا صحيح ، إنه npx بدلاً من npm - ما الفرق؟

    كيفية استبدال بيثون لتعميم الخريطة، تصفية والحد؟

    كيفية استخدام PySpark لاستخدام نماذج التعلم الآلي للتنبؤ بدفق البيانات؟

    في عام 2020، أن 10 أشياء للمطورين الأمامية تعلم

    تفسير NeurIPS2019 أوراق تعلم أفضل آلة

    اليوم صوت الأساسية | تكنولوجيا الغموض! سوف تظهر سامسونج "افتراضية" ونتائج المشروع

    لا أريد أن "الرصد" من؟ يعلمك خدعة للتخلص من تتبع الإعلانات

    AI في كل مكان؟ تجارة التجزئة، ومعظم التطبيق العملي مثيرة 10 من AI

    جاء ادي السيليكون من "خداع" حتى؟ مزاج تغيير الجهاز يمكن ارتداؤها هو أحدث الفضيحة

    مقاطعة شاندونغ، وجينان والمعلومات المحلية لرقابة البحوث المدرسية الغرفة والوقاية من الأوبئة والسيطرة إعداد المدرسة البحوث