برنامه‎نویسان چگونه می‎توانند از هوش مصنوعی بدون ناظر (Driverless AI) استفاده کنند
خودکارسازی یادگیری ماشین با H2O.ai
مشخص شده است یادگیری ماشین و به‌ویژه یادگیری عمیق در زمان‎هایی که در دست متخصصان این حوزه قرار گيرد به‌میزان بسیار زیادی مفید واقع می‎شود و همچنین به‌میزان بسیاری به سخت افزار کامپیوتر وابسته است. با فراگير شدن GPGPU (واحد پردازش گرافیکی عمومی‎) پرقدرت، FPGA (آرایه گیت‎های قابل برنامه‌ریزی) و تراشه‎های سفارشی مثل (Tensor Processing Unit (TPU گوگل نیز دستیابی به چنین قابلیت‎هایی آسان‎تر از گذشته شده است. اما ما همچنان با کمبود متخصصانی از جمله دانشمندان داده و برنامه‌نویسان یادگیری ماشین مواجه هستیم.

اینکه این کمبود تا چه میزان جدی است به این بستگی دارد که روند آموزش و استخدام دانشمندان داده و توسعه‌دهندگان توسط سازمان‎های مرتبط تا چه حد جدی گرفته می‎شود. اما هوش مصنوعی بدون ناظر یا Driverless AI قادر است مدل‎های یادگیری ماشینی را بدون نیاز به مهارت‎های یادگیری ماشینی از طرف کاربران ایجاد کند. تا زمان انتشار این مقاله Driverless AI تنها سیستم یادگیری ماشینی خودکار است که به این شکل عرضه شده است. اما بدون شک ظرف یک سال آینده رقبای جدیدی چه به‌صورت مجموعه‎های منبع باز یا خدمات مستقل رقیب آن خواهند شد.
اگر شرکت‎ها به‌جای استخدام دارندگان مدرک دکتری با حداقل 20 سال سابقه کار و ترجیحاً جوان، متخصصان این حوزه از جمله تحلیلگران، برنامه‌نویسان SQL و برنامه‌نویسان یادگیری ماشینی را به یک دیگر ارتباط دهند، دستیابی به اهداف مورد نیاز این صنعت سریع‎تر انجام خواهد شد. علاوه بر این اگر آن‌ها استفاده از ابزارهايی مثل هوش مصنوعی بدون ناظر H2O.ai (Driverless AI ) که بخش قابل ملاحظه‎ای از فرآیند یادگیری ماشین را خودکارسازی می‎کند، در دستور کار خود قرار دهند، می‎توانند این گروه‎ها را به طور چشمگیری کارآمدتر کنند. همان طور که مشاهده خواهیم کرد، هوش مصنوعی بدون ناظر یا Driverless AI یک سیستم یادگیری ماشینی است که به طور خودکار هدایت می‎شود و بدون نیاز به تخصص علم داده قادر به ایجاد و آموزش مدل‎های شگفت‌انگیزی در طی مدت زمان بسیار کوتاه است. با وجود اینکه هوش مصنوعی بدون ناظر سطح مورد نیاز برای یادگیری ماشینی، قابلیت‎های مهندسی و تخصص آماری را کاهش می‎دهد، اما نیاز به درک داده و آمار و الگوريتم‎های یادگیری ماشینی که شما با آن سر و کار دارید را از بین نمی‎برد.

مطلب پیشنهادی

یادگیری ماشینی در خدمت شبکه‌های 5G
هوشمندسازی ارتباطات نسل پنجم

شکاف مهارت‎های علمی‎ داده‎ها را کنار بگذارید

قبل از تجزیه و تحلیل داده چه با یادگیری ماشینی، یادگیری عمیق یا مدل‎های آماری، باید آن را غربال و آماده کنید. طی فرآیند ساخت مدل، باید مهندسی ویژگی را به‌منظور ساخت فیلدهای جدیدی که ارتباط بیشتری با نتایج هدف نسبت به فیلدهای اصلی داده دارد انجام دهید که اغلب بعد از تجزیه مقدار منفرد (SVD) یا تحلیل کلاستر صورت می‎گیرد. انجام تمام این کارها بسیار خسته‌کننده است. ساخت مدل‎های لایه به لایه شبکه عصبی عمیق و تنظیم دقیق پارامترهای آن‌ها نیز خسته‌کننده و نیازمند کار زیاد، منابع پردازشی و حافظه بالا است.
طی سال گذشته حداقل چند مورد تلاش برای خودکارسازی یادگیری ماشینی صورت گرفته است که شامل Auto-sklearn, Auto-Weka, Prodigy, Google AutoML, Google Vizier و H2O.ai’s Driverless AI که موضوع این مقاله است می‎شود. بسته یادگیری عمیق منبع باز تحت هوش مصنوعی بدون ناظر H2O.ai، همچنین از یک مدل AutoML برخوردار است که روی تنظیم دقیق پارامترهای الگوريتم‎های مختلف و یافتن بهترین ترکیب قابل استفاده برای حل مسئله تمرکز دارد.
علاوه بر مشکل در اختیار داشتن کارمند ماهر مورد نیاز برای ایجاد و بهینه‌سازی مدل‎ها، هیچ‌کس کاملاً نمی‎تواند پیش‌بینی مدل‎های ساخته شده توسط سیستم‎های یادگیری ماشینی که اغلب غیرخطی، غیرمونوتونی و غیرپیوسته هستند را درک کند. طی چند سال گذشته تلاش‎های زیادی صورت گرفته تا پیش‌بینی‎های یادگیری ماشینی به طور تقریبی تفسیر و «مسئله جعبه سیاه» حل شود. بسیاری از آن‌ها نیز در ترکیب با هوش مصنوعی بدون ناظر مورد استفاده قرار گرفته‎اند.
مسئله جعبه سیاه به‌ویژه در موارد کاربردهای برنامه‌ریزی شده مثل مالی و پزشکی اهمیت پیدا می‎کند. تنها کافی نیست به یک متقاضی وام گفته شود که سیستم درخواست شما را رد کرده است. شما باید بتوانيد توضیح دهید چرا این درخواست رد شده است. به عنوان مثال، درآمد شما از میزان اعتبار مورد نیاز برای ضمانت این وام خیلی کمتر است یا خیلی از پرداخت‎های قبلی شما به تأخیر افتاده است. (شکل 1)


شکل 1

هوش مصنوعی بدون ناظر یک محصول وب اختصاصی است (نمودار معماری شکل 1 را مشاهده کنید) که روی پشته H2O.ai (نمودار معماری تصویر پایین شکل 1 را مشاهده کنید) با هدف تقلید از فرآیندهای مورد استفاده توسط استادان Kaggle برای ایجاد مدل‎های عالی ساخته شده است. بخش زیرین پشته H2O.ai نیز به‌شکل پیش‌ساخته به‌عنوان یک فایل JAR، چرخه پایتون و یک پکیج R موجود است. (شکل 2)
Kaggle یک سایت (https://www.kaggle.com/)   ویژه علم داده است که مجموعه داده‎های استاندارد را ارائه و مسابقاتی را برای تحلیل آن‌ها برگذار می‎کند. برخی از این مسابقات دارای پشتیبانی مالی هستند و جوایز قابل توجهی نیز ارائه می‎کنند (به عنوان مثال برای جایزه اول رقابت چالش الگوریتم غربالگری مسافر TSA مبلغ 500,000 دلار در نظر گرفته شده است). همچنین، Kaggle دوره‎های آموزشی و محیطی آنلاین برای علم داده را نیز فراهم کرده است. هر چالش یک سرپرست دارد و تمام کاربران Kaggle توسط هم‌گروهان خود رتبه‌بندی می‎شوند. در حال حاضر، در رتبه‌بندی Kaggle تعداد 95 استاد ارشد و 890 استاد وجود دارد. مطمئناً هزاران استاد دیگر در سطح دانشمندان داده مشغول کار در شرکت‎های مختلف هستند که هنوز زمان و شانس رقابت در Kaggle را پیدا نکرده‎اند. اگر در حوزه علم داده‌ها مبتدی هستید پیشنهاد می‎کنم، ابتدا به مسیر https://www.kaggle.com/c/titanic بروید. 


شکل 2

نصب و تنظیمات H2O.ai Driverless AI 

نصب هوش مصنوعی بدون ناظر تنها به‌سادگی انتخاب H2O.ai Driverless AI AMI در زمان ایجاد یک نمونه Amazon EC2 است. روی هر کلاود یا ماشین محلی پشتیبانی شده‎ای شما اصولاً Docker, nvidia-docker و Nvidia driver را نصب می‎کنید، سپس دایرکتوری‎های استاندارد را اضافه می‎کنید، Driverless AI Docker container را دانلود و نصب و مجوز خود را اضافه می‎کنید. بعد از اجرا، Driverless AI container یک رابط تحت وب را روی پورت 12345 در اختیار شما می‎گذارد که می‎توانید آن را با مرورگر کروم مشاهده کنید. نمایش پیش‌فرض (که در شکل 3 مشاهده می‎کنید) شامل فهرستی از آزمايش‌های شما است.


شکل 3

پشتیبانی GPU در اوبونتو از برنامه nvidia-docker و Nvidia driver برای اتصال Driverless AI Docker container به Nvidia GPU استفاده می‎کند. هوش مصنوعی بدون ناظر می‎تواند از چند پردازنده گرافیکی و پردازنده مرکزی استفاده کند. هوش مصنوعی بدون ناظر از Kepler, Maxwell, Pascal و میکرومعماری‎های Volta GPU پشتیبانی می‎کند. همچنین، روی پردازنده‎های گرافیکی Kepler K80 که نوع عرضه شده در نمونه‎های AWS P2 هستند به‌خوبی کار می‎کند. هوش مصنوعی بدون ناظر از میکرومعماری‎های قدیمی‎تر Tesla و Fermi پشتیبانی نمی‎كند. 

مطلب پیشنهادی

هوش مصنوعی؛ دوست‌داشتنی یا هراس‌انگیـز
آیا هوش مصنوعی به معنای پایانی بر واقعیت، پایانی بر مشاغل کارگری و درنهایت سرآغازی بر استثمار نوین خواهد بود؟

با فرض اینکه شما هوش مصنوعی بدون ناظر را از روی کلاود اجرا می‎کنید، معمولاً با استفاده از Secure Copy (scp) داده را درون دایرکتوری داده از میزبان ماشین مجازی Driverless AI container بارگیری می‎کنید. این کانینر به‌گونه‎ای پیکربندی شده است تا در زمان ورود داده به طور پیش‌فرض از این دایرکتوری استفاده کند.
با توجه به اینکه می‎توانید یک Driverless AI container را روی MacOS یا ویندوز 10 محلی خود نصب کنید، به یک ماشين با حداقل 16 گيگابايت رم و برای Docker به حداقل 8 گیگابایت رم نیاز خواهید داشت. اگرچه می‎توانید با این پیکربندی آزمايش‌های خود را انجام دهید، اما قادر به استفاده از آن برای کاربردهای جدی نخواهید بود و با کمبود حافظه و پشتیبانی پردازنده گرافیکی مواجه خواهید شد.

یادگیری ماشینی H2O.ai Driverless AI 

برای اجرای یک آزمايش، از طریق کروم روی پورت 12345 به سرور Driverless AI خود وارد شوید. روی دکمه New Experiment کلیک کنید، یک مجموعه داده آزمایشی را انتخاب کنید. در این مرحله شما صفحه‎ای مطابق با تصویر زیر را مشاهده خواهید کرد. (شکل 4)


شکل 4

تنظیمات Accuracy کنترل چند پارامتر دیگر را تحت تأثیر قرار می‎دهد: حداکثر تعداد ردیف‎ها، سطح گروه، اینکه آیا باید تغییر و تحولات هدف امتحان شود، آیا پارامترهای مدل XGBoost را باید تنظیم کرد، چه تعداد نمونه مستقل باید در الگوريتم‎های تکوینی استفاده شود، چه تعداد مقیاس اعتبارسنجی در هر مدل استفاده شود و آیا باید تغییر انتخاب ویژگی انجام شود. تنظیمات Time تعداد دوره‎هایی که باید اجرا شود را کنترل می‎کند. تنظیمات Interpretability مشخص می‎کند آیا باید از یک استراتژی انتخاب ویژگی برای نمایش تفسیر استفاده کرد. برای انجام یک آزمايش اولیه بهتر است از گزینه‎های پیش‌فرض برای این کنترل‎ها استفاده کنید. (شکل 5)


شکل 5

وقتی شما یک نمونه آزمایشی را راه‌اندازی می‎کنید، Driverless AI فرآيند مهندسی ویژگی را آغاز می‎کند که شامل تعلیم سریع و امتیازدهی به بسیاری از مدل‎ها در حین اعمال تغییر و تحولات در فیلدهای داده برای ایجاد ویژگی‎های جديد با پیش‌بینی بهتر قدرت بین دوره‎ها است. در واقع، تغییر و تحولات اعمال شده به نوع داده بستگی دارد.
فیلدهای Text ممکن است TF-IDF و ویژگی‎های شمارش کلمات را توليد کند. فیلدهای Numeric ممکن است به‌گونه‎ای تبدیل شوند تا مقادیر را به دسته‎های کوچک‎تر طبقه‌بندی کند. (شکل 6)


شکل 6

بعد از اینکه تمام دوره‎ها ارزیابی شدند، Driverless AI یک آموزش کامل را اجرا و با مجموعه ویژگی‎های نهایی شروع به تولید پیش‌بینی می‎کند. در این مرحله می‎توانید تفسیرهای مدل را مشاهده کنید که به محاسبات کمی‎ بیشتری نیاز دارد. (شکل 7)


شکل 7

صفحه Model Interpretation شامل ترسیمی‎ از طرح توضیحی از مدل تفسیری کلی، نمودار میله‎ای اهمیت آماری هر متغیر، ساختار درختی مدل جایگزین و ترسیمی‎ از طرح مورد انتظار شرایط موردی است. همه این‌ها برای کمک به تولید توضیحات تقریبی از مدل‎های بسیار دقیق با استفاده از تکنیک k-LIME انجام می‎شود. اساساً چیزی که در اینجا اتفاق می‎افتد، این است که Driverless AI یک تحلیل k-means را برای تولید کلاسترها اجرا می‎کند و مدل‎های خطی کلاستر را با پیش‌بینی مدل Driverless AI هماهنگ می‎کند. از مدل‎های محلی برای توضیح ردیف‎هایی که درون کلاسترهای بزرگ هستند و از مدل‎های سراسری برای توضیح ردیف‎هایی که بیرون کلاسترهای بزرگ قرار دارند استفاده می‎شود. (شکل 8)


شکل 8

اگر بخش توضیحات را مشاهده کنید، می‎توانید متغیرهایی را که بیشترین میزان مشارکت در مدل‎های تفسیری سراسری داشته‎اند و مدل کلاسترهای منفرد را ملاحظه کنید. برای مشاهده کلاسترهای مورد نظر خود از منوی کرکره‎ای Plot استفاده کنید. Driverless AI می‎تواند برای هرکدام از آزمايش‌های یک پکیج رتبه‌بندی پایتون قابل دانلود تولید کند. شما برای اجرای این پکیج‎ها به ابونتو 16.04 و بالاتر، پایتون 3.6 و مجموعه‎ای از ماژول‎های پایتون نیاز دارید. (شکل 9)


شکل 9

اگر روی یک مجموعه داده کلیک کنید، همان ‎طور که در تصویر بالا مشاهده می‎کنید می‎توانید عناصر کلیدی مرتبط با این مجموعه داده را به‌شکل دیداری در اختیار داشته باشید. بعد از کلیک روی هرکدام از این عناصر دیداری می‎توانید آن را در اندازه کامل مشاهده و دانلود کنید. برای کنترل بیشتر Driverless AI از طریق رابط کاربری وب می‎توانید با استفاده از h2oai_client برنامه‎های کلاینت پایتون را آماده کنید.

مطلب پیشنهادی

مشاغل آینده و مهارت‌هایی که به آن‌ها نیاز دارید

ارزیابی یادگیری ماشین خودکار

در مجموع، Driverless AI تحسین‌برانگیز است و شما از نتیجه کار آن شگفت‌زده خواهید شد. این شرکت می‎گوید استادان Kaggle آن که الگوريتم‎های مورد نیاز این سیستم را فراهم می‎کنند نیز از عملکرد آن غافلگير شده‎اند. مهندسی ویژگی و مدل آموزش اغلب هفته‎ها زمان می‎برد تا به نتیجه قابل قبول دست پيدا كنيد. Driverless AI اغلب می‎تواند ظرف چند دقیقه یا چند ساعت یک پاسخ مناسب را ارائه کند. H2O.ai مدعی است Driverless AI نبوغ استادان ارشد Kaggle را در یک بسته در اختیار شما قرار می‎دهد. این درست است که متدهای استادان ارشد Kaggle در اختیار شما است، اما دیگرانی که در سازمان شما حضور دارند باید درباره کاری که انجام می‎دهید اطلاع داشته باشند. در غیر این صورت نمی‎توانید درباره وضعیت عملکرد Driverless AI درست تصمیم‌گیری کنید. بدون برخی پیش‌زمینه‎های آماری، مباحث مهندسی ویژگی، کلاسترهای k-means و مدل‎های خطی تولید شده برای شما بی‎معنا هستند و نتایج بصری نیز شما را به نتیجه مطلوب نمی‎رساند.

 

برچسب: