В інформатиці інтеракти́вне маши́нне навча́ння () — це метод машинного навчання, в якому дані стають доступними послідовно, і їх використовують для уточнення найкращого передбачувача для майбутніх даних на кожному кроці, на відміну від методів пакетного навчання (), які породжують найкращий передбачувач шляхом навчання на всьому тренувальному наборі даних за раз. Інтерактивне навчання є поширеною методикою, яку використовують у сферах машинного навчання, де тренування над усім набором даних обчислювально нездійсненне, що вимагає використання . Його також використовують у ситуаціях, коли необхідно, щоб алгоритм динамічно пристосовувався до нових закономірностей у даних, або коли самі дані породжуються як функція часу, наприклад, у . Алгоритми інтерактивного навчання можуть бути схильними до , цю проблему можливо розв'язувати за допомогою підходів покрокового навчання.
Введення
У постановці керованого навчання належить навчитися функції , де розглядають як простір входів, а як простір виходів, яка робить добрі передбачення на випадках, узятих зі спільного розподілу ймовірності на . Насправді учень ніколи не знає справжнього розподілу над примірниками. Натомість учень зазвичай має доступ до тренувального набору прикладів . У цій постановці функцію втрат задають як , так, що вимірює різницю між передбаченим значенням та істинним значенням . Ідеальна мета — обрати таку функцію , де це простір функцій, званий простором гіпотез, щоби деяке поняття загальних втрат було мінімізованим. Залежно від типу моделі (статистична чи змагальна) можливо винаходити різні поняття втрат, які ведуть до різних алгоритмів навчання.
Статистичний вигляд інтерактивного навчання
У моделях статистичного навчання вважають, що тренувальні зразки взято з істинного розподілу , а мета полягає в мінімізації очікуваного «ризику»
Поширена парадигма в цій ситуації — оцінювати функцію через мінімізацію емпіричного ризику або регуляризовану мінімізацію емпіричного ризику (зазвичай регуляризацією Тихонова). Вибір функції втрат тут породжує декілька добре відомих алгоритмів навчання, таких як регуляризовані найменші квадрати та опорновекторні машини. Суто інтерактивна модель у цій категорії вчитиметься на основі лише нового входу , поточного найкращого передбачувача , та деякої додаткової збереженої інформації (від якої зазвичай очікують вимог до зберігання, незалежних від розміру тренувальних даних). Для багатьох формулювань, наприклад, нелінійних ядрових методів, істинне інтерактивне навчання неможливе, хоча можливо використовувати певний вигляд гібридного інтерактивного навчання з рекурсивними алгоритмами, де дозволено залежати від й усіх попередніх точок даних . У цьому випадку сталість вимог до зберігання більше не гарантовано, оскільки він вимагає зберігання всіх попередніх точок даних, але розв'язання може займати менше часу на обчислення з додаванням нової точки даних, у порівнянні з пакетними методиками навчання.
Загальною стратегією подолання вищевказаних проблем є використання мініпакетів (), які обробляють невеликий пакет точок даних за раз, це можна вважати псевдоінтерактивним навчанням для , значно меншого за загальну кількість тренувальних точок. Мініпакетні методики використовують з повторюваним проходженням тренувальних даних для отримання оптимізованих версій алгоритмів машинного навчання, наприклад, стохастичного градієнтного спуску. У поєднанні зі зворотним поширенням це наразі є фактичним тренувальним методом для тренування штучних нейронних мереж.
Приклад: лінійні найменші квадрати
Для пояснення різноманітних ідей в інтерактивному навчанні використовують простий приклад лінійних найменших квадратів. Ці ідеї достатньо загальні, щоби їх було можливо застосовувати до інших постановок, наприклад, з іншими опуклими функціями втрат.
Пакетне навчання
Розгляньмо постановку керованого навчання, де — лінійна функція, якої потрібно навчитися:
де — вектор входів (точок даних), а — вектор лінійного фільтра. Мета полягає в обчисленні вектора фільтра . З цією метою квадратичну функція втрат
використовують для обчислення вектора , який мінімізує емпіричні втрати
де
.
Нехай це матриця даних , а — вектор-стовпець цільових значень після надходження перших точок даних. Виходячи з припущення, що коваріаційна матриця невироджена (в іншому разі краще діяти подібним чином з регуляризацією Тихонова), найкращий розв'язок задачі лінійних найменших квадратів задається через
.
Тепер, обчислення коваріаційної матриці займає часу, обернення матриці займає часу, тоді як решта множення займає часу, даючи загальний час . Коли загальна кількість точок у наборі даних — , для переобчислення розв'язку після надходження кожної точки даних наївний підхід матиме повну складність . Зауважте, що якщо зберігати матрицю , то для її уточнення на кожному кроці потрібно лише додавати , що займає часу, знижуючи загальний час до , але з додатковим місцем для зберігання , щоби зберігати .L. Rosasco, T. Poggio, Machine Learning: a Regularization Approach, MIT-9.520 Lectures Notes, Manuscript, Dec. 2015. Chapter 7 - Online Learning
Інтерактивне навчання: рекурсивні найменші квадрати
Алгоритм рекурсивних найменших квадратів (РНК, ) розглядає інтерактивний підхід до задачі найменших квадратів. Можливо показати, що якщо встановити початкові значення та , то розв'язок задачі лінійних найменших квадратів, наведеної в попередньому розділі, можливо обчислювати наступним ітеруванням:
Наведений вище ітеративний алгоритм можливо довести за допомогою індукції за . Це доведення також показує, що . РНК також можливо розглядати в контексті адаптивних фільтрів (див. ).
Складність цього алгоритму для кроків становить , що на порядок швидше за відповідну складність пакетного навчання. Вимоги до зберігання на кожному кроці тут — зберігати матрицю , що становить сталі . На той випадок, коли вироджена, розгляньмо регуляризований варіант функції втрат задачі . Відтак легко показати, що працює той самий алгоритм , й ітерації продовжують давати .
Стохастичний градієнтний спуск
Коли це
замінити на
або на , це стає алгоритмом стохастичного градієнтного спуску. В цьому випадку складність цього алгоритму для кроків знижується до . Вимоги до зберігання на кожному кроці сталі, й становлять .
Проте, розмір кроку необхідно обирати ретельно, щоби розв'язати задачу мінімізації очікуваного ризику, як описано вище. Обравши розмір кроку затухання можливо довести збіжність середньої ітерації . Ця постановка є окремим випадком стохастичної оптимізації, добре відомої задачі оптимізації.
Покроковий стохастичний градієнтний спуск
На практиці можливо виконувати декілька стохастичних градієнтних проходів над даними (також званих циклами або епохами). Отриманий таким чином алгоритм носить назву покрокового градієнтного метода () й відповідає ітерації
Основна відмінність від методу стохастичного градієнта полягає в тому, що тут обирають послідовність , щоби вирішувати, яку тренувальну точку відвідати на -тому кроці. Така послідовність може бути стохастичною або детермінованою. Відтак кількість ітерацій відокремлюється від кількості точок (кожну точку можливо розглядати декілька разів). Можливо продемонструвати, що метод покрокового градієнта забезпечує мінімізацію емпіричного ризику.Bertsekas, D. P. (2011). Incremental gradient, subgradient, and proximal methods for convex optimization: a survey. Optimization for Machine Learning, 85. Покрокові методи можуть бути корисними при розгляді цільових функцій, складених із суми багатьох членів, наприклад, емпіричної похибки, що відповідає дуже великому набору даних.
Ядрові методи
Ядра можливо використовувати для розширення наведених вище алгоритмів до непараметричних моделей (або моделей, де параметри утворюють нескінченновимірний простір). Відповідна процедура більше не буде істинно інтерактивною, передбачаючи натомість зберігання всіх точок даних, але все ж швидшою за метод грубої сили. Це обговорення обмежується випадком квадратичних втрат, хоча його може бути розширено до будь-яких опуклих втрат. За допомогою простої індукції можливо показати, що якщо це матриця даних, а це результат після кроків алгоритму СГС, то
де , а послідовність задовольняє рекурсію
і
Зауважте, що тут є просто стандартним ядром на , а передбачувач має вигляд
.
Тепер, якщо натомість вводять загальне ядро , і покладають передбачувач як
то те саме доведення також покаже, що передбачувач, який мінімізує втрати за методом найменших квадратів, отримується заміною наведеної вище рекурсії на
Наведений вище вираз вимагає зберігання всіх даних для уточнення . Загальна часова складність для рекурсії при оцінюванні для -тої точки даних становить , де це витрати на обчислення ядра на одній парі точок. Таким чином, використання ядра дозволило перейти від скінченновимірного простору параметрів до можливо нескінченновимірної функції, поданої ядром , натомість виконуючи рекурсію на просторі параметрів , розмірність якого така сама, як і розмір тренувального набору даних. Загалом, це наслідок .
Інтерактивна опукла оптимізація
Інтерактивна опукла оптимізація (ІОО, ) — це загальна система для ухвалювання рішень, яка використовує для створення ефективних алгоритмів опуклу оптимізацію. Ця система полягає в повторюваній грі наступним чином:
Для Учень отримує вхід Учень видає з фіксованої опуклої множини Природа повертає опуклу функцію втрат . Учень зазнає втрат й уточнює свою модель
Метою є мінімізувати смуток, або різницю між сукупними втратами, та втратами ретроспективно найкращої фіксованої точки . Як приклад, розгляньмо випадок інтерактивної лінійної регресії найменших квадратів. Тут вектори ваг походять із опуклої множини , а природа повертає опуклу функцію втрат . Зауважте, що неявно повертається разом з .
Проте деякі задачі інтерактивного передбачування в систему ІОО не вписуються. Наприклад, в інтерактивному класифікуванні область передбачування та функції втрат не опуклі. У таких сценаріях використовують дві прості методики для : рандомізацію та сурогатні функції втрат.
Нижче наведено кілька простих алгоритмів інтерактивної опуклої оптимізації:
Іди за лідером (ІЗЛ)
Найпростіше правило навчання — намагатися обирати (на поточному кроці) гіпотезу, яка має найменші втрати над усіма минулими раундами. Цей алгоритм має назву «Іди за лідером» (), а раунд задається просто як
Цей метод відтак можливо розглядати як жадібний алгоритм. Для випадку інтерактивної квадратичної оптимізації (де функція втрат ) можливо продемонструвати межу смутку, яка зростає як . Проте для алгоритму ІЗЛ подібні межі неможливо отримати для інших важливих сімейств моделей, таких як інтерактивна лінійна оптимізація. Для цього потрібно видозмінити ІЗЛ, додавши регуляризацію.
Іди за регуляризованим лідером (ІЗРЛ)
Це природна видозміна ІЗЛ, яку використовують, щоби стабілізувати розв'язки ІЗЛ, й отримувати кращі межі смутку. Обирають функцію регуляризації , і навчання в раунді виконують таким чином:
Як особливий приклад розгляньмо випадок інтерактивної лінійної оптимізації, тобто коли природа повертає функції втрат вигляду . Крім того, нехай . Припустімо, що обирають функцію регуляризації для деякого додатного числа . Тоді можливо показати, що ітерація мінімізації смутку набуває вигляду
Зауважте, що це можливо переписати як , що виглядає точно як покроковий градієнтний спуск.
Якщо це натомість деякий опуклий підпростір , то необхідно буде робити проєкцію на , що дасть видозмінене правило уточнення
Цей алгоритм відомий як відкладена проєкція (), оскільки вектор накопичує градієнти. Він також відомий як алгоритм подвійного усереднювання Нестерова. У цьому сценарії лінійної функцій втрат і квадратичної регулярізації смуток обмежений , і відтак середній смуток зводиться до , як і бажано.
Інтерактивний субградієнтний спуск (ІСС)