В предыдущей работе было замечено, что при повторном обучении нейронной сети с одинаковым количеством нейронов скрытого слоя и одинаковыми размерами пакетов (FNN со скрытым слоем, распознавание MNIST10) точность может отличаться на несколько десятых долей процента.
В этой статье мы проводим 10 тренировок на каждой паре (количество нейронов в скрытом слое, размер партии) и сравниваем результаты.
Contents
Начальные настройки
Количество нейронов в скрытом слое: 128-512-1024-2048
Размеры партии 16-32-64-128-256-512-1024-2048
Обучение начинается с обычного циклического перебора.
Применить тензор
Код стандартный, все настройки стандартные или по умолчанию.
активация скрытого слоя = ‘relu’, активация выходного слоя = ‘softmax’
оптимизатор = “адам”
потеря = “sparse_categorical_crossentropy”
метрика=[‘accuracy’]
validation_split=0,2
Для этого эксперимента вполне достаточно 40 эпох, потому что без отказа или уменьшения тренировочного шага это практически плато.
128 нейронов

максимальная точность теста = 98,23%
минимальная точность теста = 96,74%
макс – мин = 1,49%
256 нейронов

максимальная точность теста = 98,40%
минимальная точность теста = 96,74%
макс – мин = 1,66%
512 нейронов

максимальная точность теста = 98,41%
минимальная точность теста = 97,74%
макс – мин = 0,67%
1024 нейрона

максимальная точность теста = 98,60%
минимальная точность теста = 97,86%
макс – мин = 0,74%
изменчивость
Вот график максимальной и минимальной изменчивости.

точность теста dev (max) = 1,66%
точность теста dev (мин) = 0,67%
Даже на примере этого короткого эксперимента оказалось, что при 10 повторениях обучения с одними и теми же парами (количество нейронов в скрытом слое, размер партии) максимальная вариабельность достигает 1,66%, а минимальная — 0,67%. Это означает, что значение точности может варьироваться не только на несколько десятых процента, но и легко превышает 1%. И вполне вероятно, что представленные данные не являются окончательными, и с увеличением количества повторений «диапазон» может только увеличиваться, но ни в коем случае не уменьшаться.
Вывод по дисперсии
Вывод таков, что для понимания эффекта от изменения параметров разовых прогонов недостаточно, т. к. результат может измениться на 1-2% даже без изменения параметров, и неизвестно, насколько сильно повлияло изменение параметра и повлияло ли оно вообще повлияло. Чтобы понять влияние изменения настроек, необходимо выполнить серию запусков и отслеживать ход выполнения всего облака, а не отдельных запусков.
Примечания
В случае обнаружения грубых ошибок, которые могут существенно изменить результаты и выводы эксперимента, просьба указать это в комментариях. И, наоборот, если в целом рассуждения и ход эксперимента кажутся правильными, то прошу так же указать это в комментариях.