یادگیری ماشین خودکاره کیست؟ توضیح بده.
یادگیری ماشین خودکاره فرایند خودکارسازی اعمال یادگیری ماشین بر مشکلات دنیای واقعی است. اُتوام‌ال خط لوله کامل فرایندهای یادگیری ماشین- از مجموعه داده‌های خام گرفته تا ایجاد مدل قابل استفاده -را در بر می‌گیرد. پیش از این اُتوام‌ال به عنوان راه حلی مبتنی بر هوش مصنوعی برای چالش‌های روزافزون استفاده از یادگیری ماشین ارائه شده‌است. به دلیل خودکار بودن اُتوام‌ال افراد غیر متخصص نیز می‌توانند از مدل‌ها و تکنیک‌های یادگیری ماشین، بدون نیاز به یادگیری تخصصی در این زمینه، استفاده کنند.خودکارسازی فرایند استفاده از الگوریتم‌های یادگیری ماشین علاوه بر مزایای ذکر شده، مزایای دیگری مانند تولید راه حل‌های ساده‌تر، ایجاد سریع تر این راه حل‌ها و ایجاد مدل‌هایی که اغلب از مدل‌هایی که به صورت دستی طراحی شده‌اند، بهترند، ارائه می‌دهد.مقایسه با رویکرد استاندارد.در یادگیری ماشین معمولی، مجموعه ای از داده‌های ورودی برای یادگیری در اختیار داریم. این دادهٔ خام ممکن است در شکل و فرمتی مناسب برای اعمال همهٔ الگوریتم‌ها، نباشد. برای اینکه داده‌ها برای یادگیری ماشین قابل استفاده باشند، ممکن است یک متخصص نیاز به اعمال پیش پردازش داده‌ها، مهندسی ویژگی‌ها، استخراج ویژگی‌ها و روشی برای انتخاب ویژگی‌ها داشته باشد.بعد از این مرحله باید انتخاب الگوریتم و بهینه‌سازی پارامترها، برای حداکثر کردن کارایی پیش‌بینی مدل، انجام شود. همهٔ این مراحل چالش‌هایی دارند و اُتوام‌ال به‌طور قابل ملاحظه ای این مراحل را برای افراد غیرمتخصص، ساده می‌کند.اهداف خودکارسازی.یادگیری ماشین خودکار می‌تواند گام‌های مختلفی از فرایند یادگیری ماشین را هدف قرار دهد. که این اهداف شامل موارد زیر است:به‌طور کلی می‌توان فرایند یادگیری ماشین خودکار را به چند بخش اصلی تقسیم کرد:آماده‌سازی داده‌ها.جمع‌آوری داده.مطالعات عمیق و فراوان در حوزهٔ یادگیری ماشین به وجود آورندهٔ نیاز دائمی به در دسترس بودن داده‌های مختلف شده‌است. به همین دلیل تعداد زیادی دیتاست قابل دسترسی برای همگان به وجود آمده‌اند. در مراحل اولیه توسعه یادگیری ماشین، دیتاست اعداد دست‌نویس MNIST توسعه داده شد و پس از آن دیتاست‌های بزرگ CIFAR-10 و CIFAR-100 و ImageNet نیز توسعه داده شدند. دیتاست‌های مختلفی با جستجوی عبارت مورد نظر در Kaggle و Google Dataset Search و Elsevier Data نیز قابل دسترسی استولی معمولاً به دست آوردن دیتاست برای موارد خاص مانند اطلاعات خصوصی افراد، توسط روش‌های ذکر شده، ساده نیست. برای حل این مشکل دو راه حل پیشنهاد می‌شود:جستجوی داده.با جستجو در وب، که یک منبع پایان ناپذیر داده‌ها است می‌توان بعضی داده‌ها را به دست آورد اما ممکن است با مشکلاتی از جمله نادرست بودن یا نداشتن برچسب داده‌ها روبه رو شویم که برای حل این مشکل‌ها، روش‌هایی برای برچسب زدن به صورت خودکار به داده‌ها، ایجاد شده‌اند.سنتز داده‌ها.شبیه‌سازی داده‌ها یکی از پر استفاده‌ترین روش‌ها برای تولید داده‌ها است: یعنی استفاده از شبیه‌سازهایی که به اندازهٔ ممکن به دنیای واقعی شبیه است. OpenAI Gym یک ابزار معروف برای ایجاد محیط‌های شبیه‌سازی متفاوت استروش دیگر برای تولید داده‌ها استفاده از یا GAN است.پاک‌سازی داده‌ها.داده‌های جمع‌آوری شده ناگزیر دارای نویز اند و این نویز می‌تواند تأثیر منفی در آموزش مدل داشته باشد در نتیجه در صورت نیاز باید فرایند پاک‌سازی داده‌ها انجام شود.به‌طور معمول پاک‌سازی داده‌ها به دانش افراد متخصص احتیاج دارد اما دسترسی به افراد متخصص محدود و هزینه بر است. به همین دلیل روش‌ها و سیستم‌های مانند BoostClean برای خودکار کردن این فرایند استفاده می‌شود. البته این سیستم‌ها فقط بر روی دیتاست‌های ثابتی می‌توانند کار کنند اما در دنیای واقعی که روزانه داده‌های بسیاری تولید می‌شود، این روش‌ها پاسخ گو نیستند.افزونگی داده‌ها.افزونگی داده‌ها می‌تواند داده‌های جدیدی بر اساس داده‌های موجود تولید کند و تا حدودی از ابزارهای «جمع‌آوری داده‌ها» به حساب می‌آید. این روش همچنین به عنوان رگیولایزر برای جلوگیری از over fit شدن مدل بر روی داده‌های آموزشی مورد استفاده است. برای مثالی از پیاده‌سازی بخش افزونگی داده‌ها برای داده‌های تصویری می‌توان با بزرگ یا کوچک کردن تصویر یا بریدن بخش‌هایی از آن تصاویر جدید ایجاد کرداز اولین سیستم‌هایی که برای خودکارسازی این بخش استفاده می‌شده‌است، AutoAugmentاست.امروزه فرایند پیش پردازش داده‌ها به‌طور کامل و جامع توسط هیچ‌کدام از ابزارهای اُتوام‌ال پیاده‌سازی نشده‌است و هنوز به مقدار قابل توجهی تلاش فرد برای پیاده‌سازی نیاز دارد.مهندسی داده‌ها.هدف مهندسی داده‌ها ماکسیمم کردن ویژگی‌های استخراج شده از داده‌های خام برای استفاده توسط الگوریتم‌ها و مدل است؛ و شامل بخش‌هایی می‌شود:انتخاب ویژگی‌ها.در یک زیر مجموعه از ویژگی‌ها را از روی مجموعه اصلی ویژگی‌ها با کاهش ویژگی‌های نامربوط یا تکراری انتخاب می‌شود و با این کار تلاش می شودکه مدل را ساده‌تر شود تا از بیش برازش جلوگیری کرده و کارایی مدل را بهتر شود. از جمله روش‌ها برای جستجوی ویژگی‌ها استفاده از روش‌های جستجوی اول سطح و اول بهترین و همین‌طور الگوریتم‌های شبیه‌سازی و الگوریتم‌های ژنتیک است.تولید ویژگی‌ها.در تولید ویژگی‌ها ویژگی‌های جدیدی را از فضای ویژگی‌های پایه یا داده‌های خام ایجاد می‌شود تا قابلیت تعمیم و مقاومت مدل را بهبود دهد. برای مثال از روش‌هایی مانند متمم کردن ویژگی‌های بولین یا مینمم یا ماکسیمم کردن داده‌های عددی استفاده می‌شود.استخراج ویژگی‌ها.فرایند روشی برای کاهش بعد است که با بعضی از توابع تناظرانجام می‌شود و اطلاعات و ویژگی‌های غیر تکراری را بر اساس معیارهای مشخصی استخراج می‌کند. کرنل استخراج ویژگی‌ها تابع تناظری است که می‌تواند باروشی مانند پیاده‌سازی شود. به تازگی از شبکه‌های عصبی پیشخور هم برای این کار استفاده می‌شود.ایجاد مدل و تخمین کارایی مدل.ایجاد مدل به دوبخش فضای جستجو و روش‌های بهینه‌سازی تفسیم می‌شود. فضای جستجو ساختار مدل را تعریف می‌کند.به‌طور کلی می‌توان مدل‌ها را به دو دسته تقسیم کرد:در این ادامه بیشتر بر NAS تمرکز می‌کنیم و مراحل اُتوام‌ال را حول آن توضیح می‌دهیم.جستجوی معماری عصبی(NAS).جستجوی معماری عصبی روشی برای اتوماسیون طراحی شبکه‌های عصبی مصنوعی (ANN) است و روشی است که به‌طور گسترده در زمینه یادگیری ماشین مورد استفاده قرار می‌گیرد. از "NAS" برای طراحی شبکه‌هایی استفاده شده‌است که از معماری‌هایی با طراحی دستی بهترعمل می‌کنند.متدهای NAS را می‌توان با توجه به فضای جستجو، استراتژی جستجو و استراتژی تخمین عملکرد طبقه‌بندی کرد.هدف NAS جستجوی معماری شبکه عصبی مقاوم و با کارایی مناسب است که به وسیلهٔ انتخاب و ترکیب اعمال مختلف پایه که توسط فضای جستجو از قبل تعریف شده‌است، انجام می‌شود.فضای جستجو.معماری شبکه عصبی را می‌توان به صورت یک گراف بدون دور جهت دارنمایش داد که از راس‌ها و یال‌هایی که این رئوس را به هم وصل می‌کند تشکیل می‌شود که هر راس یک تنسور را نشان می‌دهد و هر یال یک عملیات را از مجموعه اعمال کاندید نشان می‌دهد. این مجموعه شامل عملیات اساسی کانولوشن، pooling و تابع فعال ساز و پریدن از روی رابطه و الحاق و جمع است. نحوه انتخاب و ترکیب این روش‌ها با فضای جستجوی طراحی شبکه تغییر می‌کند. این فضای جستجو الگوی ساختاری که الگوریتم‌های بهینه‌سازی معماری می‌توانند در آن جستجو کنند را مشخص می‌کند.بهینه‌سازی.روش‌های بهینه‌سازی را می‌توان به دو دسته بهینه‌سازی پارامترهای فرایند یادگیری (مانند نرخ یادگیری و سایز batch) و گروه پارامترهای طراحی معماری مدل (مانند تعداد همسایه‌ها در KNN و تعداد لایه‌ها در شبکه عصبی عمیق) تقسیم کرد.بهینه‌سازی معماری.بعد از تعریف فضای جستجو باید شبکه با بهترین عملکرد را انتخاب کنیم که به آن بهینه‌سازی معماری گفته می‌شود. جستجوی خودکار معماری از روش‌های مختلفی انجام می‌شود. یک روش استفاده از الگوریتم ژنتیک است. برای مثال می‌توان معماری شبکه را با رشته‌ای باینری مشخص کرد که در آن ۱ نشان دهنده این است که دو راس به هم متصل اند و صفر نشان دهندهٔ نبود هیچ اتصالی بین آن دو راس است (در این روش تعداد راس‌ها از قبل تعیین می‌شود). در این نمونه استفاده از الگوریتم ژنتیک، هم‌گذری شامل ترکیب بخش‌های مختلف شبکه‌های تولید شده‌است و هدف آن حفظ شبکه‌هایی با کارایی خوب و حذف شبکه‌های ضعیف می‌باشد.بهینه‌سازی ابرپارامترها.بعد از پیدا کردن امیدبخش‌ترین معماری شبکه عصبی، باید ابرپارامترهای مناسبی انتخاب کنیم تا شبکه به‌طور دقیق تنظیم شود. از جمله روش‌های بهینه‌سازی ابرپارامترها می‌توان به موارد زیر اشاره کرد:تخمین مدل.وقتی یک مدل شبکه عصبی تولید شد باید کارایی آن ارزیابی شود. اولین روشی که به ذهن می‌رسد، آموزش دادن شبکه تا زمان همگرا شدن آن و سپس ارزیابی آن است اما این راه منابع محاسباتی و زمان زیادی نیاز دارد. به همین دلیل روش‌هایی برای سریعتر کردن ارزیابی مدل توصیه می‌شود که به چند مورد اشاره می‌شود:روش‌ها و ابزارهای اتوام‌ال.هر یک از ابزارهای اُتوام‌ال بخشی از الگوریتم‌های یادگیری ماشین برای ساختن مدل‌ها را پشتیبانی می‌کنند. از جمله رگرسیون لجستیک، الگوریتم‌های درختی، مدل‌های شبکه عصبی و SVM. برای بهینه‌سازی پارامترها از معروف‌ترین روش‌ها جستجوی حریصانه، جستجوی بیزی و جستجوی رندم هستند.ابزارهایی که برای اُتوام‌ال ایجاد شده‌اند شامل موارد زیر است که در دانشگاه‌ها یا سازمان‌های ذکر شده توسعه داده شده‌اند:این سه ابزار از پکیج یادگیری ماشین scikit-learn ساخته شده‌اندپلتفرم‌های یاد شده بر روی جنبه‌های متفاوتی از فضای اُتوام‌ال تأکید دارند؛ و در زمان کنونی، روش‌های متفاوتی برای انتخاب مدل و بهینه‌سازی ابرپارامترها دارند؛ و روشی وجود ندارد که به‌طور مشخص از دیگر ابزارها بهتر باشد.