Loading AI tools
З Вікіпедії, вільної енциклопедії
Оптимізація гіперпараметрів — задача машинного навчання по вибору множини оптимальних гіперпараметрів для алгоритму машинного навчання. Гіперпараметр є параметром, значення якого використовується для керування процесом навчання. На відміну від значень інших параметрів (наприклад, вагових коефіцієнтів), які потрібно вивчити.
Одні й ті ж види моделей машинного навчання можуть мати різні обмеження, ваги або потребувати певної швидкості навчання для різних видів даних. Ці параметри називаються гіперпараметрами і їх слід підбирати так, щоб модель могла оптимально вирішити завдання навчання. Для цього знаходиться кортеж гіперпараметрів, який дає оптимальну модель, що оптимізує задану функцію втрат на заданих незалежних даних[1]. Цільова функція бере кортеж гіперпараметрів і повертає пов'язані з ними втрати[1]. Часто використовується перехресне затверджування для оцінки цієї узагальнюючої здатності[2].
Традиційним методом оптимізації гіперпараметрів є пошук по ґратці (або варіація параметрів), який просто робить повний перебір по заданій вручну підмножині простору гіперпараметрів навчального алгоритму. Пошук по ґратці повинен супроводжуватися деякою мірою продуктивності, зазвичай для порівняння використовують перехресне затверджування на тренувальному наборі[3], або оцінкою на фіксованому перевірочному наборі (англ. holdout set)[4].
Оскільки простір параметрів алгоритму машинного навчання для деяких параметрів може включати простори з дійсними або необмеженими значеннями, тому можлива ситуація, коли необхідно задати границю і дискретизацію до застосування пошуку по ґратці.
Наприклад, типовий класифікатор з не щільним зазором на основі методу опорних векторів (МОВ) та з ядровою радіально-базисною функцією має принаймні два гіперпараметри, які необхідно налаштувати для високої продуктивності на недоступних даних — константа C регуляризації і гіперпараметр ядра γ. Обидва параметри є неперервними, так що для пошуку по ґратці вибирають скінченну множину «обґрунтованих» значень, скажімо:
Пошук по ґратці потім проганяє МОВ для кожної пари (C, γ) по декартовому добутку цих двох множин і перевіряє продуктивність на кожній парі вибраних параметрів на фіксованому перевірочному наборі (або за допомогою внутрішнього перехресного затверджування на тренувальному наборі і в цьому випадку кілька МОВ проганяють попарно). Нарешті, алгоритм пошуку по ґратці видає як результат найвищий результат, який було досягнуто на процедурі перевірки.
Пошук по ґратці страждає від прокляття розмірності, але часто легко розпаралелюється, оскільки зазвичай гіперпараметричні величини, з якими алгоритм працює, не залежать одна від одного[2].
Випадковий пошук замінює повний перебір всіх комбінацій на їх випадковий вибір. Це можна легко застосувати до дискретних випадків, наведених вище, але метод можна узагальнити на неперервні та змішані простори. Випадковий пошук може перевершити пошук по ґратці, особливо, якщо лише мала кількість гіперпараметрів впливає на продуктивність алгоритму машинного навчання[2]. У цьому випадку кажуть, що завдання оптимізації має низьку внутрішню розмірність[5]. Випадковий пошук також легко паралелізується і, крім того, можливе використання попередніх даних через вибір розподілу для вибірки випадкових параметрів.
Байєсова оптимізація — це метод глобальної оптимізації для невідомої функції (чорного ящика) з шумом. Застосована до гіперпараметричної оптимізації байєсівська оптимізація будує стохастичну модель функції відображення зі значень гіперпараметру в цільову функцію, застосовану на затверджувальному наборі. Шляхом ітеративного застосування перспективної конфігурації гіперпараметрів, заснованої на поточній моделі, а потім її оновлення, байєсівську оптимізація прагне зібрати якомога більше інформації про цю функцію і, зокрема, місце оптимуму. Метод намагається збалансувати дослідження (гіперпараметри, для яких результат найменш достеменно відомо) і використання (гіперпараметри, які, як очікується, найбільш близькі до оптимуму). На практиці байєсівська оптимізація показала[6][7][8][9] кращі результати з меншими обчисленнями в порівнянні з пошуком по ґратці та випадковим пошуком завдяки можливості судження про якість експериментів ще до їх виконання.
Для конкретних алгоритмів навчання можна обчислити градієнт гіперпараметрів і оптимізувати їх за допомогою градієнтного спуску. Перше використання таких технік зосереджувалось на нейронних мережах[10]. Потім ці методи були поширені на інші моделі, такі як метод опорних векторів[11] або логістична регресія[12].
Інший підхід використання градієнтів гіперпараметрів полягає в диференціюванні кроків алгоритму ітеративної оптимізації за допомогою автоматичного диференціювання[13][14].
Еволюційна оптимізація — це методологія для глобальної оптимізації невідомих функцій з шумом. При оптимізації гіперпараметрів еволюційна оптимізація використовує еволюційні алгоритми для пошуку гіперпараметрів для даного алгоритму[7]. Еволюційна оптимізація гіперпараметрів дотримується процесу, навіяного біологічною концепцією еволюції:
Еволюційна оптимізація використовується для оптимізації гіперпараметрів для статистичних алгоритмів[7] автоматизованого машинного навчання, для пошуку архітектури глибоких нейронних мереж[15][16], а також для формування ваг в глибоких нейронних мережах[17].
Навчання на основі заселення (англ. Population Based Training) вивчає як значення гіперпараметрів, так і ваги мережі. Кілька процесів навчання працюють незалежно, використовуючи різні гіперпараметри. Моделі, які погано працюють ітеративно замінюються моделями, які використовують модифіковані значення гіперпараметрів кращого виконавця. Модифікація дозволяє еволюційно змінювати гіперпараметри і виключає необхідність ручного налаштування гіперпараметрів. Процес не робить припущень щодо архітектури моделі, функції втрат чи процедури навчання[18].
Відбувається також розвиток методів на основі радіально-базисної функції[19] (РБФ) і спектрального методу[20].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.