Конечная цель: расчет средней точки объекта.
У меня есть небольшой набор данных (около 120 изображений), в котором есть объект (одинаковый во всех случаях), а метки являются нормализованными координатами x, y средней точки объекта на изображении (всегдаот 0 до 1)
например, x = image_005;y = (0,1, 0,15) для изображения с объектом, расположенным рядом с левым нижним углом
Я пытаюсь использовать архитектуру ResNet, но с учетом размера моего изображения (все изображения идентичны).Поскольку выходные значения всегда находятся в диапазоне от 0 до 1, для обеих координат мне было интересно, возможно ли использовать активацию Sigmoid в моем последнем слое:
X = Dense(2, activation='sigmoid', name='fc', kernel_initializer = glorot_uniform(seed=0))(X)
вместо линейной активации (как часто рекомендуетсякогда вы пытаетесь добиться результата регрессии)
Для функции потерь я использую MSE с оптимизатором 'rmsprop', а в дополнение к точности и MSE я написал собственную метрику, чтобы сообщать мне, если прогнозбаллы отклоняются от меток более чем на 5%
model.compile(optimizer='rmsprop', loss='mean_squared_error', metrics=['mse','acc',perc_midpoint_err])
Я не получаю хороших результатов после обучения модели примерно на 150 эпохах (я тоже экспериментировал с разными размерами партий)
Должен ли я изменить слой активации на линейный?Или я могу изменить свою модель?Или ResNet совершенно не подходит для этой задачи?