موضوع مقاله: یادگیری ماشین خودکاره | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # یادگیری ماشین خودکاره | مقدمه: یادگیری ماشین خودکاره فرایند خودکارسازی اعمال یادگیری ماشین بر مشکلات دنیای واقعی است. | ## بخش 1: یادگیری ماشین خودکاره | اُتوام‌ال خط لوله کامل فرایندهای یادگیری ماشین- از مجموعه داده‌های خام گرفته تا ایجاد مدل قابل استفاده -را در بر می‌گیرد. پیش از این اُتوام‌ال به عنوان راه حلی مبتنی بر هوش مصنوعی برای چالش‌های روزافزون استفاده از یادگیری ماشین ارائه شده است. به دلیل خودکار بودن اُتوام‌ال افراد غیر متخصص نیز می‌توانند از مدل‌ها و تکنیک‌های یادگیری ماشین، بدون نیاز به یادگیری تخصصی در این زمینه، استفاده کنند. خودکارسازی فرایند استفاده از الگوریتم‌های یادگیری ماشین علاوه بر مزایای ذکر شده، مزایای دیگری مانند تولید راه حل‌های ساده‌تر، ایجاد سریع تر این راه حل‌ها و ایجاد مدل‌هایی که اغلب از مدل‌هایی که به صورت دستی طراحی شده‌اند، بهترند، ارائه می‌دهد. مقایسه با رویکرد استاندارد در یادگیری ماشین معمولی، مجموعه ای از داده‌های ورودی برای یادگیری در اختیار داریم. برای اینکه داده‌ها برای یادگیری ماشین قابل استفاده باشند، ممکن است یک متخصص نیاز به اعمال پیش پردازش داده‌ها، مهندسی ویژگی‌ها، استخراج ویژگی‌ها و روشی برای انتخاب ویژگی‌ها داشته باشد. بعد از این مرحله باید انتخاب الگوریتم و بهینه‌سازی پارامترها، برای حداکثر کردن کارایی پیش‌بینی مدل، انجام شود. همهٔ این مراحل چالش‌هایی دارند و اُتوام‌ال به‌طور قابل ملاحظه ای این مراحل را برای افراد غیرمتخصص، ساده می‌کند. اهداف خودکارسازی یادگیری ماشین خودکار می‌تواند گام‌های مختلفی از فرایند یادگیری ماشین را هدف قرار دهد. که این اهداف شامل موارد زیر است: آماده‌سازی داده‌های خام و فرمت‌های مختلف تشخیص نوع ستون ها؛ به عنوان مثال، بولین یا اعداد گسسته یا پیوسته یا متنی تشخیص هدف ستون ها؛ به عنوان مثال، برچسب داده، قسمت طبقه‌بندی، ویژگی‌های عددی، دسته‌بندی، ویژگی‌های متنی، تشخیص وظیفه؛ به عنوان مثال، طبقه‌بندی باینری، رگرسیون، طبقه‌بندی یا رتبه‌بندی مهندسی ویژگی انتخاب ویژگی‌ها استخراج ویژگی یادگیری متا و یادگیری انتقال تشخیص و اصلاح مقادیر جا افتاده یا اشتباه داده‌ها یا مقادیر گمشده انتخاب مدل بهینه‌سازی ابرپارامترهای الگوریتم یادگیری انتخاب خط لوله بر اساس محدودیت‌های زمان، حافظه و محدودیت‌های پیچیدگی انتخاب معیارهای ارزیابی و روشهای اعتبار سنجی بررسی مشکل‌ها تشخیص نشت تشخیص تنظیمات نادرست تجزیه و تحلیل نتایج به دست آمده رابط کاربر و تصویرسازی برای یادگیری ماشین خودکار به‌طور کلی می‌توان فرایند یادگیری ماشین خودکار را به چند بخش اصلی تقسیم کرد: آماده‌سازی داده‌ها مهندسی ویژگی‌ها ایجاد مدل و تخمین کارایی مدل آماده‌سازی داده‌ها جمع‌آوری داده مطالعات عمیق و فراوان در حوزهٔ یادگیری ماشین به وجود آورندهٔ نیاز دائمی به در دسترس بودن داده‌های مختلف شده است. برای حل این مشکل دو راه حل پیشنهاد می‌شود: جستجوی داده با جستجو در وب، که یک منبع پایان ناپذیر داده‌ها است می‌توان بعضی داده‌ها را به دست آورد اما ممکن است با مشکلاتی از جمله نادرست بودن یا نداشتن برچسب داده‌ها روبه رو شویم که برای حل این مشکل‌ها، روش‌هایی برای برچسب زدن به صورت خودکار به داده‌ها، ایجاد شده‌اند. سنتز داده‌ها شبیه‌سازی داده‌ها یکی از پر استفاده‌ترین روش‌ها برای تولید داده‌ها است: یعنی استفاده از شبیه‌سازهایی که به اندازهٔ ممکن به دنیای واقعی شبیه است. پاک‌سازی داده‌ها داده‌های جمع‌آوری شده ناگزیر دارای نویز اند و این نویز می‌تواند تأثیر منفی در آموزش مدل داشته باشد در نتیجه در صورت نیاز باید فرایند پاک‌سازی داده‌ها انجام شود. به‌طور معمول پاک‌سازی داده‌ها به دانش افراد متخصص احتیاج دارد اما دسترسی به افراد متخصص محدود و هزینه بر است. البته این سیستم‌ها فقط بر روی دیتاست‌های ثابتی می‌توانند کار کنند اما در دنیای واقعی که روزانه داده‌های بسیاری تولید می‌شود، این روش‌ها پاسخ گو نیستند. | ## بخش 2: یادگیری ماشین خودکاره | افزونگی داده‌ها افزونگی داده‌ها می‌تواند داده‌های جدیدی بر اساس داده‌های موجود تولید کند و تا حدودی از ابزارهای «جمع‌آوری داده‌ها» به حساب می‌آید. این روش همچنین به عنوان رگیولایزر برای جلوگیری از over fit شدن مدل بر روی داده‌های آموزشی مورد استفاده است. برای مثالی از پیاده‌سازی بخش افزونگی داده‌ها برای داده‌های تصویری می‌توان با بزرگ یا کوچک کردن تصویر یا بریدن بخش‌هایی از آن تصاویر جدید ایجاد کرد از اولین سیستم‌هایی که برای خودکارسازی این بخش استفاده می‌شده است، AutoAugmentاست. امروزه فرایند پیش پردازش داده‌ها به‌طور کامل و جامع توسط هیچ‌کدام از ابزارهای اُتوام‌ال پیاده‌سازی نشده است و هنوز به مقدار قابل توجهی تلاش فرد برای پیاده‌سازی نیاز دارد. مهندسی داده‌ها هدف مهندسی داده‌ها ماکسیمم کردن ویژگی‌های استخراج شده از داده‌های خام برای استفاده توسط الگوریتم‌ها و مدل است؛ و شامل بخش‌هایی می‌شود: انتخاب ویژگی‌ها در انتخاب ویژگی‌ها یک زیر مجموعه از ویژگی‌ها را از روی مجموعه اصلی ویژگی‌ها با کاهش ویژگی‌های نامربوط یا تکراری انتخاب می‌شود و با این کار تلاش می‌شود که مدل را ساده‌تر شود تا از بیش برازش جلوگیری کرده و کارایی مدل را بهتر شود. از جمله روش‌ها برای جستجوی ویژگی‌ها استفاده از روش‌های جستجوی اول سطح و اول بهترین و همین‌طور الگوریتم‌های شبیه‌سازی خنکسازی فلزات و الگوریتم‌های ژنتیک است. تولید ویژگی‌ها در تولید ویژگی‌ها ویژگی‌های جدیدی را از فضای ویژگی‌های پایه یا داده‌های خام ایجاد می‌شود تا قابلیت تعمیم و مقاومت مدل را بهبود دهد. برای مثال از روش‌هایی مانند متمم کردن ویژگی‌های بولین یا مینمم یا ماکسیمم کردن داده‌های عددی استفاده می‌شود. استخراج ویژگی‌ها فرایند استخراج ویژگی‌ها روشی برای کاهش بعد است که با بعضی از توابع تناظرانجام می‌شود و اطلاعات و ویژگی‌های غیر تکراری را بر اساس معیارهای مشخصی استخراج می‌کند. کرنل استخراج ویژگی‌ها تابع تناظری است که می‌تواند با روشی مانند PCA پیاده‌سازی شود. ایجاد مدل و تخمین کارایی مدل ایجاد مدل به دوبخش فضای جستجو و روش‌های بهینه‌سازی تفسیم می‌شود. به‌طور کلی می‌توان مدل‌ها را به دو دسته تقسیم کرد: مدل‌های معمول یادگیری ماشین مانند SVM ,والگوریتم کی-نزدیک‌ترین همسایه و درخت تصمیم‌گیری شبکه‌های عصبی عمیق(DNN) در این ادامه بیشتر بر NAS تمرکز می‌کنیم و مراحل اُتوام‌ال را حول آن توضیح می‌دهیم. روشی برای اتوماسیون طراحی شبکه‌های عصبی مصنوعی (ANN) است و روشی است که به‌طور گسترده در زمینه یادگیری ماشین مورد استفاده قرار می‌گیرد. arXiv:1707.07012 متدهای NAS را می‌توان با توجه به فضای جستجو، استراتژی جستجو و استراتژی تخمین عملکرد طبقه‌بندی کرد. روش بهینه‌سازی نحوه هدایت جستجو برای پیدا کردن معماری با بهترین کارایی را، پس از تعریف فضای جستجو، تعیین می‌کند استراتژی تخمین عملکرد، نحوه عملکرد ANNهای پیشنهادی را ارزیابی می‌کند. | ## بخش 3: یادگیری ماشین خودکاره | هدف NAS جستجوی معماری شبکه عصبی مقاوم و با کارایی مناسب است که به وسیلهٔ انتخاب و ترکیب اعمال مختلف پایه که توسط فضای جستجو از قبل تعریف شده است، انجام می‌شود. فضای جستجو معماری شبکه عصبی را می‌توان به صورت یک گراف بدون دور جهت دارنمایش داد که از راس‌ها و یال‌هایی که این رئوس را به هم وصل می‌کند تشکیل می‌شود که هر راس یک تنسور را نشان می‌دهد و هر یال یک عملیات را از مجموعه اعمال کاندید نشان می‌دهد. این مجموعه شامل عملیات اساسی کانولوشن، pooling و تابع فعال ساز و پریدن از روی رابطه و الحاق و جمع است. این فضای جستجو الگوی ساختاری که الگوریتم‌های بهینه‌سازی معماری می‌توانند در آن جستجو کنند را مشخص می‌کند. بهینه‌سازی روش‌های بهینه‌سازی را می‌توان به دو دسته بهینه‌سازی پارامترهای فرایند یادگیری (مانند نرخ یادگیری و سایز batch) و گروه پارامترهای طراحی معماری مدل (مانند تعداد همسایه‌ها در KNN و تعداد لایه‌ها در شبکه عصبی عمیق) تقسیم کرد. بهینه‌سازی معماری بعد از تعریف فضای جستجو باید شبکه با بهترین عملکرد را انتخاب کنیم که به آن بهینه‌سازی معماری گفته می‌شود. برای مثال می‌توان معماری شبکه را با رشته‌ای باینری مشخص کرد که در آن ۱ نشان دهنده این است که دو راس به هم متصل اند و صفر نشان دهندهٔ نبود هیچ اتصالی بین آن دو راس است (در این روش تعداد راس‌ها از قبل تعیین می‌شود). در این نمونه استفاده از الگوریتم ژنتیک، هم‌گذری شامل ترکیب بخش‌های مختلف شبکه‌های تولید شده است و هدف آن حفظ شبکه‌هایی با کارایی خوب و حذف شبکه‌های ضعیف می‌باشد. بهینه‌سازی ابرپارامترها بعد از پیدا کردن امیدبخش‌ترین معماری شبکه عصبی، باید ابرپارامترهای مناسبی انتخاب کنیم تا شبکه به‌طور دقیق تنظیم شود. از جمله روش‌های بهینه‌سازی ابرپارامترها می‌توان به موارد زیر اشاره کرد: جستجوی شبکه‌ای جستجوی تصادفی بهینه‌سازی بیزین بهینه‌سازی مبتنی بر گرادیان بهینه‌سازی فرگشتی (تکاملی) بهینه‌سازی population-based تخمین مدل وقتی یک مدل شبکه عصبی تولید شد باید کارایی آن ارزیابی شود. به همین دلیل روش‌هایی برای سریعتر کردن ارزیابی مدل توصیه می‌شود که به چند مورد اشاره می‌شود: به دلیل اینکه زمان آموزش شبکه رابطه مستقیم با اندازه مدل و داده‌ها دارد، می‌توان برای مثال در مسئله دسته‌بندی تصاویر، از زیر مجموعه ای از تصاویر یا از دیتاستی با رزولوشن کمتر برای آموزش استفاده کنیم. برای سریعتر کردن این فرایند می‌توان از دانش فراگرفته شده در مسائل قبلی (وزن‌ها) استفاده کنیم. راه دیگر استفاده از توقف زودهنگام که به‌طور معمول برای جلوگیری از بیش برازش شدن در یادگیری ماشین استفاده می‌شود، است. روش‌ها و ابزارهای اتوام‌ال هر یک از ابزارهای اُتوام‌ال بخشی از الگوریتم‌های یادگیری ماشین برای ساختن مدل‌ها را پشتیبانی می‌کنند. برای بهینه‌سازی پارامترها از معروف‌ترین روش‌ها جستجوی حریصانه، جستجوی بیزی و جستجوی رندم هستند. | ## جمع‌بندی | H2O-اُتوام‌ال در سال ۲۰۱۶ توسط H2O معرفی شد که از مدل‌های یادگیری ماشین بر پلتفرم H2O استفاده می‌کند.