Топ питань
Часова шкала
Чат
Перспективи

Темп навчання

параметр налаштування (гіперпараметр) в оптимізації; який визначає розмір кроку на кожній ітерації, коли вона рухається до мінімуму функці З Вікіпедії, вільної енциклопедії

Remove ads

У машинному навчанні те́мп навча́ння (англ. learning rate) або коефіціє́нт шви́дкості навча́ння — це гіперпараметр алгоритму оптимізації, який задає розмір кроку на кожній ітерації пошуку мінімуму функції втрат.[1] Оскільки він визначає те, якою мірою нова отримана інформація замінює попередню інформацію, він образно представляє швидкість, з якою модель машинного навчання «навчається». У літературі з адаптивного керування швидкість навчання зазвичай називають коефіціє́нтом підси́лення (англ. gain).[2]

При встановленні темпу навчання існує проблема компромісу між швидкістю збіжності та перестрибуванням мінімуму. В той час як напрямок спуску[en] зазвичай отримується з градієнта функції втрат, коефіцієнт швидкості навчання визначає, наскільки великий крок буде зроблено в цьому напрямку. Занадто високий темп навчання змусить алгоритм перестрибнути через мінімум, а навчання з занадто низьким коефіцієнтом або займе занадто багато часу, або застрягне у небажаному локальному мінімумі.[3]

Щоб досягти швидшої збіжності, запобігти гойданню і застряганню в небажаних локальних мінімумах, темп навчання часто змінюється під час навчання або відповідно до графіка темпу навчання, або за допомогою алгоритмів адаптивного темпу навчання.[4] Коефіцієнт швидкості навчання та його підбір може відрізнятися для різних параметрів моделі, і в такому випадку отримуємо діагональну матрицю, яку можна розглядати як наближення оберненої матриці Гесе, що використовується в методі Ньютона[5]. Темп навчання подібен до довжини кроку, отримуваної неточним лінійним пошуком у квазіньютонових методах і відповідних алгоритмах оптимізації.[6][7]

Мініпакетна підвибірка (МППВ, англ. mini-batch sub-sampling, MBSS) під час лінійного пошуку торкається характеристик функцій втрат, за якими необхідно визначати темп навчання.[8] Статична МППВ утримує мініпакет незмінним уздовж напрямку пошуку, що призводить до плавності функції втрат уздовж напрямку пошуку. Динамічна МППВ уточнює мініпакет на кожному обчисленні функції, що призводить до поточкової розривності функції втрат уздовж напрямку пошуку. До видів лінійного пошуку, які адаптивно встановлюють темп навчання для функцій втрат статичної МППВ, належить параболічно наближувальний лінійний (ПНЛ, англ. parabolic approximation line, PAL) пошук.[9] До видів лінійного пошуку, які адаптивно встановлюють темп навчання для функцій втрат динамічної МППВ, належать імовірнісні види лінійного пошуку,[10] виключно градієнтні види лінійного пошуку (англ. gradient-only line searches, GOLS)[11] та квадратичні наближення.[12]

Remove ads

Графік темпу навчання

Узагальнити
Перспектива

Початковий коефіцієнт можна залишити за замовчуванням або вибрати за допомогою низки методів.[13] Графік темпу навчання змінює коефіцієнт швидкості навчання під час навчання і найчастіше оновлюється між епохами/ітераціями. В основному це робиться з двома параметрами: загасанням та імпульсом. Існує багато різних графіків швидкості навчання, але найпоширенішими є часові, покрокові та експоненційні.[4]

Загасання (англ. decay) — це гіперпараметр, що служить для того, щоб уникнути гойдань — ситуації, яка може виникнути, коли занадто високий постійний темп навчання змушує алгоритм перестрибувати вперед і назад через мінімум.

Імпульс (англ. momentum) аналогічний кулі, що котиться з пагорба, якщо ми хочемо, щоб м'яч опустився в найнижчу точку пагорба (відповідає найменшій похибці). Імпульс прискорює навчання (збільшуючи коефіцієнт швидкості), коли градієнт функції втрат рухається в одному напрямку протягом тривалого часу, а також уникає локальних мінімумів, «перекочуючись» через невеликі нерівності. Імпульс контролюється гіперпараметром, аналогічним масі м'яча, який потрібно підібрати вручну — занадто висока, і м'яч перекотиться через мінімуми, які ми хочемо знайти, занадто низька, і він не допоможе оптимізувати пошук. Формула для вибору імпульсу є складнішою, ніж для загасання, але найчастіше вбудована в бібліотеки глибокого навчання, такі як Keras.

Часовий (англ. time-based) графік темпу навчання змінює коефіцієнт швидкості навчання залежно від темпу навчання на попередньому проміжку часу. З урахуванням загасання, формула темпу навчання в наступному проміжку часу виглядає так:

де  — це коефіцієнт швидкості навчання, є параметром загасання, а  — це номер кроку.

Кроковий (англ. step-based) графік темпу навчання змінює темп навчання відповідно до деяких попередньо визначених кроків. Формула з урахуванням загасання визначається як:

де  — темп навчання на ітерації ,  — початковий темп навчання,  — це наскільки темп навчання повинен змінюватися на кожному кроці, а відповідає швидкості зменшення або тому, як часто слід скидати швидкість (10 відповідає падінню кожні 10 кроків). Функція floor () округлює всі значення менші за 1 до 0.

Експоненційний (англ. exponential) графік темпу навчання схожий на покроковий, але замість кроків використовується експоненційно спадна функція. Формула експоненційного графіка виглядає як:

де є параметром загасання.

Remove ads

Адаптивний темп навчання

Проблема з графіками темпу навчання полягає в тому, що всі вони залежать від гіперпараметрів, які потрібно обирати вручну для кожного конкретного сеансу навчання, і вони можуть сильно відрізнятися залежно від задачі або використовуваної моделі. Для подолання цієї проблеми існує багато різних адаптивних алгоритмів градієнтного спуску, таких як Adagrad[en], Adadelta, RMSProp[en] та Adam[en][14], які зазвичай вбудовуються в бібліотеки глибокого навчання, такі як Keras.[15]

Remove ads

Див. також

Примітки

Література

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads