Как выбрать гиперпараметры и стратегию для нейронной сети с небольшим набором данных? - PullRequest
0 голосов
/ 21 марта 2019

Я сейчас занимаюсь семантической сегментацией, однако у меня действительно маленький набор данных,

У меня есть только около 700 изображений с расширением данных, например, перелистывание может

сделать это 2100 изображений.

Не уверен, достаточно ли этого для моей задачи (семантическая сегментация с четырьмя

классы).

Я хочу использовать нормализацию партии и мини-градиентный спуск

Что действительно заставляет меня чесать голову, так это то, что если размер пакета слишком мал,

нормализация партии не работает хорошо, но с большим размером партии,

кажется эквивалентным полному градиентному спуску

Интересно, есть ли что-то вроде стандартного соотношения между # образцов и партии? размер

1 Ответ

1 голос
/ 21 марта 2019

Позвольте мне сначала обратиться ко второй части вашего вопроса "Стратегия для нейронной сети с небольшим набором данных". Возможно, вы захотите взять предварительно обученную сеть в большем наборе данных и точно настроить эту сеть, используя свой меньший набор данных. См., Например, этот учебник .

Во-вторых, вы спрашиваете о размере партии. Действительно, меньшая партия заставит алгоритм блуждать вокруг оптимума, как при классическом стохастическом градиентном спуске, признаком которого являются шумные колебания ваших потерь. В то время как при большем размере партии, как правило, наблюдается более «плавная» траектория движения к оптимальной. В любом случае я предлагаю вам использовать алгоритм с импульсом, такой как Адам . Это поможет сближению ваших тренировок.

Эвристически размер пакета может быть настолько большим, насколько может вместить ваша память GPU. Если объем памяти графического процессора недостаточен, размер пакета уменьшается.

...