Что такое трансферное обучение и зачем оно нужно?

В этой статье мы обсудим современную технику построения сложных моделей глубокого обучения с использованием предварительно обученных моделей.

Что такое трансферное обучение?

Нам, людям, присуща способность передавать наши знания для решения различных задач. Мы используем знания, полученные в результате выполнения одной задачи, для решения других аналогичных задач. Чем более взаимосвязана задача, тем легче нам передавать или перекрестно использовать наши знания. Давайте разберемся с этим на нескольких примерах:

  • Если вы умеете ездить на мотоцикле , тогда вы можете узнать, как водить машину
  • Если вы разбираетесь в математике и статистике , то можете изучить машинное обучение
  • Если вы умеете играть на классическом пианино , тогда вы можете научиться играть на джазовом пианино

Обычные алгоритмы машинного обучения и глубокого обучения предназначены для работы изолированно. Эти алгоритмы обучены решать какую-то конкретную задачу. Модели должны быть перестроены с нуля после изменения распределения пространства функций.

Трансферное обучение — это идея преодоления изолированной парадигмы обучения и использования знаний, полученных для решения одной задачи. связанных.

Фактически, Эндрю Нг , известный профессор и специалист по данным, который был связан совместно с Google Brain, Baidu, Stanford и Coursera представили в NIPS 2016 замечательное руководство под названием «Основные принципы создания приложений ИИ с использованием глубокого обучения», где он упомянул

«После обучения с учителем трансферное обучение станет следующим фактором коммерческого успеха машинного обучения».

Посмотрите на изображение ниже, чтобы лучше понять, как Трансферное обучение отличается от традиционных методов машинного обучения.

Как традиционный ML d iffers от Transfer Learning

Вот некоторые формальные определения трансферного обучения:

Трансферное обучение и адаптация предметной области относятся к ситуации, когда то, что было изучено в одной настройке, используется для улучшения обобщения в другой настройке.

Передача обучения — это улучшение изучения новой задачи посредством передачи знаний из связанной задачи, которая уже была изучена..

Примеры трансферного обучения

Перенести обучение в зрение (данные изображения)

В компьютерном зрении вы имеете дело с изображениями или видеоданными. При работе с такими данными очень часто используются модели глубокого обучения. Как правило, люди не обучают сети с нуля для своего случая использования; вместо этого они используют модель глубокого обучения, которая предварительно обучена для большой и сложной задачи классификации изображений, такой как ImageNet — конкурс классификации фотографий на 1000 классов.

Исследователи, разрабатывающие модели для этого типа соревнований, публикуют окончательные веса моделей, чтобы их можно было использовать по разрешительной лицензии.

Вот некоторые из моделей:

  • Оксфордская модель VGG
  • Начальная модель Google
  • Модель Microsoft ResNet

Перенос обучения в NLP (текстовые данные)

При обработке естественного языка вы обрабатывать текстовые данные как ввод или вывод. В задачах такого типа используется встраивание . Встраивание — это отображение слов в многомерное непрерывное векторное пространство, где разные слова со схожими значениями имеют похожие векторные представления.

Исследователи, которые разрабатывают модели и обучают их на очень большом корпусе текста. , выпустите модель под разрешающей лицензией.

Вот некоторые популярные предварительно обученные модели:

  • Модель Google word2vec
  • Стэнфордская модель перчатки

Почему Является ли трансферное обучение лучшим выбором?

Давайте рассмотрим пример.

Предположим, вы хотите создать классификатор изображений, и у вас есть набор данных, содержащий около 2000 изображений. Если вы хотите, чтобы ваша модель обучалась сложным функциям, и вы хотите обучить сложную модель со многими сверточными слоями, тогда вы можете в конечном итоге обучить около 10 миллионов параметров (например).

Теперь, если если вы знаете о нейронных сетях, то вышеупомянутая архитектура вашей модели в конечном итоге переоборудуется всего за 1 или 2 эпоха . В вашей модели не будет обобщений, и в конечном итоге результаты тестирования модели будут очень плохими.

Как решить указанную выше проблему

Вот где переносное обучение приходит. Идея трансферного обучения заключается в использовании некоторых предварительно обученных сетей.

Вот некоторые очень известные предварительно обученные сети:

  1. Alexnet
  2. VGG19
  3. VGG16
  4. MobileNet
  5. ResNet
  6. Word2vec
  7. Перчатка и многое другое…
Оцените статью
nanomode.ru
Добавить комментарий