Інтерактивне машинне навчання

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

В інформатиці інтеракти́вне маши́нне навча́ння (англ. online machine learning) — це метод машинного навчання, в якому дані стають доступними послідовно, і їх використовують для уточнення найкращого передбачувача для майбутніх даних на кожному кроці, на відміну від методів пакетного навчання (англ. batch learning), які породжують найкращий передбачувач шляхом навчання на всьому тренувальному наборі даних за раз. Інтерактивне навчання є поширеною методикою, яку використовують у сферах машинного навчання, де тренування над усім набором даних обчислювально нездійсненне, що вимагає використання позаядрових алгоритмів[en]. Його також використовують у ситуаціях, коли необхідно, щоб алгоритм динамічно пристосовувався до нових закономірностей у даних, або коли самі дані породжуються як функція часу, наприклад, у передбачуванні цін акцій[en]. Алгоритми інтерактивного навчання можуть бути схильними до катастрофічної інтерференції[en], цю проблему можливо розв'язувати за допомогою підходів покрокового навчання.

Введення[ред. | ред. код]

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

Статистичний вигляд інтерактивного навчання[ред. | ред. код]

У моделях статистичного навчання вважають, що тренувальні зразки взято з істинного розподілу , а мета полягає в мінімізації очікуваного «ризику»

Поширена парадигма в цій ситуації — оцінювати функцію через мінімізацію емпіричного ризику або регуляризовану мінімізацію емпіричного ризику (зазвичай регуляризацією Тихонова). Вибір функції втрат тут породжує декілька добре відомих алгоритмів навчання, таких як регуляризовані найменші квадрати та опорновекторні машини. Суто інтерактивна модель у цій категорії вчитиметься на основі лише нового входу , поточного найкращого передбачувача , та деякої додаткової збереженої інформації (від якої зазвичай очікують вимог до зберігання, незалежних від розміру тренувальних даних). Для багатьох формулювань, наприклад, нелінійних ядрових методів, істинне інтерактивне навчання неможливе, хоча можливо використовувати певний вигляд гібридного інтерактивного навчання з рекурсивними алгоритмами, де дозволено залежати від й усіх попередніх точок даних . У цьому випадку сталість вимог до зберігання більше не гарантовано, оскільки він вимагає зберігання всіх попередніх точок даних, але розв'язання може займати менше часу на обчислення з додаванням нової точки даних, у порівнянні з пакетними методиками навчання.

Загальною стратегією подолання вищевказаних проблем є використання мініпакетів (англ. mini-batches), які обробляють невеликий пакет точок даних за раз, це можна вважати псевдоінтерактивним навчанням для , значно меншого за загальну кількість тренувальних точок. Мініпакетні методики використовують з повторюваним проходженням тренувальних даних для отримання оптимізованих позаядрових[en] версій алгоритмів машинного навчання, наприклад, стохастичного градієнтного спуску. У поєднанні зі зворотним поширенням це наразі є фактичним тренувальним методом для тренування штучних нейронних мереж.

Приклад: лінійні найменші квадрати[ред. | ред. код]

Для пояснення різноманітних ідей в інтерактивному навчанні використовують простий приклад лінійних найменших квадратів. Ці ідеї достатньо загальні, щоби їх було можливо застосовувати до інших постановок, наприклад, з іншими опуклими функціями втрат.

Пакетне навчання[ред. | ред. код]

Розгляньмо постановку керованого навчання, де  — лінійна функція, якої потрібно навчитися:

де  — вектор входів (точок даних), а  — вектор лінійного фільтра. Мета полягає в обчисленні вектора фільтра . З цією метою квадратичну функція втрат

використовують для обчислення вектора , який мінімізує емпіричні втрати

де

.

Нехай це матриця даних , а  — вектор-стовпець цільових значень після надходження перших точок даних. Виходячи з припущення, що коваріаційна матриця невироджена (в іншому разі краще діяти подібним чином з регуляризацією Тихонова), найкращий розв'язок задачі лінійних найменших квадратів задається через

.

Тепер, обчислення коваріаційної матриці займає часу, обернення матриці займає часу, тоді як решта множення займає часу, даючи загальний час . Коли загальна кількість точок у наборі даних — , для переобчислення розв'язку після надходження кожної точки даних наївний підхід матиме повну складність . Зауважте, що якщо зберігати матрицю , то для її уточнення на кожному кроці потрібно лише додавати , що займає часу, знижуючи загальний час до , але з додатковим місцем для зберігання , щоби зберігати .[1]

Інтерактивне навчання: рекурсивні найменші квадрати[ред. | ред. код]

Алгоритм рекурсивних найменших квадратів (РНК, англ. recursive least squares, RLS) розглядає інтерактивний підхід до задачі найменших квадратів. Можливо показати, що якщо встановити початкові значення та , то розв'язок задачі лінійних найменших квадратів, наведеної в попередньому розділі, можливо обчислювати наступним ітеруванням:

Наведений вище ітеративний алгоритм можливо довести за допомогою індукції за .[2] Це доведення також показує, що . РНК також можливо розглядати в контексті адаптивних фільтрів (див. РНК[en]).

Складність цього алгоритму для кроків становить , що на порядок швидше за відповідну складність пакетного навчання. Вимоги до зберігання на кожному кроці тут — зберігати матрицю , що становить сталі . На той випадок, коли вироджена, розгляньмо регуляризований варіант функції втрат задачі . Відтак легко показати, що працює той самий алгоритм , й ітерації продовжують давати .[1]

Стохастичний градієнтний спуск[ред. | ред. код]

Коли це

замінити на

або на , це стає алгоритмом стохастичного градієнтного спуску. В цьому випадку складність цього алгоритму для кроків знижується до . Вимоги до зберігання на кожному кроці сталі, й становлять .

Проте, розмір кроку необхідно обирати ретельно, щоби розв'язати задачу мінімізації очікуваного ризику, як описано вище. Обравши розмір кроку затухання можливо довести збіжність середньої ітерації . Ця постановка є окремим випадком стохастичної оптимізації, добре відомої задачі оптимізації.[1]

Покроковий стохастичний градієнтний спуск[ред. | ред. код]

На практиці можливо виконувати декілька стохастичних градієнтних проходів над даними (також званих циклами або епохами). Отриманий таким чином алгоритм носить назву покрокового градієнтного метода (англ. incremental gradient method) й відповідає ітерації

Основна відмінність від методу стохастичного градієнта полягає в тому, що тут обирають послідовність , щоби вирішувати, яку тренувальну точку відвідати на -тому кроці. Така послідовність може бути стохастичною або детермінованою. Відтак кількість ітерацій відокремлюється від кількості точок (кожну точку можливо розглядати декілька разів). Можливо продемонструвати, що метод покрокового градієнта забезпечує мінімізацію емпіричного ризику.[3] Покрокові методи можуть бути корисними при розгляді цільових функцій, складених із суми багатьох членів, наприклад, емпіричної похибки, що відповідає дуже великому набору даних.[1]

Ядрові методи[ред. | ред. код]

Див. також: Ядровий метод

Ядра можливо використовувати для розширення наведених вище алгоритмів до непараметричних моделей (або моделей, де параметри утворюють нескінченновимірний простір). Відповідна процедура більше не буде істинно інтерактивною, передбачаючи натомість зберігання всіх точок даних, але все ж швидшою за метод грубої сили. Це обговорення обмежується випадком квадратичних втрат, хоча його може бути розширено до будь-яких опуклих втрат. За допомогою простої індукції можливо показати,[1] що якщо це матриця даних, а це результат після кроків алгоритму СГС, то

де , а послідовність задовольняє рекурсію

і

Зауважте, що тут є просто стандартним ядром на , а передбачувач має вигляд

.

Тепер, якщо натомість вводять загальне ядро , і покладають передбачувач як

то те саме доведення також покаже, що передбачувач, який мінімізує втрати за методом найменших квадратів, отримується заміною наведеної вище рекурсії на

Наведений вище вираз вимагає зберігання всіх даних для уточнення . Загальна часова складність для рекурсії при оцінюванні для -тої точки даних становить , де це витрати на обчислення ядра на одній парі точок.[1] Таким чином, використання ядра дозволило перейти від скінченновимірного простору параметрів до можливо нескінченновимірної функції, поданої ядром , натомість виконуючи рекурсію на просторі параметрів , розмірність якого така сама, як і розмір тренувального набору даних. Загалом, це наслідок теореми про подання[en].[1]

Інтерактивна опукла оптимізація[ред. | ред. код]

Інтерактивна опукла оптимізація (ІОО, англ. online convex optimization, OCO)[4] — це загальна система для ухвалювання рішень, яка використовує для створення ефективних алгоритмів опуклу оптимізацію. Ця система полягає в повторюваній грі наступним чином:

Для

  • Учень отримує вхід
  • Учень видає з фіксованої опуклої множини
  • Природа повертає опуклу функцію втрат .
  • Учень зазнає втрат й уточнює свою модель

Метою є мінімізувати смуток, або різницю між сукупними втратами, та втратами ретроспективно найкращої фіксованої точки . Як приклад, розгляньмо випадок інтерактивної лінійної регресії найменших квадратів. Тут вектори ваг походять із опуклої множини , а природа повертає опуклу функцію втрат . Зауважте, що неявно повертається разом з .

Проте деякі задачі інтерактивного передбачування в систему ІОО не вписуються. Наприклад, в інтерактивному класифікуванні область передбачування та функції втрат не опуклі. У таких сценаріях використовують дві прості методики для уопуклювання[en]: рандомізацію та сурогатні функції втрат[джерело?].

Нижче наведено кілька простих алгоритмів інтерактивної опуклої оптимізації:

Іди за лідером (ІЗЛ)[ред. | ред. код]

Найпростіше правило навчання — намагатися обирати (на поточному кроці) гіпотезу, яка має найменші втрати над усіма минулими раундами. Цей алгоритм має назву «Іди за лідером» (англ. Follow the leader, FTL), а раунд задається просто як

Цей метод відтак можливо розглядати як жадібний алгоритм. Для випадку інтерактивної квадратичної оптимізації (де функція втрат ) можливо продемонструвати межу смутку, яка зростає як . Проте для алгоритму ІЗЛ подібні межі неможливо отримати для інших важливих сімейств моделей, таких як інтерактивна лінійна оптимізація. Для цього потрібно видозмінити ІЗЛ, додавши регуляризацію.

Іди за регуляризованим лідером (ІЗРЛ)[ред. | ред. код]

Це природна видозміна ІЗЛ, яку використовують, щоби стабілізувати розв'язки ІЗЛ, й отримувати кращі межі смутку. Обирають функцію регуляризації , і навчання в раунді t виконують таким чином:

Як особливий приклад розгляньмо випадок інтерактивної лінійної оптимізації, тобто коли природа повертає функції втрат вигляду . Крім того, нехай . Припустімо, що обирають функцію регуляризації для деякого додатного числа . Тоді можливо показати, що ітерація мінімізації смутку набуває вигляду

Зауважте, що це можливо переписати як , що виглядає точно як покроковий градієнтний спуск.

Якщо S це натомість деякий опуклий підпростір , то необхідно буде робити проєкцію на S, що дасть видозмінене правило уточнення

Цей алгоритм відомий як відкладена проєкція (англ. lazy projection), оскільки вектор накопичує градієнти. Він також відомий як алгоритм подвійного усереднювання Нестерова. У цьому сценарії лінійної функцій втрат і квадратичної регулярізації смуток обмежений , і відтак середній смуток зводиться до 0, як і бажано.

Інтерактивний субградієнтний спуск (ІСС)[ред. | ред. код]

Наведеним вище доведено межу смутку для лінійних функцій втрат . Щоб узагальнити цей алгоритм на довільну опуклу функцію втрат, використовують субградієнт функції втрат як лінійне наближення близько , що дає алгоритм інтерактивного субградієнтного спуску (англ. online subgradient descent, OSD):

Встановити початкові значення параметра

Для

  • Зробити передбачення з використанням , отримати від природи .
  • Обрати
  • Якщо , зробити уточнення
  • Якщо , зробити проєкцію сукупних градієнтів на , тобто

Алгоритм ІСС можливо використовувати для виведення меж смутку для інтерактивної версії ОВМ для класифікування, яка використовує завісні втрати

Інші алгоритми[ред. | ред. код]

Квадратично регуляризовані алгоритми ІЗРЛ ведуть до алгоритмів відкладених проєкцій градієнта, як описано вище. Щоби використати наведене вище для довільних опуклих функцій і регуляризаторів, використовують інтерактивний дзеркальний спуск[en]. Оптимальну регуляризацію заднім числом може бути виведено для лінійних функцій втрат, це веде до алгоритму AdaGrad[en]. Для евклідової регуляризації можливо показати межу смутку , яку можливо вдосконалити далі до для сильно опуклих та експоненційно угнутих функцій втрат.

Безперервне навчання[ред. | ред. код]

Безперервне навчання (англ. continual learning) означає безперервне вдосконалення навченої моделі шляхом обробки безперервних потоків інформації.[5] Можливості безперервного навчання важливі для програмних систем та автономних агентів, які взаємодіють у реальному світі, що постійно змінюється. Проте безперервне навчання це виклик для машинного навчання та моделей нейронних мереж, оскільки безперервне отримання доступної покроково інформації з нестаціонарних розподілів даних зазвичай призводить до катастрофічного забування[en].

Інтерпретації інтерактивного навчання[ред. | ред. код]

Парадигма інтерактивного навчання має різні інтерпретації залежно від вибору моделі навчання, кожна з яких має різні наслідки щодо передбачувальної якості послідовності функцій . Для цього обговорення використано прототип алгоритму стохастичного градієнтного спуску. Як зазначено вище, його рекурсію задано формулою

Перша інтерпретація розглядає метод стохастичного градієнтного спуску в застосуванні до визначеної вище задачі мінімізації очікуваного ризику .[6] Дійсно, у випадку нескінченного потоку даних, оскільки вважається, що приклади беруться з розподілу н. о. р., то послідовність градієнтів у наведеній вище ітерації є н. о. р. вибіркою стохастичних оцінок градієнта очікуваного ризику , й відтак можливо застосувати результати складності для методу стохастичного градієнтного спуску для обмеження відхилення , де це мінімізатор .[7] Ця інтерпретація також справедлива у випадку скінченного тренувального набору; хоч при багатократних проходах даними градієнти вже й не є незалежними, все одно в особливих випадках отримати результати складності можливо.

Друга інтерпретація стосується випадку скінченного тренувального набору й розглядає алгоритм СГС як примірник методу покрокового градієнтного спуску.[3] У цьому випадку натомість дивляться на емпіричний ризик:

Оскільки градієнти в ітераціях покрокового градієнтного спуску також є стохастичними оцінками градієнта , ця інтерпретація також пов'язана з методом стохастичного градієнтного спуску, але застосовується для мінімізації емпіричного ризику, а не очікуваного. Оскільки ця інтерпретація розглядає емпіричний ризик замість очікуваного, багаторазові проходи даними легко дозволені й фактично ведуть до жорсткіших меж на відхилення , де  — мінімізатор .

Втілення[ред. | ред. код]

Див. також[ред. | ред. код]

Парадигми навчання

Загальні алгоритми

Моделі навчання

Примітки[ред. | ред. код]

  1. а б в г д е ж L. Rosasco, T. Poggio, Machine Learning: a Regularization Approach, MIT-9.520 Lectures Notes, Manuscript, Dec. 2015. Chapter 7 - Online Learning (англ.)
  2. Yin, Harold J. Kushner, G. George (2003). Stochastic approximation and recursive algorithms and applications (англ.) (вид. Second). New York: Springer. с. 8–12. ISBN 978-0-387-21769-7.
  3. а б Bertsekas, D. P. (2011). Incremental gradient, subgradient, and proximal methods for convex optimization: a survey. Optimization for Machine Learning, 85. (англ.)
  4. Hazan, Elad (2015). Introduction to Online Convex Optimization (PDF) (англ.). Foundations and Trends in Optimization.
  5. Parisi, German I.; Kemker, Ronald; Part, Jose L.; Kanan, Christopher; Wermter, Stefan (2019). Continual lifelong learning with neural networks: A review. Neural Networks (англ.). 113: 54—71. arXiv:1802.07569. doi:10.1016/j.neunet.2019.01.012. ISSN 0893-6080.
  6. Bottou, Léon (1998). Online Algorithms and Stochastic Approximations. Online Learning and Neural Networks (англ.). Cambridge University Press. ISBN 978-0-521-65263-6.
  7. Stochastic Approximation Algorithms and Applications, Harold J. Kushner and G. George Yin, New York: Springer-Verlag, 1997. ISBN 0-387-94916-X; 2nd ed., titled Stochastic Approximation and Recursive Algorithms and Applications, 2003, ISBN 0-387-00894-2. (англ.)

Посилання[ред. | ред. код]