заглушки Що таке трансферне навчання? - Об'єднуйтесь.AI
Зв'язатися з нами
Майстер-клас ШІ:

AI 101

Що таке трансферне навчання?

mm
оновлений on

Що таке трансферне навчання?

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

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

Вирішення проблеми глибокого навчання

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

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

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

Типи трансферного навчання

Загалом, є дві різні види трансферного навчання: розробка моделі з нуля та використання попередньо навченої моделі.

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

У другій умові – використання попередньо навченої моделі – ви просто повинні вибрати попередньо навчену модель для використання. Багато університетів і дослідницьких груп зроблять специфікації своєї моделі доступними для загального використання. Архітектуру моделі можна завантажити разом із вагами.

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

Точне налаштування мережі

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

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

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

Передача Приклади навчання

Найпоширенішими застосуваннями трансферного навчання є, ймовірно, ті, які використовують дані зображення як вхідні дані. Це часто завдання прогнозування/класифікації. Шлях Конволюційні нейронні мережі Інтерпретація даних зображення піддається повторному використанню аспектів моделей, оскільки згорткові шари часто розрізняють дуже схожі характеристики. Одним із прикладів поширеної проблеми навчання передачі є завдання ImageNet 1000, масивний набір даних, повний 1000 різних класів об’єктів. Компанії, які розробляють моделі, які досягають високої продуктивності на цьому наборі даних, часто випускають свої моделі за ліцензіями, які дозволяють іншим використовувати їх повторно. Деякі з моделей, які виникли в результаті цього процесу, включають Модель Microsoft ResNet, Початкова модель Google і Модель Oxford VGG група.

Блогер і програміст зі спеціальностями в машинне навчання та Глибоке навчання теми. Деніел сподівається допомогти іншим використовувати силу ШІ для суспільного блага.