ساخت مدل هوش مصنوعی با Auto-Keras

ساخت مدل هوش مصنوعی با Auto-Keras

AutoML (یادگیری ماشین اتوماتیک) یه عضو جدید توی این حوزه هست و به نظر هم میرسه که موندگار باشه. بهمون کمک میکنه مدل‌های بهتر و بهتر با API‌های عالی و ساده  داشته باشزیم. تو این مطلب باهاتون در مورد Auto-Keras, پکیج جدید کراس برای AutoML صحبت میکنیم. یه سورپرایز هم آخرش داریم براتون.

 

قبل از اینکه شروع کنیم یه نقل قول از Matthew Mayo رو بخونیم درباره اینکه AutoML چی نیست!

AutoML علم داده (data science) اوتوماتیک نیست. درسته که یادگیری ماشین یکی از صد‌ها ابزار علم داده هست اما در همه جای علم داده کاربرد نداره. برای مثال اگر پیش بینی جز وظایف علم داده باشه، یادگیری ماشین اونجا کابرد داره. اگرچه که ممکنه یادگیری ماشین نقش آنالیز توصیفی رو بازی نکنه.

بسیار خب، بریم سر اصل مطلب. به بیان ساده AutoML اوتوماتیک کردن کار‌های زیر است:

  1. آمده سازی و پاکسازی داده
  2. انتخاب  و ساخت فیچر (feature)‌های مناسب
  3. انتخاب مدل مناسب
  4. تنظیم کردن hyperparameters‌های مدل اعم از learning rate, steps, batch size
  5. بردازش نتیجه

حالا همه چیز در مورد AutoML روشن شد. بریم ببینیم کراس (Keras) چیه؟

کراس یک API سطح بالای شبکه‌های عصبی است که به زبان پایتون (python) نوشته شده است و قابلیت اجرا در TensorFlowCNTKTheano را دارد که با هدف سریع کردن آزمایش‌ها ساخته شد. رسیدن از ایده به نتیجه با کمترین تاخیر ممکن کلید یک تحقیق خوب است.

کراس توسط François Chollet ساخته شد و اولین قدم جدی برای ساده سازی یادگیری ماشین بود.

تنسورفلو هم API پایتون داره که خیلی هم سخت نیست ولی کراس کار رو برای ما خیلی آسون تر میکنه. باید توجه بشه که کراس به طور رسمی‌بخشی ار تنسورفلو نیست.

 

 

بسیار خب. حالا ما هم میدونیم کراس چیه و هم میدونیم AutoML چیه، بیاید با هم ترکیبشون کنیم. Auto-Keras یک کتابخونه نرم افزاری اوتوماتیک شده برای یادگیری ماشین هست. Auto-Keras شامل توابعی هست که معماری (Architecture) و‌هایپربارامتر (hyperparameters)‌های مدل‌های یادگیری ماشین رو جستجو میکنه.

 

 

نصب

pip install autokeras

استفاده

برای استفاده من از مثالی استفاده مکنم که خودشون روی وب قرار دادند. ولی قبلش بیاید ببینیم که چطور میتونیم همینکارو با ابزار مختلف انجام بدیم. من از یه چیز معروف به اسم MNIST استفاده میکنم. MNIST یک دیتاست ساده ی دید کامپیوتری (Computer Vision) است که شامل عکس‌هایی از عدد‌های دست نوشته است.

 

 

همچنین به هر عکس یک لیبل هم اختصاص داده شده که به ما میگه کدوم عدد هست و کدوم عدد نیست.

 

MNIST در تنسورفلو با اجرای Eager

منابع:

Models and examples built with TensorFlow. Contribute to tensorflow/models development by creating an account on GitHub.

 

خیلی ساده نیست ولی با مثال خوب توضیح داده شده. تنسورفلو راحت ترین ابزار برای یادگیری ماشین (Machine Learning) نیست ولی سریع و معتبره. با اجرای eager کد خوانا تر میشه.

 

MNIST با PyTorch

منایع:

A set of examples around pytorch in Vision, Text, Reinforcement Learning, etc. – pytorch/examples

 

MNIST با کراس

منابع:

Deep Learning for humans. Contribute to keras-team/keras development by creating an account on GitHub.

 

تا اینجا قطعا متوجه شدید که کراس ساده ترین پکیج برای اجرای این مثال هست. کراس یک پگیج عالی با امکانات فوق العاده هست برای رسیدن از ثفر به یک مدل کامل تنها در چند دقیقه.

حالا وقت سورپرازمونه!

MNIST با Auto-Keras

 

به همین سادگی! اینجا فقط شما به یک ImageClassifier نیاز دارید تا دیتا رو بدید بهش و محاسبه کنه براتون. یه final_fit  هم دارین اون آخر که کارش اینه که بعد از اینکه بهترین معماری رو پیدا کرد یک بار دیگه مدل رو تمرین میده.

 

خوبه که سلب مسٔولیت سازنده‌های این پکیج رو هم بخونید!

لطفا توجه کنید که این یک پیش انتشار از Auto-Keras هست و هنوز در حال امتحان پس دادن قیل از انشار نهایی هست. وبسایت, نرم افزار و … فقط در دسترس شما هستند و هیچگونه ضمانتی از جانب ما برای آسیب نزسیدن به سیستم شما و یا … وجود ندارد و مسئولیت آن تماما به عهده خود شماست. ….

 

برای اطلاعات بیشتر در مورد AutoML لینک ای زیر رو چک کنید.

 

 

Auto Machine Learning or AutoML is the automated process of algorithm selection, hyperparameter tuning, iterative modeling, and model assessment. Join us dis…

 

Data Science Office Hours 21-06-18 -- Auto Machine Learning Part 2
Auto Machine Learning or AutoML is the automated process of algorithm selection, hyperparameter tuning, iterative modeling, and model assessment. Join us in …

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *