ШІ 101
Що таке навчання з кількома прикладами?

Навчання з кількома прикладами (few-shot learning) відноситься до різноманітних алгоритмів і технік, що використовуються для розробки моделі штучного інтелекту з використанням дуже невеликої кількості навчальних даних. Навчання з кількома прикладами прагне дозволити моделі ШІ розпізнавати та класифікувати нові дані після ознайомлення з порівняно невеликою кількістю навчальних прикладів. Таке навчання контрастує з традиційними методами тренування моделей машинного навчання, де зазвичай використовується великий обсяг навчальних даних. Навчання з кількома прикладами використовується переважно в комп’ютерному зорі. Щоб краще зрозуміти навчання з кількома прикладами, розглянемо цю концепцію детальніше. Ми розглянемо мотивацію та концепції, що стоять за ним, дослідимо деякі різні типи такого навчання та в загальних рисах розглянемо деякі моделі, що використовуються. Нарешті, ми розглянемо деякі сфери застосування навчання з кількома прикладами.
Що таке навчання з кількома прикладами?
«Навчання з кількома прикладами» описує практику тренування моделі машинного навчання з мінімальною кількістю даних. Зазвичай моделі машинного навчання тренуються на великих обсягах даних — чим більше, тим краще. Однак навчання з кількома прикладами є важливою концепцією машинного навчання з кількох причин. Одна з причин використання такого навчання полягає в тому, що воно може різко скоротити обсяг даних, необхідних для тренування моделі, що зменшує час, потрібний для розмітки великих наборів даних. Так само навчання з кількома прикладами зменшує необхідність додавати специфічні ознаки для різних завдань при використанні спільного набору даних для створення різних вибірок. В ідеалі навчання з кількома прикладами може зробити моделі більш стійкими та здатними розпізнавати об’єкти на основі меншої кількості даних, створюючи більш універсальні моделі на відміну від високоспеціалізованих, які є нормою. Навчання з кількома прикладами найчастіше використовується в галузі комп’ютерного зору, оскільки природа завдань комп’ютерного зору вимагає або великих обсягів даних, або гнучкої моделі. Підкатегорії Фраза «навчання з кількома прикладами» (few-shot learning) насправді є лише одним із типів навчання з використанням дуже небагатьох навчальних прикладів. Оскільки використовуються лише «кілька» навчальних прикладів, існують підкатегорії такого навчання, які також передбачають тренування з мінімальною кількістю даних. «Навчання з одним прикладом» (one-shot learning) — це інший тип тренування моделі, який передбачає навчання моделі розпізнавати об’єкт після перегляду лише одного зображення цього об’єкта. Загальні тактики, що використовуються в навчанні з одним і з кількома прикладами, однакові. Майте на увазі, що термін «навчання з кількома прикладами» може використовуватися як загальний термін для опису будь-якої ситуації, коли модель тренується з дуже невеликою кількістю даних.
Підходи до навчання з кількома прикладами
Більшість підходів до навчання з кількома прикладами можна віднести до однієї з трьох категорій: підходи на рівні даних, підходи на рівні параметрів та підходи на основі метрик.
Підходи на рівні даних
Підходи на рівні даних до навчання з кількома прикладами дуже прості за концепцією. Щоб навчити модель, коли у вас недостатньо навчальних даних, ви можете просто отримати більше навчальних даних. Існують різні техніки, які науковець з даних може використовувати для збільшення обсягу навчальних даних. Схожі навчальні дані можуть підтримувати точні цільові дані, на яких ви тренуєте класифікатор. Наприклад, якщо ви тренуєте класифікатор для розпізнавання певних видів собак, але у вас мало зображень конкретної породи, яку ви намагаєтеся класифікувати, ви могли б включити багато зображень собак загалом, що допомогло б класифікатору визначити загальні ознаки, які складають собаку. Аугментація даних може створити більше навчальних даних для класифікатора. Зазвичай це передбачає застосування трансформацій до існуючих навчальних даних, наприклад, обертання наявних зображень, щоб класифікатор розглядав зображення під різними кутами. GAN також можуть використовуватися для генерації нових навчальних прикладів на основі того, що вони вивчають з небагатьох автентичних прикладів навчальних даних, які у вас є.
Підходи на рівні параметрів
Мета-навчання Один із підходів на рівні параметрів до навчання з кількома прикладами передбачає використання техніки під назвою «мета-навчання» (meta-learning). Мета-навчання передбачає навчання моделі тому, як вивчати які ознаки є важливими в завданні машинного навчання. Цього можна досягти, створивши метод регулювання того, як досліджується простір параметрів моделі. Мета-навчання використовує дві різні моделі: модель-вчитель і модель-учень. Модель «вчитель» навчається тому, як охопити простір параметрів, тоді як алгоритм «учень» навчається розпізнавати та класифікувати фактичні об’єкти в наборі даних. Іншими словами, модель-вчитель навчається тому, як оптимізувати модель, тоді як модель-учень навчається класифікувати. Вихідні дані моделі-вчителя використовуються для тренування моделі-учня, показуючи їй, як орієнтуватися у великому просторі параметрів, що виникає через замалу кількість навчальних даних. Звідси й «мета» в мета-навчанні. Одна з головних проблем моделей навчання з кількома прикладами полягає в тому, що вони можуть легко перенавчатися на навчальних даних, оскільки часто мають високовимірні простори. Обмеження простору параметрів моделі вирішує цю проблему, і хоча цього можна досягти застосуванням методів регуляризації та вибору відповідних функцій втрат, використання алгоритму-вчителя може значно покращити продуктивність моделі з кількома прикладами. Модель класифікатора з навчанням з кількома прикладами (модель-учень) прагне узагальнювати на основі невеликої кількості навчальних даних, з якими вона надана, і її точність може покращитися за наявності моделі-вчителя, яка направляє її через високовимірний простір параметрів. Ця загальна архітектура називається «мета-учнем на основі градієнтів» (gradient-based meta-learner). Повний процес тренування мета-учня на основі градієнтів виглядає так:
- Створіть базову модель-вчителя (base-learner)
- Навчіть базову модель на опорному наборі (support set)
- Отримайте прогнози базової моделі для запитувального набору (query set)
- Навчіть мета-учня (student) на втратах, отриманих від помилки класифікації
Варіації мета-навчання Мета-навчання, не залежне від моделі (Model-Agnostic Meta-learning) — це метод, що використовується для покращення базової техніки мета-навчання на основі градієнтів, яку ми розглянули вище. Як ми вже згадували, мета-учень на основі градієнтів використовує попередній досвід, отриманий моделлю-вчителем, для тонкого налаштування себе та надання більш точних прогнозів для невеликої кількості навчальних даних. Однак початок з випадково ініціалізованих параметрів означає, що модель все ще може потенційно перенавчитися на даних. Щоб уникнути цього, «незалежний від моделі» мета-учень створюється шляхом обмеження впливу моделі-вчителя/базової моделі. Замість того, щоб тренувати модель-учня безпосередньо на втратах за прогнозами моделі-вчителя, модель-учень тренується на втратах за власними прогнозами. Для кожного епізоду тренування незалежного від моделі мета-учня:
- Створюється копія поточної моделі мета-учня.
- Копія тренується за допомогою базової моделі/моделі-вчителя.
- Копія повертає прогнози для навчальних даних.
- Обчислені втрати використовуються для оновлення мета-учня.
Метричне навчання
Підходи метричного навчання (metric-learning) до проектування моделі навчання з кількома прикладами зазвичай передбачають використання базових метрик відстані для порівняння між вибірками в наборі даних. Алгоритми метричного навчання, такі як косинусна відстань, використовуються для класифікації запитуваних вибірок на основі їх схожості з опорними вибірками. Для класифікатора зображень це означало б просто класифікувати зображення на основі схожості поверхневих характеристик. Після того, як опорний набір зображень вибрано та перетворено у вектор вкладення (embedding vector), те саме робиться з запитувальним набором, а потім значення двох векторів порівнюються, причому класифікатор вибирає клас, значення якого найближчі до векторизованого запитувального набору. Більш просунутим рішенням на основі метрик є «прототипна мережа» (prototypical network). Прототипні мережі об’єднують точки даних, поєднуючи моделі кластеризації з метричною класифікацією, описаною вище. Як і в K-середніх кластеризації, центроїди кластерів обчислюються для класів у опорному та запитувальному наборах. Потім застосовується метрика евклідової відстані, щоб визначити різницю між запитувальними наборами та центроїдами опорного набору, призначаючи запитувальний набір тому класу опорного набору, який є ближчим. Більшість інших підходів до навчання з кількома прикладами є лише варіаціями основних технік, розглянутих вище.
Сфери застосування навчання з кількома прикладами
Навчання з кількома прикладами має застосування в багатьох різних підгалузях науки про дані, таких як комп’ютерний зір, обробка природної мови, робототехніка, охорона здоров’я та обробка сигналів. Застосування навчання з кількома прикладами у сфері комп’ютерного зору включають ефективне розпізнавання символів, класифікацію зображень, розпізнавання об’єктів, відстеження об’єктів, прогнозування руху та локалізацію дій. Застосування в обробці природно










