Как стать автором
Обновить

О вариативности результатов обучения нейронных сетей

Время на прочтение2 мин
Количество просмотров2.3K

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

В данной статье делаем по 10 запусков обучения на каждой паре (количество нейронов скрытого слоя, размера батча) и сравниваем результаты.

Исходные параметры

Количества нейронов скрытого слоя: 128-512-1024-2048
Размеры батчей 16-32-64-128-256-512-1024-2048
Запуски обучения осуществляем обычным циклическим перебором.

Применяем tensorflow
Код стандартный, все параметры стандартные или по умолчанию.
в скрытом слое activation='relu', на выходном activation='softmax'
optimizer='adam'
loss='sparse_categorical_crossentropy'
metrics=['accuracy']
validation_split=0.2

Для данного эксперимента 40 эпох вполне достаточно, так как без dropout и уменьшения шага обучения дальше практически плато.

128 нейронов

test accuracy max = 98.23%
test accuracy min = 96.74%
max - min = 1.49%

256 нейронов

test accuracy max = 98.40%
test accuracy min = 96.74%
max - min = 1.66%

512 нейронов

test accuracy max = 98.41%
test accuracy min = 97.74%
max - min = 0.67%

1024 нейрона

test accuracy max = 98.60%
test accuracy min = 97.86%
max - min = 0.74%

Вариативность

Приведем график максимальной и минимальной вариативности.

test accuracy dev (max) = 1.66%
test accuracy dev (min) = 0.67%

Даже на примере данного короткого эксперимента оказалось, что при 10 повторениях запусков обучения с одними и теми же парами (количество нейронов скрытого слоя, размер батча) максимальная вариативность достигает 1,66%, а минимальная составляет 0,67%. Это означает, что значение точности может варьироваться не просто на несколько десятых процента, а легко превышает и 1%. И вероятно, что представленные данные не окончательны, и с увеличением количества повторов "вилка" может только увеличиваться, но никак не уменьшаться.

Вывод по вариативности

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

Примечания

Если замечены грубые ошибки, которые могут существенно изменить результаты и выводы эксперимента, то прошу указать в комментариях. И, наоборот, если в целом рассуждения и ход эксперимента видятся корректными, то также прошу указать в комментариях.

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 6: ↑6 и ↓0+6
Комментарии13

Публикации

Работа

Data Scientist
53 вакансии

Ближайшие события