Основи ШІ

Що таке мета-навчання?

mm
Додайте Unite.AI до бажаних джерел у Google

Що таке мета-навчання?

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

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

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

Види мета-навчання

Оптимізаційне мета-навчання

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

Мета-навчання з кількома зразками

Підхід мета-навчання з кількома зразками полягає у створенні глибокої нейронної мережі, яка здатна узагальнювати з навчальних наборів даних до невидимих наборів даних. Приклад класифікації з кількома зразками подібний до звичайного завдання класифікації, але замість цього дані розділені на окремі набори даних. Модель тренується на багатьох різних завданнях/наборах даних і потім оптимізується для максимальної продуктивності на багатьох навчальних завданнях і невидимих даних. У цьому підході один навчальний зразок розділяється на кілька класів. Це означає, що кожен навчальний зразок/набір даних може потенційно складатися з двох класів, всього 4 зразка. У цьому випадку загальне навчальне завдання можна описати як завдання класифікації 4 зразків і 2 класів.

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

Метричний мета-навчання

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

Мета-навчання рекурентних моделей

Мета-навчання рекурентних моделей полягає у застосуванні методів мета-навчання до рекурентних нейронних мереж і подібних мереж з довгою короткочасною пам’яттю. Цей метод працює шляхом тренування моделі РНН/ЛSTM для послідовного навчання набору даних, а потім використання цієї тренованої моделі як основи для іншого навчання. Мета-навчання приймає на себе конкретний алгоритм оптимізації, який був використаний для тренування початкової моделі. Спадкова параметризація мета-навчання дозволяє йому швидко ініціалізуватися та збігатися, але все ж таки能够 оновлюватися для нових сценаріїв.

Як працює мета-навчання?

Точний спосіб проведення мета-навчання залежить від моделі та характеру завдання. Однак загалом завдання мета-навчання полягає у копіюванні параметрів першої мережі в параметри другої мережі/оптимізатора.

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

Одним з можливих способів розрахунку мета-втрати є завершення прямого навчального кроку початкової моделі та потім об’єднання втрат, які вже були обчислені. Мета-оптимізатор навіть може бути іншим мета-навчанням, хоча в певний момент повинен бути використаний дискретний оптимізатор, такий як ADAM або SGD.

Багато моделей глибокого навчання можуть мати сотні тисяч або навіть мільйони параметрів. Створення мета-навчання з повністю новим набором параметрів було б обчислювально дорогим, і тому зазвичай використовується тактика, звана спільним координуванням. Спільне координування полягає у створенні мета-навчання/оптимізатора таким чином, щоб він навчався одному параметру з базової моделі, а потім просто клонував цей параметр замість усіх інших параметрів. Результатом є те, що параметри, які володіє оптимізатор, не залежать від параметрів моделі.

Блогер і програміст з спеціалізацією у темах Machine Learning і Deep Learning. Даніель сподівається допомогти іншим використовувати силу штучного інтелекту для соціальної добробути.