Мини-пакет работает хуже, чем пакетный градиентный спуск? - PullRequest
1 голос
/ 10 июля 2020

Я могу получить довольно хорошие результаты от пакетного градиентного спуска (размер пакета 37000), но когда я пробую мини-пакетный градиентный спуск, я получаю очень плохие результаты (даже с адамом и выпадением). batch gd, я могу добиться 100% точности обучения и 97% разработки / резюме. В то время как в мини-партии размером 128 я получаю только около 88% точности в обоих. размер пакета (следовательно, повышение точности). И в конечном итоге я прихожу к размеру пакета 37000 для максимальной точности.

Я пробовал настроить альфа, но все равно точность .

В чем может быть причина? помогите пожалуйста

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

Я нашел решение

Значение lmbda, которое я использовал для пакетного gd (т.е. 10), кажется слишком большим для mini batch gd. И, уменьшив его до 0,1, я решил проблему.

0 голосов
/ 10 июля 2020

В пакетном градиентном спуске все данные обучения учитываются для выполнения одного шага. В мини-пакетном градиентном спуске вы учитываете некоторые данные перед тем, как делать один шаг, поэтому частота обновления модели выше, чем пакетный градиентный спуск.

Но мини-пакетный градиентный спуск имеет свои затраты:

Во-первых, мини-пакет делает некоторые проблемы обучения из технически непреодолимыми, чтобы их можно было решить из-за уменьшения потребности в вычислениях с меньшим размером пакета.

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

Я считаю, что из-за колебаний в мини-партии вы могли попасть в локальные минимумы. Попробуйте увеличить скорость обучения с помощью мини-пакета, это может решить проблему. также попробуйте нормализовать изображения, это тоже может помочь.

...