Снижение точности проверки в CNN Chainer
Я классифицирую изображения клеток, используя CNN в Chainer. Точность проверки модели снижается вместе с повышением точности обучения. Я хочу знать, почему точность проверки уменьшается и как можно повысить точность проверки.
Форма данных (32, 3, 60, 80), где 32 - размер пакета, 3 - канал, 60 и 80 - высота и ширина соответственно.
Я применил relu и dropout во всех слоях, кроме последнего. В этой модели точность обучения и валидации не изменилась даже после 50 эпох. Модель, которая приведена ниже, показывает постепенно увеличивающуюся точность основного / тренировочного процесса с 0,78 до 0,98, а точность валидации изменяется с 0,79 до 0,66 после 100 эпох.
model = Sequential(
L.Convolution2D(None, 128, 3, 2),
F.relu,
L.Convolution2D(128, 64, 3, 2),
F.relu,
L.Convolution2D(64, 32, 3, 2),
F.relu,
L.Linear(None, 16),
F.dropout,
L.Linear(16, 4)
)
1 ответ
Это не неожиданное поведение, оно называется "переодевание". Во время обучения модель машинного обучения будет соответствовать данным обучения (увеличивая точность обучения) вместе с данными проверки, но с некоторого времени модель подходит только к данным обучения, так что она не будет соответствовать данным проверки (уменьшая точность проверки),
См. Переоснащение для другой ссылки.