В чем разница между этими двумя подходами Keras в Transfer Learning? - PullRequest
1 голос
/ 25 апреля 2019

Я видел два разных подхода к Transfer Learning / Fine Tuning, и я не уверен в их различиях и преимуществах:

  1. Можно просто загрузить модель, например. Начало, инициализированное с весами, сгенерированными в результате обучения, например, Imagenet замораживает слои конвоя и добавляет несколько плотных слоев для адаптации к конкретной задаче классификации, над которой мы работаем. Вот некоторые ссылки: [1] , [2] , [3] , [4]
  2. В это руководство по блогу keras процесс кажется более запутанным: один раз прогоняет данные обучения / тестирования через модель VGG16 и записывает в двух отдельных массивах выходные данные из последних карт активации перед полностью подключенными слоями. Затем обучает небольшую полностью подключенную модель поверх сохраненных элементов (веса сохраняются, например, как mini-fc.h5). На этом этапе, если следует процедура, аналогичная подходу № 1, где он замораживает первые сверточные слои VGG16 (инициализированные с весами из imagenet) и обучает только последние конверсные слои и полностью связанный классификатор (который вместо этого инициализируется с весами из предыдущая часть обучения этого подхода, mini-fc.h5). Эта окончательная модель затем обучается. Возможно, более поздняя версия этого подхода объяснена в разделе Тонкая настройка InceptionV3 нового набора классов этой страницы keras: https://keras.io/applications/

В чем разница / преимущества двух подходов? Это отличные примеры трансферного обучения против тонкой настройки? Последняя ссылка на самом деле просто пересмотренная версия метода # 2?

Спасибо за вашу поддержку

...