Точная настройка модели с большим входным размером - PullRequest
0 голосов
/ 05 января 2019

Мне было интересно, имеет ли смысл настраивать модель с большим входным размером? В идеале, свойства, которые я хотел бы иметь:

  1. Точная настройка: повторное использование весов перед тренировкой
  2. Увеличенный входной размер: не понижать выборку перед подачей в модель. Может иметь больший размер шага?

В частности, я пытаюсь настроить InceptionV3 в Keras с моим конкретным набором меток. Мне нужен больший размер данных, так как я надеюсь, что модель может неявно выучить некоторые важные символы. С размером по умолчанию InceptionV3 (299x299) это не кажется мне возможным.

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

1 Ответ

0 голосов
/ 05 января 2019

Если вы хотите настроить модель классификации обычно, вы удалите несколько верхних слоев, которые действуют как классификатор, и добавите свои собственные слои. То же самое можно сказать и о тонкой настройке модели Inception_V3: вы можете удалить верхние слои и добавить свой собственный классификатор с нужным количеством единиц (то есть количеством классов в вашем наборе данных). Например:

from keras.applications.inception_v3 import InceptionV3

# let's say our images are of size (1000, 1000, 3)
inc_v3 = InceptionV3(include_top=False, input_shape=(1000, 1000, 3), pooling)

# add your desired layers to the top
# we only add one layer just for illustration
# but you can add as many layers as you want
out = Dense(num_classes, activation='softmax')(inc_v3.output)

# construct the new model
model = Model(inc_v3.input, out)

Однако учтите, что для тонкой настройки вам необходимо сначала заморозить все базовые слои (то есть слои модели Inception_V3). Кроме того, вместо добавления слоя пула вверху (т. Е. pooling='avg'), вы также можете использовать другие альтернативы, такие как использование слоя Flatten.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...