نحول المكنسة الكهربائية الروبوت إلى جندي عالمي

بدأ كل شيء بشغف للتعلم العميق والشبكات العصبية والمزيد من أسفل القائمة. نظرت إلى دورتين ، وشاركت في مسابقة على Kaggle ... "ماذا تفعل؟" ثم زحف المكنسة الكهربائية الروبوتية (Xiaomi Vacuum Cleaner V1) من قِبل أعمالها التجارية وألقيت فكرة مثيرة للاهتمام ...



مقدمة طويلة


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


تساءلت عن ماهية التعلم الآلي. بعد مرور عام ، أستطيع أن أقول أن الموضوع ضخم للغاية. دعونا نرى ما هي الجوانب المحددة المتاحة للاستخدام في الحياة والأعمال.


  1. تعلم الآلة الكلاسيكية.
    باختصار: كل ما كان قبل ظهوره HYIP التعلم العميق (التعلم العميق). إذا كانت لديك بيانات جدولية عن المبيعات والعملاء والمعاملات وتريد زيادة المبيعات ، وجذب العملاء ، والتعرف على عمليات الاحتيال ، فأنت هنا. فيما يلي بعض المحاضرات الجيدة لمساعدتك في فهم كيفية تحليل البيانات واستخدام طرق مثل مجموعة التفرعات العشوائية أو K-mean أو XGBoost. كما أنني أحببت المصغرة Kaggle والمنافسة التنبؤ سعر المنزل. ربما يمكن لأي شركة لديها عملاء حقيقيين (وبالتالي قاعدة بيانات) أن تطبق هذه الطرق. هناك العديد من الأشياء المثيرة للاهتمام.
  2. التعلم العميق
    السيارات غير المأهولة والسيارات غير المأهولة واستبدال رأس جاك نيكولسون برئيس جيم كاري . ولكن إذا كنت الغوص أعمق ، فإن أي رئيس يذهب. إليك التعرف على الوجوه والعواطف وموضع الجسم وسحب الدلالات من الفيديو وجميع أنواع تحويلات دفق الفيديو. النسخ التلقائي والترجمة التلقائية ، وتعريف الأمراض والحشائش ، حسنا ، أنت تفهم ، أي شيء تقريبا. بالإضافة إلى رؤية الكمبيوتر ، هناك أيضًا معالجة لغة طبيعية (NLP) ومعالجة ومحاكاة دفق الصوت وألعاب الشبكات العصبية GAN. مهما كان جانب التعلم العميق الذي تختاره ، يمكنك قضاء بعض الوقت على:

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


  • تعميق في تفاصيل البنية التحتية.
    يتطلب تدريب الشبكة العصبية المصورة للتعرف على الصور موارد الجهاز. اختيار الحديد واسع ومحدود فقط حسب حجم المحفظة. أعتقد أنه يمكن اعتبار GTX 1070 Ti بداية جيدة ، لكن لا تنسَ أن بطاقة الفيديو وحدها لا تحل جميع المشكلات ، لأن البيانات لا تزال بحاجة إلى إعدادها وتزويدها بالشبكات العصبية. يمكن أن تصبح وحدة المعالجة المركزية الضعيفة أو محرك الأقراص الثابتة البطيء عنق الزجاجة في نظامك. لذلك ، قم بشراء معالج i5 إضافي و 16 gig من ذاكرة الوصول العشوائي والقرص الصلب. لوحة المفاتيح ، فليكن ذلك ، ستؤتي ثمارها. خيار آخر ، Google Cloud ، Azure ، AWS ، Kaggle مرة أخرى. توفر الخدمات السحابية العشرات ، إن لم يكن مئات الخيارات ، بسعر يبدأ من حوالي 50 سنتًا في الساعة لـ K80 (تقريبًا نفس GTX 1070 Ti). تمنحك Google إيداعًا بقيمة 300 دولار لممارسة. يعطي أزور 200 دولار ، مع أمازون لم يكن لديك للتعامل. لقد أحببت خيار Google لأنه يمكنك تغيير بطاقات الفيديو بسرعة ("آه ، المشي مثل المشي. اليوم سيكون V100"). بالطبع ، مقارنةً بمرتبات تاريخ نجم الروك الخاص باختبارات الموقع من قسم البحث الخاص بك ، ستكون هذه النفقات بنسات حقيقية. اختراق صغير للحياة ، عند الاتصال بجهاز في السحابة ، استخدم إعادة توجيه المنفذ: you_user@your_host -L 8888:127.0.0.1:8888 . سيتيح لك ذلك تشغيل Jupyter عن بعد على الكمبيوتر المحلي. أود أيضًا أن أقول عن Google TPUs. يمكن استخدامها مجانًا تمامًا من Google Colab ، ولكن هل يمكنك استخدامها ، فهذا هو السؤال. عندما تعمل مع أكثر أو أقل من النماذج القياسية ، كل شيء يبدو جميلًا ، ولكن النماذج المخصصة تتصرف بشكل غير متوقع إذا بدأت للتو.


  • تعميق في التنفيذ في الإنتاج.
    تعد التجارب المتعلقة بالهندسة المعمارية والمشاركة في المسابقات من الأشياء المفيدة للغاية ، ولكن في الواقع ليس من الأهمية بمكان أن النموذج الخاص بك يعطي دقة بنسبة 85 ٪ أو 87 ٪. بالنسبة للسيارات غير المأهولة أو التطبيقات المحمولة في هذه الحالة ، ستكون سرعة اتخاذ القرارات أكثر أهمية ، وبالنسبة للاحتياجات الطبية ، فعلى الأرجح يكون مستوى الأخطاء منخفضًا من النوع الثاني ("صحي! هيا ، وداعًا!"). أي أن تحديد الأولويات يأتي إلى الواجهة. بالإضافة إلى ذلك ، هناك مجموعة من الأسئلة الفنية: كيفية طرحها وضمان التشغيل المستمر في بيئة المنتج ، وكيفية تدريب النموذج على بيانات جديدة ، وكيفية مراقبة وتقييم نتائج العمل ، وكيفية التقاط الأخطاء وإصلاحها ، أخيرًا. لدينا بالفعل كل هذه المشاكل مع البرامج العادية ، لكنهم الآن ينتقلون إلى مستوى مختلف. هناك بالفعل أدوات للتحكم في الإصدار (Git-LFS ، Saturn Cloud) ، مصممة خصيصًا للتعلم الآلي ، ولكن المعايير المقبولة عمومًا لا وجود لها بعد ، والتي لها بالتأكيد رومانسية. اختراق آخر للحياة: إذا احتفظت بالبارامترات في ملفات التكوين المنفصلة ، فيمكنك بسهولة استعادة التجارب الناجحة.


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



الجسم الرئيسي


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


بالطبع ، عليك أن تبدأ بأشياء بسيطة. على سبيل المثال ، للبحث عن حبري الذي تم إعداده لنا بالفعل. اتضح أن "داخلها" Ubuntu 14.04 ، مما يعني أنه إذا كان لديك الجذر ، فيمكنك ، على سبيل المثال ، التحكم فيه من عصا التحكم . إذا قمت بسحب بيانات الغطاء ، فستجد في متناول اليد ، نموذجًا أوليًا لسيارة غير مأهولة.
يبدأ الاختيار بالفعل في هذه المرحلة. خذ كاميرا كاملة مع Wi-Fi وبطارية أو لوحة للاستدلال مثل Jetson Nano؟ هل يمكنني تجميع كاميرا وواي فاي وبطارية في Raspberry Pi؟ كل أسلوب مثير للاهتمام بطريقته الخاصة ، لكنني حاولت التمسك بالهدف الرئيسي: صنع جهاز بسيط يعمل باستخدام التعلم الآلي ، لذلك اخترت الخيار الأول.


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


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


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

الشكل يشبه هذا:



هذه هي الطريقة التي تعمل بها:



حاصل الجمع


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


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


ملاحظة: تفاصيل التنفيذ موجودة في المستودع . التعليقات وطلبات السحب هي موضع ترحيب.

Source: https://habr.com/ru/post/ar474024/


All Articles