Трансферное обучение всегда является хорошим выбором для нейронных сетей. Когда мы используем предварительно обученную нейронную сеть для выполнения задачи, которую мы хотим, это называется трансферным обучением. Переносное обучение всегда лучше, чем обучение новой нейронной сети. Оно делает почти все простым, быстрым и точным. Все становится удобным - от обучения до прогнозирования.

Сверточные нейронные сети обучаются медленнее, чем полностью связанные слои, поэтому мы используем трансферное обучение, чтобы сэкономить время и обучать сверточные слои.

Как происходит трансферное обучение?

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

Как классифицировать изображения любого количества категорий с помощью модели VGG16: -

Модель VGG-16 была обучена классификации изображений соревнований ImageNet. Каждый из них принадлежит к одной из 1000 категорий, поэтому изображение формы 244 X 244 X 3 будет классифицировано как одна из 1000 категорий ImageNet.

Давайте рассмотрим, что мы используем метод трансферного обучения для классификации кошек и собак. Итак, теперь нам нужно классифицировать только 2 категории, а не 1000 категорий. Но оригинальная модель VGG16 обучена классифицировать 1000 категорий. Он выводит 1000 вероятностей для каждой категории.

Таким образом, чтобы использовать его для классификации только 2 категорий, мы можем добавить слой над VGG16, который принимает эти 1000 выходов в качестве входов и производит только 2 выхода. Но если мы видим архитектуру модели VGG16, она имеет плотный слой (линейный слой) в качестве своего последний слой после снятия активации softmax. Таким образом, добавление линейного слоя поверх линейного слоя приведет только к другому линейному слою. Следовательно, чтобы сэкономить время обработки и память, мы можем извлечь последний плотный слой исходной модели и заменить его другим слоем, который дает только 2 вывода. Обучение этой новой модели по количеству эпох приведет к модели, которая сможет точно различать кошек и собак.

* Эта статья основана на МООК Джереми Ховарда.