Как использовать тонкую настройку среднего уровня в Keras?
Моя задача - адаптировать предварительно обученную сеть из Keras для классификации аэрофотоснимков (у нас есть база данных из 30 категорий аэрофотоснимков, каждая из которых содержит 200-400 изображений). Теперь, что я действительно не понимаю, это следующая часть.
Мы должны использовать точную настройку среднего уровня, используя меньшую базу данных изображений, которая содержит 21 категорию антенн.
Как мне этого добиться?
Должен ли я попытаться настроить меньшую базу данных поверх сети VGG16, а затем сохранить модель и обучить большую базу данных поверх нее?
1 ответ
Я предполагаю, что они хотят, чтобы вы подстроили обученную модель, заморозив ее первые X слоев и обновив только веса последних нескольких слоев (возможно, только последний, не уверенный, что означает "тонкая настройка среднего уровня")).
Вам нужно взять свою обученную модель и заменить ее последний слой с 30 выходами на новый слой из 21 выхода. Затем вам нужно заморозить все остальные слои (кроме нового) и натренировать модель на новом наборе данных.
В Keras вам просто нужно установить: "trainable=False" для каждого слоя. Как я могу "заморозить" слои Keras?